Показать сообщение отдельно
Старый 29.06.2005, 15:29   #1  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Цена на дату создания заказа/закупки
Забавно... ВЕСЬ функционал для этого есть. Не хватает только самой малости - непосредственно даты заказа / закупки (не создания, а именно даты, которую можно менять и которая, в общем случае, равна дате заказа/закупки).
Зачем? Да просто на эту дату можно производить поиск ценовых соглашений, и подтягивать цену не сегодняшнюю (как в функционале), а на старую дату - дату создания заказа.

Модификация чрезвычайно простая, думаю, многим пригодиться. Просто пару строк подправить.

С Уважением,
Георгий.


Кстати, вот и модификация, сразу уж.
класс PriceDisc метод newFromSalesPurchLine
PHP код:
static PriceDisc newFromSalesPurchLineSalesPurchLine  _salesPurchLine,
                                        
InventDim       _inventDim      _salesPurchLine.inventDim(),
                                        
//SalesPriceDate_GNRD -->
                                        
TransDate       _salesPurchdate systemDateGet())
                                        
//SalesPriceDate_GNRD <--
{
    return new 
PriceDisc(_salesPurchLine.moduleType(),
                         
_salesPurchLine.itemId,
                         
_inventDim,
                         
_salesPurchLine.purchSalesUnit,
                         
_salesPurchDate//systemDateGet <-- SalesPriceDate_GNRD
                         
_salesPurchLine.salesPurchQty,
                         
_salesPurchLine.orderAccount(),
                         
_salesPurchLine.currencyCode);

Мап SalesPurchLine метод setPriceAgreement
PHP код:
server void  setPriceAgreement(InventDim _inventDim,
//SalesPriceDate_GNRD -->
TransDate _salesPurchDate systemDateGet()
//SalesPriceDate_GNRD <--
)
{
    
PriceDisc   priceDisc;
    ;
    
priceDisc PriceDisc::newFromSalesPurchLine(this_inventDim_salesPurchDate);
    .........

Теперь осталось подкорректировать только поиск ценовых соглашений. В заказе, например, это происходит в методе setPriceAgreement таблицы SalesLine
PHP код:
client server void  setPriceAgreement(InventDim _inventDim)
{
    
this.SalesPurchLine::setPriceAgreement(_inventDim
//SalesPriceDate_GNRD -->
this.salesTable().SalesDate_FLX //SalesDate - это наша "прикрученная" дата заказа
//SalesPriceDate_GNRD <--
);

Удачи всем!

С Уважением,
Георгий