Отрабатывание события SelfOnDatasetDataChange

Добрый день.
Столкнулся со следующей проблемой:
На карточку редактирования Продукт в продаже было добавлено поле "Наценка".
При изменении значения наценки, я программно изменяю на соответствующую величину поле "цена".
логика обработки изменения значений полей находится в скрипте scr_OfferingUtils в ф-ии function DataChange(DataField, ScriptObject) именно туда я и добавил необходимые изменения:

        case ('Margin'):
                Dataset.VALUES('Price') =  новое значение
       
        break;

После этого я расситывал на то, что из-за изменения значения поля 'Price' вызовется соответствующая логика,заложенная в стандартном функционале на изменение цены, и также пересчитаются связанные с ним поля, но этого не происходит:
	 /system/files/1_88.jpg
Увеличилась только сама цена, общая сумма и суммы в валюте не пересчитались.
Подскажите пожалуйста, как это исправить?

Нравится

1 комментарий

Решение нашлось. Свою логику мне нужно было реализовать не в скипте датасета, а на событии

function dlDataOnDatasetDataChange(DataField) {
	DatasetDataChange(DataField); // внутри этой ф-ии логика
	if (DataField.Name == 'Quantity' || DataField.Name == 'UnitID') {
		UpdateOfferingQuantitySmartTagMenu(edtQuantity, 
			dlData.Dataset('Quantity'));
	}
 
}
Показать все комментарии