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

Материал из Фабиус wiki
Перейти к: навигация, поиск
м
м (Текст программы)
Строка 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

Смотрите также

Функции Delphi

Полезные функции