Прикладной код

Функция «ДанныеПоДокументам»

Функция «ДанныеПоДокументам»

Получает в печатную форму данные из одного или нескольких связанных документов.

Внимание!

В одной печатной форме функцию можно вызывать максимум для 10 документов.

Синтаксис

ДанныеПоДокументам(Реестр, Регламент, Документ, Свойства);

Параметры

НазваниеТипОписаниеОбязательно к указанию

Реестр

Строка

Имя реестра, в котором расположен документ (тип документа)

Да

Регламент

Строка

Идентификатор регламента документа

Да

Документ

Массив

Массив идентификаторов документа

Да

Свойства

Массив

Массив свойств, которые нужно получить

Да

Возвращаемое значение

Объект массивов данных из перечисленных документов.

Пример

// Вывести связанные со счетом наряды.
var 
   array = Связанные_документы, // массив связанных документов
   dpd = {}, // объект для данных по документам
   tip_doc = '', // переменная для типа документа
   id_regl = '', // переменная для идентификатора регламента
   arr_doc = [], // массив для идентификаторов документов
   result = ''; // результирующая переменная
   
array = array.filter(cur => cur['Связанные документы.Тип документа'].indexOf('Наряд') > -1);
/*
   фильтрация массива по типу документа
*/

array.forEach(function(item) {
   arr_doc.push(item['Связанные документы.Идентификатор документа']);
}); // массив с идентификаторами отобранных нарядов

tip_doc = array[0]['Связанные документы.Тип документа'];
/* 
   тип один и тот же для всего массива, поэтому берется из нулевого элемента
*/

id_regl = array[0]['Связанные документы.Идентификатор регламента'];
/*
   регламент один и тот же для всего массива, поэтому берется из нулевого элемента
*/

dpd = ДанныеПоДокументам(tip_doc, id_regl, arr_doc, ['Документ.Номер', 'Документ.Дата создания', 'Документ.Сумма']);

for (varj = 0; j < dpd.length; j++) {
   result += 'НарядNo' + dpd[j]['Документ.Номер'] + ' от'
      + ФорматДата(dpd[j]['Документ.Датасоздания']) + ' насумму' + ФорматДеньги(dpd[j]['Документ.Сумма']) + '; ';
}

return result; // Наряд №8 от 24.10.2019 на сумму 3000 руб.; Наряд №4 от 22.10.2019 на сумму 20000 руб.;