Как можно добавить в 1с новый отчет не внося изменений в основную конфигурацию
Прикладные объекты, предназначенные для получения всевозможных сводных таблиц , для организации данных в вид удобный для анализа и просмотра в конфигурациях 1С принято называть отчетами. Как в 1С добавить отчет, различные варианты добавления, эти и некоторые другие вопросы мы постараемся раскрыть в этой статье.
Отчеты и обработки: различия
При этом от других подобных объектов – обработок, их отличает:
- Возможность использования СКД (системы компановки данных);
- С помощью обработки можно вводить информацию, отчет служит для вывода и организации данных;
- Разница в формате файлов: расширение epf говорит о том, что мы имеем дело с обработкой, erf характерно для внешних отчетов.
С точки зрения программиста, использование этих объектов очень удобно, ведь оно не требует внесения изменений в метаданные конфигурации, а, следовательно, не надо выгонять пользователей из базы для проведения её обновления.
Способы добавления отчета в базу
С помощью специального справочника
В большинстве конфигураций, предоставляемых фирмой 1С, есть справочник «Внешние обработки», который позволяет сохранить обработку в базе, не внося изменения в метаданные. Попасть в этот справочник можно двумя способами:
- Для Полного и Административного интерфейсов, перейдя по адресу: Операции->Справочники->Внешние обработки;
- Все остальные через: Сервис->Дополнительные отчеты и обработки.
- Дальше надо выбрать вид формы, которую необходимо получить.
Итак, как добавить компановку в справочник через форму, вид которой представлен на рис.1
Рис.1 Форма регистрации отчета или обработки
В первую очередь необходимо придумать оригинальное название для элемента справочника, которое бы максимально отражало суть формируемой таблицы. Вторым этапом выбирается вид добавляемой формы. Это может быть:
- Печатная форма, вызываемая по кнопке Печать или другой кнопке в тех объектах, которые указаны в табличной части «Принадлежность печатной формы»;
- Заполнение табличных частей, для табличных частей документов и справочников, представленных в Табличной части «Принадлежность обработки по заполнению табличных частей»;
- Обработка;
- Отчет.
Рис. 2 Поле выбора вида отчета
На завершающем этапе необходимо выбрать файл, содержащий обрабатываемый код, из тех, что сохранены на диске.
Рис.3 Надпись, говорящая о необходимости выбора файла отчета
Записав элемент, вы сохраните его в базе. При восстановлении и переносе базы, элементы, сохраненные таким образом, также будут переноситься.
Добавление в конфигурацию
Действия, приведенные ниже, требуют монопольного доступа к базе.
Зайдя в конфигуратор и открыв конфигурацию, можно приступить к добавлению обработки.
Если конфигурация закрыта для редактирования, необходимо зайти в пункт меню Конфигурация->Поддержка->Настройка поддержки. Откроется окно, как на Рис.4
Рис. 4 Окно редактирования поддержки
- Нажать кнопку «Включить возможность изменения»;
- Положительно ответить на вопрос системы.
Таким образом, Вы получите возможность добавления собственных элементов в метаданные базы данных.
Теперь кликнув правой кнопкой мышки по строке «Отчеты» дерева конфигурации можно добавить внешний компановщик данных в конфигурацию Рис.5.
Рис. 5 Подменю добавления отчета в конфигурацию
Особенности размещения обработки на управляемых формах
Интерфейс, построенный на управляемых формах, накладывает свои ограничения на отображение дополнительных обработчиков, добавленных в базу.
Перед тем, как в 1С добавить отчет в управляемую форму, необходимо убедиться, что он создан с использованием СКД, в противном случае форма будет отражаться некорректно.
Открыв программу в режиме Администрирования, необходимо в Панели навигации найти пункт «Печатные формы, отчеты и обработки»
Рис. 6 Панель навигации 1С 8.3
Установив в открывшемся окне флажок «Дополнительные отчеты и обработки», вы получите возможность добавлять в базу ваши разработки для управляемой формы.
На форме нажмите кнопку «Создать». Проигнорировав окно предупреждения, можете приступать к выбору файла.
Очень часто в последних версиях программы, добавление вылетает с ошибкой о том что: «Метод объекта не обнаружен». Дело в том, что после создания обработчика с помощью системы компановки данных, необходимо в его модуле прописать функцию СведенияОВнешнейОбработке() с пометкой Экспорт, эта функция должна вернуть параметры регистрации:
После этого можно приступать к размещению отчета в интерфейсе. Для этого надо щелкнуть по команде «Размещение».
Рис. 7 Размещение
При этом активность элемента регулируется выбором соответствующего значения в поле «Публикация».
Добавление без размещения
Перезаписывать элемент справочника каждый раз, когда в код вносятся какие-либо изменения, тем более регистрировать этот обработчик в конфигурации – достаточно муторное дело. Обойтись без этого можно. Достаточно просто открывать файл, содержащий обработку через меню Файл->Открыть файл. Последние открытые объекты хранятся в виде списка в нижней части подменю Файл.
Регламентированные отчеты
Кроме внешних файлов и обработчиков, предусмотренных конфигурацией, в 1С существует еще один вид отчетов – регламентированные. Это те компановки данных, работа с которыми регламентируются налоговыми органами.
По характеру работы эти формы больше напоминают документ. Срок действия таких обработчиков редко превышает один квартал, обновления к ним фирма 1С выпускает регулярно.
Открыть их можно из меню Отчеты->Регламентированные отчеты. После выбора варианта отчета, программа проведет его заполнение данными из базы. Если данных будет не хватать, программа предложит довнести недостающие данные вручную.
Не до конца заполненные формы сохраняются с возможностью дозаполнения. Полностью заполненный и проверенный документ можно распечатать на бумаге или сдать в налоговую в электронном виде.
Речь пойдет об отчетах, созданных на базе СКД (на всякий случай пишу, если еще остались люди, которые делают отчеты не на СКД).
Добавить отчет в типовую конфигурацию 1С, построенную на базе БСП, можно одним из следующих способов:
Добавляемый отчет может быть:
Вроде все должно быть просто и интуитивно понятно, но есть нюансы, и в каждом случае добавление происходит по разному. В общем, разработчики БСП и других типовых продуктов не дают соскучиться J .
Варианты отчетов
Прежде чем приступить к описанию добавления отчетов, хочется сказать несколько слов о вариантах.
Варианты отчетов - это встроенный механизм СКД, который позволяет создавать для отчета произвольное количество предопределенных и пользовательских вариантов. По своей сути варианты – это отдельные отчеты, созданные на базе одной и той же системы компоновки данных.
Существует отдельная подсистема БСП, для управления вариантами отчетов, которая встроена во все типовые конфигурации. Подсистема предоставляет общее хранилище вариантов, общие формы для вывода и настройки отчетов, механизмы для отображения отчетов – формирование специальных панелей для каждого раздела системы. Пользователь может управлять настройками предопределенных вариантов отчетов, создавать и настраивать собственные варианты в режиме 1С Предприятие. Также подсистема позволяет создавать контекстные отчеты, привязанные к определенным объектам метаданных.
Для каждого отчета существует основной предопределенный вариант. В дальнейшем, говоря об отчете, я буду подразумевать именно его основной вариант.
Общая сравнительная таблица:
Тип добавления
В основную конфигурацию
В расширение конфигурации
В качестве внешнего отчета
Обновление вспомогательных данных (идентификаторы объектов)
Обновление вспомогательных данных (варианты отчетов)
Предопределенные настройки вариантов
Общий модуль: ВариантыОтчетовПереопределяемый
Модуль менеджера отчета
Возможность добавление обработчиков событий формы
Указывается в общем модуле: ВариантыОтчетовПереопределяемый
Указывается в модуле менеджера отчета:
ПриОпределенииНастроек
Доступна по умолчанию
Описание назначения для контекстного отчета
Модуль менеджера отчета, модуль менеджера объекта назначения
Модуль менеджера отчета
Модель объекта отчета
Описание основного варианта (по умолчанию)
Свойство отчета «Пояснение»
Добавление пользовательских вариантов отчета
Добавление нового отчета в основную конфигурацию
Рассмотрим добавление отчета в основную конфигурацию. В более старых конфигурациях типа УТ 10.3, УПП все было предельно просто. Добавляешь отчет, выводишь его в меню интерфейса или на панели быстрого доступа, и все работает.
В новых все несколько сложнее, и есть свои нюансы.
Для того, чтобы отчет выводился в основном окне раздела в группе «Отчеты», достаточно просто включить отчет в необходимую подсистему.
Однако, в этом случае, отчет не будет виден на специальной панели отчетов, которую предоставляет БСП. Панель открывается при переходе по ссылке «Отчеты по <Наименование раздела>» из каждого раздела системы:
Отчеты выводятся с разбивкой по подгруппам согласно иерархии подсистем, и имеют описания. Причем , могут быть выведены несколько вариантов одного и того же отчета. Если просто добавить отчет в конфигурацию и включить в нужную подсистему, отчет не будет виден в указанной панели. Отчет будет доступен только в группе «Отчеты» основного окна раздела. Кстати, не так давно, он бы даже не работал, пока не будут обновлены идентификаторы объектов метаданных.
Обновить идентификаторы можно одним из трех способов:
- Запустить 1С Предприятие в режиме обновления ИБ, задав параметр запуска: «ЗапуститьОбновлениеИнформационнойБазы»:
- Увеличить номер версии конфигурации.
- Воспользоваться обработкой из состава БСП: «Обновление вспомогательных данных»
В текущих версиях, идентификаторы обновляются при запуске 1С в пользовательском режиме автоматически . Наконец-то разработчики сделали это, слава богам!
Однако, для того, чтобы отчет, добавленный в основную конфигурацию появился на панели отчетов, все же необходимо обновить вспомогательные данные вручную, выбрав пункт «Варианты отчетов»:
После выполнения этих действия, отчет будет добавлен в специальные справочники: «Варианты отчетов» и «Предопределенные варианты отчетов», и его основной вариант будет виден в панелях отчетов согласно указанной подсистемы.
Конечно, все дальнейшие настройки, такие как добавление описания, вывод отчета или других его вариантов в другие подразделы или панели отчетов, можно выполнить непосредственно в пользовательском режиме, перейдя по ссылке «Все отчеты»:
Но, более правильно указать основные (предопределенные) настройки в конфигурации. Тем более, что некоторые виды настроек, например видимость варианта отчета в зависимости от функциональных опций, нельзя настроить в пользовательском режиме.
Настройки вариантов отчетов задаются в процедуре общего модуля: «ВариантыОтчетовПереопределяемый >> НастроитьВариантыОтчетов». Здесь описаны все типовые отчеты и их варианты. Все настройки необходимо создавать для двух объектов: «Описание отчета» и «Описание варианта», которые можно получить из общего списка настроек, переданных в процедуру:
Объект «ОписаниеОтчета» имеет следующие свойства:
Включен - если свойство имеет значение «ложь», отчет не регистрируется в справочнике «Варианты отчетов».
ОпределитьНастройкиФормы – свойство определяет наличие в модуле объекта отчета экспортной процедуры « ОпределитьНастройкиФормы ». В данной процедуре указывается наличие дополнительных обработчиков для событий модуля формы отчета, которые также должны присутствовать в модуле объекта отчета:
Объект «ОписаниеВарианта» имеет следующие свойства:
Описание - Описание варианта отчета, которое выводится на панели отчетов.
ВидимостьПоУмолчанию - если свойство имеет значение «ложь», вариант не виден по умолчанию в панели отчетов, но в справочнике «Варианты отчетов» он регистрируется.
Размещение – настройка размещения отчета. По умолчанию, коллекция содержит все подсистемы, выбранные для отчета. Можно добавить новые подсистемы для размещения или удалить существующие. Дополнительно, можно указать важность размещения: «Важный» или «СмТакже»:
ФункциональныеОпции – подключенные к команде вывода варианта отчета функциональные опции:
НастройкиДляПоиска – дополнительные сведения для поиска варианта отчета
Для вступления настроек в силу, требуется обновить вспомогательные данные, выбрав пункт «Варианты отчетов».
В пользовательском режиме, можно переопределить эти настройки для текущего пользователя или всех пользователей системы. Тем не менее, всегда остается возможность вернуться к предопределенным настройкам, заданным в конфигурации:
Добавление нового отчета в расширение конфигурации
На первый взгляд, добавление отчета в расширении не должно отличаться от его добавления в основную конфигурацию, но это не так.
Во-первых, для того, чтобы отчет был виден на панели отчетов, не нужно выполнять обновление вспомогательных данных. Необходимая информация в справочники: «Варианты отчетов» и «Предопределенные варианты отчетов» добавляется автоматически, при начале работы системы. Я думаю логика разработчиков следующая: расширение может подключить обычный пользователь в режиме 1С Предприятия. И он не должен знать о необходимости обновлении вспомогательных данных.
Для отчетов, добавленных в расширениях, также существует возможность описания предопределенных настроек: описание, подсистемы, функциональные опции. Однако, эти настройки выполняются не в переопределяемом общем модуле, а непосредственно в модуле менеджера отчета:
Все настройки аналогичны тем, которые выполнялись для отчетов основной конфигурации. Отличие только в том, что объект «НастройкиОтчета» уже передан в процедуру в качестве параметра.
Для применения созданных настроек обязательно должен быть установлен параметр «НастроитьВариантыОтчета» в экспортной процедуре модуля менеджера отчета «ПриОпределенииНастроек»:
Если флаг установлен, предопределенные настройки обновляются автоматически, без необходимости обновления вспомогательных данных.
В этой же процедуре указывается наличие дополнительных обработчиков событий модуля формы отчета:
На заметку. Для отчетов созданных в расширениях, есть возможность указания описания для основного варианта без использования менеджера отчета. Для задания описания «по умолчанию» используется свойство отчета «Пояснение»:
Добавление контекстного отчета в основную конфигурацию или в расширение
Алгоритм добавления контекстных отчетов одинаков для отчетов созданных в основной конфигурации и для отчетов, созданных в расширениях.
В обоих случаях, необходимо определить экспортную процедуру «ПриОпределенииНастроек» в модуле менеджера отчета, и указать объекты назначения:
Сами команды необходимо описать в отдельной процедуре:
Основные свойства команды:
Представление – наименование команды в интерфейсе объекта назначения,
КлючВарианта – идентификатор варианта отчета компоновки данных, который требуется запустить.
Дополнительные свойства команды:
Важность - группы в подменю «Отчеты», в которой следует вывести команду открытия отчета. Доступные значения: "Важное", "Обычное" и "СмТакже".
Порядок - п орядок размещения отчета по отношению к другим отчетам.
СочетаниеКлавиш - с очетание клавиш для быстрого открытия отчета (тип «СочетаниеКлавиш».
ВидимостьВФормах - и спользуется для указания перечня форм, в которых требуется выводить отчет. По умолчанию, отчет выводится во всех формах объекта, подключенных к БСП.
ФункциональныеОпции - имена функциональных опций, определяющих видимость команды открытия отчета в форме.
УсловияВидимости – дополнительные условия, о пределяющие видимость команды отчета (массив). Для добавления новых условий рекомендуется использовать процедуру общего модуля «ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(Команда, Реквизит, Значение, Знач ВидСравнения = Неопределено)».
Параметр «Реквизит» - это имя реквизита объекта назначения.
ДополнительныеПараметры – можно указать дополнительные параметры, и потом их обработать в переопределенном обработчике события модуля формы отчета «ПриСозданииНаСервере».
Ссылка на объект назначения передается в контекстный отчет в качестве параметра формы «ПараметрКоманды» . Для указания отбора по переданному значению, необходимо переопределить событие модуля формы отчета «ПриСозданииНаСервере», и добавить значение параметра в структуру «ФормаПараметры.Отбор»:
При необходимости можно обработать данные, переданные в свойстве команды «ДополнительныеПараметры»:
Примечание. Описывать команды для вывода контекстных отчетов можно не только в модуле менеджера самого отчета, но и в модуле менеджера объекта назначения, в экспортной процедуре «ДобавитьКомандыОтчетов». В этом случае, команда должны иметь дополнительный обязательный параметр «Менеджер», в котором необходимо указать полное имя менеджера отчета. Контекстные отчеты в типовых конфигурациях описаны именно таким способом.
Добавление отчетов с помощью механизма внешних отчетов и обработок
Процесс добавления общих и контекстных отчетов с использованием механизма дополнительных отчетов и обработок подробно описан во многих статьях, например в этой .
Я не думаю, что у кого-то возникают сложности при добавлении отчетов таким способом. Отмечу лишь, что в данном случае не нужно обновлять вспомогательные данные. Также, нет возможности указания предопределенных настроек для вариантов отчета. Все настройки вариантов указываются в пользовательском режиме, прямо в форме элемента дополнительного отчета:
Возможность добавления в модуль объекта обработчиков событий формы отчета доступна по умолчанию.
Если я ошибаюсь, и существуют вопросы и непонятные моменты в работе механизма дополнительных отчетов и обработок, пишите в комментариях, и я напишу отдельную статью на эту тему.
Дополнительно хочу отметить, что варианты отчетов, созданные в пользовательском режиме настраиваются одинаково для любого из способов добавления основного отчета.
На этом все, спасибо за внимание, и за то, что читаете мои статьи J .
Другие мои статьи по использованию механизмов БСП в типовых конфигурациях 1С
Речь пойдет о новых возможностях по кастомизации конфигурации в платформе 1С:Предприятие 8.3.9.
Чистая доработка
Сегодня мы рассмотрим внешние инструменты для доработки типовых решений.
Это позволит вносить достаточно серьезные изменения, НЕ снимая конфигурацию с поддержки.
Причем сама конфигурация остается оригинальной и обновиться на новый релиз проблем не составляет.
Это решается с помощью расширений конфигурации на платформе 8.3.9.
Видео
В видео мы рассмотрим:
Хотите больше?
Эта тема детально раскрыта в курсе:
Не откладывайте свое обучение!
Комментарии / обсуждение (110):
Может кто подскажет как решить следующую проблему:
При заимствовании в расширение справочника Номенклатуры из типовой конфигурации УТ и добавлении в метаданные справочника своей табличной части Расш_Таблица сразу же возникает проблема при попытке в режиме предприятия скопировать уже существующий элемент справочника выдает ошибку:
Перебрасывает в Конфигураторе на:
Как можно обойти эту беду?
Добрый день!
Такая же ошибка возникнет, если табличную часть добавить в самой конфигурации, без расширения.
В указанной строке кода нужно новую ТЧ указать в методе ЗаполнитьЗначениеСвойств в четвертом параметре (список полей-исключений).
А для заполнения этой новой ТЧ при копировании дописать код (или реализовать другую логику, если нужно не просто скопировать строки ТЧ, а преобразовать их):
Все эти действия можно сделать в расширении.
Спасибо за ответ? Если я создаю новый справочник в расширении и в нем таблицу, то таких проблем не возникает. Эта беда в заимствованном справочнике.
Пока не могу сообразить как в расширении это сделать, чтобы не лезть в код конфигурации? Можете подсказать?
1. Да, это проблема в конкретном справочнике Номенклатура в конкретной конфигурации, которая содержит указанный код.
2. Можно использовать аннотацию Вместо или ИзменениеИКонтроль.
Это не оговорка, всё верно.
Речь о том, что в 8.3.9 нельзя было добавлять реквизиты в объекты конфигурации. Например, нельзя добавить реквизит в документ или справочник, нельзя добавить табличную часть и так далее.
В данном же примере был добавлен реквизит в форму расширение. Это просто поле формы, оно не хранится в БД и заполняется программным образом.
Был добавлен реквизит формы, а не реквизит объекта.
Это был условный код.
Для простоты мы не стали заполнять реквизит формы.
В любом случае в 8.3.9 не было возможности создавать реквизиты в расширениях, поэтому скрытую фичу здесь можно не искать :)
Переопределение свойств заимствованных объектов в расширениях недопустимо в режиме совместимости 8.3.8 и ниже, который сейчас используется в типовой УТ.
Добрый день!
В этом видеоуроке показывается, что в корневом объекте конфигурации устанавливается режим совместимости Не использовать.
А в типовой УТ 11 действительно пока еще используется режим совместимости Версия 8.3.8. Думаю, что это вопрос времени.
Добрый день, Кирилл!
Евгений, спасибо!
В тех. поддержку 1С написал, посмотрю, что ответят. Свежая (на 08.12.2016) версия платформы (8.3.9.1850) не помогла :)
Ок, сообщайте полученный ответ :)
Отлично, ждем релиза.
У меня уже релиз платформы 8.3.11.3034, а проблемы все те же:(
Добрый день.
Вопрос по расширениях, если кто сталкивался, помогите.
Есть подозрение что фоновое задание их не использует. Может как то можно настроить? Не понимаю, это нереально, или я просто что то не так делаю.
Вопрос снят.
Расширение работало в безопасном режиме, в этом и была проблема.
Короче есть глюк для файлового варианта фонки не видят расширения, в клиет серверном видит, не знаю может исправят скоро.
Ребята, а кто нибудь знает, как расширения с применением хранилища разрабатывать? С приходом 8.3.9 расширения стали очень перспективными, но в отсутсвие средства групповой разработки кажется бесполезным.
Добрый день!
На данный момент нельзя работать с расширением через хранилище. Такой вариант не поддерживается. На партнерском форуме разработчики платформы отвечали, что рассматривают возможность добавления этой возможности.
Опыта использования таких систем нет. Встречал упоминания об использовании Mercurial для этих целей.
Добрый день, Евгений!
Вопрос снимается.
Надо было настроить профиль безопасности в консоли и связать с Базой
Вопрос: это я делаю что-то не так, или поведение системы так задумано?
Если это ошибка платформы, она должна как-нибудь ругнуться, а тут не ругается. Может, есть какие-то хитрости при обращении к реквизитам через ссылку в расширяющей форме?
Ясно, спасибо. Значит чуда не произошло))
Я про то, что через расширения структуру конфигурации не изменишь.
Здравствуйте. видео останавливается нв 3 секунде. Не подскажите, с чем это может быть связано.
Добрый день!
Проверка видео в нескольких браузерах не выявила никаких проблем.
После чистки кэша или при просмотре в другом браузере ошибка сохраняется?
Спасибо. Видео пошло.
Здравствуйте! Посмотрел видео, тяжело вздохнул! Как же я отстал от жизни! Сижу в древней, переписанной УПП. До УФ/БСП дальше, чем до Китая! И просвета не видно!! :(
1С:Предприятие 8.3 (8.3.9.1850) Управление торговлей, редакция 11.2 (11.2.3.175)
Я наверное что то пропустил, у меня не получилось снять с поддержки только один объект конфигурации и не получилось создать документ в расширении конфигурации.
1. Простите, не получилось поставить режим «Объект поставщика редактируется с сохранением поддержки» только для одного объекта.
2. Буду ждать курс
Сразу могу сказать что задействован механизм доп.сведений, но оооочень нестандартным и возможно неоптимальным образом, зато это позволило использовать в добавленном функционале данные любых ссылочных и примитивных типов, и любой структуры.
Спасибо за видео! Очень познавательно!
Теперь весь пласт доработок можно вынести в расширение. Конфигурацию все равно придется с замочка снять, для добавления реквизитов и новых объектов. Но это совсем не проблема, т.к. не влияет на обновление типовой.
Да, можно считать, что это прорыв в разработке на 1С :)
Ну в 8.3.9 наконец-то добавили возможность изменять модули объектов, до этого, имхо, ничего серьезного с помощью расширения сделать было нельзя, так как все равно лезешь либо в код общих модулей либо в код модулей объектов, теперь в целом, можно добавлять в конфигурацию новые реквизиты и объекты метаданных, а существующие дорабатывать с помощью расширений, но пока лично мой опыт использования расширений: сыровато. Ждем дальнейших улучшений и усовершенствований.
Я буквально 2 месяца назад ради интереса пример делал с хранением данных(таблицы значений) в доп реквизите в формате json\xml\и другие варианты. На хабре многии не поняли(не все прочитали) для чего это может быть нужно и устроили бурный холивар(ну там впринципе 1с красная тряпка), на инфостарте вопросов не задавали. И вот Вы пишите пример который как раз под этот метод. ;)
1 При открытии формы считываем из доп реквизита и прячем доп реквизит хранящий данные.
2 При закрытии преобразовываем данные в формат хранения и сравниваем изменились ли они и если да переписываем данные доп реквизита.
Поэтому вероятность этого события не велика.
О чем эта статья
В статье рассмотрен пример доработки типового отчета «Расчетный листок» в конфигурации «Зарплату и Управление Персоналом 3.0». На данном примере показываются общие шаги разработчика, в случае если он слабо знаком с конкретной реализацией конкретного типового отчета на базе СКД.
Применимость
В материалах статьи в качестве примера используется конфигурация, «Зарплата и Управление Персоналом», редакции 3 3.0.25.122. Но от этого примеры доработки, продемонстрированные в видео, не стали устаревшими, т.к. акцент сделал именно на логике рассуждений разработчика перед которым поставлена подобного рода задача. Смело смотрите видео, это must have!
Что конкретно мы будем делать
Очень простая задача :)
А параллельно мы разберем и приемы работы с СКД:
Итак, поехали! 21 минута видео :)
Видео 1: Как за 10 минут понять логику формирования типового отчета
В этом уроке приступаем к решению задачи по модификации Расчетного листка в ЗУП 3.0.
В данном уроке мы показываем, как понять логику формирования типового отчета на СКД с программным заполнением полей и ручным выводом данных в табличный документ.
Видео 2: Как с помощью 2 строк кода изменить заполнение отчета
В итоге задача решается с минимальными изменениями:
- Новая строка в макете
- Левое соединение в запросе
- Две строки в программном коде.
Эта тема детально раскрыта в курсе:
Не откладывайте свое обучение!
Комментарии / обсуждение (65):
Добрый день! Вопрос по УТ 11. В типовых отчётах добавляются доп. реквизиты. Вопрос: как их исключить из отчетов?
Подробнее.
Существует, примерно, 100 видов номенклатуры, к каждому из которых привязан свой набор доп. реквизитов от 5 до 10).
При изменении варианта отчета, где используется номенклатура, при раскрытии её, вываливается список всех доп. реквизитов. Жуткий тормоз. Можно ли сделать так, чтобы при отборе или добавлении поля, не выводились эти доп. реквизиты?
В УТ 11 не требуется заполнять закладку Характеристики в тексте запроса набора данных.
Дело в том, что в этой конфигурации настроены характеристики на уровне объектов метаданных. Например, можно в конфигураторе обратиться к справочнику Номенклатура, в контекстном меню выбрать пункт Характеристики:
Здесь указано, откуда система будет получать перечень характеристик и их значения.
СКД учитывает эту настройку, поэтому дополнительно прописывать характеристики в запросе не нужно.
По поводу переноса в обычне реквизиты. Дело в том, что у каждого вида номенклатуры свои доп. реквизиты и они не пересекаются. Это сколько же их будет?!
Можно на копии базы сделать тестовый пример, проверить производительность и все остальные аспекты, принять решение, стоит ли выполнять такие действия на рабочей базе.
>> Также из видео Вы узнаете, для чего в запросе может использоваться конструкция “Выбрать Первые 0”
А я так и не понял для чего используется такая конструкция?
Ведь на выходе такой запрос будет возвращать пустую таблицу с колонками.
А как тогда выбираются данные для этой таблицы?
Да, конечно, не изменится. Но можно выделить 2 способа использования именно такой конструкции:
1. Она обеспечивает формирование пустого результата запроса с набором колонок нужного типа. Если использовать просто ВЫБРАТЬ, то в результате будут данные (одна строка с пустыми значениями).
2. Это может быть удобным маркером, признаком, что именно этот запрос нужно подменить. Потому что в обычном запросе для получения данных из базы такая конструкция точно не будет применяться.
Пожалуйста. Обращайтесь:)
И приходите к нам на курс по СКД. В Мастер-группе отвечаем на Ваши вопросы по СКД.
РезультатЗапроса = Запрос.ВыполнитьПакет();
Выборка = РезультатЗапроса[0].Выбрать();
ОбластьИнформацияСтудента.Параметры.Заполнить(Выборка);
ТабДок.Вывести(ОбластьИнформацияСтудента, Выборка.Уровень());
ТабДок.Вывести(ОбластьРезультат);
ТабДок.Вывести(ОбластьРезультатыСдачиШапка);
//Выборка = Выборка.РезультатыСдачи.Выбрать();
//Каждому студенту свои предметы
Выборка2.Следующий();
ОбластьРезультатыСдачи.Параметры.Заполнить(Выборка2);
ТабДок.Вывести(ОбластьРезультатыСдачи, Выборка2.Уровень());
Читайте также: