n/n | Послідовність встановлення для локальної конфігурації |
---|---|
1 | На робочому місці (компьютері) провести підготовку для роботи з ключами: -Скопіювати servertest\d\Vovan\RRO\*.* → ..\SF\RRO\*.* ; -Зайти в TotalCommander з правами адміністратора; -Скопіювати servertest\d\Vovan\DIBD\EUInstall.exe та servertest\d\Vovan\DIBD\windowsdesktop-runtime-6.0.20-win-x86.exe на локальний компютер; -Запустити EUInstall.exe (без []Крістал-1, остальні параметри по замовчанню); -Запустити windowsdesktop-runtime-6.0.20-win-x86.exe; -Запустити ..\SF\RRO\Reg.bat; |
2 | В приложенії “Центр сертифікації ключів” ІІТ Користувач ЦСК (EU.exe - на робочому столі після запуску EUInstall.exe ) підтягуемо сертифікати для ключів користувачів ПРРО (дивись RRO\paramEU.txt). |
3 | В довіднику ПРРО - регіструємо ПРРО шляхом підтягування ключа в полі Фіскальний номер. |
4 | Впевнетисть в наявності в базовій конфігурації (наразі налаштовано в LIGHT08 та LIGHT21; за відсутності імпортувати з конфігурації LIGHT08) : - модуля _PRRO - ПРРО ; - меню _PRRO - ПРРО ; - довідників _PRRO - ПРРО та _PRROTax - ПРРО Податки ; - документу _PRROChk - ПРРО Чек ; - константи _PRRO - Торг: Фіскальний № ПРРО (посилання на довідник ПРРО) та _TorgPrnCheck - Торг: Найменування принтера чеків (як в Win); - коду в процедурі Application.OnAfterStart() : *---Підтримка ПРРО If !Empty(Const._PRRO.Value) Local lcMenuPrroGUI lcMenuPrroGUI = Sys.MD.GetGuiByFPName('_PRRO', 'M', 'MENUPAD') If GetGrant(lcMenuPrroGUI,'Z') BProc.Mod._PRRO.InitRRO(InOut(Const._PRRO.Value,'_FN')) If Vartype(Sys.aPRRO[1,3])='O' MW.DoMenu(lcMenuPrroGUI) EndIf EndIf EndIf |
5 | В документі (в нашому прикладі Realiz), який потребує фіскалізації повинно бути поле FCheck N(1) додаємо метод MenuFiscalize() :If MessageBox('Фіскалізувати накладну?',32+4,'Фіскальний чек')#6 Return EndIf Local loDoc loDoc = CreateObject('tDoc','Realiz') loDoc.Scatter(The.MD.HF.ID) loDoc.GetTP() LProc.Doc.Realiz.Fiscalize(loDoc) Doc.Open.Realiz.Post(The.MD.HF.ID,1) та підключаємо створений метод до меню UsePopup як п/м “Фіскальний чек” - за допомогою якого буде проводитись фіскалізація та друк чеку. SkipWhen => VarType(Sys.aPRRO[1,3])#'O' Or Sys.aPRRO[1,3].ShiftDaySost#1 Or The.MD.HF.FCheck=1 Or Sys.aPRRO[1,3].ShiftDay#The.MD.HF.Date |
6 | В документі, який потребує фіскалізації (в нашому прикладі Realiz) додаємо метод Fiscalize з оріентовним кодом :Lparameters toDoc Local llErr, loPRRO, loTmc llErr = .F. loPRRO= Sys.aPRRO[1,3] If !BProc.Mod._PRRO.OpenCheck(loPRRO,toDoc.Header.ID.Value) llErr = .T. EndIf If llErr MessageBox('Помилка фіскалізації!',32,'Фіскальний чек') Return EndIf Select D.Tmc, T.Kod As Kod, T.Descr As Descr, D.Kol, D.Cena, D.Suma, D.SumaZ From (toDoc.CrsTP) D, _Tmc T Where T.ID=D.Tmc Into Cursor crsTP Scan lnStavka = 1 BProc.Mod._PRRO.RegSale(loPRRO,Tmc,Kod, Descr, lnStavka,Cena,Kol,Suma,,SumaZ,) EndScan If !llErr If Empty(BProc.Mod._PRRO.CloseCheck(loPRRO,Iif(toDoc.Header.TypeOpl.Value=1,1,0))) llErr = .T. EndIf EndIf If Seek(toDoc.Header.ID.Value,'_TRelate','IDP') And Seek(_TRelate._IDC,'_PRROChk','ID') WriteAttrSpr(toDoc.Header.ID.Value,'FCheck',1) If MessageBox('Друкувати фіскальний чек?',32+4)=6 BProc.Doc._PRROChk.Print(_PRROChk.ID) EndIf EndIf CloseIn('CrsTP') |