|
|
Строка 1: |
Строка 1: |
| GET_FRONTOL_REPORT - это программа из справочника [[R266]] | | GET_FRONTOL_REPORT - это программа из справочника [[R266]] |
| Загрузить продажи | | Загрузить продажи |
− | = Текст =
| |
− | local file_name, folderatol, path, file_frontol, sql, i, del, data
| |
− |
| |
− | local r179_kod, r20_kod, fld, msg, _, aa, dd, ftl1, ff
| |
− |
| |
− | r179_kod := [[GetPrm]]( 'TASKANAL', '[[CASH_SHOP]]', TaskNum )
| |
− | r20_kod := [[SeekRef]]( '[[R179]]', r179_kod, 'CASH_KOD2', 1 )
| |
− |
| |
− | folderatol := [[GetPrm]]( 'CASHBOX', '[[CASH_SHOP]]', TaskNum )
| |
− | path := [[Nice_Path]]( folderatol )
| |
− | file_name := [[GetParam]]( 'FROM_ATOL', '[[SHOP]]',, r20_kod )
| |
− | file_name := path + file_name
| |
− |
| |
− | if ![[YesNo]]( 'Загрузить операции из файла ' + file_name + ' ?', false )
| |
− | return
| |
− | endif
| |
− |
| |
− | fld := ' _0,C,200; _1,D,4; _2,C,20; '
| |
− |
| |
− | try
| |
− | msg := [[WaitMsg]]( 'Обработка данных' )
| |
− | _ := [[CreateTmpFile]]( fld, '_', ~IsFreeDel := true )
| |
− |
| |
− | file_frontol := [[AssignFile]]( file_name )
| |
− | if [[Empty]]( file_frontol )
| |
− | return
| |
− | endif
| |
− | [[TextReset]]( file_frontol )
| |
− | aa := [[ReadLn]]( file_frontol )
| |
− |
| |
− | // заполнение временной таблицы
| |
− | while ![[TextEof]]( file_frontol )
| |
− | aa := [[ReadLn]]( file_frontol )
| |
− | [[WaitMsg]]( Left( aa, 16 ), msg )
| |
− | if [[len]]( aa ) > 10
| |
− | ( _ )->( [[DbAppend]]() )
| |
− | ( _ )->_0 := aa
| |
− | ( _ )->_1 := [[CtoD]]( Token( aa, 2 ) )
| |
− | ( _ )->_2 := [[Left]]( folderatol, 20 )
| |
− | endif
| |
− | end
| |
− |
| |
− | sql := [ Select DISTINCT _1 From ] + TmpFilePath( _ )
| |
− | aa := [[SqlToArr]]( sql, { '_1' } )
| |
− |
| |
− | if [[IsEmpty]]( aa )
| |
− | return
| |
− | endif
| |
− |
| |
− | aa := [[PrepareArr]]( aa )
| |
− |
| |
− | for i := 1 to [[len]]( aa )
| |
− |
| |
− | data := aa[i]
| |
− |
| |
− | try
| |
− | [[WaitMsg]]( 'Удаление ранее загруженных данных за ' + aa[i], msg )
| |
− | sql := [ Delete From DOCP] + Ret_f_ext( data ) + [ Where KINDDOC = '[[FTL]]' and DATDOC = '] + [[SQlDate]]( data ) + [' and K3NAME = '] + [[Left]]( folderatol, 20 ) + [' ]
| |
− | [[SimpleSql]]( sql, OpdataPath )
| |
− | finally
| |
− | [[HideMsg]]( msg )
| |
− | end
| |
− |
| |
− | // добавление первого этажа
| |
− | fld := { 'DATDOC', 'K3NAME', 'DREFL1', 'DANAL1' }
| |
− | del := [ KINDDOC = '[[FTL]]' and LVLNUM = '1' and DtoS( DATDOC ) = '] + [[DtoS]]( data )+ [' and K3NAME = '] + [[Left]]( folderatol, 20 ) + [' ]
| |
− | dd := { { data, Left( folderatol, 20 ), 'R20 ', r20_kod } }
| |
− |
| |
− | [[AddAll]]( '[[FTL]]', '1', " ",, fld, dd,,,, [[Year]]( data ), [[Month]]( data ),,, true,, del )
| |
− | ftl1 := [[OpenChildDoc]]( '[[FTL]]', '1', ~ParentForm := "", ~IsCondition := false, ~Month := [[Month]]( data ), ~Year := [[Year]]( data ) )
| |
− | ( ftl1 )->( [[SetFilter]]( del ) )
| |
− | ( ftl1 )->( [[Refresh]]() )
| |
− |
| |
− | fld := { 'FRONTOL', 'K3NAME' }
| |
− | sql := [ Select _0 FRONTOL, _2 K3NAME From ] + TmpFilePath( _ ) + [ Where _1 = '] + SqlDate( aa[i] ) + [' ]
| |
− | ff := [[SqlToArr]]( sql, fld )
| |
− |
| |
− | if ![[IsEmpty]]( ff )
| |
− | [[AddAll]]( '[[FTL]]', '2', ( ftl1 )->RGNUM,, fld, ff,, ( ftl1 )->( GetForm( GetArea() ) ) )
| |
− | endif
| |
− | next
| |
− |
| |
− | finally
| |
− | if ![[Empty]]( file_frontol )
| |
− | [[CloseFile]]( file_frontol )
| |
− | endif
| |
− | [[CloseTable]]( _ )
| |
− | [[HideMsg]]( msg )
| |
− | end
| |
− |
| |
− | // _0 - текст из файла ( одна строка )
| |
− | // _1 - дата
| |
− | // _2 - путь к файлу
| |
− |
| |
− | // и в загруженном отчете по продажам менять # на @
| |
− |
| |
− | try
| |
− | msg := [[WaitMsg]]( 'Проверка данных' )
| |
− | aa := {}
| |
− | try
| |
− | file_frontol := [[AssignFile]]( file_name )
| |
− | if [[Empty]]( file_frontol )
| |
− | return
| |
− | endif
| |
− | [[TextReset]]( file_frontol )
| |
− | while ![[TextEof]]( file_frontol )
| |
− | [[Aadd]]( aa, [[ReadLn]]( file_frontol ) )
| |
− | end
| |
− | finally
| |
− | if ![[Empty]]( file_frontol )
| |
− | [[CloseFile]]( file_frontol )
| |
− | endif
| |
− | end
| |
− |
| |
− | if ![[IsEmpty]]( aa )
| |
− | aa[1] := "@"
| |
− | endif
| |
− |
| |
− | // WriteTxtFile( aa, file_name, path, true )
| |
− | file_name := [[GetParam]]( 'FROM_ATOL', '[[SHOP]]',, r20_kod )
| |
− | [[WriteTxtFile]]( aa, file_name, path, true )
| |
− | finally
| |
− | [[HideMsg]]( msg )
| |
− | end
| |
− |
| |
− | [[Message]]( 'Продажи успешно загружены' + Chr( 13 )+ Chr( 10 ) + '( [[Документы]] за месяц - Операции Frontol )' )
| |
− |
| |
| = Смотрите также = | | = Смотрите также = |
| [[Полезные функции]] | | [[Полезные функции]] |
| | | |
| [[Функции Delphi]] | | [[Функции Delphi]] |