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

Опубликовал Мастер1С в раздел Программирование - Практика программирования

Проблема создания красивого, функционального отчета актуальна для любого разработчика. Создать новый справочник, регистр накопления, документ, который двигает созданные тобой регистры, - не проблема, но как потом «родить» отчет, который будет работать, используя созданные тобой регистры? И не просто отчет, а отчет настраиваемый, с произвольными отборами и группировками, с приятным внешним видом?

Как быстро разработать красивый отчет используя Универсальный отчет в прикладных решениях фирмы 1С

 

Конфигурации: БП, УТ, УПП и прочие фирмы 1С на платформе 8.1

Данная статья рассчитана на начинающих и продвинутых программистов.

 

Проблема создания красивого, функционального отчета актуальна для любого разработчика. Создать новый справочник, регистр накопления, документ, который двигает созданные тобой регистры, - не проблема, но как потом «родить» отчет, который будет работать, используя созданные тобой регистры? И не просто отчет, а отчет настраиваемый, с произвольными отборами и группировками, с приятным внешним видом?

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

В последнее время я использую Универсальный отчет в типовых решениях фирмы 1С.

 

В качестве примера рассмотрим задачу: Для прикладного решения 1С:Управление торговлей версии 10.3.7.9 создать отчет, показывающий остатки товара на выбранную дату, по складу (или складам), свободные и находящиеся в резерве, с ценами в выбранной цене и суммами остатков в выбранной цене. В отчете возможен отбор по складу, номенклатуре и реквизитам номенклатуры. В отчете возможны группировки по складам, номенклатуре и реквизитам номенклатуры. В отчет возможен вывод любых произвольных реквизитов номенклатуры. Замечу что задача не выдумана, вполне реальна.

 

Итак, что есть Универсальный отчет и с чем его едят. Откроем конфигурацию, раздел Отчеты. В разделе отчеты и находится объект «Универсальный отчет»:

 

  

 

Универсальный отчет - объект конфигурации, который можно использовать как самостоятельно, так и в других отчетах. Данный отчет присутствует во многих конфигурациях фирмы 1С: Управление торговлей, Бухгалтерия предприятия, Управление производственным предприятием и пр. Разбираться в его работе нет нужды, достаточно разобраться, как его можно использовать.

 

Откроем любой отчет, разработанный на его основе, и заглянем внутрь. Я открою отчет «Товары в резерве на складах», находящийся непосредственно перед Универсальным отчетом в разделе Отчеты. Если у кого из читателей возникают затруднения с тем, что бы данный отчет открыть, в конце статьи находится ссылка на готовый отчет.

 

Итак, сохраним данный отчет как внешний и откроем в конфигураторе:

 

 

 

Как видим, у данного отчета только один реквизит - Универсальный отчет. Зададим новое имя нашему отчету - «Товары на остатках и в резерве»:

 

 

 

Откроем форму отчета:

 

 

 

Форма отчета абсолютна безлика, нет даже названия в шапке. Зато есть две даты. Обратим внимание на это, ведь нам нужна одна дата. Но не спешим убирать одну из дат, это настраивается в модуле отчета, откроем его. Для этого закрываем форму, нажимаем «Действия - Открыть модуль объекта». Модуль объекта выглядит на диво лаконично, Вот он весь:

 

 

Обратим внимание на строки в конце модуля:

 

 

 

Собственно здесь настраивается то, как мы вводим период: 1 - на дату (как нам и нужно), 0 - произвольный период (в это случае будут две даты), неделя, декада и прочее. Оставим без изменения.

 

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

 

Найдем функцию УстановитьНачальныеНастройки и посмотрим, что там внутри:

 

 

 

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

 

ТекстЗапроса = "...:

 

 

 

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

 

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

 

Замечание 1: Если у кого-то возникают вопросы вроде «Что такое левое соединение», то данные вопросы выходят за рамки статьи. Предполагается, что читатель знает язык SQL в той интерпретации, в которой он используется в платформе 1С 8.1.

 

Итак, переходим к запросу. Наведем мышь на текст запроса и нажмем правую клавишу мыши. В контекстном меню выберем пункт Конструктор запроса. Откроется следующее окно:

 

 

 

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

 

Очистим среднюю часть и выберем необходимые нам таблицы: Товары на складах остатки, Товары в резерве на складах остатки и Цены номенклатуры срез последних:

 

 

 

Заполним поля (правая часть). Из таблицы Товары на складах выберем поля Склад, Номенклатура, Характеристика номенклатуры, Серия номенклатуры, Количество остаток. Из таблицы Товары в резерве на складах выберем Количество остаток (это другой остаток - резерв), из таблицы Цены номенклатуры Тип цен и Цена:

 

 

 

Кнопкой  добавим два новых поля: Сумма на складе и Сумма в резерве (цена. помноженная на остаток на складе и остаток в резерве). После нажатия на указанную кнопку откроется окно в котором можно сконструировать нужное нам выражение:

 

 

 

Это Сумма на складе, аналогично, Сумма в резерве:

 

 

 

В итоге, в полях у меня получилось следующее:

 

 

 

Для таблиц Товары на складах, Товары в резерве на складах, Цены номенклатуры необходимо установить даты, на которые мы рассчитываем остатки и цены. Для этого выберем таблицу Товары на складах и нажмем кнопку  - параметры виртуальной таблицы. Откроется окно параметров. В строке Период напишем &ДатаКон:

 

 

 

Этим мы указали, что остатки будут рассчитываться на конец периода, который мы будем задавать при формировании отчета. Аналогично настроим для других таблиц.

 

Дальше, зададим псевдонимы для выбранных полей на закладке «Объединения / псевдонимы»:

 

 

 

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

 

Установим связи между таблицами на закладке «Связи»:

 

 

 

На закладке «Итоги» выберем числовые поля, - по ним будут рассчитываться итоги. По полю Цена берем максимум, по остальным - считаем суммы.

 

 

 

