EXPORTTOSHTRIHPRINT3

Материал из Фабиус wiki
Перейти к: навигация, поиск

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

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

EXPORTTOSHTRIHPRINT3()

Текст

if !YesNo( 'Выгрузить изделия и товары на весы ?', 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; '

// возвращаем код кг из справочника 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 ]
  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 ]
  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
    ( _ )->_5 := 10
    if ( _ )->_0 = 'R11 '
      ( _ )->_6 := 22
    else
      ( _ )->_6 := 21
      ( _ )->_1 := ( _ )->_1 + 100000
    endif
    ( _ )->( DbSkip() )
  end
  ( _ )->( DbGoTop() )

  fld := { '_1', '_2', '_3', '_4', '_5', '_6' }
  sql := [ Select _1, _2, _3, _4, _5, _6 From ] + TmpFilePath( _ )
  aa := SqlToArr( sql, fld )
finally
  CloseTable( _ )
  HideMsg( msg )
end

ip_scales := GetPrm( 'IP_SCALES', 'SHOPOPER', 1 )
ExportToScales( { 1,,,, ip_scales, 1111, 2000, 500 }, aa )
Message( 'Изделия и товары успешно выгружены на весы' )

// _0 справочник
// _1 код изделия
// _2 название строка 1
// _3 название строка 2
// _4 цена
// _5 срок годности в днях
// _6 код группы товаров

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

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

Функции Delphi