LASTPRODSHIFT — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м (→Полный текст функции) |
Hisava (обсуждение | вклад) м (→Полный текст функции) |
||
Строка 37: | Строка 37: | ||
sql := [ Select MAX( DSHIFT ) last_shift ; | sql := [ Select MAX( DSHIFT ) last_shift ; | ||
From ] + [[RetDbName]]( 'PAC', [[TimeBack]]( [[StoD]]( shift ), -1 ) ) + ; | From ] + [[RetDbName]]( 'PAC', [[TimeBack]]( [[StoD]]( shift ), -1 ) ) + ; | ||
− | Ret_f_ext( TimeBack( StoD( shift ), -1 ) ) + [ ; | + | [[Ret_f_ext]]( [[TimeBack]]( [[StoD]]( shift ), -1 ) ) + [ ; |
Where KINDDOC = 'PAC' and LVLNUM = '1' and DANAL1 = ] + prod | Where KINDDOC = 'PAC' and LVLNUM = '1' and DANAL1 = ] + prod | ||
− | aa := SelectSqlToArr( sql, { 'last_shift' }, OpdataPath, false ) | + | aa := [[SelectSqlToArr]]( sql, { 'last_shift' }, OpdataPath, false ) |
− | if !Empty( aa ) | + | if ![[Empty]]( aa ) |
− | if !Empty( aa[1,1] ) | + | if ![[Empty]]( aa[1,1] ) |
result := aa[1,1] | result := aa[1,1] | ||
return | return |
Версия 15:50, 7 декабря 2016
LastProdShift - это функция из справочника R266
LASTPRODSHIFT( prod, shift )
Поиск предыдущей смены производства
( возвращает дату предыдущей смены в виде ггггддммс )
prod - код аналитики производства
shift - текущая смена
Полный текст функции
Parameters prod, shift local sql, aa result := "" // --- ТЕКУЩИЙ МЕСЯЦ --- sql := [ Select MAX( DSHIFT ) last_shift ; From ] + RetDbName( 'PAC', StoD( shift ) ) + Ret_f_ext( StoD( shift ) ) + [ ; Where KINDDOC = 'PAC' and LVLNUM = '1' and DANAL1 = ] + prod + [ and ; DSHIFT < '] + shift + [' ] aa := SelectSqlToArr( sql, { 'last_shift' }, OpdataPath, false ) if !Empty( aa ) if !Empty( aa[1,1] ) result := aa[1,1] return endif endif // *** ТЕКУЩИЙ МЕСЯЦ *** // --- ПРОШЛЫЙ МЕСЯЦ --- if Empty( result ) sql := [ Select MAX( DSHIFT ) last_shift ; From ] + RetDbName( 'PAC', TimeBack( StoD( shift ), -1 ) ) + ; Ret_f_ext( TimeBack( StoD( shift ), -1 ) ) + [ ; Where KINDDOC = 'PAC' and LVLNUM = '1' and DANAL1 = ] + prod aa := SelectSqlToArr( sql, { 'last_shift' }, OpdataPath, false ) if !Empty( aa ) if !Empty( aa[1,1] ) result := aa[1,1] return endif endif endif // *** ПРОШЛЫЙ МЕСЯЦ ***