|
|
(не показана одна промежуточная версия этого же участника) |
Строка 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]] |