SRG 20170425 — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м (→Текст) |
Hisava (обсуждение | вклад) м (→Текст) |
||
Строка 6: | Строка 6: | ||
local fld, sql, taskanal, __, file_name, temp_path, myarch, ftp, host, port, user, pass, dest_path, to_atolf | local fld, sql, taskanal, __, file_name, temp_path, myarch, ftp, host, port, user, pass, dest_path, to_atolf | ||
− | taskanal := GetPrm( 'TASKANAL', TaskName, TaskNum ) | + | taskanal := [[GetPrm]]( 'TASKANAL', TaskName, TaskNum ) |
if Empty( taskanal ) | if Empty( taskanal ) | ||
return | return | ||
Строка 14: | Строка 14: | ||
try | try | ||
− | __ := CreateTmpFile( fld, '__', ~IsFreeDel := true ) | + | __ := [[CreateTmpFile]]( fld, '__', ~IsFreeDel := true ) |
sql := [ Select FROM_ATOL, FROM_ATOLF, TO_ATOL, TO_ATOLF, FOLDERATOL, FTP_SERVER, FTP_PORT, FTP_LOGIN, FTP_PASS, FROM_ATOLZ, TO_ATOLZ ; | sql := [ Select FROM_ATOL, FROM_ATOLF, TO_ATOL, TO_ATOLF, FOLDERATOL, FTP_SERVER, FTP_PORT, FTP_LOGIN, FTP_PASS, FROM_ATOLZ, TO_ATOLZ ; | ||
− | From R603 Where | + | From [[R603]] Where [[R20]]_KOD = ] + taskanal |
SimpleSql( [ Insert into ] + TmpFilePath( __ ) + [( _1, _2, _3, _4, _5, _6, _7, _8, _9, _11, _13 ) ] + sql, ReflisPath ) | SimpleSql( [ Insert into ] + TmpFilePath( __ ) + [( _1, _2, _3, _4, _5, _6, _7, _8, _9, _11, _13 ) ] + sql, ReflisPath ) | ||
Global TO_ATOL, TO_ATOLZ | Global TO_ATOL, TO_ATOLZ | ||
− | ( __ )->( DbGoTop() ) | + | ( __ )->( [[DbGoTop]]() ) |
− | while !( __ )->( eof() ) | + | while !( __ )->( [[eof]]() ) |
− | TO_ATOL := atr( ( __ )->_3 ) | + | TO_ATOL := [[atr]]( ( __ )->_3 ) |
− | TO_ATOLZ := atr( ( __ )->_13 ) | + | TO_ATOLZ := [[atr]]( ( __ )->_13 ) |
− | ExportFile( '961' ) | + | [[ExportFile]]( '961' ) |
// во временной папке лежит файл с именем kpos_1.spr | // во временной папке лежит файл с именем kpos_1.spr | ||
− | file_name := atr( ( __ )->_3 ) | + | file_name := [[atr]]( ( __ )->_3 ) |
− | temp_path := Nice_Path( ExpandUNCFileName( TempPath ) ) | + | temp_path := [[Nice_Path]]( [[ExpandUNCFileName]]( TempPath ) ) |
// myarch := StrTran( file_name, '.spr', '' ) | // myarch := StrTran( file_name, '.spr', '' ) | ||
// myarch := StrTran( file_name, '.spr', '.spr.zip' ) | // myarch := StrTran( file_name, '.spr', '.spr.zip' ) | ||
− | myarch := atr( ( __ )->_13 ) | + | myarch := [[atr]]( ( __ )->_13 ) |
− | RunProcess( [winrar a -dh -ep ] + temp_path + myarch + [ ] + temp_path + file_name ) | + | [[RunProcess]]( [winrar a -dh -ep ] + temp_path + myarch + [ ] + temp_path + file_name ) |
− | to_atolf := atr( ( __ )->_4 ) | + | to_atolf := [[atr]]( ( __ )->_4 ) |
− | dest_path := atr( ( __ )->_5 ) | + | dest_path := [[atr]]( ( __ )->_5 ) |
− | host := atr( ( __ )->_6 ) | + | host := [[atr]]( ( __ )->_6 ) |
port := ( __ )->_7 | port := ( __ )->_7 | ||
− | user := atr( ( __ )->_8 ) | + | user := [[atr]]( ( __ )->_8 ) |
− | pass := atr( ( __ )->_9 ) | + | pass := [[atr]]( ( __ )->_9 ) |
// myarch := atr( myarch ) + '.rar' | // myarch := atr( myarch ) + '.rar' | ||
− | myarch := StrTran( myarch, '.zip', '' ) | + | myarch := [[StrTran]]( myarch, '.zip', '' ) |
− | myarch := atr( myarch ) + '.zip' | + | myarch := [[atr]]( myarch ) + '.zip' |
try | try | ||
− | ftp := FTPOPEN( host,, user, pass, ~PassiveMode := true ) | + | ftp := [[FTPOPEN]]( host,, user, pass, ~PassiveMode := true ) |
− | FTPPUT( ftp, temp_path + myarch, dest_path, myarch ) | + | [[FTPPUT]]( ftp, temp_path + myarch, dest_path, myarch ) |
− | WriteTxtFile( { 'файл-флаг' }, to_atolf, temp_path, true ) | + | [[WriteTxtFile]]( { 'файл-флаг' }, to_atolf, temp_path, true ) |
− | // if !YesNo( 'Формировать файл-флаг ?', false ) | + | // if ![[YesNo]]( 'Формировать файл-флаг ?', false ) |
− | FTPPUT( ftp, temp_path + to_atolf, dest_path, to_atolf ) | + | [[FTPPUT]]( ftp, temp_path + to_atolf, dest_path, to_atolf ) |
// endif | // endif | ||
finally | finally | ||
− | FTPCLOSE( ftp ) | + | [[FTPCLOSE]]( ftp ) |
end | end | ||
− | ( __ )->( DbSkip() ) | + | ( __ )->( [[DbSkip]]() ) |
end | end | ||
finally | finally | ||
− | CloseTable( __ ) | + | [[CloseTable]]( __ ) |
− | DeleteVars( 'TO_ATOL', 'TO_ATOLZ' ) | + | [[DeleteVars]]( 'TO_ATOL', 'TO_ATOLZ' ) |
end | end | ||
Версия 14:32, 27 апреля 2017
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; _11,C,25; _13,C,25; ' 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_ATOLZ, TO_ATOLZ ; From R603 Where R20_KOD = ] + taskanal SimpleSql( [ Insert into ] + TmpFilePath( __ ) + [( _1, _2, _3, _4, _5, _6, _7, _8, _9, _11, _13 ) ] + sql, ReflisPath ) Global TO_ATOL, TO_ATOLZ ( __ )->( DbGoTop() ) while !( __ )->( eof() ) TO_ATOL := atr( ( __ )->_3 ) TO_ATOLZ := atr( ( __ )->_13 ) 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', '.spr.zip' ) myarch := atr( ( __ )->_13 ) 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 ) // if !YesNo( 'Формировать файл-флаг ?', false ) FTPPUT( ftp, temp_path + to_atolf, dest_path, to_atolf ) // endif finally FTPCLOSE( ftp ) end ( __ )->( DbSkip() ) end finally CloseTable( __ ) DeleteVars( 'TO_ATOL', 'TO_ATOLZ' ) end // _1 файл импорта rep // _2 флаг импорта // _3 файл экспорта srp // _4 флаг экспорта // _5 папка обмена // _6 FTP-сервер // _7 порт // _8 логин // _9 пароль // _11 Файл импорта rep в архиве // _13 Файл экспорта spr в архиве // \\fabius\Fabius\Frontol\ Message( 'Файлы выгружены' ) // 1) имя архива справочников должно быть kpos_1.spr.zip