R473PRICE WO SUPPL — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м |
Hisava (обсуждение | вклад) м |
||
Строка 2: | Строка 2: | ||
R473PRICE_WO_SUPPL(<r08_kod>, <need_date>, <prc_fld='OTP_PRICE'>) | R473PRICE_WO_SUPPL(<r08_kod>, <need_date>, <prc_fld='OTP_PRICE'>) | ||
+ | |||
+ | = Текст программы = | ||
+ | |||
+ | //Возвращает цену по заданной номенклатуре на заданную дату - поставщик/договор/прайс не существенны. | ||
+ | Parameters r08_kod, need_date, prc_fld:='OTP_PRICE' | ||
+ | Local prc_arr:={'OTP_PRICE','PRICE1','PRICE2','PRICE3'}, num:=0, tmp_arr, ss | ||
+ | if !Empty(prc_fld); num:=AScan(prc_arr,prc_fld); /*num:=max(num,1);*/ endif | ||
+ | if num!=0; prc_arr:={prc_arr[num]}; endif | ||
+ | ss:=ArrAsString(prc_arr) | ||
+ | result:=ArrCreate(len(prc_arr),0) | ||
+ | |||
+ | tmp_arr:=selectSQLToArr('select R473.VAR_DATE, R473.KOD, '+ss+' from R473, (select MAX(VAR_DATE) VAR_DATE, KOD from '+; | ||
+ | '(select VAR_DATE, KOD, '+ss+" from R473 where VAR_DATE<='"+SQLDate(need_date)+"') SS group by KOD) DD "+; | ||
+ | 'where R473.KOD='+r08_kod+' and R473.VAR_DATE=DD.VAR_DATE and R473.KOD=DD.KOD', prc_arr, ReflisPath) | ||
+ | if len(tmp_arr)!=0 | ||
+ | if len(prc_arr)=1; result:=tmp_arr[1,1]; else; result:=tmp_arr[1]; endif | ||
+ | elseif len(prc_arr)=1; result:=0 | ||
+ | endif |
Версия 12:58, 13 июля 2016
Возвращает цену по заданной номенклатуре на заданную дату из справочника R473
R473PRICE_WO_SUPPL(<r08_kod>, <need_date>, <prc_fld='OTP_PRICE'>)
Текст программы
//Возвращает цену по заданной номенклатуре на заданную дату - поставщик/договор/прайс не существенны.
Parameters r08_kod, need_date, prc_fld:='OTP_PRICE' Local prc_arr:={'OTP_PRICE','PRICE1','PRICE2','PRICE3'}, num:=0, tmp_arr, ss if !Empty(prc_fld); num:=AScan(prc_arr,prc_fld); /*num:=max(num,1);*/ endif if num!=0; prc_arr:={prc_arr[num]}; endif ss:=ArrAsString(prc_arr) result:=ArrCreate(len(prc_arr),0) tmp_arr:=selectSQLToArr('select R473.VAR_DATE, R473.KOD, '+ss+' from R473, (select MAX(VAR_DATE) VAR_DATE, KOD from '+; '(select VAR_DATE, KOD, '+ss+" from R473 where VAR_DATE<='"+SQLDate(need_date)+"') SS group by KOD) DD "+; 'where R473.KOD='+r08_kod+' and R473.VAR_DATE=DD.VAR_DATE and R473.KOD=DD.KOD', prc_arr, ReflisPath) if len(tmp_arr)!=0 if len(prc_arr)=1; result:=tmp_arr[1,1]; else; result:=tmp_arr[1]; endif elseif len(prc_arr)=1; result:=0 endif