RET BAR KOD2 — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м |
Hisava (обсуждение | вклад) м (→Текст) |
||
| Строка 4: | Строка 4: | ||
local sql, aa, i, r08, last_pname | local sql, aa, i, r08, last_pname | ||
| − | sql := [ Select ID From R08 Where ID <> | + | sql := [ Select ID From R08 Where ID <> "" Group by PNAME, ID Having Count( * ) > 1 ] |
aa := SqlToArr( sql, { 'ID' }, ReflisPath ) | aa := SqlToArr( sql, { 'ID' }, ReflisPath ) | ||
| Строка 25: | Строка 25: | ||
next | next | ||
endif | endif | ||
| + | |||
= Смотрите также = | = Смотрите также = | ||
[[Полезные функции]] | [[Полезные функции]] | ||
[[Функции Delphi]] | [[Функции Delphi]] | ||
Версия 09:45, 26 сентября 2018
RET_BAR_KOD2 - это программа из справочника R266
Если имеются одинаковые PNAME и ID ( задвоенные записи ), то удаляем записи без KODORG
Текст
local sql, aa, i, r08, last_pname
sql := [ Select ID From R08 Where ID <> "" Group by PNAME, ID Having Count( * ) > 1 ]
aa := SqlToArr( sql, { 'ID' }, ReflisPath )
if !IsEmpty( aa )
aa := PrepareArr( aa )
for i := 1 to len( aa )
try
r08 := OpenKlsf( 'R08' )
( r08 )->( SetFilter( [ ID = '] + aa[i] + [' ] ) )
last_pname := ( r08 )->PNAME
( r08 )->( DbSkip() )
if last_pname == ( r08 )->PNAME
// имена совпадают - удаляем запись без производителя KODORG
( r08 )->( SetFilter( [ ID = '] + aa[i] + [' and KODORG = 0 ] ) )
( r08 )->( TryToDelete() )
endif
finally
CloseTable( r08 )
end
next
endif