GENERATE KOD PLU2 — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
(Новая страница: «= Смотрите также = Полезные функции Функции Delphi»)
 
м
Строка 1: Строка 1:
 +
[[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]]
 
[[Функции Delphi]]

Версия 16:00, 6 сентября 2017

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