--[[ c8eb96f33d866b49 ]] local caption = 'Kopírovať vzorce vyúčtovania' if not db.Opened then MessageBox('Otvorte prosím účtovníctvo, v ktorom si želáte kopírovať ' .. 'vzorce vyúčtovania a spustite tento skript znovu.', caption, 64) return false else local frm = New 'TForm' frm.Caption = caption frm.Position = 'poMainFormCenter' frm.Width = 260 std_gui:Init(frm) local r1 = std_gui:Add('edtRokOd', 'TUpDownEdit', 'Zdrojový rok') local r2 = std_gui:Add('edtRokDo', 'TUpDownEdit', 'Cieľový rok') std_gui:Add('', 'TOkCancelButtons', '') r1.Min = 2000 r1.Max = 2999 r1.Position = Settings.Year - 1 r2.Min = 2000 r2.Max = 2999 r2.Position = Settings.Year frm.ClientHeight = std_gui.Y local y1, y2 frm.btnOk.OnClick = function(Sender) y1 = Sender.Parent.edtRokOd.Position y2 = Sender.Parent.edtRokDo.Position if y2 == y1 then misc.ShowInputError(Sender.Parent.edtRokDo, 'Cieľový rok nemôže byť rovnaký ako zdrojový.') Sender.Parent.ModalResult = 0 return nil end end; if frm:ShowModal() ~= 1 then return false end do local yL = obdobie.encode(y1, 1) local yH = obdobie.encode(y1, 12) local yD = (y2 - y1) * 100 local vzorce = sql('SELECT RowID FROM vyucto_vzorec ' .. 'WHERE ObdobieOD >= ' .. yL .. ' ' .. 'AND ObdobieDO <= ' .. yH .. ';') if MessageBox('Želáte si skopírovať ' .. vzorce.RowCount .. ' vzorcov vyúčtovania do roku ' .. y2 .. ' ?', caption, 0x100 + 0x30 + 0x4) ~= 6 then return false end if db:locktable 'vyucto_vzorec' then progress.init(vzorce.RowCount, caption) db:begin() local res = true for vzorec_id in vzorce:each() do if not progress.step() then res = false break end res = db:exec( 'INSERT INTO vyucto_vzorec (ObdobieOD, ObdobieDO, ID_kategoria, ' .. 'ID_merjed, ID_merjedSum, Poradie, Nazov) SELECT ' .. 'ObdobieOD + (' .. yD .. '), ObdobieDO + (' .. yD .. '), ' .. 'ID_kategoria, ID_merjed, ID_merjedSum, Poradie, Nazov ' .. 'FROM vyucto_vzorec WHERE RowID = ' .. vzorec_id .. ';' ) if not res then break end local new_vzorec_id = db.LastInsertRowID res = db:exec( 'INSERT INTO vyucto_param (ID_vzorca, Frontend, Export, Sumar, ' .. 'Zapocet, Nazov, Premenna, Hodnota) SELECT ' .. new_vzorec_id .. ', ' .. 'Frontend, Export, Sumar, Zapocet, Nazov, Premenna, Hodnota ' .. 'FROM vyucto_param WHERE ID_vzorca = ' .. vzorec_id .. ';' ) if not res then break end end db:finish(res) db:unlocktable 'vyucto_vzorec' progress.done() if res then MessageBox('Vzorce boli úspešne skopírované.', caption, 64) end return res end end return false end