Здравствуйте!
Возник следующий вопрос. В разделе Счета есть действие "пересчитать сумму", аналогичным образом в разделе Документы также было реализованно действие пересчета суммы. Однако нужно, чтобы сумма пересчитывалась при добавлении\изменении продукта в детали разделов. Но деталь Продукты реализованна один раз для обоих разделов. Т.е. при написании функции пересчета, надо учитывать в каком разделе мы находимся. Подскажите, как это можно определить.
Спасибо.
Нравится
Здравствуйте Александра,
На сколько я понял, Вы пишете собственную логику пересчета суммы, для того что бы понять в каком разделе вы находитесь в окне wnd_OfferingsDetailTreeArea можете воспользоваться
Window.ParentWindow.ParentContainer.ParentWindow.Caption
Пример:
function wnd_OfferingsDetailTreeAreaOnPrepare(Window) { MessageBox(Window.ParentWindow.ParentContainer.ParentWindow.Caption); ProcessPrepare(Window); UpdateColumns(Window); }
Но если посмотреть с другой стороны, код действия amiRecalcAmountOnExecute:
function amiRecalcAmountOnExecute(ActionMenuItem) { var Dataset = BaseWorkspace.GridDataset; if (IsDatasetEmpty(Dataset)) { return; } if (InvoiceWorkspace.IsRecalcAmount) { return; } Dataset.DisableEvents(); InvoiceWorkspace.IsRecalcAmount = true; ...
строчка
var Dataset = BaseWorkspace.GridDataset;
получает датасет главного грида раздела, проверьте тут же какой датасет используется и в зависимости от этого меняйте логику
if (ExtractUSICodeEx(Dataset.USI)=='ds_Invoice') { ... } else { ... }