OHC 20170214

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

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

Выгрузить изделия в файл goods.dbf для кассы АМС100 К ( ф )

OHC_20170214( message := false )

Файл goods.dbf должен лежать в Reflis

Текст

parameters message := false

if message
  if !YesNo( 'Выгрузить изделия ( кроме синих ) в файл goods.dbf ?', false )
    return
  endif
endif

local goo, r11, msg, price

CopyFile( 'Z:\Fabius\002100000210\base\goods.dbf', 'Z:\Fabius\Reflis\goods.dbf', true )

try
  goo := OpenFData( 'goods.dbf', 'goo', true, ReflisPath, ~IsCheckStr := false )

  ( goo )->( DbGoTop() )
  while !( goo )->( eof() )
    ( goo )->( DbGoTop() )
    ( goo )->( DbDelete() )
  end
  ( goo )->( DbPack() )

  r11 := OpenKlsf( 'R11' )
  ( r11 )->( DbGoTop() )
  while !( r11 )->( eof() )
    WaitMsg( RealName( 'R11', ( r11 )->KOD, true ), msg )
    if ( r11 )->USE_STATUS <> 1
      price := RETPRICE( 'R11', ( r11 )->KOD, Date(), 250 )
      if !Empty( price )
        ( goo )->( DbAppend() )
        ( goo )->BARCODE := ( r11 )->BAR_CODE
        ( goo )->CODE := ( r11 )->KOD
        ( goo )->ALCOTYPE := '000'
        ( goo )->NAME := ( r11 )->PNAME
        ( goo )->PRICE := RETPRICE( 'R11', ( r11 )->KOD, Date(), 250 )

        if PRODNDS( ( r11 )->KOD ) = 10
          ( goo )->SECTION_ := 1
        else
          ( goo )->SECTION_ := 2
        endif
      endif
    endif
    ( r11 )->( DbSkip() )
  end
finally
  HideMsg( msg )
  CloseKlsf( r11 )
  CloseTable( goo )
end

CopyFile( 'Z:\Fabius\Reflis\goods.dbf', 'Z:\Fabius\AMC100\goods.dbf', true )

if message
  Message( 'Справочник изделий успешно выгружен в файл Z:\Fabius\AMC100\goods.dbf' )
endif

  // v:=OpenFData('vspb51.dbf','v',false,ReflisPath,~IsCheckStr:=false)
  // aa:=(v)->(DbStruct())

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

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

Функции Delphi

OHC