--[[ 4bbb45802fe59ecc ]] local caption = 'Výmaz partnerov' if not db.Opened then MessageBox('Otvorte prosím účtovníctvo, v ktorom si želáte vymazať' .. ' partnerov a spustite tento skript znovu.', caption, 64) elseif FrmMain.ActiveEvid.TableName ~= 'partner' then MessageBox('Nastavte sa do evidencie partnerov,' .. ' označte riadky určené na výmaz a spustite tento skript znovu.', caption, 0x30) else local g = FrmMain.ActiveEvid.Table local t = {} g:First() while not g.Eof do if g.Selected then table.insert(t, g:Field'RowID') end g:Next() end if MessageBox('Označili ste ' .. #t .. ' partnerov.' .. ' \r\nSkript vymaže aj všetky záznamy spojené s týmito partnermi' .. ' (obraty, osobomesiace, vyúčtovania, atď)' .. ' \r\nŽeláte si pokračovať?', caption, 0x30 + 0x4) == 6 then local res = false local cond = ' IN (' .. table.concat(t, ',') .. ')' local cond_naj = ' IN (SELECT RowID FROM najomca WHERE ID_partnera' .. cond .. ')' cond = cond .. ';' cond_naj = cond_naj .. ';' if db:locktable('partner') and db:locktable('obrat') and db:locktable('vyucto_vystup') then res = db:exec('' .. 'UPDATE svb SET ID_partnerSvb = NULL WHERE ID_partnerSvb' .. cond .. 'UPDATE svb SET ID_partnerSpravca = NULL WHERE ID_partnerSpravca' .. cond .. 'UPDATE svb SET ID_partnerPredseda = NULL WHERE ID_partnerPredseda' .. cond .. 'DELETE FROM revizia WHERE ID_partnera' .. cond .. 'DELETE FROM osobomesiac WHERE ID_osoby' .. cond .. 'DELETE FROM obrat WHERE ID_partnera' .. cond .. 'DELETE FROM obrat WHERE ID_adresa' .. cond .. 'DELETE FROM obrat WHERE ID_najomcu' .. cond_naj .. 'DELETE FROM vyucto_vystup WHERE ID_najomcu' .. cond_naj .. 'DELETE FROM vyucto_uhrada WHERE ID_najomcu' .. cond_naj .. 'DELETE FROM sipo_item WHERE ID_najomcu' .. cond_naj .. 'DELETE FROM najomca WHERE ID_partnera' .. cond .. 'DELETE FROM partner WHERE RowID' .. cond ) db:finish(res) db:unlocktable('partner') db:unlocktable('obrat') db:unlocktable('vyucto_vystup') end if res then MessageBox('Záznamy sú vymazané.', caption, 64) end return res end end return false