SRG 20170425
Материал из Фабиус wiki
Версия от 10:51, 26 апреля 2017; Hisava (обсуждение | вклад) (Новая страница: «SRG_20170425 - это программа из справочника R266 Выгрузить файлы на FTP = Текст = local fld, sql, taskan…»)
SRG_20170425 - это программа из справочника R266
Выгрузить файлы на FTP
Текст
local fld, sql, taskanal, __, file_name, temp_path, myarch, ftp, host, port, user, pass, dest_path, to_atolf
taskanal := GetPrm( 'TASKANAL', TaskName, TaskNum )
if Empty( taskanal )
return
endif
fld := ' _1,C,20; _2,C,20; _3,C,20; _4,C,20; _5,C,80; _6,C,30; _7,N,5; _8,C,30; _9,C,30; '
try
__ := CreateTmpFile( fld, '__', ~IsFreeDel := true )
sql := [ Select FROM_ATOL, FROM_ATOLF, TO_ATOL, TO_ATOLF, FOLDERATOL, FTP_SERVER, FTP_PORT, FTP_LOGIN, FTP_PASS ;
From R603 Where R20_KOD = ] + taskanal
SimpleSql( [ Insert into ] + TmpFilePath( __ ) + [( _1, _2, _3, _4, _5, _6, _7, _8, _9 ) ] + sql, ReflisPath )
Global TO_ATOL
( __ )->( DbGoTop() )
while !( __ )->( eof() )
TO_ATOL := ( __ )->_3
ExportFile( '961' )
// во временной папке лежит файл с именем kpos_1.spr
file_name := atr( ( __ )->_3 )
temp_path := Nice_Path( ExpandUNCFileName( TempPath ) )
// myarch := StrTran( file_name, '.spr', )
myarch := StrTran( file_name, '.spr', '.zip' )
RunProcess( [winrar a -dh -ep ] + temp_path + myarch + [ ] + temp_path + file_name )
to_atolf := atr( ( __ )->_4 )
dest_path := atr( ( __ )->_5 )
host := atr( ( __ )->_6 )
port := ( __ )->_7
user := atr( ( __ )->_8 )
pass := atr( ( __ )->_9 )
// myarch := atr( myarch ) + '.rar'
myarch := StrTran( myarch, '.zip', )
myarch := atr( myarch ) + '.zip'
try
ftp := FTPOPEN( host,, user, pass, ~PassiveMode := true )
FTPPUT( ftp, temp_path + myarch, dest_path, myarch )
WriteTxtFile( { 'файл-флаг' }, to_atolf, temp_path, true )
FTPPUT( ftp, temp_path + to_atolf, dest_path, to_atolf )
finally
FTPCLOSE( ftp )
end
( __ )->( DbSkip() )
end
finally
CloseTable( __ )
DeleteVars( 'TO_ATOL' )
end
// _1 файл импорта rep
// _2 флаг импорта
// _3 файл экспорта srp
// _4 флаг экспорта
// _5 папка обмена
// _6 FTP-сервер
// _7 порт
// _8 логин
// _9 пароль
// \\fabius\Fabius\Frontol\
Message( 'Файлы выгружены' )