Теперь выберем те поля, которые будут использованы в настройках построителя.  Перейдем на закладку «Построитель». На закладке «Построитель» находятся еще пять закладок. На закладке «Поля» выберем те поля, которые будут использоваться при настройке отчета. В нашем случае выберем все поля:

 

 

 

Галочки в средней колонке «Использовать дочерние» означают, что мы можем выбирать не только Склад, Номенклатуру и т.п., но и любое дочернее поле - Тип склада у склада, ставку НДС, артикул у номенклатуры и т.д. Дочерние можем использовать только у сложных типов данных, у простых (Цена, Количество, Сумма) - нет.

 

На закладке «Условия» выберем те поля, на которые можно будет установить отбор. В нашем случае - поля Тип цен, Склад, Номенклатура:

 

 

 

На закладке «Порядок» выберем поля упорядочивания. Выберем поле  Номенклатура:

 

 

 

Ну и наконец, закладка «Итоги». Выберем Склад, Номенклатура, - по этим полям будут вычисляться итоги:

 

 

 

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

 

Нажимаем Ок, - наш запрос сформирован.

 

После текста запроса находится настройка Свойств и Категорий. Закомментируем для простоты:

 

 

 

Ниже находится раздел, в котором настраиваются представление полей. Настроим представления для полей Склад, Номенклатура, Характеристика номенклатуры, Серия номенклатуры, Тип цен:

 

 

 

При этом первое поле - то, как мы настроили представление на закладке «Объединения / псевдонимы», второе поле - то, как оно будет отображаться в отчете. Например характеристика в запросе указана как «ХарактеристикаНоменклатуры», а представление укажем «Характеристика номенклатуры».

 

Настроим вычисляемые поля, - показатели:

 

 

При этом первое поле - то, как мы настроили представление на закладке «Объединения / псевдонимы». Второе поле - то, как оно будет отображаться в отчете. Третье - будет ли данный показатель включен по умолчанию. Четвертое - формат поля. Пятое и шестое - наименование группы и представление (можно несколько полей объединить в одно поле).

Для поля Цена, - ставим формат Число 15.2, группа Цена. Для остатков - формат 15.3, группа Количество. Для сумм формат 15.2, группа Сумма.

 

Настроим предопределенные группировки:

 

 

 

Этими настройками мы установили то, что по-умолчанию, строки будут группироваться сперва по складу, затем по номенклатуре. Могли бы и не ставить, а настраивать в самом отчете, но я считаю, что по-умолчанию группировки должны быть. Аналогично, есть настройка и для колонок, но их использовать не будем.

 

Теперь предопределенные отборы:

 

 

 

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

 

Ну и наконец, дополнительные поля. Что это такое? Мы указали, что в отчете будем использовать Номенклатуру, а так же указали, что будем использовать любые дочерние поля этого поля. Если требуется указать, что обязательно будет выводится Артикул, то это будет дополнительным полем и мы должны были бы написать:

 

 

 

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

 

Собственно, это все. Можем запускать отчет. Сохраним изменения и откроем в режиме предприятия:

 

 

 

Как видите, дата одна и она не заполнена (расчет производится на конец текущего дня), три предопределенных отбора. Щелкнув по кнопке «Настройка» откроем настройки:

 

 

 

Есть показатели, настроены группировки. А если щелкнуть по кнопке «Расширенная настройка», то увидим в дополнительных полях Артикул:

 

 

 

Характеристику и Серию я выбрал сам. Выводиться данные поля будут с группировками (это у нас номенклатура) причем, показаны будут после Наименования.

 

Выберем Тип цены в отборе и сформируем отчет:

 

 

  

Замечание 2: В настройка запроса мы указали параметр ДатаКон. Кроме этого показателя есть еще три предопределенных: ДатаНач, ДатаНачала, ДатаКонца. Чем они отличаются? ДатаНачала и ДатаКонца это именно даты, первая - дата начала периода (если дата пустая, то начало ведения учета), вторая - дата конца периода (если дата пустая, то конец текущего дня). ДатаНач и ДатаКон - это границы периодов (дата + указание включения или исключения пограничного значения). Чем это грозит? К примеру, нужно отобрать документы по датам. Если в тексте запроса указать Документ.Дата >= &ДатаНачала, то все будет хорошо, если же сравнивать не с ДатаНачала, а с ДатаНач, то выполнение отчета будет прервано с ошибкой, ибо нельзя сравнивать Границу и Дату! Таблицы данных понимают все эти параметры.

 

Замечание 3: Если отчет строится как у нас На дату, то использовать можно показатели ДатаКон и ДатаКонца. Показатели ДатаНач и ДатаНачала будут указывать на начало ведения.

 

Замечание 4: В нашем отчете мы установили отбор по Типам цен. Немного подумав, можно заметить, что формировать отчет без выбора Типа цены смысла мало. Если мы забудем выбрать тип цены, отчет ругаться не будет, но толку от того, что окажется в колонках Цена, Сумма будет мало. Как с этим бороться? Можно вынести отбор типу цен на командную панель формы, в районе выбора даты, и запретить формировать отчет без выбора этого параметра. Но как указать в запросе? В параметрах виртуальной таблицы Цены номенклатуры укажем:

 

 

 

Процедура СформироватьОтчет должна быть такой:

 

 

 

ТипЦен должен быть реквизитом отчета, иначе этот параметр не будет виден в модуле объекта!

 

И на последок. Поначалу может показаться все слишком замороченным, но если составить план проделанных работ, то мы получим следующее:

  1. Указали настройку периода;
  2. Сформировали запрос и указали, какие поля мы будим настраивать построителем и как (по каким можно группировать данные, по каким сортировать, как итоги рассчитывать);
  3. Настроили представление полей;
  4. Задали начальные настройки.

Как видите, всего четыре пункта.

Надеюсь, кому-нибудь сгодится :)

 

Файлы

Наименование Файл Версия Размер Кол. Скачив.
Пример отчета Товары на остатках и в резерве с ценами
.erf 16,84Kb
06.05.13
1492
.erf 16,84Kb 1492 Скачать

См. также

Лучшие комментарии

31. Serj1C 07.12.2009 13:02
(20) Все очень просто. В процедуре ОбновитьОтчет после стандартного вывода в табличный документ с ним можно делать что угодно. Например:
Процедура ОбновитьОтчет() Экспорт
	
	СформироватьОтчет(ТабличныйДокумент);
	
	МакетДоп = ПолучитьМакет("ДополнительныеОбласти");
	ТабличныйДокумент.Вывести(МакетДоп.ПолучитьОбласть("Подвал"));

КонецПроцедуры // ОбновитьОтчет()
...Показать Скрыть
Ответили: (37)
# Ответить
6. larisab 06.12.2009 18:24
В 8.1 построитель отчета оставлен для поддержки уже написанных на 8.0 конфигураций, все новые отчеты пишутся с использованием СКД. Тем ценнее статья.
+ 3 [ w-divin; Vladal; alex_art; ]
# Ответить
4. I_G_O_R 06.12.2009 18:14
лет бы несколько назад, а так уже СКД
# Ответить
15. Мастер1С 07.12.2009 08:14
СКД отличный механизм, но привыкли бухгалтера к настройкам построителя. Все знают, что такое показатель, как настроить группировку и вывести дополнительный реквизит.
Показывать отчеты под СКД - ломать их мирровозрение. Когда-то это придется сделать, согласен, но не раньше чем необходимо.
Ответили: (18) (140)
+ 2 [ AleksR; Anything; ]
# Ответить
50. Йожкин Кот 11.12.2009 15:47
Хотелось бы добавить, следующее:
1. Подобным функционалом владеют еще и отчеты ОтчетОстаткиИОбороты, ОтчетСписокКроссТаблица и ОтчетДиаграмма.

2. Если запрос простой, его текст можно и не писать. Достаточно заполнить спец. макет группировками и показателями и вызвать процедуру УправлениеОтчетами.ЗаполнитьНачальныеНастройкиПоМакету. Как пример, в УТ можно глянуть отчет ПланируемыеПоступленияДенежныхСредств.

"+" за старания.
+ 2 [ dr2c; artbear; ]
# Ответить

Комментарии

1. CheBurator 06.12.2009 17:34
хороший материал!!!
+ 1 [ aleks_19; ]
# Ответить
2. d_chekunov (файл скачал) 06.12.2009 18:01
Большое Спасибо за статью. Как раз собирался разбираться как это устроено. Жаль что плюсануть можно только разок.
# Ответить
3. alex_art 06.12.2009 18:03
Хороший материал, но все таки такой отчет по-моему все таки будет быстрее написать через СКД
# Ответить
4. I_G_O_R 06.12.2009 18:14
лет бы несколько назад, а так уже СКД
# Ответить
5. wirg (файл скачал) 06.12.2009 18:21
СКД не очень удобный механизм, универсальные отчеты и построитель лучше
Ответили: (9)
+ 1 [ Anything; ]
− 1 [ sashocq; ]
# Ответить
6. larisab 06.12.2009 18:24
В 8.1 построитель отчета оставлен для поддержки уже написанных на 8.0 конфигураций, все новые отчеты пишутся с использованием СКД. Тем ценнее статья.
+ 3 [ w-divin; Vladal; alex_art; ]
# Ответить
7. larisab 06.12.2009 18:54
А еще ценнее была бы статья о том как внести изменения в отчет, построенный с помощью построителя на примере ОтчетСписокКроссТаблица или ОтчетОстаткиИОбороты, так как на них написаны большинство отчетов в стандартных конфигурациях.
# Ответить
8. gilv 06.12.2009 20:16
ждем про СКД, а пока ПЛЮС :D
# Ответить
9. I_G_O_R 06.12.2009 20:33
(5) чем интересно построитель лучше :?:
# Ответить
10. mirco 06.12.2009 21:13
Бегло ознауомился, попозже почитаю поподробней, но идея понравилась. Да и за потраченное время +
# Ответить
11. Ish_2 06.12.2009 21:25
Повторю за всеми , пора переходить на СКД, а так плюс , конечно.
# Ответить
12. Мастер1С 07.12.2009 07:06
Спасибо всем откликнувшимся.

Мое мнение - под 8.1 в стандартных конфигурациях этого хватит.
Самописные - видимо СКД, как более продвинутая технология.
Но не загорами 8.2, что там будет - к тому и будем адаптироваться.
+ 1 [ larisab; ]
# Ответить
13. Serj1C 07.12.2009 07:22
Плюс. Но как и говорили выше, это механизм давно минувших дней. Но именно он стал пропотипом существуюшей СКД. Я так думаю.
# Ответить
14. Just 07.12.2009 08:00
Все это конечно хорошо, сам так делал и иногда делаю сейчас,
но как-то я уже писал на форуме, но никто не ответил :cry: ,
часто бывает отчет по своим рег. и т.п. необходимо распечатать и подписать, кладовщик, бухгалтер, не важно. Так вот как в такой отчет вывести строку для подписей в конце??? Если б не такая вот канитель, то было бы вообще нормально всё.
Ответили: (16)
# Ответить
15. Мастер1С 07.12.2009 08:14
СКД отличный механизм, но привыкли бухгалтера к настройкам построителя. Все знают, что такое показатель, как настроить группировку и вывести дополнительный реквизит.
Показывать отчеты под СКД - ломать их мирровозрение. Когда-то это придется сделать, согласен, но не раньше чем необходимо.
Ответили: (18) (140)
+ 2 [ AleksR; Anything; ]
# Ответить
16. Мастер1С 07.12.2009 08:14
(14) А не пробовал после вывода отчета добавить строки из макета отчета? Попробую дома, может получится...
Ответили: (18) (17)
# Ответить
17. Just 07.12.2009 08:47
(16) а каким образом? фиксированного макета нет у Универ.Отчета, куда добавить строки чтоб вывести их после таблицы, типа
Директр ____ / <ФиоДир> Кассир _ / <ФиоКассир>
вот ссылка на форум,
форум
никто не подкинул идейки (хотя я думаю народу много прочитало), если есть мысль поделись, а то мне что-то ничего путнего не пришло.
Ответили: (34) (25) (24) (112)
# Ответить
18. Serj1C 07.12.2009 09:04
(15) поидее можно нарисовать один раз форму настройки СКД такого вида как она была в УниверсальномОтчете
(16) пробывал, все получалось
Ответили: (20)
# Ответить
19. Evg-Lylyk 07.12.2009 09:12
Уже пройдено, но материал все равно полезный. Есть пожелания к оформлению:
1. код картинкой не очень хорошо (есть обработка http://www.infostart.ru/public/19856/ )
2. картинки лучше в формате PNG не будет ухудшения качества и размер будет маленький
# Ответить
20. Just 07.12.2009 09:13
(18) как пробывал? подробнее можешь пояснить?
Ответили: (31)
# Ответить
21. Шёпот теней (файл скачал) 07.12.2009 09:41
... сам отчёт даЁт не верные цифры ... на одну номенклатуру, дату, склад :

номенклатура...колОст....колРез
болт М14х30......184..........30.... данный отчёт
болт М14х30........92.........15.... штатный отчёт (происходит удвоение данных)

... вот ...

за саму статью большое спасибо - четко, ясно, наглядно, ПОНЯТНО .... !

... ВОТ ...
Ответили: (23)
# Ответить
22. Valerich 07.12.2009 09:42
За подробное и толковое описание плюс. Но статья действительно устарела. В конфе БП уже давно есть аналог на скд. Заготовка готового отчета называется "ШаблонТиповогоОтчета". Все что там надо сделать - это настроить макет (СКД). Все остальные системы вывода, оформления (кстати в случае простых настроек аналогичны тем что привычны) и прочего уже происаны в конфе.
Сейчас под рукой нет УТ не могу проверить, но в ЗУПе и в УПП тоже большинство отчетов строится через СКД на базе универсального.
Ответили: (32) (26)
# Ответить
23. Valerich 07.12.2009 09:45
(21) Саша, могу тебя уверить - это проблемы составления правильного запроса. Особенно когда начинаешь делать кучу соединений.
Или если выводишь движения с точностью до регистратора - тогда могут плыть итоги по каждой строке...
Ответили: (24)
# Ответить
24. Шёпот теней (файл скачал) 07.12.2009 09:57
(23) ... понятно ... спасибо ...

...

в целом моё мнение:

такие отчеты "долгие" и + проблема "переделок" в (17) ...

но "красивы" своей универсальностью и "стандартностью" ...

... ВОТ ...

п.с. ... "универсальность" это зло ...
Ответили: (25)
# Ответить
25. larisab 07.12.2009 10:02
(24) > "проблема "переделок" в (17)"
Учится надо :). Эти знания проверяются при сдаче на специалиста по УТ, там все билеты с подобными заданиями. Азы...
Ответили: (27)
# Ответить
26. Just 07.12.2009 10:07
(22) а что-то в стандартной конфе БП 1,6,20 нет "ШаблонТиповогоОтчета".
да и в ЗУП и УТ нету тоже
Ответили: (30)
# Ответить
27. Just 07.12.2009 10:13
(25)
Учится надо . Эти знания проверяются при сдаче на специалиста по УТ, там все билеты с подобными заданиями. Азы...

это Вы о чем? Про какие азы? Что-то я непомню там требования подставить подпись при использовани универ. отчета
# Ответить
28. Just 07.12.2009 10:14
а вот при сдаче по платформе, требуется отчеты на СКД делать
# Ответить
29. 4ish 07.12.2009 10:17
Спасибо за статью. Все просто и понятно даже для такого новичка, как я. :)
# Ответить
30. Valerich 07.12.2009 10:29
(26) в БП его кажется удалили в 19 релизе (я у себя оставил).
В ЗУП и УПП можно смотреть в принципе любой отчет, в котором есть макет СКД - они построены универсально
Ответили: (53)
# Ответить
31. Serj1C 07.12.2009 13:02
(20) Все очень просто. В процедуре ОбновитьОтчет после стандартного вывода в табличный документ с ним можно делать что угодно. Например:
Процедура ОбновитьОтчет() Экспорт
	
	СформироватьОтчет(ТабличныйДокумент);
	
	МакетДоп = ПолучитьМакет("ДополнительныеОбласти");
	ТабличныйДокумент.Вывести(МакетДоп.ПолучитьОбласть("Подвал"));

КонецПроцедуры // ОбновитьОтчет()
...Показать Скрыть
Ответили: (37)
# Ответить
32. artbear 07.12.2009 16:15
(22) Подобный шаблон и еще несколько полезных шаблонов СКД юзается при автогенерации файлов отчетов СКД в обработке "Универсальная консоль отчетов"
http://infostart.ru/public/16782/
рекомендую.
Новые отчеты создавать очень легко и просто.

У автора консоли даже есть отдельная статья для новичков, как с помощью его консоли быстро создать удобный файл отчета на базе собственной настройки СКД.
# Ответить
33. acsent 07.12.2009 17:56
Не актуально. Сейчас принято делать отчеты на основе "Шаблона типового отчета"
# Ответить
34. WKBAPKA 07.12.2009 18:22
2(17): да это действительно большая проблема... это конечно классно, что разработчики типовой УТ себе облегчили нелегкую жисть, а что теперь нам внедренцам делать с этим прекрасным универсальным отчетом х.е.з.
единственное, что можно делать, получать из построителя готовый макет и его уже ковырять... в конец то табличного документа можно вывести секций сколько угодно, а вот подправить шапку и заголовки табличной части будет попроблематичнее...
# Ответить
35. Merlin12042009 (файл скачал) 07.12.2009 20:50
Прекрасная работа, хорошо бы аналогичную статью почитать по СКД
+ 1 [ lsp71; ]
# Ответить
36. Flashback1979SE 08.12.2009 05:04
Плюсанул, так как до сих пор помню, как отчет, который был оценен на 6 часов, я сделал за 15 мину:-). Благо прям перед этим разобрал по полочкам этот объект:-). Была бы эта статья у меня перед глазами, тогда (давно), то и на разбор ушло бы намного меньше. Это поможет в основном начинающим, ну а опытным, как справка, вдруг по запарке забудут что-нить.
# Ответить
37. Just 08.12.2009 07:10
(31) где ж ты раньше-то был :) , спасибо
# Ответить
38. MSensey 09.12.2009 09:43
Как все сложно-то. СКД рулит, а на 8.2 темболее рулит ;)
# Ответить
39. Vladimir_vk 09.12.2009 12:32
Очевидно, что это один из быстрых способов построения отчетов в типовых конфигурациях. Один недостаток - его можно использовать только когда в запросе извлекаются конечные данные.
# Ответить
40. ArtemK 09.12.2009 13:17
Поставил "+" за полезность материала для тех кто "курочит" типовые, особенно начинающих, а также за труд по составлению.
+ 1 [ AnastD; ]
# Ответить
41. IgorMgn 09.12.2009 13:46
Спасибо! Уже пригодилось в доработке типового отчета.
# Ответить
42. DoctorRoza 09.12.2009 20:19
Отличная статья! Плюс однозначно. Только есть просьба. Выложите эту статью в формате *.doc или др. текстовом формате. Я начинающий, поэтому для подробного разбора html не очень удобно. Заранее благодарю!
Ответили: (43)
# Ответить
43. Мастер1С 09.12.2009 20:23
(42) Давайте мыло, кину
Ответили: (44)
# Ответить
44. DoctorRoza 09.12.2009 20:25
(43) DoctorRoza@mail.ru
:oops: :oops: :oops:
Ответили: (45)
# Ответить
45. Мастер1С 10.12.2009 07:19
(44) отправил
# Ответить
46. logarifm 10.12.2009 10:52
Есть и минуса этого использования, при сложных расчетах колонок, которые нельзя вычислить в запросе в макет к сожалению не попадут, а в другом я всегда это использую уже примерно года два или побольше :)
Ответили: (49)
# Ответить
47. defini 10.12.2009 11:20
Для начинающих программистов самое то!
+1 адназначна!
# Ответить
48. JIGIT (файл скачал) 10.12.2009 19:52
Спасибо! Пригодилось!
# Ответить
49. Мастер1С 10.12.2009 20:54
(46) Это верно, вариант "Одного запроса"
Но с опытом приноравливаешся, и случаев, когда одним запросом не справится, становится все меньше.
# Ответить
50. Йожкин Кот 11.12.2009 15:47
Хотелось бы добавить, следующее:
1. Подобным функционалом владеют еще и отчеты ОтчетОстаткиИОбороты, ОтчетСписокКроссТаблица и ОтчетДиаграмма.

2. Если запрос простой, его текст можно и не писать. Достаточно заполнить спец. макет группировками и показателями и вызвать процедуру УправлениеОтчетами.ЗаполнитьНачальныеНастройкиПоМакету. Как пример, в УТ можно глянуть отчет ПланируемыеПоступленияДенежныхСредств.

"+" за старания.
+ 2 [ dr2c; artbear; ]
# Ответить
51. СветикК 14.12.2009 11:07
спасибо
# Ответить
52. AVARY 14.12.2009 14:43
Большое спасибо! Наконец-то я "подружился" с отчетами :)
# Ответить
53. i.kovtun 14.12.2009 22:41
(30)
На ИТС есть поставка подсистемы "Шаблон типового отчета", за 15 минут можно встроить с поддержкой поставщика в любую конфигурацию.
Ответили: (55)
# Ответить
54. slaviksoft 31.12.2009 10:38
автор маладец
если бы 1С такие описания к своим механизмам делала - жить стало бы легче
# Ответить
55. artbear 31.12.2009 11:05
(53) В какой ИТС, например, есть?
что-то я в своих не нашел?
# Ответить
56. i.kovtun 04.01.2010 15:46
Декабрь 2009
\1CIts\EXE\Treport
Возможно это есть только на партнерском ИТС, но вроде это общедоступная "демка".
+ 1 [ Istur; ]
# Ответить
57. sergiowood (файл скачал) 05.01.2010 13:57
Добрый день. С Новым Годом! Можно мне получить на мыло (F_S_S@ukr.net) эту статью в формате *.doc.
# Ответить
58. Swetlana 28.01.2010 19:19
Хорошая статья! Спасибо. :)
# Ответить
59. sss999 29.01.2010 12:37
Вот я начинающий,и мне непонятно,почему из резерва взяли только количество,а не количество и номенклатура,мне непонятно по какому полю будет соединение происходить.
# Ответить
60. sss999 29.01.2010 12:54
а понял,сорри затупил,а построитель он что делает макет формирует?
# Ответить
61. IDija (файл скачал) 02.03.2010 15:42
очень помог. с выбором цен
# Ответить
62. bashhhh 18.03.2010 06:44
Как можно изменить представление показателя, если как источник используется регистр накопления.
Ведь в форме настройки табличное поле Показатели недоступно для редактирования.
Как пример.
Ведомость по взаиморасчетам с контрагентами.
В отборе ставим вид контрагента покупатель - в отчете пишет "Долг покупателя" вместо Начальный остаток
В отборе ставим вид контрагента поставщик - в отчете пишет "Долг перед поставщиком". вместо Начальный остаток
# Ответить
63. valya977 18.05.2010 06:30
Спасибо за хорошую статью
# Ответить
64. Temniy 11.06.2010 15:13
Блин круто (Вот это способ) :D
# Ответить
65. yurikovd 06.07.2010 05:30
честное слово выручили!!!Вот только проблема у меня половина учреждений на УТ 10.1, а там как известно ---
# Ответить
66. yurikovd 06.07.2010 05:31
а где можно почитать поподробнее про УО???
# Ответить
67. Мастер1С 06.07.2010 05:46
А что такое УО?
Ответили: (68) (73)
# Ответить
68. vip 06.07.2010 06:52
(67) УО - умственно отсталый (с) "Три с половиной дня из жизни Ивана Семёнова — второклассника и второгодника"
Ответили: (69)
# Ответить
69. Мастер1С 06.07.2010 06:57
(68) Думаю что в контексте данной статьи это не вариант
# Ответить
70. nafa 09.07.2010 06:00
Автору спасибо огромное! За 2 часа по инструкциям в статье сделал отчет, на который иначе ушло бы два дня.
# Ответить
71. max5600 (файл скачал) 16.08.2010 07:19
Скажите пожалуйста. Можно ли просто подключить файл .erf в 1С УТ и пользоваться данным шаблоном, или все по шагам все проделывают как автор написал?
# Ответить
72. gorodok11 16.08.2010 23:16
У меня есть похожий отчет, только на основе универсального отчета, по регистрам партий (комплексная конфигурация, УПП). Проблема с выводом начальных остатков и расшифровок по документам. При выводе расшифровки строки в режиме период+регистратор и отключения детальных записей - все получается (проверено) кроме начальных остатков. Кто-нибудь поможет решать эту проблему?

http://files.mail.ru/I4ZLS2
Ответили: (79)
# Ответить
73. lakzn (файл скачал) 13.09.2010 15:25
(67) Думаю, УО - это универсальный отчет :)
А не подскажете, можно программно задать условное оформление поля? Например, я добавляю дополнительное поле "Дата" :
УниверсальныйОтчет.ДобавитьДополнительноеПоле("Регистратор.Дата", ТипРазмещенияРеквизитовИзмерений.Отдельно, 3);
Как задать, чтобы оно выводилось в формате dd.MM.yyyy (без времени)?
# Ответить
74. flashdancer 21.10.2010 12:45
Спасибо огромное за такое пояснение!!! :!: Все понятно и одновременно ничего лишнего!!!
Мне очень помогло :D
# Ответить
75. Tarzan_Pasha (файл скачал) 09.11.2010 13:47
Статья очень полезная. И пример тоже. В примере исправить ошибку надо в одном месте.
УниверсальныйОтчет.ДобавитьПоказатель("СуммаРезерв", "Сумма остаток в резерве", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма");
вот такая строчка должная быть. а не
УниверсальныйОтчет.ДобавитьПоказатель("ОстатокРезерв", "Сумма остаток в резерве", Истина, "ЧЦ=15; ЧДЦ=2", "Сумма", "Сумма");
# Ответить
76. toxicoff (файл скачал) 20.01.2011 19:25
Сделал всё вроде по инструкции, строки, колонки, номенклатура выводится... И получается вроде правильный отчет, да только не заполненый)
показатели не показывает( почему может быть? может в запросе как то накосячил?
Ответили: (78)
# Ответить
77. wrooom (файл скачал) 21.01.2011 17:03
Вот вы всё хорошо расписали, а СерииНоменклатуры у вас не выводятся ни как отдельное поле, ни в группировках..

А как же быть, если нужно отображать остатки в разре серий?

+ если я использую вложенный запрос, необходимо ли внутри вложенного запроса применять конструкции построителя?
# Ответить
78. rujopost (файл скачал) 13.04.2011 15:43
(76) Точно так же было. Оказалось, что на закладке Итоги слетели настройки. Вероятно, глюк платформы.
# Ответить
79. SuhoffGV (файл скачал) 19.05.2011 18:48
(72)
А документы движения показываются или вы их не выводите?
Сделал по инструкции (ТоварыОрганизацийОстаткиИОбороты), без детальных записей все норм. С детальными записями не выводит документы движения. Тот-же запрос в консоли запросов выбирает нормально.
# Ответить
80. budanil 25.05.2011 12:08
спасибо, чувак. Намного лучше прочитать статью чем самому с нуля разбирацо)))
# Ответить
81. vstorozhuk 30.05.2011 18:08
Огромное спасибо!!! очень полезная статья)))
# Ответить
82. trad72 12.09.2011 02:56
спасибо, материал помог разобраться в стоявшей передо мной проблемой. + однозначно )
# Ответить
83. aleksey51286 (файл скачал) 21.09.2011 10:43
спасибо за публикацию, очень интересно
# Ответить
84. pereligins 21.09.2011 19:27
Спасибо за публикацию!!! Очень спасла! Сделал отчет на СКД, но клиенту захотелось чтобы он был на основе универсального, т.к. его сотрудники привыкли к интерфейсу. Пришлось переделать, но долго не мог понять как сделать на основе запроса, а не по одному регистру. Спасибо!
# Ответить
85. vovche (файл скачал) 22.09.2011 01:51
спасибо, слава богу что я пришел в 1с когда универсальный отчет уже начал отмирать :)
# Ответить
86. svetic (файл скачал) 23.09.2011 09:15
Большое Спасибо за статью, помогла разбираться как это устроено. Но хорошо бы облегчить вот такой момент - часто бывает отчет по своим рег. и т.п. необходимо распечатать и подписать, кладовщик, бухгалтер, не важно. Так вот как в такой отчет вывести строку для подписей в конце???
Ответили: (88)
# Ответить
87. asg1975 (файл скачал) 27.09.2011 09:58
Прямо мини учебник. Быстро понять азы - самое то. Огромное спасибо, сам начинал с данного примера!!!
# Ответить
88. Мастер1С 27.09.2011 10:32
(86) svetic,
Необходимо выводить строки в уже полученный макет. Т.е. сформированный макет не выводим сразу, а перехватываем, добавляем в конец нужные нам строки, и только после выводим.
# Ответить
89. puxlichok 27.09.2011 18:37
Очень помогло разобраться в сабже. Спасибо)
# Ответить
90. olexandr (файл скачал) 28.09.2011 10:24
Спасибо, очень хорошая статья - научила пользоваться универсальным отчетом, хотя СКД конечно пофункциональней будет.
# Ответить
91. DragonAgo 28.09.2011 10:31
Отличная статья, переписала типовой отчет добавив необходимые для пользователя поля и ограничила по правам видимость этих полей.
# Ответить
92. pmtvv 09.10.2011 14:25
за статью, спаибо
# Ответить
94. forse 20.10.2011 11:03
Хорошая статья спасибо
# Ответить
95. Landrey 16.11.2011 13:09
Отличная статья все по полочкам. Для начинающих в самый раз. +
# Ответить
96. Anton_prezident 05.12.2011 22:59
Спасибо,много хорошей информации
# Ответить
97. iksanova 19.12.2011 07:11
Хороший пример!
# Ответить
98. ipyu 05.01.2012 11:28
Большое спасибо, очень познавательно.
# Ответить
101. chikov 17.01.2012 16:30
Большое спасибо! Очень толково и подробно.
# Ответить
102. alma-soft (файл скачал) 19.01.2012 13:45
спасибо за пример, воспользовался им при внедрении УТ 10.3, требовался отчет по формированию остатков на складе с учетом резерва, и указанием типа цены,
# Ответить
103. Dysya 25.01.2012 19:09
Помогите, пожалуйста, с отчетом. Попробывала сделать. Цены номенклатуры с остатками в рознице. Есть остатки по Рознице Сумма по рознице, а цены пустые. Самое интересное, что в какой-то момент я их видела, потом удалила отчет, а в новом никак не могу сделать. Пожалуйста, оч нужна помощь!!!!
# Ответить
104. Dysya 26.01.2012 10:38
Все получилось! Спасибо! Оч полезная статья!
# Ответить
105. xbic (файл скачал) 30.01.2012 09:36
На отлично
# Ответить
106. Bomba1911 01.02.2012 13:54
Спасибо за статью. Все просто и понятно даже для такого новичка, как я.
Наконец-то я "подружился" с отчетами.
Уже пригодилось в доработке типового отчета.
# Ответить
107. Boudybuilder 13.02.2012 00:57
Действительно полезная статейка.
Да и у меня был прикол , что в зависимости од разных настроек иерархии менялся порядок строк... При чем тут иерархия не пойму. Но хаос присутствовал...
# Ответить
108. BalVlad (файл скачал) 15.02.2012 13:47
После прочтения статьи для меня наконец-то все разложилось по полочкам в вопросе по отчетам. Спасибо!
# Ответить
109. Вася_Пупкин 16.02.2012 10:18
Материал неплохой, но все таки такой отчет по-моему все таки будет быстрее написать через СКД.
Да и курочить типовую помоему не особо правельно.
Хотя на вкус и цвет как говориться....
Ответили: (111)
# Ответить
110. Вася_Пупкин 16.02.2012 10:19
Да ещё! Ставлю + =)
# Ответить
111. Flashill 25.02.2012 08:53
(109) Вася_Пупкин, тут не курочить типовую, тут скопировать типовой отчет и на копии провести изменения.
# Ответить
112. Flashill 25.02.2012 08:59
(17) Just, тоже как-то нужно было разработать отчет произвольной формы. Думал уже на макетах делать, но разобрался и сделал на СКД. Гриф "Утверждаю", места подписей руководителей и т.п.
# Ответить
113. Scukosan (файл скачал) 28.02.2012 12:32
Спасибо за статью
Пользуюсь СКД для создания отчетов
интересно почитать как делали раньше)
# Ответить
114. 1c-newbee 28.02.2012 22:34
Плюсую, отлично все разжевано
# Ответить
115. wowkai 14.03.2012 18:35
как раз изучаю отчеты на СКД. спасибо за хороший и полезный материл. кинул на печать и в библиотечку)
# Ответить
116. Alexey55 19.03.2012 08:57
Спасибо за статью! очень доступно описано и очень вовремя!)
# Ответить
117. Паланик 18.04.2012 10:53
Еще бы рассказал суть, когда просто регистр передается в УО. А за статью спасибо!
# Ответить
118. BAMPER 05.06.2012 21:05
Шикарная статья =) Автору спасибо!!!
# Ответить
119. trumanl 19.06.2012 12:23
все очень понятно расписано! спасибо.
возможно стоит указать в статье, что возможен более простой вариант и без запроса, когда указывается имя одного регистра, по которому нужно получить необходимую информацию.
# Ответить
120. revril (файл скачал) 18.11.2012 19:19
спасибо!Статья очень ценная!Скачаю отчет посмотрю как наглядно делать
# Ответить
121. grost 27.11.2012 20:54
Спасибо за статью. Материал помог разобраться в технологии УО, хочу также разобраться с СКД.
# Ответить
122. 26178@mail.ru (файл скачал) 09.12.2012 21:28
Действительно полезная статейка.
Да и у меня был прикол , что в зависимости од разных настроек иерархии менялся порядок строк... При чем тут иерархия не пойму. СПАСИБО++++++++++
# Ответить
123. 26178@mail.ru (файл скачал) 23.12.2012 01:49
Спасибо! Пригодилось!, на основании наколякол кое что.
# Ответить
124. Bukaska 23.12.2012 02:02
Отличная статья! Тоже поставила +++
# Ответить
125. Алпитон 24.12.2012 06:21
Взял готовый отчёт на основе УО и добавил в запрос поле. Если выполнить запрос в консоли запросов, в новом поле данные есть. А в отчёте данные не выходят. В процедуре УстановитьНачальныеНастройки новое поле описал при помощи "УниверсальныйОтчет.ДобавитьПоказатель". Наверно тут что-то неправильно. Как нужно оформлять новые поля?
# Ответить
126. vis_tmp 18.01.2013 09:45
"Аналогично, если у нас есть поля, не показатели, по которым мы не группируем данные, то в отчет они по умолчанию не попадут. Но мы можем указать их в качестве дополнительных полей что бы отображались."

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

