Подскажите, пожалуйста, есть ли на этот счет какая-то функция?

Код: Выделить всё
1.Store_Run(DateBeg // на дату
, comp( 0)
, comp( 0)
, comp( 0)
, comp( 0)
, if( (typdetal and 1)=1,true,false) //разрез по складам
, if( (typdetal and 2)=2,true,false) //по мол
, if( (typdetal and 4)=4,true,false) //по партиям
);
2.UksStore_Run(...) // тут тоже самое, только + в разрезе ЦУ
Надо буквально следующее:Сергей Золотухин писал(а):Что конкретно надо?
Код: Выделить всё
StepMCinfo (cMC:comp, cVal:comp, cPodr:comp, cMol:comp, cParty:comp): comp;
, где
cMC - ссылка на МЦ
cVal - ссылка на валюту, в которой должна рассчитаться средняя цена в валюте
cPodr - ссылка на подразделение/склад
cMOL - ссылка на МОЛ. Чтобы рассчитать по всем МОЛ, надо передать 0.
Чтобы рассчитать только по позициям с неуказанным МОЛ, надо передать "-1"
cParty - ссылка на партию. Чтобы рассчитать по всем партиям, надо передать 0.
Чтобы рассчитать только по позициям с неуказанной партией, надо передать "-1"
Примечания:
* Сама функция StepMCinfo возвращает код валюты, в которой произведен расчет валютной средней цены (значение которой можно получить при помощи AverageVPrice). Если cVal передан отличным от 0, то он и возвращается, если же в качестве cVal передан 0, функция вернет базовую валюту.
* Если методика списания "по предприятию в целом", параметры cPodr, cMOL, cParty будут функцией проигнорированы
* Если методика списания "по подразделению", параметры cMOL, cParty будут проигнорированы
Код: Выделить всё
// РАСЧЕТ ЦЕНЫ СПИСАНИЯ
//
// инициализация объекта расчета цены списания
InitMCInfo(dForm: date); // дата расчета цены списания
// установка расчета для логистики или для производства
SkladProizv(SkPr: word); // 0 - расчет в логистике, 1 - в производстве
// расчет цены списания, возвращает NRec валюты цены списания в валюте
cVal_ := StepMCInfo( cMC_ // NRec МЦ
, 0 // NRec валюты, если 0, то в базовой
, cPodr_ // NRec подразделения
, if(cMol_ = 0, comp(-1), cMol_) // NRec МОЛ, если нужно явно только по неуказанному, то передаем -1
, if(cParty_ = 0, comp(-1), cParty_) // NRec партии, если нужно явно только по неуказанной, то передаем -1
);
// после отработки StepMCinfo можно получить цену списания (для учетной единицы измерения):
cenaSpis := AveragePrice; // цена списания в НДЕ
cenaSpisV := AverageVPrice; // цена списания в валюте cVal_
// вызов деструктора
DoneMCInfo;