Создание новых отчетов в 1С 8.3

Хотите научиться программировать в 1С и не знаете, с чего начать? Один из самых простых способов — начать разбираться, как устроены отчеты в 1С. Разберем классический вариант — создание отчетов в 1С с помощью макетов.Данная статья предназначена для лиц старше 18 летА вам уже исполнилось 18?

Говорят, что под названием 1С изначально подразумевалась фраза «одна секунда», т.е. программы должны выдавать отчеты быстро, «в одну секунду». Скорость работы отчетов очень важна, но еще важнее, чтобы отчеты выдавали правильную информацию — разберемся с этим на примере создания простого отчета в 1С 8.3 на базе конфигурации Управление торговлей 10.3. Для создания корректных отчетов желательно (даже настоятельно рекомендуемо) уметь конфигурировать 1С и немного уметь программировать на внутреннем языке и языке запросов 1С, хотя, с другой стороны, создание отчетов — прекрасная возможность начать осваивать эти навыки.

Данное описание является учебным для понимания основных принципов создания отчетов 1С

Как создать отчет в 1С 8.3

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

 

В самом конфигураторе заходите в меню Файл и выбираете пункт Новый:

 

В появившемся меню выбираете пункт Внешний отчет и нажимаете кнопку ОК:

 

 После этого откроется окно нового отчета. В поле Имя вводите наименование отчета, оно должно быть без пробелов и специальных символов:

Как сделать отчет с помощью макета

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

В окне отчета (которое открывается при создании отчета) в нижнем списке устанавливаете курсор на пункт Макеты и, при нажатии правой кнопкой мыши, в появившемся меню нажимаете Добавить:

 

 В открывшемся конструкторе макета можете задать имя макета, в качестве типа макета должен быть выбран Табличный документ, после чего нажимаете в конструкторе кнопку Готово:

После чего откроется окно макета, напоминающее лист Excel:

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

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

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

 

 После этого идем в меню Таблица главного меню, заходим в подменю Имена и кликаем на пункт Назначить имя:

 

 Программа предложит указать Имя области, имя также не должно содержать пробелов и спецсимволов, после этого нажимаем ОК, должно получиться так:

 

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

Чтобы отформатировать текст в ячейке, нажимаем на ячейку правой кнопкой и кликаем на Свойства. Справа откроется окно свойств ячейки. Прокручивая содержимое окна вниз, найдите поле Шрифт и нажмите на кнопку «…»:

 

В открывшемся окне в разделе Начертание устанавливаем галочку Жирный и нажимаем кнопку ОК:

 

В макете должно получиться вот так:

 

 Таким же образом создаем область строки номенклатуры, только не выделяем жирным:

 

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

 

 Возвращаемся в главное окно отчета и в нижнем списке кликаем правой кнопкой на пункт Формы и нажимаем Добавить:

 

 В открывшемся конструкторе формы отчета нажимаем кнопку Готово, откроется форма отчета, кликаем два раза на кнопку Сформировать:

 

 В результате откроется окно свойств кнопки в правой части экрана, в поле Действие нажимаем на лупу:

 

После этого откроется модуль формы, в котором нужно запрограммировать формирование отчета:

 

Сначала вставим вместо выделенного текста следующий текст программного кода:

//создаем табличный документ, который будет наполняться частями отчета и выводиться на экран
ТабДокумент = Новый ТабличныйДокумент;
//далее, получаем макет, который создавали при создании отчета
Макет = ПолучитьМакет(«Макет»);
//теперь нужно вывести шапку отчета, дял этого получаем область шапки из макета и выводим ее в табличный документ
ОбластьШапка = Макет.ПолучитьОбласть(«Шапка»);
ТабДокумент.Вывести(ОбластьШапка);
//с помощью запроса получаем выборку наименований номенклатуры, которые надо вывести в отчете
Запрос = Новый Запрос;
Запрос.Текст = »
|ВЫБРАТЬ
| Наименование
|ИЗ
| Справочник.Номенклатура
|»;
//получить из макета область строки номенклатуры — будем обращаться к ней в цикле для вывода каждого наименования
ОбластьСтрока = Макет.ПолучитьОбласть(«Строка»);
//обрабатываем в цикле каждое наименование из полученной выборки
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
//для вывода очередной строки нужно указать очередное наименование в параметре области (сам параметр мы настраивали при создании макета)
ОбластьСтрока.Параметры.Наименование = Выборка.Наименование;
//параметр заполнили, теперь можно вывести строку
ТабДокумент.Вывести(ОбластьСтрока);
КонецЦикла;
//табличный документ сформирован, теперь выводим его на экран
ТабДокумент.Показать(«Перечень номенклатуры«);

Когда текст будет скопирован в модуль формы, то строки, начинающиеся с двойного слэша «//», будут выделены зеленым — это комментарии, в них описано, что выполняет каждая строчка кода:

 

Резюмируем, какие строки программного кода необходимы для формирования отчета:

Необходимо создать табличный документ, который будет наполняться частями отчета и выводится на экран, делается это строкой «ТабДокумент = Новый ТабличныйДокумент;»
Нужно получить макет отчета, из него будем получать структуру отчета по частям (области), делается это строкой «Макет = ПолучитьМакет(«Макет»)»
Для вывода каждой из областей нужно получить ее из макета и вывести в табличный документ, делается это строками «ОбластьШапка = Макет.ПолучитьОбласть(«Шапка»)» и «ТабДокумент.Вывести(ОбластьШапка)»
Если требуется заполнить параметры, который становятся известны только при выполнении программы, то перед выводом области нужно заполнить такие параметры, делается это строкой «ОбластьСтрока.Параметры.Наименование = Выборка.Наименование»
И лишь, когда табличный документ заполнен всеми нужными частями отчета, он выводится на экран, делается это строкой «ТабДокумент.Показать(«Перечень номенклатуры»)»

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

И сейчас можно проверить работу отчета — открываем 1С в режиме предприятия (кнопка 1С: Предприятие в окне запуска 1С). В главном меню заходим в меню файл, нажимаем Открыть:

 

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

 

и получаем перечень номенклатуры:

 

 Это лишь один из способов создания отчетов в 1С. В следующих статьях разберем другие.

Источник: 1000sovetov.ru

Понравилась статья? Поделиться с друзьями:
Добавить комментарий