RET BAR KOD2 — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
м
м (Текст)
Строка 4: Строка 4:
 
  local sql, aa, i, r08, last_pname
 
  local sql, aa, i, r08, last_pname
 
   
 
   
  sql := [ Select ID From R08 Where ID <> '' Group by PNAME, ID Having Count( * ) > 1 ]
+
  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

Смотрите также

Полезные функции

Функции Delphi