EXPORTTOCAS — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
м (Смотрите также)
м
Строка 2: Строка 2:
 
  Выгрузка изделий и товаров на весы CAS
 
  Выгрузка изделий и товаров на весы CAS
 
[[EXPORTTOCAS]]()
 
[[EXPORTTOCAS]]()
 +
= Текст =
 +
if ![[YesNo]]( 'Выгрузить изделия и товары на весы CAS?', false )
 +
  return
 +
endif
 +
local fld, _, r09_kod, aa, sql, msg, ip_scales
 +
fld := ' _0,C,4; _1,N,6; _2,C,20; _3,C,20; _4,N,14,4; _5,N,5; _6,N,5; _7,N,6; '
 +
// возвращаем код кг из справочника R09
 +
r09_kod := [[R09_KOD_KG]]()
 +
try
 +
  WaitMsg( 'Подготовка справочника изделий и товаров', msg )
 +
  _ := CreateTmpFile( fld, '_', ~IsFreeDel := true )
 +
  // r11
 +
  sql := [ Select TOP 100 PERCENT 'R11', KOD From R11 Where KODED = ] + r09_kod + [ Order by KOD ]
 +
//  sql := [ Select TOP 1 'R11', KOD From R11 Where KODED = ] + r09_kod + [ Order by KOD ]
 +
  SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _0, _1 ) ] + sql, ReflisPath )
 +
  // r08
 +
  sql := [ Select TOP 100 PERCENT 'R08', KOD From R08 Where KODED = ] + r09_kod + [ Order by KOD ]
 +
//  sql := [ Select TOP 1 'R08', KOD From R08 Where KODED = ] + r09_kod + [ Order by KOD ]
 +
  SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _0, _1 ) ] + sql, ReflisPath )
 +
  ( _ )->( DbGoTop() )
 +
  while !( _ )->( eof() )
 +
    WaitMsg( a_s( ( _ )->_1 ) , msg )
 +
    ( _ )->_2 := Left( RealName( ( _ )->_0, ( _ )->_1 ), 20 )
 +
    ( _ )->_3 := SUBSTR( RealName( ( _ )->_0, ( _ )->_1 ), 21, 20 )
 +
    ( _ )->_4 := 10 * 0
 +
    ( _ )->_5 := 10
 +
    if ( _ )->_0 = 'R11 '
 +
      ( _ )->_6 := 22
 +
      ( _ )->_7 := ( _ )->_1 + 100000
 +
    else
 +
      // у товаров PLU совпадает с кодом в справочнике R08
 +
      ( _ )->_6 := 21
 +
      ( _ )->_7 := ( _ )->_1
 +
    endif
 +
    ( _ )->( DbSkip() )
 +
  end
 +
  ( _ )->( DbGoTop() )
 +
  fld := { '_1', '_2', '_3', '_4', '_5', '_6', '_22', '_7' }
 +
  sql := [ Select _1, _2, _3, _4, _5, _6, Left( _2, 2 ) _22,  _7 From ] + TmpFilePath( _ )
 +
  aa := SqlToArr( sql, fld )
 +
finally
 +
  CloseTable( _ )
 +
  HideMsg( msg )
 +
end
 +
ip_scales := GetPrm( 'IP_SCALES', 'SHOPOPER', 1 )
 +
EXPORTTOSCALESCAS( ip_scales, 20304, aa )
 +
// ExportToScales( { 1,,,, ip_scales, 1111, 2000, 500 }, aa )
 +
Message( 'Изделия и товары успешно выгружены на весы' )
 +
// EXPORTTOSCALESCAS( "192.168.234.202", 20304, { { 4202, "Томаты", "пальчиковые", 68.35, 10, 21, "АЯ47", 1 } } )
 +
// _0 справочник
 +
// _1 код изделия
 +
// _2 название строка 1
 +
// _3 название строка 2
 +
// _4 цена
 +
// _5 срок годности в днях
 +
// _6 код группы товаров
 +
// _7 PLU
 
= Смотрите также =
 
= Смотрите также =
 
[[Выгрузить изделия и товары на весы CAS]]
 
[[Выгрузить изделия и товары на весы CAS]]

Версия 15:10, 14 июня 2017

EXPORTTOCAS - это программа из справочника R266

Выгрузка изделий и товаров на весы CAS

EXPORTTOCAS()

Текст

if !YesNo( 'Выгрузить изделия и товары на весы CAS?', false )
  return
endif
local fld, _, r09_kod, aa, sql, msg, ip_scales
fld := ' _0,C,4; _1,N,6; _2,C,20; _3,C,20; _4,N,14,4; _5,N,5; _6,N,5; _7,N,6; '
// возвращаем код кг из справочника R09
r09_kod := R09_KOD_KG()
try
  WaitMsg( 'Подготовка справочника изделий и товаров', msg )
  _ := CreateTmpFile( fld, '_', ~IsFreeDel := true )
  // r11
  sql := [ Select TOP 100 PERCENT 'R11', KOD From R11 Where KODED = ] + r09_kod + [ Order by KOD ]
//  sql := [ Select TOP 1 'R11', KOD From R11 Where KODED = ] + r09_kod + [ Order by KOD ]
  SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _0, _1 ) ] + sql, ReflisPath )
  // r08
  sql := [ Select TOP 100 PERCENT 'R08', KOD From R08 Where KODED = ] + r09_kod + [ Order by KOD ]
//  sql := [ Select TOP 1 'R08', KOD From R08 Where KODED = ] + r09_kod + [ Order by KOD ]
  SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _0, _1 ) ] + sql, ReflisPath )
  ( _ )->( DbGoTop() )
  while !( _ )->( eof() )
    WaitMsg( a_s( ( _ )->_1 ) , msg )
    ( _ )->_2 := Left( RealName( ( _ )->_0, ( _ )->_1 ), 20 )
    ( _ )->_3 := SUBSTR( RealName( ( _ )->_0, ( _ )->_1 ), 21, 20 )
    ( _ )->_4 := 10 * 0
    ( _ )->_5 := 10
    if ( _ )->_0 = 'R11 '
      ( _ )->_6 := 22
      ( _ )->_7 := ( _ )->_1 + 100000
    else
      // у товаров PLU совпадает с кодом в справочнике R08
      ( _ )->_6 := 21
      ( _ )->_7 := ( _ )->_1
    endif
    ( _ )->( DbSkip() )
  end
  ( _ )->( DbGoTop() )
  fld := { '_1', '_2', '_3', '_4', '_5', '_6', '_22', '_7' }
  sql := [ Select _1, _2, _3, _4, _5, _6, Left( _2, 2 ) _22,  _7 From ] + TmpFilePath( _ )
  aa := SqlToArr( sql, fld )
finally
  CloseTable( _ )
  HideMsg( msg )
end
ip_scales := GetPrm( 'IP_SCALES', 'SHOPOPER', 1 )
EXPORTTOSCALESCAS( ip_scales, 20304, aa )
// ExportToScales( { 1,,,, ip_scales, 1111, 2000, 500 }, aa )
Message( 'Изделия и товары успешно выгружены на весы' )
// EXPORTTOSCALESCAS( "192.168.234.202", 20304, { { 4202, "Томаты", "пальчиковые", 68.35, 10, 21, "АЯ47", 1 } } )
// _0 справочник
// _1 код изделия
// _2 название строка 1
// _3 название строка 2
// _4 цена
// _5 срок годности в днях
// _6 код группы товаров
// _7 PLU

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

Выгрузить изделия и товары на весы CAS

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

Функции Delphi