Забавно... ВЕСЬ функционал для этого есть. Не хватает только самой малости - непосредственно даты заказа / закупки (не создания, а именно даты, которую можно менять и которая, в общем случае, равна дате заказа/закупки).
Зачем? Да просто на эту дату можно производить поиск ценовых соглашений, и подтягивать цену не сегодняшнюю (как в функционале), а на старую дату - дату создания заказа.
Модификация чрезвычайно простая, думаю, многим пригодиться. Просто пару строк подправить.
С Уважением,
Георгий.
Кстати, вот и модификация, сразу уж.
класс PriceDisc метод newFromSalesPurchLine
	PHP код:
	
		
			
static PriceDisc newFromSalesPurchLine( SalesPurchLine  _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 <--
);
} 
		
	
 Удачи всем!
С Уважением,
Георгий