|
|
| Строка 1: |
Строка 1: |
| | [[REW_CTRL_F9]] - это программа из справочника [[R266]] | | [[REW_CTRL_F9]] - это программа из справочника [[R266]] |
| | Вызывается по CTRL+F9 из документа "Пересортица", этаж 2 | | Вызывается по CTRL+F9 из документа "Пересортица", этаж 2 |
| − | = Текст =
| |
| − | local fld, _, _2, sql, DescFld, DescHK, DescTbl, prog1, sr, ind
| |
| − |
| |
| − | fld := ' _1,N,1; _2,C,4; _3,N,5; _4,N,14,4; _5,N,14,4; _6,N,14,4; _7,N,5;;
| |
| − | _8,C,10; _9,C,50; '
| |
| − |
| |
| − | if Empty( AUTOID )
| |
| − | return
| |
| − | endif
| |
| − |
| |
| − | prog1 := GetProgText( '_5_PostBlk' )
| |
| − |
| |
| − | sql := [ Select REFL2, ANAL2, EAMNT, ESUM ;
| |
| − | From [[REPS]]] + Ret_f_ext() + [ ;
| |
| − | Where SHIFT = '] + DOCS1->DSHIFT + [' and REFL1 = '] + DOCS1->DREFL1 + [' and ;
| |
| − | ANAL1 = ] + DOCS1->DANAL1 + [ and ANAL2 <> 0 and EAMNT <> 0 ]
| |
| − |
| |
| − | try
| |
| − | _ := CreateTmpFile( fld, '_' , ~IsFreeDel := true )
| |
| − | _2 := CreateTmpFile( fld, '_2', ~IsFreeDel := true )
| |
| − |
| |
| − | SimpleSql( [ Insert into ] + TmpFilePath( _2 ) + [( _2, _3, ;
| |
| − | _5, _6 ) ] + sql, OpdataPath )
| |
| − |
| |
| − | // r08
| |
| − | sql := [ Update _2 ;
| |
| − | Set _9 = Left( PNAME, 50 ), _7 = KODED ;
| |
| − | From ] + TmpFilePath( _2 ) + [ _2 ;
| |
| − | left outer join R08 ON _3 = KOD ;
| |
| − | Where _2 = 'R08 ' ]
| |
| − | SimpleSql( sql, ReflisPath )
| |
| − |
| |
| − | // r11
| |
| − | sql := [ Update _2 ;
| |
| − | Set _9 = Left( PNAME, 50 ), _7 = KODED ;
| |
| − | From ] + TmpFilePath( _2 ) + [ _2 ;
| |
| − | left outer join R11 ON _3 = KOD ;
| |
| − | Where _2 = 'R11 ' ]
| |
| − | SimpleSql( sql, ReflisPath )
| |
| − |
| |
| − | sql := [ Update _2 ;
| |
| − | Set _4 = Round( _6 / _5, 2 ) ;
| |
| − | From ] + TmpFilePath( _2 ) + [ _2 ]
| |
| − | SimpleSql( sql, TempPath )
| |
| − |
| |
| − | // _2 -> _
| |
| − | sql := [ Select TOP 100 PERCENT * ;
| |
| − | From ] + TmpFilePath( _2 ) + [ ;
| |
| − | Order by _4 ]
| |
| − | SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [ ] + sql, OpdataPath )
| |
| − |
| |
| − | // r09
| |
| − | sql := [ Update _ ;
| |
| − | Set _8 = PNAME ;
| |
| − | From ] + TmpFilePath( _ ) + [ _ ;
| |
| − | left outer join R09 ON _7 = KOD ]
| |
| − | SimpleSql( sql, ReflisPath )
| |
| − |
| |
| − | ( _ )->( DbGoTop() )
| |
| − |
| |
| − | ind := CreateIndex( _, '_9', '_9' )
| |
| − | ( _ )->( OrdSetFocus( '_9' ) )
| |
| − |
| |
| − | DescFld := { ;
| |
| − | { { 'FldName', '_3' }, { 'FldTitl', 'Код' }, { 'PreBlk', false } }, ;
| |
| − | { { 'FldName', '_9' }, { 'FldTitl', 'Наименование' }, { 'PreBlk', false } }, ;
| |
| − | { { 'FldName', '_8' }, { 'FldTitl', 'ед.изм.' }, { 'PreBlk', false } }, ;
| |
| − | { { 'FldName', '_5' }, { 'FldTitl', 'Количество' }, { 'PostBlk', prog1 } }, ;
| |
| − | { { 'FldName', '_4' }, { 'FldTitl', 'Цена' }, { 'PreBlk', false } }, ;
| |
| − | { { 'FldName', '_6' }, { 'FldTitl', 'Сумма' }, { 'PreBlk', false } } ;
| |
| − | }
| |
| − |
| |
| − | DescHK := { ;
| |
| − | { ;
| |
| − | { 'KeyName', 'F7' }, ;
| |
| − | { 'TEXT' , 'В накл.' }, ;
| |
| − | { 'BLK', 'CloseForm( GetForm(), false ), SetProperty( "ModalResult", 1, GetForm() )' } ;
| |
| − | }, ;
| |
| − | { { 'KeyName', 'F6' } }, ;
| |
| − | { { 'KeyName', 'F8' } }, ;
| |
| − | { { 'KeyName', 'Enter' }, ;
| |
| − | { 'TEXT' , 'Оборот' }, ;
| |
| − | { 'BLK' , 'gridedit(true)' } ;
| |
| − | } ;
| |
| − | }
| |
| − |
| |
| − | DescTbl := { ;
| |
| − | { 'Title', 'Выберите одну номенклатуру по Alt+F1 ( или измените количество ) и нажмите F7' },;
| |
| − | { 'ResultExpr', 'SelRows()' }, ;
| |
| − | { 'CurLineStr', 'RealName( _2, _3, true )' }, ;
| |
| − | { 'ShowType' , 2 } ;
| |
| − | }
| |
| − |
| |
| − | sr := MyGrid( _, DescTbl, DescFld, DescHK, ~Modal := true )
| |
| − |
| |
| − | if !Empty( sr )
| |
| − | ( _ )->( DbGoTo( sr[1] ) )
| |
| − | ( _ )->_1 := 1
| |
| − |
| |
| − | // KREFL2 - справочник
| |
| − | // KANAL2 - код
| |
| − | // NATTR1 - количество
| |
| − | KREFL2 := ( _ )->_2
| |
| − | KANAL2 := ( _ )->_3
| |
| − | NATTR1 := ( _ )->_5
| |
| − | endif
| |
| − |
| |
| − | finally
| |
| − | DeleteTmpIndex( _, ind )
| |
| − | CloseTable( _ )
| |
| − | CloseTable( _2 )
| |
| − | end
| |
| − |
| |
| − | // _1 - признак выбора
| |
| − | // _2 - справочник
| |
| − | // _3 - код
| |
| − | // _4 - цена
| |
| − | // _5 - количество
| |
| − | // _6 - сумма
| |
| − | // _7 - единица измерения, код
| |
| − | // _8 - единица измерения, наименование
| |
| − | // _9 - наименование
| |
| − |
| |
| − | <_5_PostBlk>
| |
| − |
| |
| − | if NewValue <> OldValue
| |
| − | _6 := Round( val( NewValue ) * _4, 2 )
| |
| − | endif
| |
| − |
| |
| − | SetSelRows( Recno(), true )
| |
| − |
| |
| | = Смотрите также = | | = Смотрите также = |
| | [[Полезные функции]] | | [[Полезные функции]] |
| | | | |
| | [[Функции Delphi]] | | [[Функции Delphi]] |