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