GENERATE KOD PLU2 — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) (Новая страница: «= Смотрите также = Полезные функции Функции Delphi») |
Hisava (обсуждение | вклад) м |
||
| Строка 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