GENERATE KOD PLU2

Материал из Фабиус wiki
Перейти к: навигация, поиск

GENERATE_KOD_PLU2 - это программа из справочника R260

Генерировать код PLU без вопросов 

GENERATE_KOD_PLU2()

Текст

local sql, aa, r08, i, msg, r11

sql := [ Select TOP 1 KOD From R08 Where KODED = 2 and KOD_PLU = 0 ]
aa := SqlToArr( sql, { 'KOD' }, ReflisPath )

if !IsEmpty( aa )
  sql := [ Select MAX( KOD_PLU ) From R08 ]
  aa := SqlToArr( sql,, ReflisPath )
  if !IsEmpty( aa )
    i := aa
  else
    i := 0
  endif
  sql := [ Select MAX( KOD_PLU ) From R11 ]
  aa := SqlToArr( sql,, ReflisPath )
  if !IsEmpty( aa )
    if aa > i
      i := aa
    endif
  endif
  try
    msg := WaitMsg( 'Выполнение требуемой операции' + CHR( 13 ) + CHR( 10 ) + '( генерация кодов PLU в справочнике R08 )' )

    r08 := OpenKlsf( 'R08' )
    Select( r08 )
    DbGoTop()
    while !eof()
      if Empty( KOD_PLU ) and !SHADOW
        if KODED = 2 and Left( BKACNT, 2 ) = '41'
          i := i + 1
          ( r08 )->KOD_PLU := i
        endif
      endif
      DbSkip()
    end
  finally
    CloseKlsf( r08 )
    HideMsg( msg )
  end
endif

// == R11 ==
sql := [ Select KOD From R11 Where KODED = 2 and KOD_PLU = 0 ]
aa := SqlToArr( sql, { 'KOD' }, ReflisPath )

if !IsEmpty( aa )

  sql := [ Select MAX( KOD_PLU ) From R08 ]
  aa := SqlToArr( sql,, ReflisPath )
  if !IsEmpty( aa )
    i := aa
  else
    i := 0
  endif

  sql := [ Select MAX( KOD_PLU ) From R11 ]
  aa := SqlToArr( sql,, ReflisPath )
  if !IsEmpty( aa )
    if aa > i
      i := aa
    endif
  endif

  try
    msg := WaitMsg( 'Выполнение требуемой операции' + CHR( 13 ) + CHR( 10 ) + '( генерация кодов PLU в справочнике R11 )' )

    r11 := OpenKlsf( 'r11' )
    Select( r11 )
    DbGoTop()
    while !eof()
      if Empty( KOD_PLU ) and !SHADOW
        if KODED = 2
          i := i + 1
          ( r11 )->KOD_PLU := i
        endif
      endif
      DbSkip()
    end
  finally
    CloseKlsf( r11 )
    HideMsg( msg )
  end

endif

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

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

Функции Delphi