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