Кто-нибудь делал так?
# Ответить
127. kosvi 04.03.2013 19:51
Хороший материал! Большое спасибо)
# Ответить
128. RocKeR_13 (файл скачал) 08.04.2013 10:29
Спасибо за статью) Делал по данной схеме отчет по своему новому регистру (универсальный врал безбожно по остаткам) в УПП. Единственное: не хотел свойства добавлять вот тут
УниверсальныйОтчет.ДобавитьВТекстЗапросаСвойстваИКатегории(ТекстЗапроса);

ругался на неверный синтаксис в запросе. В итоге не стал особо заморачиваться, выцепил в отладке финальный текст запроса, поправил его руками и вставил вместо исходного текста запроса, закомментив строку добавления свойств и категорий.
# Ответить
129. Baibolaika 30.05.2013 12:27
Добрый день! Как сделать в таком отчете колонку, в поля которой можно вводить цифры например? Кто знает? помогите, везде уже искала, и уже начинаю сомневаться в универсальности отчета
# Ответить
130. Мастер1С 30.05.2013 12:53
Может, пора на СКД переходить?
Я уже все отчеты пишу в СКД.
Ответили: (131)
# Ответить
131. Baibolaika 30.05.2013 13:24
(130) Мастер1С, а в СКД возможно сделать такое?
# Ответить
132. Мастер1С 30.05.2013 13:36
(131) Иногда не получается сделать вывод в нужном виде, в этом случае приходится формировать вывод самостоятельно, используя СКД для отборов, каких-то настроек. А в целом очень мощный инструмент.
Ответили: (134)
# Ответить
133. Sabfir 30.05.2013 14:11
Автору огромное респектище.
Вот как надо писать документацию к типовому функционалу.
Не смотря на любовь к платформе 1С и типовым конфигурациям, меня огорчает описание функционала типовых решений. Некоторый функционал просто не описан
Благодаря таким людям, как автор данной статьи, 1С из непонятного становиться простым и доступным.
# Ответить
134. Baibolaika 30.05.2013 14:24
(132) Мастер1С, понимаете у меня получается сделать редактируемые поля через ПостроительОтчета. А нужно сделать на чем нибудь более мобильном, пускай даже СКД. Помогите примерчиком, как сделать поле для ВВОДА ДАННЫХ?
Ответили: (136)
# Ответить
135. kiv1980 25.06.2013 15:13
Отличная статья, все просто и эффективно. Автору респект.
# Ответить
136. sss999 17.10.2013 11:31
(134) Baibolaika, какой интересный у тебя отчет,он меня прям заинтересовал.
# Ответить
137. rorotron 16.02.2014 16:52
Здравствуйте, спасибо за статью. Статья для помещения в закладки.

