Добавить таблицу в печатную форму

Добавить таблицу в печатную форму

В шаблон можно добавить таблицу, которая при печати заполнится данными из СБИС или входящего документа.

Найдите печатную форму, откройте ее и нажмите «Редактировать». Редактор зависит от формата шаблона.

Редактор СБИС
Word
Excel
Редактор ценников и этикеток

Добавить пустую таблицу

Нажмите на панели инструментов, настройте обводку и выберите « Вставить таблицу».

Также создать таблицу можно из контекстного меню: кликните правой кнопкой мыши по свободному пространству в шаблоне и выберите «Вставить таблицу». В этом случае границы таблицы будут заданы автоматически.

Добавить готовую таблицу

Таблица будет заполняться данными из СБИС. Для этого выберите подходящее поле с типом «Таблица».

Если таблица содержит более 7 столбцов (например, «Документ.Номенклатура»), откроется окно выбора колонок. Отметьте поля, которые должны быть в таблице. Чтобы изменить порядок столбцов, перетащите их мышкой либо воспользуйтесь стрелками или напротив параметра.

Добавить таблицу с иерархией

Если у данных в документе есть вложенные записи, в настройках выберите «Таблица с иерархией».

Настройте добавленную таблицу.

Перейдите на вкладку «Вставка», нажмите «Таблица», укажите количество строк и столбцов.

Поля печатной формы могут располагаться во вложенной таблице. Например, поле «Заказы» — это таблица, в одну из ячеек которой нужно вставить другую таблицу — поле «Номенклатура». Чтобы добавить поле номенклатуры в шаблон:

  1. Создайте ячейку с невидимыми внутренними границами — это внешняя таблица.
  2. В ячейку добавьте еще одну таблицу — внутреннюю.
  3. Во внутреннюю таблицу вставьте поле номенклатуры.
  4. Для внешней таблицы укажите название в формате {%<Документ.Название внешней таблицы>%}.

Если этого не сделать, данные о товаре будут выводиться через запятую, а не списком.

Добавить таблицу с иерархией

Если данные в документе имеют вложенные записи, добавьте в шаблон таблицу с иерархией.

Для этого задайте настройки таблицы в любой ячейке с помощью кода, например {%НастройкиТаблицы: {Иерархия:<Документ.Работы>, КолонкаИерархии:1, ОтступИерархии: 10}%}, где:

  • Иерархия — доступное поле с типом «Таблица», которое имеет иерархию;
  • КолонкаИерархии — номер колонки, в которой выводить иерархию. Необязательный параметр, значение по умолчанию 0 — обозначает первый столбец;
  • ОтступИерархии — величина отступа в миллиметрах. Необязательный параметр, значение по умолчанию 5 мм.

Более подробную информацию о работе с таблицами в Word можно найти на официальном сайте Microsoft.

В таблицах, созданных в Excel, можно использовать сортировку, фильтрацию, функцию заполнения формул и другие возможности приложения. Вы можете вставить таблицу в шаблон или задать ее с помощью тегов.

Вставить таблицу

Выделите ячейки, на вкладке «Вставка» нажмите «Таблица». Кликните «ОК».

Задать таблицу с помощью тегов

С помощью тегов можно добавить простую и динамическую таблицу.

Создать простую таблицу

  1. Обозначьте начало таблицы — для этого кликните правой кнопкой мыши одну из ячеек или перейдите на вкладку «Рецензирование». Выберите «Вставить примечание» и добавьте комментарий {%ТаблицаНачало%}.

  2. Для ячейки, которая определяет конец таблицы, добавьте комментарий {%ТаблицаКонец%}.

Настройте и заполните таблицу.

