Мультипликатор

Оглавление

Мультипликатор — элемент схемы, который позволяет пользователю создавать неограниченное количество повторяющихся блоков текста, строк таблицы или наборов переменных.

Например, в договоре может быть перечень услуг, точное количество которых не определено заранее. В этом случае на помощь приходит мультипликатор: с его помощью пользователь может продублировать блок текста вместе с разметкой нужное число раз прямо в анкете.

«Реплика» мультипликатора — это один экземпляр размеченного блока: копия текста, строки таблицы или набора переменных, которую пользователь добавляет в анкете кнопкой «+». Настройки элементов схемы, вложенных в мультипликатор (переменных, вопросов, условий), дублируются в каждой реплике — они одинаковы для всех повторов, различаются только значения, которые пользователь вводит в конкретной реплике.


    Создание мультипликатора

    Мультипликатор можно создать в корне схемы: нажмите «+» на панели инструментов схемы и выберите «Мультипликатор». После создания вложите в мультипликатор элементы схемы, которые должны дублироваться в каждой реплике, — текст, переменные, вопросы или условия. Подробнее о том, как их разместить и привязать, — в разделах «Привязка текста к мультипликатору» и «Элементы внутри мультипликатора» ниже.

    Открыть в новом окне

    Создание мультипликатора в схеме

    Привязка текста к мультипликатору

    Принцип привязки текста, переменных и строк таблиц к мультипликатору такой же, как и для других элементов схемы: выделите текст, переменные или строку таблицы, которые должны дублироваться, нажмите значок «молния» (или выберите в контекстном меню «Привязать к схеме»), затем дважды кликните на мультипликаторе. Внутри зоны привязки могут быть и другие элементы схемы — переменные, вопросы или условия. Привязка к мультипликатору отображается на рабочей странице сиреневой заливкой.

                                                             

    Например, так выглядит привязка текста «Самовывоз осуществляется по следующим адресам: [№ Склада]: [Адрес]», если каждый новый экземпляр мультипликатора должен начинаться с новой строки — вместе с текстом в привязку захвачен и символ переноса строки (¶) после него:

                                                                                                                                          

    Мультиплицирование текста с выделением символа переноса строки — каждая реплика с новой строки

    ⚠️ Чтобы каждая реплика мультипликатора начиналась с новой строки, перед привязкой включите отображение непечатаемых знаков (¶) в области создания документа и захватите в выделение символ переноса строки вместе с текстом. Если этого не сделать, все реплики мультипликатора будут идти подряд в одной строке, без переноса.

                                                                        

    Мультиплицирование текста без выделения символа переноса строки — реплики идут подряд, без переноса

    Мультиплицирование текста с переменными выполняется по тем же правилам. Для строк таблицы привяжите мультипликатор ко всей строке целиком (см. «Элементы внутри мультипликатора» ниже); чтобы повторять текст или переменную внутри одной ячейки, привяжите мультипликатор к соответствующему фрагменту ячейки.

    Настройки мультипликатора

    Открыть настройки мультипликатора можно двойным кликом по нему на вкладке «Схема». Доступны следующие настройки:

                                                                     

    Настройки мультипликатора.

    ①  Позиция элемента в схеме — кнопки-стрелки «вверх/вниз» переключают между предыдущим и следующим элементом схемы.

    ②  Название мультипликатора — поле для переименования мультипликатора.

    ③  Идентификатор (ID) — уникальный код переменной для использования в формулах и интеграциях. Автоматически не присваивается переменной, необходимо указывать вручную, если данную переменную необходимо будет использовать в формулах / условиях.

    ⚠️ В идентификаторе переменной недопустим пробел между «ID» и номером: «ID40» — верно, «ID 40» — неверно.

    ④ Тип мультипликатора — по умолчанию указан тип «Мультипликатор».

    ⑤  Подсказка — текст, поясняющий мультипликатор, который отображается при наведении на значок подсказки рядом с мультипликатором.

    ⑥  Комментарий — дополнительные сведения, необходимые пользователю для корректного заполнения мультипликатора.

    ⑦  Значение — способ заполнения мультипликатора:

    • «Заполняется пользователем» — пользователь сам добавляет реплики мультипликатора (вариант по умолчанию);
    • «Вычисляется по формуле» — открывает поле «Формула»: количество и значения реплик рассчитываются автоматически, поле недоступно для редактирования;
    • «Заполняется из Базы данных» — значение подставляется из подключённых справочников;
    • «Не редактируется».

    ⑧  Загрузка из файла — чекбокс включает в анкете проекта документа возможность заполнить мультипликатор данными из Excel-файла или с помощью AI — подробнее в разделе «Заполнение мультипликатора данными».

    ⑨  Условие видимости — формула, определяющая, когда мультипликатор виден и доступен для заполнения. Если условие не выполняется, мультипликатор не отображается ни в анкете, ни в тексте проекта документа.

    ⑩  Никогда не показывать в анкете — скрывает мультипликатор из анкеты независимо от условия видимости.

    ⑪  Переключение между экземплярами — отдельных настроек у экземпляров мультипликатора нет, но стрелками можно переключаться между ними в тексте проекта документа.

    Элементы внутри мультипликатора

    Внутри мультипликатора могут находиться другие элементы схемы, которые также будут дублироваться при создании реплик (копий) мультипликатора. Чтобы разметить всё правильно, соблюдайте следующие правила:

    1. Мультиплицируемые (подчинённые) элементы должны находиться под мультипликатором в схеме. Переместить элементы можно стрелками «вверх/вниз».

    2. Скобки подчинённых элементов должны находиться внутри мультипликатора и не должны пересекать его границы.
    1. Если мультиплицируется абзац с форматом нумерованного списка, нумерация продолжается от реплики к реплике.
    2. Чтобы добавить в мультипликатор строку таблицы, выделите её целиком.

    Warning Привязать к мультипликатору можно только строку целиком — привязка отдельных ячеек или части ячеек строки не поддерживается. Если в одной из ячеек стоит номер (например, «1.»), после него обязательно должен быть пробел: без пробела Doczilla считает такую ячейку пустой, а привязка пустой ячейки к мультипликатору не допускается и может сломать шаблон.

    Мультипликатор внутри мультипликатора

    Пользователи могут создавать вложенные мультипликаторы — для этого достаточно поместить один мультипликатор под другой в схеме шаблона.

    Совет. Используйте вложенные мультипликаторы только для интеграционных решений: при заполнении данных через вкладку «Анкета», а не через интеграцию, с вложенным мультипликатором проще столкнуться с ошибками.

                                                                                      

    Вложенный мультипликатор — один мультипликатор внутри другого в схеме.

    При работе со вложенным мультипликатором доступны все те же методы и функции, что и для обычного, — подробнее в статье «Операторы, методы и функции», раздел «Методы и функции для работы с мультипликатором».

    Заполнение мультипликатора данными

    Табличный мультипликатор можно не заполнять вручную построчно, а загрузить данные автоматически — двумя способами: из файла Excel или с помощью AI. Оба способа запускаются из одного диалогового окна.

    1. Создайте табличный мультипликатор с нужным количеством переменных: их количество должно быть равно количеству столбцов будущей таблицы. Перейдите в настройки мультипликатора и включите чекбокс «Загрузка из файла».

                                                                                                 

    Чекбокс «Загрузка из файла» в настройках мультипликатора.

    1. Перейдите во вкладку «Анкета» и нажмите на значок автозаполнения в верхней части мультипликатора — откроется диалоговое окно с двумя вкладками: «Из файла» и «С помощью AI».

                                                                              

    Значок автозаполнения мультипликатора и диалоговое окно с вкладками «Из файла» и «С помощью AI»

    Вкладка «Из файла»

    Вкладка «Из файла» предназначена для классической загрузки данных из файла в формате Excel.

    1. Укажите диапазон строк и столбцов, которые нужно подгрузить из excel-файла, и нажмите «Загрузить».
    Подробнее. Если не нужно подгружать шапку таблицы (первую строку), в качестве начального значения диапазона строк укажите число 2. Если не указывать конечное значение, Doczilla выгрузит данные начиная со второй строки и до конца excel-таблицы.
    1. Выберите excel-файл на компьютере — данные подставятся в мультипликатор.

    Вкладка «С помощью AI»

    В этом случае заполняется только мультипликатор: AI распознаёт нужные данные в загруженном файле и сам подставляет их в структуру мультипликатора.

    1. Перейдите во вкладку «С помощью AI».
    2. Загрузите файл с данными.
    3. Дождитесь заполнения.

                                                                                 

    Заполнение мультипликатора с помощью AI

    Заполнение мультипликатора происходит для всех уровней вложенности при условии, что все необходимые данные есть в загруженном файле.

    Обратите внимание. Вкладка «Из файла» — для классической загрузки данных из готовой Excel-таблицы; для автозаполнения с помощью нейросети выбирайте вкладку «С помощью AI».

    Вычисляемый мультипликатор

    Пользователь может не добавлять реплики мультипликатора вручную, а указать их количество формулой — тогда значения переменных в каждой реплике будут посчитаны автоматически с разницей в шаг. Шаг настраивается методом .getPosition().

    1. Создайте мультипликатор с нужным количеством переменных внутри.
    2. Вне мультипликатора создайте числовую переменную для указания количества реплик.
    3. В настройках мультипликатора выберите «Значение» → «Вычисляется по формуле» и в поле «Формула» укажите идентификатор этой числовой переменной.
    4. В настройках переменной внутри мультипликатора выберите «Значение» → «Вычисляется по формуле» и запишите формулу ID1.getPosition(), где ID1 — идентификатор мультипликатора. По умолчанию отсчёт начинается с 0.

    Другие примеры шагов с помощью метода .getPosition():

    Формула Количество шагов Результат
    ID1.getPosition() 5 0, 1, 2, 3, 4
    1 + ID1.getPosition() 5 1, 2, 3, 4, 5
    100 * (1 + ID1.getPosition()) 5 100, 200, 300, 400, 500
    Date.today().addDay(ID1.getPosition()) 5 13.05.2024, 14.05.2024, 15.05.2024, 16.05.2024, 17.05.2024

    Агрегатные функции в мультипликаторе

    Агрегатные функции (агрегации) вычисляют одно результирующее значение на основе всех реплик мультипликатора — например, сумму, среднее или максимум. Применяются только к числовым переменным типов «Число», «Проценты» и «Деньги». Формула с агрегатной функцией указывается в переменной вне мультипликатора.

    • SUM — sum() — сумма значений;
    • PRODUCT — product() — произведение значений;
    • AVERAGE — average() — среднее арифметическое;
    • MAX и MIN — max() и min() — максимальное и минимальное значение.

    Синтаксис одинаков для всех агрегатных функций:

    ID мультипликатора.название_метода("ID переменной")

    {warn("Кавычки вокруг ID переменной внутри скобок обязательны — без них формула не сработает.")} {img("Агрегатные функции в мультипликаторе — переменные вне мультипликатора считают итоги по всем репликам.")}

    На примере таблицы спецификации (ID5 — идентификатор мультипликатора):

    Функция Что возвращает Пример
    .product()Произведение значений мультиплицированной переменной«Произведение количества»: ID5.product("ID2")
    .sum()Сумму значений мультиплицированной переменной«Итого количество»: ID5.sum("ID4")
    .average()Среднее арифметическое значений мультиплицированной переменной«Средняя цена за единицу»: ID5.average("ID3")
    .max()Максимальное значение среди значений мультиплицированной переменной«Максимальная цена»: ID5.max("ID3")
    .min()Минимальное значение среди значений мультиплицированной переменной«Минимальная цена»: ID5.min("ID3")

    Результат вычисления агрегатной функции отображается в привязанной переменной вне мультипликатора — сразу после заполнения всех реплик.


    Полезно знать

    • Мультипликатор — не только про текст: он может дублировать не только фрагменты текста, но и строки таблиц и целые наборы переменных, вопросов и условий.
    • Условие видимости мультипликатора работает так же, как и у других элементов схемы: если оно не выполняется, мультипликатор не отображается ни в анкете, ни в тексте проекта документа.
    • Агрегатные функции и функции поиска значений (сумма, среднее, максимум и минимум по репликам, поиск значения среди реплик) настраиваются через формулы вне мультипликатора — подробнее в статье «Операторы, методы и функции».
    • «Формулы» — общий принцип работы с полем «Формула»;
    • «Операторы, методы и функции» — агрегатные функции и функции поиска значений для мультипликатора;
    • «Условие» — ещё один элемент схемы, управляющий видимостью текста и других элементов;
    • «Вопрос» — настройка вопросов и вариантов ответа, которые можно поместить внутрь мультипликатора.