UTH TO UTH — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) (Новая страница: «UTH_TO_UTH - это программа из справочника R266 Программа переноса документа UTH из одной п…») |
Hisava (обсуждение | вклад) м |
||
| Строка 1: | Строка 1: | ||
[[UTH_TO_UTH]] - это программа из справочника [[R266]] | [[UTH_TO_UTH]] - это программа из справочника [[R266]] | ||
Программа переноса документа [[UTH]] из одной папки Opdata в другую | Программа переноса документа [[UTH]] из одной папки Opdata в другую | ||
| + | = Текст = | ||
| + | local _, sql, fld, path, aa, i, del, uth1, bb | ||
| + | |||
| + | path := UU_PATH | ||
| + | fld := ' _1,C,8; _2,C,10; _3,D,4; _4,N,5; _5,N,5; _6,C,10; _7,D,4; ' | ||
| + | |||
| + | uth1 := OpenChildDoc( 'UTH', '1', ~ParentForm := "", ; | ||
| + | ~Month := Month( CurDate ), ~Year := Year( CurDate ) ) | ||
| + | |||
| + | try | ||
| + | _ := CreateTmpFile( fld, '_', ~IsFreeDel := true ) | ||
| + | sql := [ Select RGNUM, CATTR2, DATTR1, KANAL1, DANAL1, NUMDOC, DATDOC ; | ||
| + | From DOCS] + Ret_f_ext() + [ ; | ||
| + | Where KINDDOC = 'UTH' and LVLNUM = '1' ] | ||
| + | SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _1, _2, _3, _4, ; | ||
| + | _5, _6, _7 ) ] + sql, path ) | ||
| + | |||
| + | fld := { 'CATTR6', 'CATTR2', 'DATTR1', 'KANAL1', 'DANAL1', 'NUMDOC', 'DATDOC' } | ||
| + | |||
| + | sql := [ Select _1 CATTR6, _2 CATTR2, _3 DATTR1, _4 KANAL1, ; | ||
| + | _5 DANAL1, _6 NUMDOC, _7 DATDOC ; | ||
| + | From ] + TmpFilePath( _ ) | ||
| + | aa := SelectSqlToArr( sql, fld, TempPath, false, false ) | ||
| + | if !IsEmpty( aa ) | ||
| + | for i := 1 to len( aa ) | ||
| + | // --- добавляю этаж 1 | ||
| + | bb := { aa[i] } | ||
| + | del := [ KINDDOC = 'UTH' and LVLNUM = '1' and Left( CATTR6, 8 ) = '] + bb[1,1] + [' ] | ||
| + | AddAll( 'UTH', '1', " ",, fld, bb,,,, ; | ||
| + | Year( CurDate ), Month( CurDate ),,, "",, del ) | ||
| + | ( uth1 )->( SetFilter( del ) ) | ||
| + | ( uth1 )->( Refresh() ) | ||
| + | UTH_TO_UTH2( uth1, path ) | ||
| + | // *** добавляю этаж 1 | ||
| + | next | ||
| + | endif | ||
| + | |||
| + | finally | ||
| + | CloseTable( _ ) | ||
| + | end | ||
| + | |||
| + | // _1 - RGNUM хранится в поле CATTR6 | ||
| + | // _2 - номер, CATTR2 | ||
| + | // _3 - дата, DATTR1 | ||
| + | // _4 - поставщик, код, KANAL1 | ||
| + | // _5 - место прихода, код, DANAL1 | ||
| + | // _6 - номер приходного ордера, NUMDOC | ||
| + | // _7 - дата приходного ордера, DATDOC | ||
= Смотрите также = | = Смотрите также = | ||
[[Полезные функции]] | [[Полезные функции]] | ||
[[Функции Delphi]] | [[Функции Delphi]] | ||
Версия 15:26, 19 июля 2018
UTH_TO_UTH - это программа из справочника R266
Программа переноса документа UTH из одной папки Opdata в другую
Текст
local _, sql, fld, path, aa, i, del, uth1, bb
path := UU_PATH
fld := ' _1,C,8; _2,C,10; _3,D,4; _4,N,5; _5,N,5; _6,C,10; _7,D,4; '
uth1 := OpenChildDoc( 'UTH', '1', ~ParentForm := "", ;
~Month := Month( CurDate ), ~Year := Year( CurDate ) )
try
_ := CreateTmpFile( fld, '_', ~IsFreeDel := true )
sql := [ Select RGNUM, CATTR2, DATTR1, KANAL1, DANAL1, NUMDOC, DATDOC ;
From DOCS] + Ret_f_ext() + [ ;
Where KINDDOC = 'UTH' and LVLNUM = '1' ]
SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _1, _2, _3, _4, ;
_5, _6, _7 ) ] + sql, path )
fld := { 'CATTR6', 'CATTR2', 'DATTR1', 'KANAL1', 'DANAL1', 'NUMDOC', 'DATDOC' }
sql := [ Select _1 CATTR6, _2 CATTR2, _3 DATTR1, _4 KANAL1, ;
_5 DANAL1, _6 NUMDOC, _7 DATDOC ;
From ] + TmpFilePath( _ )
aa := SelectSqlToArr( sql, fld, TempPath, false, false )
if !IsEmpty( aa )
for i := 1 to len( aa )
// --- добавляю этаж 1
bb := { aa[i] }
del := [ KINDDOC = 'UTH' and LVLNUM = '1' and Left( CATTR6, 8 ) = '] + bb[1,1] + [' ]
AddAll( 'UTH', '1', " ",, fld, bb,,,, ;
Year( CurDate ), Month( CurDate ),,, "",, del )
( uth1 )->( SetFilter( del ) )
( uth1 )->( Refresh() )
UTH_TO_UTH2( uth1, path )
// *** добавляю этаж 1
next
endif
finally
CloseTable( _ )
end
// _1 - RGNUM хранится в поле CATTR6
// _2 - номер, CATTR2
// _3 - дата, DATTR1
// _4 - поставщик, код, KANAL1
// _5 - место прихода, код, DANAL1
// _6 - номер приходного ордера, NUMDOC
// _7 - дата приходного ордера, DATDOC