У меня по данной теме следующая проблема (типовая конфигурация УПП 8.2):

Из-за большого количества документов "Корректировка качества товаров" некоторые пользователи стали жаловаться, что им неудобно оценивать реальное количество приходов и расходов по номенклатуре с помощью отчета "Товары на складах"...

Возникла задача доработать типовой отчет "Товары на складах", убрав оттуда измерение "Качество", а также наложив фильтр на тип регистратора, исключив из отчета источник данных - "Документ.КорректировкаКачестваТоваров".

Я сохранил отчёт как внешний, проделал все необходимые изменения в процедуре "УстановитьНачальныеНастройки" (текст запроса написал по аналогии с текстом отчета "Ведомость по партиям товаров на складах"), но не могу побороть следующую ситуацию:

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

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

Может кто-нибудь сталкивался с подобной задачей? Я конечно могу порекомендовать пользователям формировать отчет только с регистратором и затем сворачивать по предыдущей группировке "Номенклатура", чтобы скрыть движения, но хотелось бы найти решение получше.

Интересно услышать ваше мнение.
# Ответить
138. evn-zorin 16.02.2014 17:08
СКД самое оно, за несколько минут при знании СКД можно "слепить" очень даже годный отчёт.
# Ответить
139. droplet 03.04.2014 10:58
Спасибо автору.Последовательно, доступно, понятно. Недавно стала работать с 8, стараюсь делать отчеты на СКД но и этот инструмент пригодился (н-р многие отчеты в УПП построены на Универсальном). Прочитала статью и за 5 минут внесла изменения в стандартный отчет.
# Ответить
140. PrinzOfMunchen 18.06.2014 06:33
(15) Мастер1С, а вы воспользуйтесь механизмом произвольного отчета. И СКД, и стандарт.
# Ответить
141. AlexO (файл скачал) 27.07.2014 21:10
Статья статьей, но попробуйте добавить поле "Комментарий" (которое неограниченное) в отчет с запросами и подзапросами (и вездесуваемыми {}). Напрыгаетесь.
# Ответить
142. AlexO (файл скачал) 27.07.2014 21:17
+ 141
да, еще и Регистратор сугубо только в Расшифровке появляется...
# Ответить
143. Tapochki-tmn 31.07.2014 19:31
Спасибо огромное!

Недавно "созрел" до попытки разобраться как работают типовые отчеты на основе универсального.
Сам запутался, а в публикации все очень подробно рассказано.
Пара моментов только осталась за кадром, а очень было бы полезно:

- как добавить группировки и отборы по свойствам и категориям

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

Побольше бы таких статей!
Еще раз, огромное спасибо!
# Ответить
144. Merlin12042009 (файл скачал) 05.08.2014 23:51
Вам бы преподавателем быть. Замечательная статья.Я хотела бы с вами посоветоваться насчет одного отчета.Возможно ли это?
# Ответить
145. СветикК 29.08.2014 09:49
СКД фирма 1С очень меняла, меняла, что сейчас путаешься в некоторых вещах, спасибо за статью.
# Ответить
146. Мастер1С 29.08.2014 18:41
Тем не менее, данный материал устарел. Изучайте СКД.
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл






IE 2016