RET BAR KOD — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м |
Hisava (обсуждение | вклад) м (→Текст программы) |
||
Строка 13: | Строка 13: | ||
= Текст программы = | = Текст программы = | ||
− | parameters bar_code, name, nds | + | parameters bar_code, name, nds |
local sql, kod, auto_id, r08 | local sql, kod, auto_id, r08 | ||
− | sql := [ Select KOD From R08 Where BAR_CODE = '] + bar_code + [' ] | + | sql := [ Select KOD From [[R08]] Where BAR_CODE = '] + bar_code + [' ] |
− | result := SqlToArr( sql,, ReflisPath ) | + | result := [[SqlToArr]]( sql,, ReflisPath ) |
− | if Empty( result ) | + | if [[Empty]]( result ) |
− | sql := [ Select MAX( KOD ) From R08 ] | + | sql := [ Select [[MAX]]( KOD ) From [[R08]] ] |
− | kod := SqlToArr( sql,, ReflisPath ) | + | kod := [[SqlToArr]]( sql,, ReflisPath ) |
if kod = 99999 | if kod = 99999 | ||
kod := 1 | kod := 1 | ||
− | auto_id := SeekRef( 'R08', kod, 'AUTO_ID', 1 ) | + | auto_id := [[SeekRef]]( '[[R08]]', kod, 'AUTO_ID', 1 ) |
− | while !Empty( auto_id ) | + | while ![[Empty]]( auto_id ) |
kod := kod + 1 | kod := kod + 1 | ||
− | auto_id := SeekRef( 'R08', kod, 'AUTO_ID', 1 ) | + | auto_id := [[SeekRef]]( '[[R08]]', kod, 'AUTO_ID', 1 ) |
end | end | ||
else | else | ||
Строка 35: | Строка 35: | ||
try | try | ||
− | r08 := OpenKlsf( 'R08' ) | + | r08 := [[OpenKlsf]]( 'R08' ) |
( r08 )->( DbAppend() ) | ( r08 )->( DbAppend() ) | ||
( r08 )->KOD := kod | ( r08 )->KOD := kod |
Версия 09:37, 9 декабря 2016
RET_BAR_KOD -это программа из справочника R266
RET_BAR_KOD(bar_code, name, nds)
Вернуть код номенклатуры из справочника R08 по указанному штрихкоду
bar_code - штрихкод
name - наименование номенклатуры
nds - НДС
Текст программы
parameters bar_code, name, nds local sql, kod, auto_id, r08 sql := [ Select KOD From R08 Where BAR_CODE = '] + bar_code + [' ] result := SqlToArr( sql,, ReflisPath ) if Empty( result ) sql := [ Select MAX( KOD ) From R08 ] kod := SqlToArr( sql,, ReflisPath ) if kod = 99999 kod := 1 auto_id := SeekRef( 'R08', kod, 'AUTO_ID', 1 ) while !Empty( auto_id ) kod := kod + 1 auto_id := SeekRef( 'R08', kod, 'AUTO_ID', 1 ) end else kod := kod + 1 endif try r08 := OpenKlsf( 'R08' ) ( r08 )->( DbAppend() ) ( r08 )->KOD := kod ( r08 )->PNAME := name ( r08 )->PRODNDS := nds ( r08 )->BAR_CODE := bar_code ( r08 )->( Refresh() ) finally CloseKlsf( r08 ) end result := kod endif