![]() |
#14 |
Участник
|
Цитата:
Сообщение от S.Kuskov
![]() Вместо прямого вызова priceDisc.findPriceAgreement() используйте priceDisc.findPrice()
Пример использования \Data Dictionary\Maps\SalesPurchLine\Methods\setPriceAgreement Именно этот метод используется для поиска цены при создании строки заказа через стандартный функционал. Обратите внимание, что в стандартном функционале в случае отсутствия необходимой позиции в прайсе, будет возвращена цена, указанная на справочнике номенклатуры. За это отвечает второй параметр метода findPrice. Второй параметр я думаю смысла нет использовать, все-таки тарифы в прайсе есть для каждой номенклатуры (вернее. SalesLine может быть построен в любом случае), хоть они могут быть и неправильные. Но надо разобраться с этим отдельно... Тут еще такая вещь интересная: для номенклатур, цены продажи у которых общие и не зависят ни от клиента, ни от конфигурации вместо числового значения в PriceDiscTable.inventDimId стоит "Axapta", а не что-то вроде "000014_031"... соответственно, в таблице inventDim для "Axapta" строк нет... Почему ставится "Axapta"? К тому же, если для такой номенклатуры выполнить X++: priceDisc.findPriceAgreement(SalesLine2.priceGroupId(), 'Axapta'); |
|