Как добавить область в макет 1с

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

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

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

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

Общая схема

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Основные методы

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

В этом уроке мы научимся создавать табличные макеты в 1С, которые в дальнейшем могут быть использованы для программного формирования печатных форм.

Читайте также:  Как открыть system configuration

К примеру, как я сформировал макеты для тестовой базы.

Я зашёл в форму обработки и перешёл на закладку "Макеты":

Далее я нажал на "Плюсик" и выбрал тип "Табличный документ":

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

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

Как назначить имя области

Что я понимаю под областью? Это и несколько строк и несколько ячеек, в общем любая часть табличного документа, которая может быть выделена нами, используя левую кнопку мыши.

Вот выделенная область из двух строк:

А вот выделенная область из 2 столбцов:

А сейчас мы выделим область на пересечении первых двух строк и первых двух столбцов:

Так вот. Если мы сумели выделить нужную нам область, то, нажав на ней правой кнопкой и выбрав пункт "Свойства", мы сможем присвоить ей имя, по-которому мы будем к ней обращаться из нашего кода, формируя печатную форму:

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

Как посмотреть уже назначенные имена

А давайте посмотрим какие имена областям уже назначены в макете?

Для этого из меню конфигуратора выбираем:

Вот она наша только что назначенная область "Шапка":

А если сейчас выделим её в диалоге и нажмём "Выбрать", то в редакторе будет выбрана соотв. область ячеек:

Как задать параметр области

Часто при формировании печатной области требуется не просто вывести область из макета. Нужно ещё и заполнить определенные ячейки определенными параметрами.

Эти параметры мы задаём у области и заданные значения автоматически попадают в нужные ячейки.

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

Указываем в поле "Заполнение" значение "Параметр", а в поле "Параметр" пишем имя, по которому мы будем обращаться к этому параметру из кода:

Если же указать в заполнении не "Параметр", а "Шаблон", то можно будет в самой ячейке указать какой-то текст (шаблон) с использованием имени параметра в квадратных скобках:

В этом случае имя параметра (и его позиция в шаблоне) указывается в квадратных скобках.

Как задать параметр расшифровки?

Имя параметра расшифровки задаётся всё в тех же свойствах ячейки:

Уже потом из кода мы присвоим этому параметру (по имени "РасшифровкаНоменклатуры") нужное значение (ссылку на элемент номенклатуры).

И когда пользователь сделает двойной щелчок на этой ячейки — ему откроется значение, присвоенное параметру расшифровки (в данном случае откроется форма элемента номенклатуры).

Дальнейшее напутствие

Мы рассмотрели необходимые основы. А теперь внимательно исследуйте рабочий пример.

Скачайте и разверните эту базу. Найдите в ней обработку "ОбработкаДляИспытаний".

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

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

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Читайте также:  Как вывести экран ноутбука на монитор
Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

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

Нажмите одну из кнопок, чтобы поделиться:

Наталия Сиворина

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

Как сделать макет в 1С 8.3

Сами макеты представляют собой шаблоны, по которым платформа 1С формирует отчеты или печатные формы с различными данными. В конфигурации 1С вы можете добавить макет практически к любому объекту, чтобы использовать его при выводе на печать. Также они используются во внешних обработках и отчетах, если в вашей конфигурации подключена библиотека стандартных подсистем. Рассмотрим процесс на примере добавления макета для печатной формы для документа «ПоступлениеТоваровУслуг» конфигурации без поддержки.

Если же ваша конфигурация типовая и находится на поддержке 1С, то при внесении в нее изменений придется ее снять с поддержки. Именно поэтому добавление печатной формы с использованием макета часто осуществляют с помощью внешних печатных форм. Процесс создания макета в конфигурации ничем не отличается, поэтому рассмотрим пример с изменением конфигурации. Чтобы создать макет в 1С 8.3 необходимо на подразделе «Макеты» щелкнуть ПКМ и выбрать «Добавить».

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

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

  1. Выделить 1 или несколько ячеек, столбцов или строк;
  2. В основном меню перейти по пути: «Таблица» — «Имена» — «Назначить имя…»;
  3. Указать имя. Создадим «шапку» документа, где обычно указывают номер и дату.

