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

Обновлено: 04.07.2024

Основы формирования табличного документа на основе макета

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

Области макета предназначены для однократного или многократного вывода, например, ниже представлен макет для печати расходной накладной:

Некоторые ячейки содержат только текст, который должен быть выведен. Другие ячейки содержат имена параметров (в угловых скобках). Значения этих параметров должны указываться в программном модуле. В отличие от версии 7.7, в ячейку нельзя вписать выражение. В версии 8.0 весь программный код сосредоточен в программных модулях и при выводе секций нет связи с текущим контекстом программного модуля. Назначение параметров табличного документа должно производиться явно из программного модуля через коллекцию "Параметры" объекта "ТабличныйДокумент".

Область может состоять из нескольких расположенных подряд строк или колонок, либо быть прямоугольной областью таблицы. К области можно обратиться по имени или по координатам. Можно также обращаться к пересечению областей, используя вертикальную черту (как в версии 7.7).

Общая схема

Общая схема формирования печатной формы на основе макета:

  1. Создание макета в табличном редакторе (определение областей, имен параметров, форматирования).
  2. Создание нового табличного документа (этот пункт не требуется, если отчет выводится в элемент управления ПолеТабличногоДокумента).
  3. Получение макета в переменную (метод ПолучитьМакет).
  4. Получение областей макета (метод ПолучитьОбласть).
  5. Заполнение параметров области (свойство Параметры).
  6. Вывод области в табличный документ (методы Вывести и Присоединить).
  7. Установка свойств отображения табличного документа (сетка, заголовки, только просмотр и т.д.).
  8. Отображение табличного документа на экране (а может быть отправка на принтер или сохранение).

Пример вывода табличного документа

Ниже приведен пример формирования печатной формы расходной накладной из модуля документа:

Процедура Печать(ТабДок) Экспорт

//создание нового табличного документа
ТабДок = Новый ТабличныйДокумент ;

//получение макета для печати расходной накладной
Макет = Документы.РасходнаяНакладная. ПолучитьМакет ("Основной");

//получим область "Заголовок" как новый табличный документ (!)
Область = Макет. ПолучитьОбласть ("Заголовок");

//укажем параметры области
Область. Параметры .НомерДокумента = Номер;
Область.Параметры.От = Дата;
Область.Параметры.Кому = Контрагент;

//выведем заполненную область "Заголовок" в табличный документ
ТабДок. Вывести (Область);

//выведем область "Шапка" в табличный документ
ТабДок.Вывести(Макет.ПолучитьОбласть("Шапка"));

//получение области "Строка"
//обратите внимание, что это можно сделать до цикла по строкам
Область = Макет.ПолучитьОбласть("Строка");

//вывод строк документа в печатную форму
Для Каждого СтрСостава Из Состав Цикл

//заполнение параметров области из строки табличной части
Область.Параметры. Заполнить (СтрСостава);

//вывод сформированной области в табличный документ
ТабДок.Вывести(Область);

КонецЦикла;

//вывод области "Подвал"
Область = Макет.ПолучитьОбласть("Подвал");
Область.Параметры.ИтогоКоличество = Состав.Итог("Количество");
Область.Параметры.ИтогоСумма = Состав.Итог("Сумма");
ТабДок.Вывести(Область);

//установим параметры отображения табличного документа
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.ОтображатьСетку = Ложь;

//покажем табличный документ на экране
ТабДок. Показать ();

В 1С Управление торговлей 11.1 в разделе продажи (заказы клиентов) необходимо добавить столбец. В котором будет вручную вписываться текстовая информация. А потом его нужно будет распечатать (когда мы нажимаем Печать заказа клиента.). А также нужно, чтобы это поле переходило в счет и также распечатывалось.

Пробовал через пункт меню "изменить форму". Но там можно добавлять только определенные поля. По идее, нужно расширить список этих полей. Подозреваю, что нужно лезть в Конфигуратор. Но там куда дальше, не могу сообразить. Как добавлять поля для распечатки, которые имеются, знаю.
Спасибо.

  • Вопрос задан более трёх лет назад
  • 11971 просмотр

Все последующие проблемы с печатью решаются похожим образом: как правило в модуле менеджера объекта есть процедура для заполнения печатной формы и функция для получения данных. Как правило это запрос - нужно его смотреть и редактировать.

При заполнении строки таблицы в печатной форме, как правило, используется процедура «Параметры.Заполнить()» в которую передается строка из полученных данных. При этом заполняются все поля с одинаковым названием «Номенклатура» -> «Номенклатура». Поэтому имеет смысл в макетах называть поля с параметрами так же, как они называются в метаданных.

Большое спасибо за помощь. Все получилось. Теперь буду изучать вопрос как сделать чтоб все что я сделал не слетело при обновлении.

Лучше не менять типовую конфигурацию, чтобы не было проблем с поддержкой и обновлением в будущем. Если новое поле относится к самому заказу ( т.е. 1 новое поле на заказ), то можно воспользоваться механизмом дополнительных сведений. Нужно открыть заказ -> нажать на кнопку дополнительных сведений(справа от «провести») -> Все действия -> Изменить состав -> Подбор -> Создать. Откроется форма, в ней нужно ввести название и указать тип «Строка». Записать и в списке выбрать его, чтобы добавить к дополнительным сведениям заказов.

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

Правда, для печати, скорее всего, придется лезть в конфигуратор. Если что, то вам нужно: Конфигуратор -> Документы -> Заказ клиента - для изменения состава реквизитов. И Конфигуратор -> Регистры сведений -> ДополнительныеСведения. - Если будете использовать механизм дополнительных сведений и вам понадобится получать их значение.

П.С. Я не специалист по УТ, возможно, знающие люди подскажут вариант по-лучше.


Любой документ в 1с имеет определенную форму. Если нам необходимо ее изменить, например добавить для видимости колонку, то сделать это можно следующим способом:

1) Заходим в документ и в правом верхнем углу нажимаем на кнопку «Еще».


2) В появившемся списке выбираем «Изменить форму».



Если ее нет, то проставляем и нажимаем «Ок» (Для примера добавим в «Тип»).



Также можно расположить колонки в нужно порядке. Для этого повторно заходим в «Настройка формы» (п.1, 2) и воспользуемся синими стрелочками. Нужно выделить строчку, которую нужно переместить и нажимаем на нужную стрелочку («Вверх», «Вниз» в зависимости от того куда его нужно переместить колонку на форме- правее или левее).

Для примера переместим «Тип» сразу за колонкой «Номенклатура».



Если в списке нет нужного реквизита, то можно воспользоваться кнопкой «Добавить поля», но это работает не всегда — там где возможно кнопка будет активна.


Для примера выведем на форму «Вид номенклатуры». Для этого открываем «Настройка формы» (п.1, 2), выбираем строчку «Номенклатура» и нажимаем «Добавить поля».


В появившемся списке ставим галочку возле «Вид номенклатуры» и нажимаем «ОК».


В списке «Настройка формы» появится соответствующая строчка. Нажимаем «ОК».

Читайте также: