|
|
Строка 2: |
Строка 2: |
| см. ALL_TO_ALL, документ [[UTH]] | | см. ALL_TO_ALL, документ [[UTH]] |
| [[ACS_TO_ACS3]]( data ) | | [[ACS_TO_ACS3]]( data ) |
− | = Текст =
| |
− | parameters data
| |
− |
| |
− | global _acs_to_acs_
| |
− |
| |
− | _acs_to_acs_ := false
| |
− |
| |
− | local uth1, del, rg, path, sql, aa, msg
| |
− |
| |
− | if [[EMPTY]]( data )
| |
− | data := Date()
| |
− | endif
| |
− |
| |
− | path := '\\FABIUS\FABIUS\OPDATA'
| |
− | del := [ KINDDOC = 'UTH' and LVLNUM = '1' ]
| |
− |
| |
− | uth1 := OpenChildDoc( 'UTH', '1', ~ParentForm := "", ~IsCondition := false, ~Month := Month( data ), ~Year := Year( data ) )
| |
− | ( uth1 )->( SetFilter( del ) )
| |
− | ( uth1 )->( Refresh() )
| |
− |
| |
− | ( uth1 )->( DbGoTop() )
| |
− |
| |
− | try
| |
− | while !( uth1 )->( eof() )
| |
− | WaitMsg( 'Дополнительная обработка документа номер ' + ( uth1 )->NUMDOC + ' от ' + ( uth1 )->DATDOC + Chr( 10 ) + 'UTH ' + RealName( 'R169', 'UTH' ), msg )
| |
− | rg := ( uth1 )->USR_RGNUM
| |
− | if !Empty( rg )
| |
− | // теперь делаем запрос по черной базе и достаем PARENT
| |
− | sql := [ Select PARENT ;
| |
− | From DOCS] + Ret_f_ext( data ) + [ ;
| |
− | Where ] + del + [ and RGNUM = '] + rg + [' ]
| |
− | aa := SqlToArr( sql, { 'PARENT' }, path )
| |
− | if !IsEmpty( aa )
| |
− | // aa[1,1] - это RGNUM счет-фактуры в управленческом учете
| |
− | // ищем эту счет-фактуру в налоговом учете
| |
− | sql := [ Select RGNUM ;
| |
− | From DOCS] + Ret_f_ext( data ) + [ ;
| |
− | Where KINDDOC = 'ACS' and LVLNUM = '1' and Trim( ] + SqlField( 'USR_RGNUM',, 'sql_char' ) + [ ) = '] + aa[1,1] + [' ]
| |
− | aa := SqlToArr( sql, { 'RGNUM' } )
| |
− | if !IsEmpty( aa )
| |
− | try
| |
− | _acs_to_acs_ := true
| |
− | // теперь aa[1,1] - это RGNUM счет-фактуры в налоговом учете
| |
− | ( uth1 )->PARENT := Padl( aa[1,1], 8 )
| |
− | finally
| |
− | _acs_to_acs_ := false
| |
− | end
| |
− | endif
| |
− | endif
| |
− | endif
| |
− | ( uth1 )->( DbSkip() )
| |
− | end
| |
− | finally
| |
− | HideMsg( msg )
| |
− | end
| |
− |
| |
− | sql := [ Update uth2 ;
| |
− | Set uth2.EXTPARENT = uth1.PARENT ;
| |
− | From DOCS] + Ret_f_ext( data ) + [ uth1 ;
| |
− | left outer join DOCS] + Ret_f_ext( data ) + [ uth2 ON uth1.RGNUM = uth2.PARENT ;
| |
− | Where uth1.KINDDOC = 'UTH' and uth1.LVLNUM = '1' and uth2.KINDDOC = 'UTH' and uth2.LVLNUM = '2' ]
| |
− | SimpleSql( sql, OpdataPath )
| |
− |
| |
− | // в документе UTH1 сохраняется RGNUM из базы управленческого учета в поле USR_RGNUM
| |
− | // 1. Ищем документ uth1 в "черной" базе с помощью реквизита USR_RGNUM
| |
− |
| |
− | // в документе UTH1 в поле PARENT прописывется RGNUM счета-фактуры
| |
− | // этот же самый RGNUM прописывается в номенклатуре в поле EXTPARENT
| |
− | // номенклатура - это UTH2
| |
| = Смотрите также = | | = Смотрите также = |
| [[Полезные функции]] | | [[Полезные функции]] |
| | | |
| [[Функции Delphi]] | | [[Функции Delphi]] |