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