GENERATE KOD PLU2
Материал из Фабиус wiki
Версия от 16:00, 6 сентября 2017; Hisava (обсуждение | вклад)
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