Рассмотрим создание внешнего отчета в 1с 8 без использования системы компоновки данных. Для создания внешнего отчета будем использовать конфигурацию Бухгалтерия 2.0, исходные данные: “Написать отчет по 62 счету бухгалтерского учета в который будут выводится обороты за указанный период в разрезе Контрагентов и Договоров контрагентов.
1. Создание отчета
В первую очередь создадим файл внешнего отчета, для этого зайдем в 1с 8 в режиме Конфигуратор, перейдем в меню Файл -> Новый, либо нажмем на пиктограмму Новый документ.
В списке выберем пункт Внешний отчет. После создания внешнего отчета зададим ему Имя(например ПростейшийОтчет) и сохраним его на диск. Также добавим два реквизита: НачалоПериода и КонецПериодатипа Дата, они понадобятся нам для ограничения временного интервала выборки данных при формировании отчета.
2. Создание макета внешнего отчета
Для формирования отчета в 1с 8 нужен макет, это шаблон для вывода данных в котором задаются все нужные параметры, рисуются таблицы и т.д. Добавим новый макет, для этого в дереве метаданных отчета выберем пункт Макеты и нажмем кнопку Добавить, при создании выберем для макета тип Табличный документ.
В нашем макете будет 4 области:
- Шапка — в эту область мы будем выводить наименование отчета, период за который он сформирован и шапку таблицы;
- ДанныеКонтрагент — в эту область мы будем выводит в таблицу данные по контрагенту;
- ДанныеДоговорКонтрагента — в эту область мы будем выводит в таблицу данные по договору контрагента;
- Подвал — в эту область мы будем выводить итоговые значения по всему отчету для полей Приход и Расход.
Приступим к созданию областей макета. Для того что бы создать область в макете выделите нужное количество строк и нажмите Меню Таблица -> Имена -> Назначить имя(Либо Ctrl + Shift + N). В область Шапканапишем наименование отчета: Обороты 62 счета, нарисуем при помощи инструмента Границы шапку отчета, а так же зададим параметры НачалоПериода и КонецПериода. При помощи параметров в отчет можно выводить нужные данные, мы будем заниматься эти на следующем этапе разработки, а именно при написании программного кода отчета. Что бы создать параметр в макете выберите нужную ячейку, напишите в ней наименование параметра(без пробелов), щелкните по ней правой кнопкой мыши, в открывшемся меню выберите пункт Свойства. В свойствах ячейки на закладке Макет выберите заполнение Параметр.
После этого, в ячейке имя параметра будет заключено в угловые скобки(”<>“). В итоге область Шапкадолжна выглядеть так:
В области ДанныеКонтрагент создадим параметры для вывода наименования контрагента, а так же для прихода и расхода по 62 счету, при помощи инструмента Границы оформим область в виде строки таблицы.
В области ДанныеДоговорКонтрагента создадим параметры для вывода наименования договора, а так же для прихода и расхода по 62 счету, при помощи инструмента Границы оформим область в виде строки таблицы. Сделаем небольшой отступ перед параметром ДоговорКонтрагента(это можно сделать при помощи разбиения и объединения ячеек. Правой кнопкой мыши по ячейке -> Объединить или Разбить ячейку), он нужен для того что бы в отчете было видно, что строка по договору находится ниже по иерархии чем строка по контрагенту.
В области Подвал создадим параметры для итогов по приходу и расходу.
В итоге мы должны получить такой макет:
3. Создание формы отчета
Для вывода данных, задания периода формирования и кнопки Сформировать нашему отчету потребуется форма. Для создания формы найдите в дереве метаданных внешнего отчета пункт Формы и нажмите кнопку Добавить. На первой странице конструктора формы не нужно вносить никаких изменений, следует просто нажать кнопку Далее.
На следующей странице конструктора выберем оба доступных реквизита(НачалоПериода, КонецПериода) для расположения на форме.
В итоге у нас получится вот такая форма:
Но в таком виде она нас не устраивает, внесем в нее некоторые изменения:
- Перетащим кнопку Сформировать из нижней панели отчета на верхнюю(так будет удобнее для пользователя);
- Растянем форму по вертикали и горизонтали;
- Расположим поля НачалоПериода и КонецПериода по горизонтали;
- Добавим на форму элемент управления Поле табличного документа(в него и будет выводиться наш отчет), зададим ему имя ТабДок;
- Создадим кнопку выбора периода(при ее нажатии будет выводиться диалог с удобным выбором нужного периода). Программный код для нее мы писать пока не будем, поэтому просто расположим кнопку рядом с полями периода.
В итоге наша форма будет иметь такой вид:
4. Программирование
После создания формы отчета приступим к программированию. Для начала создадим процедуру вывода диалога выбора периода(кнопку для этого мы уже создали на предыдущем этапе). Щелкнем правой кнопкой мыши на кнопке и выберем пункт меню Свойства, в свойствах кнопки перейдем на закладку События, где при помощи кнопки со значком лупы создадим процедуру Кнопка1Нажатие в модуле формы.
Переключатся между формой и ее модулем можно при помощи закладок внизу формы
Для вызова формы выбора периода воспользуемся типовой процедурой Бухгалтерии 2.0 из общего модуля РаботаСДиалогами — ОбработчикНастройкаПериодаНажатие, в нее в качестве параметров нужно передать реквизиты отчета НачалоПериода и КонецПериода.
Теперь перейдем к написанию кода, который будет формировать и выводить наш отчет. В модуле формы уже есть процедура КнопкаСформироватьНажатие, которая будет выполняться при нажатии кнопки Сформировать, там то мы и будем писать наш код. Начнем с инициализации нужных переменных. В первую очередь создадим переменную для поля табличного документа в которое мы будем выводить данные, это не обязательно, просто запись обращений к нему станет короче, а значит программный код будет более понятен для чтения.
Получим макет внешнего отчета воспользовавшись функцией ПолучитьМакет( ), в параметр ему передадим имя макета, и если такой макет существует, то функция его найдет.
После того как макет получен, создадим переменные для каждой из его областей, воспользуемся для этого методом макета ПолучитьОбласть( ).
Очистим поле табличного документа. Это нужно для того что бы при каждом новом формировании отчета старые данные удалялись.
Теперь, когда инициализация переменных закончена, перейдем к поочередному заполнению и выводу областей макета. Начнем с шапки. Если вы помните мы создали в этой области два параметра НачалоПериода и КонецПериода, передадим туда значения периода формирования отчета, для этого воспользуемcя свойством Параметры области макета.
Больше никаких действий с областью Шапка производитель не надо, поэтому выведем ее поле в табличного документа.
Далее займемся написанием запроса к базе данных, при помощи которого возьмем обороты по счету 62 из регистра бухгалтерии Хозрасчетный. Определим переменную, в которой будет находиться наш запрос.
Перед тем как приступить к написанию текста запроса передадим в него нужные параметры. Так как мы пишем запрос по счету 62 бухгалтерского учета, то в первую очередь создадим параметр для него
Так же в запрос необходимо передать период формирования отчета. Не забываем, что для периода формирования у нас есть специальные реквизиты отчета, их и передаем в качестве параметров.
Приступим к написанию текста запроса, делать это будем при помощи конструктора запросов. Во многих учебных пособиях пишут, что нужно уметь писать запрос и вручную и используя конструктор, но на практике это не так. В задачах, которые постоянно встречаются перед программистом 1С, приоритетом является быстрое и качественное написание кода, а при составлении запроса к базе в ручную этого достичь практически невозможно, вы будете тратить кучу драгоценного времени на то, что бы правильно воспроизвести все конструкции запроса, найти опечатки которые вы сделали при написании и т.п.. Поэтому не тратьте зря время на попытки писать запросы вручную, а пользуйтесь конструктором запросом. Он сэкономит ваше время и позволит без особых усилий писать сложные запросы. Что бы начать писать текст запроса напишем в коде:
После этого поставим курсор между кавычками, нажмем правую кнопку мыши и выберем пункт Конструктор запроса. Откроется окно конструктора запроса.
Теперь необходимо выбрать нужную нам таблицу базы данных 1С 8. Нам необходима виртуальная таблица Обороты регистра бухгалтерии Хозрасчетный. Найдем ее в левой части окна конструктора
Переместим ее в область Таблицы и займемся заполнением параметров. Для всех виртуальных таблиц запроса есть специальный набор параметров, позволяющих выбирать нужные данные из основной таблицы(в нашем случае основная таблица Регистр бухгалтерии Хозрасчетный). Откроем окно параметров виртуальной таблицы.
Заполним параметры, периода которые мы передали в запрос. Что бы в тексте запроса использовать параметр следует перед его именем писать символ амперсанда(&)
Осталось заполнить условие по счету бух. учета. Для этого найдем в параметрах виртуальной таблицы строку УсловиеСчета и напишем там
Также можно воспользоваться конструктором составления условий нажав на кнопку с тремя точками.
Больше никаких условий на виртуальную таблицу налагать не требуется, поэтому нажмем кнопку ОК в окне параметров виртуальной таблицы. Далее необходимо выбрать нужные нам поля из таблицы Хозрасчетной.Обороты(а именно: Контрагент, Договор контрагента, Приход и Расход). Что бы посмотреть список полей доступных в выбранной нами таблице нажмет символ ”+“ возле ее названия. После этого перетащим нужные поля в самую правую область конструктора запросов, которая так и называется: Поля. Если открыть план счетов бухгалтерского учета, то мы увидим, что для счета 62 аналитика по Контрагенту — это Субконто1, а по ДоговоруКонтрагента — Субконто2.
Поэтому из полей виртуальной таблицы выбираем Субконто1 и Субконто2. Так как нам необходим приход и расход по сумме, то выбираем также поля СуммаОборотДт и СуммаОборотКт
Заполним псевдонимы выбранных нами полей, для этого перейдем на закладку Объединения/Псевдонимы и зададим нужные имена полей.
Так как в нашем отчете данные будут выводиться иерархично(Контрагент на первом уровне, а все его договоры на втором), то настроим вывод данных в иерархии при помощи Итогов. Перейдем в конструкторе на закладку Итоги. В группировочные поля перетащим последовательно Контрагент и ДоговорКонтрагента, а в итоговые Приход и Расход.
На этом работа в конструкторе запроса завершена, нажимаем кнопку ОК и видим, что текст нашего запроса появился в программном коде.
После того как мы закончили написание запроса, приступим к заполнению областей ДанныеКонтрагент, ДанныеДоговорКонтрагент и Подвал. Все эти области мы заполним данными полученными при выполнении запроса. Так как наш запрос содержит группировки(Контрагент и ДоговорКонтрагента) выберем из него данные следующим образом:
Таким образом мы получим записи с итогами по всем контрагентам.
Перед тем как обходить данные выборки при помощи цикла инициализируем переменные предназначенные для подсчета общих итогов по отчету:
Для того чтобы данные отчета выводились с иерархией(и разворотами по ”+“) зададим начало автогруппировки строк табличного документа:
Все приготовления закончены, теперь приступим к обходу результатов запроса. Обход будем осуществлять при помощи цикла Пока
В начале цикла обнулим параметры Приход и Расход области ДанныеКонтрагент. Для чего это нужно? Представим ситуацию, что по контрагенту Дядя Вася, приход 10, а расход 5, а для за ним следующего контрагента Дядя Петя нет ни прихода ни расхода, в таком случае если мы не обнулим параметры Приход и Расход, то по в строке по контрагенту Дядя Петя попадет приход 5 и расход 10.
После этого заполняем область ДанныеКонтрагент данными элемента выборки
После заполнения данным можно выводить область в Табличный документ, Так как мы используем автогруппировку строк, то нужно указать уровень строки в группировке(в нашем отчете будет два уровня, для контрагентов первый для договоров второй).
Теперь для данного контрагента сделаем выборку по его договорам.
Обход будем осуществлять при помощи цикла Пока.
В цикле по договорам контрагентов обнулим параметры Приход и Расход, заполним область ДанныеДоговориз выборки и выведем ее в табличный документ на второй уровень записей.
Также в этом цикле к переменным расчета итоговых значений по приходу и расходу прибавим текущие значения.
На этом вывод данных в области ДанныеКонтрагент, ДанныеДоговорКонтрагент завершен, осталось завершить автогруппировку строк табличного документа.
Полностью циклы отвечающие за вывод данных в области ДанныеКонтрагент и ДанныеДоговорКонтрагент выглядят так:
Осталось вывести итоговые данные в область Подвал и вывести саму область в Табличный документ.
На этом процесс написания внешнего отчета для 1С 8 без использования СКД завершен. Теперь его можно сформировать в режиме 1С:Предприятие 8 и добавить в справочник ВнешниеОбработки Файл отчета рассмотренного в статье вы можете скачать по ссылке.
Смотрите видео по созданию внешней печатной формы для управляемого приложения:
Говорят, что под названием 1С изначально подразумевалась фраза «одна секунда», т.е. программы должны выдавать отчеты быстро, «в одну секунду». Скорость работы отчетов очень важна, но еще важнее, чтобы отчеты выдавали правильную информацию — разберемся с этим на примере создания простого отчета в 1С 8.3 на базе конфигурации Управление торговлей 10.3. Для создания корректных отчетов желательно (даже настоятельно рекомендуемо) уметь конфигурировать 1С и немного уметь программировать на внутреннем языке и языке запросов 1С, хотя, с другой стороны, создание отчетов — прекрасная возможность начать осваивать эти навыки.
Данное описание является учебным для понимания основных принципов создания отчетов 1С
Содержание
- Как создать отчет в 1С 8.3
- Как сделать отчет с помощью макета
- //создаем табличный документ, который будет наполняться частями отчета и выводиться на экран
- ТабДокумент = Новый ТабличныйДокумент;
- //далее, получаем макет, который создавали при создании отчета
- Макет = ПолучитьМакет("Макет");
- //теперь нужно вывести шапку отчета, дял этого получаем область шапки из макета и выводим ее в табличный документ
- ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
- ТабДокумент.Вывести(ОбластьШапка);
- //с помощью запроса получаем выборку наименований номенклатуры, которые надо вывести в отчете
- Запрос = Новый Запрос;
- Запрос.Текст = "
- |ВЫБРАТЬ
- | Наименование
- | Справочник.Номенклатура
- //получить из макета область строки номенклатуры — будем обращаться к ней в цикле для вывода каждого наименования
- ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
- //обрабатываем в цикле каждое наименование из полученной выборки
- Выборка = Запрос.Выполнить().Выбрать();
- Пока Выборка.Следующий() Цикл
- //для вывода очередной строки нужно указать очередное наименование в параметре области (сам параметр мы настраивали при создании макета)
- ОбластьСтрока.Параметры.Наименование = Выборка.Наименование;
- //параметр заполнили, теперь можно вывести строку
- ТабДокумент.Вывести(ОбластьСтрока);
- КонецЦикла;
- //табличный документ сформирован, теперь выводим его на экран
- ТабДокумент.Показать("Перечень номенклатуры«);
- Наталия Сиворина
- Как сделать макет в 1С 8.3
- Как изменить макет в 1С 8.3
- Рекомендуем к прочтению
Как создать отчет в 1С 8.3
Чтобы создать отчет, необходимо открыть 1С в режиме конфигуратора, для этого в окошке запуска 1С выбираете нужную базу в списке и нажимаете кнопку Конфигуратор:
В самом конфигураторе заходите в меню Файл и выбираете пункт Новый:
В появившемся меню выбираете пункт Внешний отчет и нажимаете кнопку ОК:
После этого откроется окно нового отчета. В поле Имя вводите наименование отчета, оно должно быть без пробелов и специальных символов:
Как сделать отчет с помощью макета
Для этого способа больше всего требуются навыки программирования в 1С, но здесь мы не будем разбирать механизмы получения и обработки данных, сделаем простой отчет, чтобы понять механизм запуска отчета и вывода формы отчета на экран:
В окне отчета (которое открывается при создании отчета) в нижнем списке устанавливаете курсор на пункт Макеты и, при нажатии правой кнопкой мыши, в появившемся меню нажимаете Добавить:
В открывшемся конструкторе макета можете задать имя макета, в качестве типа макета должен быть выбран Табличный документ, после чего нажимаете в конструкторе кнопку Готово:
После чего откроется окно макета, напоминающее лист Excel:
В этом макете необходимо создать области — группы строк или столбцов, которые программа будет использовать как шаблоны, подставлять в них данные, получаемые из базы данных и выводить эти шаблоны на экран, тем самым собирая отчет воедино из этих частей.
Сделаем отчет, выводящий перечень номенклатуры. Для этого создадим две области макета: шапка отчета и строка номенклатуры.
Для создания области шапки левой кнопкой кликаем на заголовке строки (там, где номер строки указан), чтобы выделить строку вот так (должна быть выделена вся строка одним кликом на заголовке):
После этого идем в меню Таблица главного меню, заходим в подменю Имена и кликаем на пункт Назначить имя:
Программа предложит указать Имя области, имя также не должно содержать пробелов и спецсимволов, после этого нажимаем ОК, должно получиться так:
Теперь в созданной области нужно ввести текст, который будет выводится в отчете и отформатировать его. Для этого в первую ячейку вводим текст, например «Перечень номенклатуры». Работа с ячейками похожа на Excel.
Чтобы отформатировать текст в ячейке, нажимаем на ячейку правой кнопкой и кликаем на Свойства. Справа откроется окно свойств ячейки. Прокручивая содержимое окна вниз, найдите поле Шрифт и нажмите на кнопку «. »:
В открывшемся окне в разделе Начертание устанавливаем галочку Жирный и нажимаем кнопку ОК:
В макете должно получиться вот так:
Таким же образом создаем область строки номенклатуры, только не выделяем жирным:
В области строки нужно указать, что Наименование — это параметр, т.е. что туда будет подставляться реальное наименование номенклатуры при выводе отчета. Для этого открываем свойства ячейки с наименованием и в свойствах в поле Заполнение выбираем значение Параметр, на этом настройка макета завершена:
Возвращаемся в главное окно отчета и в нижнем списке кликаем правой кнопкой на пункт Формы и нажимаем Добавить:
В открывшемся конструкторе формы отчета нажимаем кнопку Готово, откроется форма отчета, кликаем два раза на кнопку Сформировать:
В результате откроется окно свойств кнопки в правой части экрана, в поле Действие нажимаем на лупу:
После этого откроется модуль формы, в котором нужно запрограммировать формирование отчета:
Сначала вставим вместо выделенного текста следующий текст программного кода:
//создаем табличный документ, который будет наполняться частями отчета и выводиться на экран
ТабДокумент = Новый ТабличныйДокумент;
//далее, получаем макет, который создавали при создании отчета
Макет = ПолучитьМакет("Макет");
//теперь нужно вывести шапку отчета, дял этого получаем область шапки из макета и выводим ее в табличный документ
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ТабДокумент.Вывести(ОбластьШапка);
//с помощью запроса получаем выборку наименований номенклатуры, которые надо вывести в отчете
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| Наименование
| Справочник.Номенклатура
//получить из макета область строки номенклатуры — будем обращаться к ней в цикле для вывода каждого наименования
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
//обрабатываем в цикле каждое наименование из полученной выборки
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
//для вывода очередной строки нужно указать очередное наименование в параметре области (сам параметр мы настраивали при создании макета)
ОбластьСтрока.Параметры.Наименование = Выборка.Наименование;
//параметр заполнили, теперь можно вывести строку
ТабДокумент.Вывести(ОбластьСтрока);
КонецЦикла;
//табличный документ сформирован, теперь выводим его на экран
ТабДокумент.Показать("Перечень номенклатуры«);
Когда текст будет скопирован в модуль формы, то строки, начинающиеся с двойного слэша «//», будут выделены зеленым — это комментарии, в них описано, что выполняет каждая строчка кода:
Резюмируем, какие строки программного кода необходимы для формирования отчета:
- Необходимо создать табличный документ, который будет наполняться частями отчета и выводится на экран, делается это строкой «ТабДокумент = Новый ТабличныйДокумент;»
- Нужно получить макет отчета, из него будем получать структуру отчета по частям (области), делается это строкой "Макет = ПолучитьМакет("Макет")"
- Для вывода каждой из областей нужно получить ее из макета и вывести в табличный документ, делается это строками "ОбластьШапка = Макет.ПолучитьОбласть("Шапка")" и «ТабДокумент.Вывести(ОбластьШапка)»
- Если требуется заполнить параметры, который становятся известны только при выполнении программы, то перед выводом области нужно заполнить такие параметры, делается это строкой «ОбластьСтрока.Параметры.Наименование = Выборка.Наименование»
- И лишь, когда табличный документ заполнен всеми нужными частями отчета, он выводится на экран, делается это строкой "ТабДокумент.Показать("Перечень номенклатуры")"
Теперь осталось сохранить отчет, для этого в конфигураторе заходим в меню Файл главного меню и выбираем пункт Сохранить, в появившемся окне указываем папку и имя файла, нажимаем Сохранить
И сейчас можно проверить работу отчета — открываем 1С в режиме предприятия (кнопка 1С: Предприятие в окне запуска 1С). В главном меню заходим в меню файл, нажимаем Открыть:
Находим и открываем сохраненный файл отчета. В открывшейся форме нажимаем кнопку Сформировать:
и получаем перечень номенклатуры:
Это лишь один из способов создания отчетов в 1С. В следующих статьях разберем другие.
Наталия Сиворина
Любая информационная система должна уметь выводить данные в нужном для пользователей разрезе. В 1С для этого используются отчеты и печатные формы, а одним из способов их формирования является заполнение макетов нужными данными. Макеты используются повсеместно и необходимо знать хотя бы основные приемы работы с ними.
Как сделать макет в 1С 8.3
Сами макеты представляют собой шаблоны, по которым платформа 1С формирует отчеты или печатные формы с различными данными. В конфигурации 1С вы можете добавить макет практически к любому объекту, чтобы использовать его при выводе на печать. Также они используются во внешних обработках и отчетах, если в вашей конфигурации подключена библиотека стандартных подсистем. Рассмотрим процесс на примере добавления макета для печатной формы для документа «ПоступлениеТоваровУслуг» конфигурации без поддержки.
Если же ваша конфигурация типовая и находится на поддержке 1С, то при внесении в нее изменений придется ее снять с поддержки. Именно поэтому добавление печатной формы с использованием макета часто осуществляют с помощью внешних печатных форм. Процесс создания макета в конфигурации ничем не отличается, поэтому рассмотрим пример с изменением конфигурации. Чтобы создать макет в 1С 8.3 необходимо на подразделе «Макеты» щелкнуть ПКМ и выбрать «Добавить».
В появившемся окне нужно задать имя макета, по которому вы будете обращаться к нему в коде. Синоним платформа автоматически предложит совпадающий с именем, но при желании вы можете его изменить. В качестве типа макета для наших целей подходит «Табличный документ». После установки перед вами откроется окно, похожее на обыкновенный лист Excel.
Теперь настает этап составления той формы отчета, которую мы хотим видеть в качестве конечного результата. В 1С принято составлять табличные документы из областей, в которых расположены переменные, куда и помещаются данные из документов. Чтобы создать новую область с определенным названием необходимо:
- Выделить 1 или несколько ячеек, столбцов или строк;
- В основном меню перейти по пути: «Таблица» — «Имена» — «Назначить имя…»;
- Указать имя. Создадим «шапку» документа, где обычно указывают номер и дату.
Теперь при обращении по выбранному имени 1С будет понимать, о какой области идет речь. Добавим переменных в нашу область для вывода конкретных данных. Для этого в 2 ячейках напишем «Документ №» и «Номер». Пока это просто надписи, которые можно лишь вывести на экран пользователю неизменными.
Теперь объясним 1С, что «Номер» – это переменная. Для этого зайдем в контекстное меню на ячейку с этой надписью и выберем «Свойства». В палитре свойств отыщем пункт «Заполнение» и переведем его в значение «Параметр». В макете мы сразу же увидим изменение отображения ячейки с номером, так как угловые скобки – признак параметра.
Есть и третий тип заполнения ячеек – шаблон. Если вы выставите его, то 1С будет воспринимать содержимое ячейки как текст с параметром, выделенным квадратными ячейками. Обращаться к таким переменным можно таким же способом, как и к обычным параметрам. Этих знаний достаточно, чтобы сформировать до конца простой макет.
Как изменить макет в 1С 8.3
Разработчики 1С потрудились над тем, чтобы макеты 1С смогли удовлетворить разнообразные требования к печатным формам. При этом настройка макета 1С с нуля не займет у программиста много времени. При наведении на конкретную кнопку меню отобразится подсказка с описанием ее действия.
К тому же есть возможность расположить управляющие элементы так, как удобно именно вам.
Чтобы сделать какое-либо изменение макета в 1С, нужно сначала найти этот макет. Если это внешняя обработка или отчет – ищите его в файле, в другом случае он встроен в конфигуратор. Если в структуре объекта нет макетов, то попробуйте разобраться, где вызывается функция вывода на печать и понять, где расположен шаблон. После того как нашли шаблон, ничего не мешает приступить к возможным изменениям:
- Добавить текст или новые параметры. Заполняются параметры в коде – без изменения алгоритма вывода вы не увидите новую переменную;
- Изменить шрифт текста, его размер, стиль, фон и выравнивание. Применяется как к конкретной ячейке, так и к выделенной области;
- Добавить разнообразные выделения границ между ячейками;
- Вставить картинку, диаграмму и многие другие объекты. Причем добавлять можно и предустановленные в 1С, и с вашего локального компьютера;
- Запрещать изменения ячеек. Для этого необходимо выделить участок и в контекстном меню в свойствах выбрать опцию «Защита». Для включения режима необходимо будет еще и в алгоритме вывода печатной формы запустить соответствующую настройку;
Помните, что нельзя удалять переменные из макета без предварительного изменения кода, даже если они вам не нужны. К ним идет обращение при выполнении алгоритма печати, поэтому если 1С их не найдет, печатная форма перестанет работать. Чтобы убрать их без вмешательства в код, вы можете просто изменить цвет текста на белый. Но лучше все-таки избавиться от их использования – это упростит макет и алгоритм формирования печатной формы.
Невысокие требования к знаниям сказываются на том, что печатные формы и отчеты – первые задачи, которые даются начинающим специалистам 1С. А постоянное использование макета в 1С любой конфигурации говорит о том, что опыт работы с этим объектом платформы пригодится каждому. Именно поэтому ознакомиться с базовыми методами работы с макетом не будет лишним.