В Sales в разделе Заказы есть подбор продуктов. Стандартная логика позволяет в карточке контрагента в поле прайс-лист выбрать прайс-лист и тогда, при подборе товаров в заказ будет видна цена согласно этого прайс-листа. Система как-то пробрасывает его туда. Я бы хотел подменить эту логику на передачу туда прайс-листа из карточки самого заказа (я поле создал справочное). Где искать? Какой метод подменить или использовать?
Прайс-лист из таблицы контрагента используется в С#-схеме AccountPriceListPicker (там обычный Select), её вызывает тоже С#-схема веб-сервиса PriceListService:
/// <summary>/// Get Price List using account. Took from account, if there is no Price List,/// then took it from partnership/// </summary>/// <param name="accountId">Account identifier.</param>/// <returns>PriceList identifier</returns>[OperationContract][WebInvoke(Method ="POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json)]public Guid GetPriceList(Guid accountId){
var priceListPicker = ClassFactory.Get<IPriceListPicker>(new ConstructorArgument("userConnection",
UserConnection));
var preSetPriceList = priceListPicker.GetPriceList(accountId);return preSetPriceList !=default(Guid)? preSetPriceList
: priceListPicker.GetPriceList(UserConnection.CurrentUser.AccountId);}
А уже к нему обращаются из JS в странице заказа BaseOrderPage пакета Order:
Прайс-лист из таблицы контрагента используется в С#-схеме AccountPriceListPicker (там обычный Select), её вызывает тоже С#-схема веб-сервиса PriceListService:
/// <summary>/// Get Price List using account. Took from account, if there is no Price List,/// then took it from partnership/// </summary>/// <param name="accountId">Account identifier.</param>/// <returns>PriceList identifier</returns>[OperationContract][WebInvoke(Method ="POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json)]public Guid GetPriceList(Guid accountId){
var priceListPicker = ClassFactory.Get<IPriceListPicker>(new ConstructorArgument("userConnection",
UserConnection));
var preSetPriceList = priceListPicker.GetPriceList(accountId);return preSetPriceList !=default(Guid)? preSetPriceList
: priceListPicker.GetPriceList(UserConnection.CurrentUser.AccountId);}
А уже к нему обращаются из JS в странице заказа BaseOrderPage пакета Order: