|
|
(не показана одна промежуточная версия этого же участника) |
Строка 4: |
Строка 4: |
| = Использование = | | = Использование = |
| [[TAKE_FROM_FTP]] | | [[TAKE_FROM_FTP]] |
− | = Текст =
| |
− | local temp_path, aaa, ii, r20_kod, folder, file_name, path, fld, msg, _, file_frontol, aa, sql, data, i
| |
− |
| |
− | try
| |
− | WaitMsg( 'Удаление', msg )
| |
− |
| |
− | temp_path := Nice_Path( ExpandUNCFileName( TempPath ) )
| |
− | aaa := Directory( temp_path + '*', "D" )
| |
− | for ii := 1 to len( aaa )
| |
− | if val( aaa[ii,1] ) > 0
| |
− | r20_kod := val( aaa[ii,1] )
| |
− | r20_kod := SeekRef( 'R603', r20_kod, 'R20_KOD', 1 )
| |
− | if Empty( r20_kod )
| |
− | loop
| |
− | endif
| |
− | folder := temp_path + aaa[ii,1]
| |
− | file_name := Directory( folder + '\*rep*', "A" )
| |
− | if Empty( file_name )
| |
− | loop
| |
− | endif
| |
− | file_name := file_name[1,1]
| |
− | path := Nice_Path( folder )
| |
− | file_name := path + file_name
| |
− | fld := ' _0,C,200; _1,D,4; _2,C,20; '
| |
− | try
| |
− | WaitMsg( 'Обработка данных' + file_name, msg )
| |
− | _ := CreateTmpFile( fld, '_', ~IsFreeDel := true )
| |
− | file_frontol := AssignFile( file_name )
| |
− | if Empty( file_frontol )
| |
− | loop
| |
− | 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 := Right( file_name, 20 )
| |
− | endif
| |
− | end
| |
− | sql := [ Select DISTINCT _1 From ] + TmpFilePath( _ )
| |
− | aa := SqlToArr( sql, { '_1' } )
| |
− | aa := PrepareArr( aa )
| |
− | for i := 1 to len( aa )
| |
− | data := aa[i]
| |
− | WaitMsg( 'Удаление ранее загруженных данных за ' + aa[i], msg )
| |
− | if !Is_File( 'DOCP', data )
| |
− | OpenFData( 'DOCP' + Ret_f_ext( data ), 'DOCP', false, OpdataPath, 'DOCP' )
| |
− | endif
| |
− | // FTL
| |
− | sql := [ Delete From DOCP] + Ret_f_ext( data ) + [ Where KINDDOC = 'FTL' and DATDOC = '] + SQlDate( data ) + [' and ;
| |
− | DREFL1 = '[[R20]] ' and DANAL1 = ] + r20_kod + [ and 'SYSTEM.' = 'SYSTEM.' ]
| |
− | SimpleSql( sql, OpdataPath )
| |
− | // FRO
| |
− | sql := [ Delete From [[DOCP]]] + Ret_f_ext( data ) + [ Where KINDDOC = '[[FRO]]' and DATDOC = '] + [[SQlDate]]( data ) + [' and ;
| |
− | KREFL1 = '[[R20]] ' and KANAL1 = ] + r20_kod + [ and 'SYSTEM.' = 'SYSTEM.' ]
| |
− | [[SimpleSql]]( sql, OpdataPath )
| |
− | next
| |
− | finally
| |
− | if ![[Empty]]( file_frontol )
| |
− | [[CloseFile]]( file_frontol )
| |
− | endif
| |
− | [[CloseTable]]( _ )
| |
− | [[HideMsg]]( msg )
| |
− | end
| |
− | endif
| |
− | next
| |
− |
| |
− | finally
| |
− | [[HideMsg]]( msg )
| |
− | end
| |
− |
| |
− |
| |
− | // _0 - текст из файла ( одна строка )
| |
− | // _1 - дата
| |
− | // _2 - путь к файлу
| |
− |
| |
| = Смотрите также = | | = Смотрите также = |
| [[Полезные функции]] | | [[Полезные функции]] |
| | | |
| [[Функции Delphi]] | | [[Функции Delphi]] |