Создать динамическую таблицу

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

  1. Кликните правой кнопной мыши первую ячейку таблицы или перейдите на вкладку «Рецензирование». Выберите «Вставить примечание» и добавьте комментарий {%ТаблицаHTML%}.

  2. В эту же ячейку добавьте код, состоящий из оператора JavaScript «return», и код таблицы в формате html.

    Например, чтобы посчитать общее количество позиций проданного товара, в печатной форме реестра «Реализации» задайте таблицу из столбцов — «Наименование», «Количество», «Цена» и «Сумма». Также стилизуем ячейки по ширине как в диапазоне A6:B7. В нашем примере: 150, 50, 75 и 75.
    Введите:

    {% 
        var arr = <Список документов> , 
          result = '<table sstyles="A6:B7"><col width="150"><col width="50"><col width="75"><col width="75">', 
          obj = {}, 
          arr_obj = []; 
      /*Перебираем таблицу и формруем объект*/ 
        for (var i = 0; i < arr.length; i++) { 
          for (var j = 0; j < arr[i]['Документ.Номенклатура'].length; j++) { 
            if (!(arr[i]['Документ.Номенклатура'][j]['Документ.Номенклатура.Наименование'] in obj)) { 
              obj[arr[i]['Документ.Номенклатура'][j]['Документ.Номенклатура.Наименование']] = { 
                name: arr[i]['Документ.Номенклатура'][j]['Документ.Номенклатура.Наименование'], 
                kolvo: arr[i]['Документ.Номенклатура'][j]['Документ.Номенклатура.Количество'], 
                cena: arr[i]['Документ.Номенклатура'][j]['Документ.Номенклатура.Цена'], 
                sum: arr[i]['Документ.Номенклатура'][j]['Документ.Номенклатура.Сумма'] 
              } 
            } else { 
              obj[arr[i]['Документ.Номенклатура'][j]['Документ.Номенклатура.Наименование']].sum+= 
    arr[i]['Документ.Номенклатура'][j]['Документ.Номенклатура.Сумма']; 
    obj[arr[i]['Документ.Номенклатура'][j]['Документ.Номенклатура.Наименование']].kolvo += 
    arr[i]['Документ.Номенклатура'][j]['Документ.Номенклатура.Количество']; 
    } 
     
          } 
     
        } 
      /*Преобразуем объект в массив и собираем итоговый html*/ 
        arr_obj = Object.values(obj); 
        arr_obj.sort(compare); 
        result+='<tr cstyle="A6"><td>Наименование</td><td>Кол-во</td><td>Цена</td><td>Сумма</td></tr>' 
        for (var i = 0; i < arr_obj.length; i++) { 
          result += '<tr>'; 
          result += '<td cstyle="A7">' + arr_obj[i].name + '</td>'; 
          result += '<td cstyle="B6">' + arr_obj[i].kolvo + '</td>'; 
          result += '<td cstyle="B7">' + arr_obj[i].cena + '</td>'; 
          result += '<td cstyle="B7">' + arr_obj[i].sum + '</td>'; 
          result += '</tr>'; 
        } 
        result += '</table>'; 
        return result; 
      /*Функция для сортировки массива*/ 
        function compare(a, b) { 
          const fioA = a.name; 
          const fioB = b.name; 
          let comparison = 0; 
          if (fioA > fioB) { 
            comparison = 1; 
          } else if (fioA < fioB) { 
            comparison = -1; 
          } 
          return comparison; 
        } 
      %}
    

    Внутри html-таблицы нельзя использовать JavaScript с доступными полями — это приведет к ошибке при ее формировании.

  3. Перейдите на второй лист документа и добавьте в любом порядке все данные, которые использовали в коде таблицы. Иначе печатная форма не поймет, какими данными ей оперировать.

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

Добавить таблицу с иерархией

Если данные в документе имеют вложенные записи, добавьте в шаблон таблицу с иерархией.

Для этого задайте начало и конец таблицы.

Оформите стиль таблицы. Например, укажите, как будут отображаться заголовки разделов. Для этого в примечание введите код {%Параметры: Значение1, Значение2 %}, вместо «Значение1» и «Значение2» добавьте аргументы:

  • чтобы задать стиль строки с названием раздела, выделите пустую ячейку, которая будет образцом, настройте в ней шрифт, выравнивание и другое. Введите {«ОбразецСтиляРаздела»: «A1»}, где A1 — адрес ячейки-образца;
  • чтобы указать колонку, в которой будут отступы для строк с вложенными записями, введите {"КолонкаИерархии": 2}, где 2 — номер столбца. Первая колонка имеет значение 0.

Чтобы отключить иерархию в таблице, введите в примечание код {%Параметры: {<Иерархия>: false}%}.

Чтобы добавить таблицу в ценник или этикетку, перейдите на вкладку «Данные», выберите поле «Список» и отметьте колонки. Если нужно изменить последовательность, перетащите колонку вверх или вниз списка. Нажмите «Выбрать».

Настройте таблицу.

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.