Теперь при обращении по выбранному имени 1С будет понимать, о какой области идет речь. Добавим переменных в нашу область для вывода конкретных данных. Для этого в 2 ячейках напишем «Документ №» и «Номер». Пока это просто надписи, которые можно лишь вывести на экран пользователю неизменными.

Теперь объясним 1С, что «Номер» – это переменная. Для этого зайдем в контекстное меню на ячейку с этой надписью и выберем «Свойства». В палитре свойств отыщем пункт «Заполнение» и переведем его в значение «Параметр». В макете мы сразу же увидим изменение отображения ячейки с номером, так как угловые скобки – признак параметра.

Читайте также:  Как отключить род контроль

Есть и третий тип заполнения ячеек – шаблон. Если вы выставите его, то 1С будет воспринимать содержимое ячейки как текст с параметром, выделенным квадратными ячейками. Обращаться к таким переменным можно таким же способом, как и к обычным параметрам. Этих знаний достаточно, чтобы сформировать до конца простой макет.

Как изменить макет в 1С 8.3

Разработчики 1С потрудились над тем, чтобы макеты 1С смогли удовлетворить разнообразные требования к печатным формам. При этом настройка макета 1С с нуля не займет у программиста много времени. При наведении на конкретную кнопку меню отобразится подсказка с описанием ее действия.

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

Чтобы сделать какое-либо изменение макета в 1С, нужно сначала найти этот макет. Если это внешняя обработка или отчет – ищите его в файле, в другом случае он встроен в конфигуратор. Если в структуре объекта нет макетов, то попробуйте разобраться, где вызывается функция вывода на печать и понять, где расположен шаблон. После того как нашли шаблон, ничего не мешает приступить к возможным изменениям:

  • Добавить текст или новые параметры. Заполняются параметры в коде – без изменения алгоритма вывода вы не увидите новую переменную;
  • Изменить шрифт текста, его размер, стиль, фон и выравнивание. Применяется как к конкретной ячейке, так и к выделенной области;
  • Добавить разнообразные выделения границ между ячейками;
  • Вставить картинку, диаграмму и многие другие объекты. Причем добавлять можно и предустановленные в 1С, и с вашего локального компьютера;
  • Запрещать изменения ячеек. Для этого необходимо выделить участок и в контекстном меню в свойствах выбрать опцию «Защита». Для включения режима необходимо будет еще и в алгоритме вывода печатной формы запустить соответствующую настройку;
  • Объединить/разъединить ячейки по горизонтали и вертикали;
  • Изменить ширину столбцов отдельных строк. Для этого необходимо выделить одну или несколько строк и изменить ширину столбца. Платформа 1С попросит подтвердить изменение формата строк и в макете появятся столбцы разной ширины. Данный функционал позволяет не мучиться с объединением столбцов.
  • Помните, что нельзя удалять переменные из макета без предварительного изменения кода, даже если они вам не нужны. К ним идет обращение при выполнении алгоритма печати, поэтому если 1С их не найдет, печатная форма перестанет работать. Чтобы убрать их без вмешательства в код, вы можете просто изменить цвет текста на белый. Но лучше все-таки избавиться от их использования – это упростит макет и алгоритм формирования печатной формы.

    Невысокие требования к знаниям сказываются на том, что печатные формы и отчеты – первые задачи, которые даются начинающим специалистам 1С. А постоянное использование макета в 1С любой конфигурации говорит о том, что опыт работы с этим объектом платформы пригодится каждому. Именно поэтому ознакомиться с базовыми методами работы с макетом не будет лишним.

    Adblock
    detector