Пересчет суммы в детали раздела

Здравствуйте!

Возник следующий вопрос. В разделе Счета есть действие "пересчитать сумму", аналогичным образом в разделе Документы также было реализованно действие пересчета суммы. Однако нужно, чтобы сумма пересчитывалась при добавлении\изменении продукта в детали разделов. Но деталь Продукты реализованна один раз для обоих разделов. Т.е. при написании функции пересчета, надо учитывать в каком разделе мы находимся. Подскажите, как это можно определить.

Спасибо.

Нравится

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

Здравствуйте Александра,
На сколько я понял, Вы пишете собственную логику пересчета суммы, для того что бы понять в каком разделе вы находитесь в окне wnd_OfferingsDetailTreeArea можете воспользоваться

Window.ParentWindow.ParentContainer.ParentWindow.Caption

Пример:

function wnd_OfferingsDetailTreeAreaOnPrepare(Window) {
MessageBox(Window.ParentWindow.ParentContainer.ParentWindow.Caption);
	ProcessPrepare(Window);
	UpdateColumns(Window);
}

Но если посмотреть с другой стороны, код действия amiRecalcAmountOnExecute:
1

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
{
...
}
Показать все комментарии