|
|
(не показаны 3 промежуточные версии этого же участника) |
Строка 1: |
Строка 1: |
− | EHC_020315 - это программа из справочника [[R266]] | + | [[EHC_020315]] - это программа из справочника [[R266]] |
− | | + | Выполнение производственного заказа |
− | Выполнение производственного заказа | + | [[EHC_020315]]( my, _, pr ) |
− | | + | |
− | EHC_020315( my, _, pr ) | + | |
| | | |
| my - дата | | my - дата |
Строка 10: |
Строка 8: |
| | | |
| pr - код производства из справочника [[R10]] | | pr - код производства из справочника [[R10]] |
| + | = Смотрите также = |
| + | [[Полезные функции]] |
| | | |
− | = Текст программы =
| + | [[Функции Delphi]] |
− | | + | |
− | parameters my, _, pr, _2
| + | |
− |
| + | |
− | local sql, aa
| + | |
− |
| + | |
− | sql := [ Delete From ] + TmpFilePath( _2 )
| + | |
− | SimpleSql( sql, TempPath )
| + | |
− |
| + | |
− | // выработка ( упаковка, нарезка )
| + | |
− | sql := [ Select pac4.RGNUM, pac4.DANAL2, pac4.AMNT, pac5.KANAL2, pac5.NATTR8, pac4.DSHIFT, pac4.DATDOC ;
| + | |
− | From DOCP] + Ret_f_ext( my ) + [ pac4 ;
| + | |
− | left outer join DOCP] + Ret_f_ext( my ) + [ pac5 ON pac4.RGNUM = pac5.PARENT ;
| + | |
− | Where pac4.KINDDOC = 'PAC' and pac4.LVLNUM = '4' and pac5.KINDDOC = 'PAC' and pac5.LVLNUM = '5' and ;
| + | |
− | pac4.DREFL1 = 'R10 ' and pac4.DANAL1 in ( ] + ArrAsString( pr ) + [ ) and pac4.DREFL2 = 'R11 ' and pac4.AMNT <> 0 and ;
| + | |
− | pac5.KREFL2 = 'R11 ' and pac4.DATDOC = '] + SqlDate( my ) + [' ]
| + | |
− | SimpleSql( [ Insert into ] + TmpFilePath( _2 ) + [( _0, _1, _2, _3, _4, _5, _6 ) ] + sql, OpdataPath )
| + | |
− |
| + | |
− | // в массиве aa собираются регистрационные номера изделий, которые не сделаны из сырья ( а сделаны из других изделий )
| + | |
− | sql := [ Select _0 From ] + TmpFilePath( _2 )
| + | |
− | aa := SelectSqlToArr( sql, { '_0' } )
| + | |
− | if !IsEmpty( aa )
| + | |
− | aa := PrepareArr( aa, 1 )
| + | |
− | endif
| + | |
− |
| + | |
− | sql := [ Delete From ] + TmpFilePath( _2 )
| + | |
− | SimpleSql( sql, TempPath )
| + | |
− |
| + | |
− | // выработка ( лысые, голые, неупакованные изделия )
| + | |
− | sql := [ Select RGNUM, DANAL2, AMNT, DSHIFT, DATDOC ;
| + | |
− | From DOCP] + Ret_f_ext( my ) + [ ;
| + | |
− | Where KINDDOC = 'PAC' and LVLNUM = '4' and DREFL1 = 'R10 ' and DANAL1 in ( ] + ArrAsString( pr ) + [ ) and ;
| + | |
− | DREFL2 = 'R11 ' and AMNT <> 0 and DATDOC = '] + SqlDate( my ) + [' and RGNUM not in ( ] + ArrAsString2( aa ) + [ ) ]
| + | |
− | SimpleSql( [ Insert into ] + TmpFilePath( _2 ) + [( _0, _1, _2, _5, _6 ) ] + sql, OpdataPath )
| + | |
− |
| + | |
− | // pac9.DANAL2, pac9.AMNT,
| + | |
− | // изделия, которые производятся из других изделий
| + | |
− | sql := [ Select pac9.RGNUM, paca.KANAL2, paca.NATTR8, pac9.DSHIFT, pac9.DATDOC From DOCP] + Ret_f_ext( my ) + [ pac9 ;
| + | |
− | left outer join DOCP] + Ret_f_ext( my ) + [ paca ON pac9.RGNUM = paca.PARENT ;
| + | |
− | Where pac9.KINDDOC = 'PAC' and pac9.LVLNUM = '9' and paca.KINDDOC = 'PAC' and paca.LVLNUM = 'A' and ;
| + | |
− | pac9.DREFL1 = 'R10 ' and pac9.DANAL1 in ( ] + ArrAsString( pr ) + [ ) and pac9.DREFL2 = 'R11 ' and pac9.AMNT <> 0 and ;
| + | |
− | paca.KREFL2 = 'R11 ' and pac9.DATDOC = '] + SqlDate( my ) + [' ]
| + | |
− | SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _0, _3, _4, _5, _6 ) ] + sql, OpdataPath )
| + | |
− |
| + | |
− | // _6 - DATDOC
| + | |
− |
| + | |
− | sql := [ Select _0 From ] + TmpFilePath( _ ) + [ Where _6 = '] + SqlDate( my ) + [' ]
| + | |
− | aa := SelectSqlToArr( sql, { '_0' } )
| + | |
− | if !IsEmpty( aa )
| + | |
− | aa := PrepareArr( aa, 1 )
| + | |
− | endif
| + | |
− |
| + | |
− | if Empty( aa )
| + | |
− | // изделия, которые не производятся из других изделий
| + | |
− | sql := [ Select RGNUM, DANAL2, AMNT, DSHIFT, DATDOC From DOCP] + Ret_f_ext( my ) + [ ;
| + | |
− | Where KINDDOC = 'PAC' and LVLNUM = '9' and DREFL1 = 'R10 ' and DANAL1 in ( ] + ArrAsString( pr ) + [ ) and ;
| + | |
− | DREFL2 = 'R11 ' and AMNT <> 0 and DATDOC = '] + SqlDate( my ) + [' ]
| + | |
− | SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _0, _3, _4, _5, _6 ) ] + sql, OpdataPath )
| + | |
− | else
| + | |
− | // изделия, которые не производятся из других изделий
| + | |
− | sql := [ Select RGNUM, DANAL2, AMNT, DSHIFT, DATDOC From DOCP] + Ret_f_ext( my ) + [ ;
| + | |
− | Where KINDDOC = 'PAC' and LVLNUM = '9' and DREFL1 = 'R10 ' and DANAL1 in ( ] + ArrAsString( pr ) + [ ) and ;
| + | |
− | DREFL2 = 'R11 ' and AMNT <> 0 and DATDOC = '] + SqlDate( my ) + [' and RGNUM not in ( ] + ArrAsString2( aa ) + [ ) ]
| + | |
− | SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _0, _3, _4, _5, _6 ) ] + sql, OpdataPath )
| + | |
− | endif
| + | |
− |
| + | |
− | // _2 -> _
| + | |
− | sql := [ Select _1, _2, _5, _6 From ] + TmpFilePath( _2 )
| + | |
− | SimpleSql( [ Insert into ] + TmpFilePath( _ ) + [( _3, _2, _5, _6 ) ] + sql, OpdataPath )
| + | |
− |
| + | |
− | // заказ
| + | |
− | // _0 - RGNUM
| + | |
− | // _1 - код изделия
| + | |
− | // _2 - количество
| + | |
− | // _3 - код изделия - сырья
| + | |
− | // _4 - количество
| + | |
− | // _5 - dshift
| + | |
− | // _6 - datdoc
| + | |