добавил в стандартный отчет - Счет с НДС(Россия) сумму прописью при помощи вычилсяемого поля.
Ниже привожу оброботчик вычисляемого поля (обработчик брал с форума)
function ds_ReportOfferingsInInvoiceOnDatasetCalcFields(Dataset) {
//amount to string
var DatasetObject = new Object;
Dataset.DisableEvents();
if (!DatasetObject.IsCalculated) {
var SumDataset = Dataset.SelectQuery.Open();
SumDataset.GotoFirst();
var Sum = 0;
var SumTax = 0;
while (!SumDataset.IsEOF) {
Sum = Sum + SumDataset('BasicAmount');
SumTax = SumTax + SumDataset('BasicTaxAmount')
SumDataset.GotoNext();
}
var StringSum = Sum.toString()
var StringSumTax = SumTax.toString()
DatasetObject.IsCalculated = true;
var Result = AmountToStr(StringSum, 'ru', 'RUR');
var ResultTax = AmountToStr(StringSumTax, 'ru', 'RUR');
Dataset.Values('TotalStr') = Result;
Dataset.Values('TotalStrTax') = ResultTax;
}
Dataset.EnableEvents();
}
все считается правильно, переводится в слова корректно.
У меня проблема вывод полученной строки (суммы прописью) в отчете. Вывожу ее при помощи стандартного Memo.
Напомню, что в отчете два датасета - ds_ReportInvoiceWithNDSForRussia (master) и ds_ReportOfferingInInvoice (detail). Вычисляемое поля для суммы прописью высчитывается в ds_ReportOfferingInInvoice.
Если кладу мемо не на бенд (просто на старницу), или на бенд master-a (или его child), то все работает.
Но если кладу мемо на бенды завязанные на detail или на ReportSummary или на PageFooter, то появляется ошибка Источник данных '%s' не открыт.
1. Как обойти эту ошибку?
2. Глобально задача, отображить это поле где-то под detail (списком товаров) на каком-нибудь бенде.