Обработка отчета из 1с
Любая система автоматизации учета только тогда выполняет свои функции, когда она имеет средства обработки накопленной информации и получения сводных данных в удобном для просмотра и анализа виде. Как правило, для решения подобных задач в системе автоматизации учета существует возможность формирования отчетов. Конфигуратор позволяет формировать набор различных отчетов, достаточных для удовлетворения потребности пользователей системы в достоверной и подробной выходной информации.
Для получения отчетной информации в системе «1С:Предприятие» используются объекты конфигурации, расположенные в ветви Отчеты дерева конфигурации. Каждый объект этого типа может содержать алгоритм формирования «бумажного» или «электронного» отчета на внутреннем языке системы «1С:Предприятие» или схему компоновки данных, на основании которой система «1С:Предприятие» может автоматически выполнить отчет . Отчет может содержать одну или несколько форм, с помощью которых, при необходимости, можно организовать ввод каких-либо параметров, влияющих на ход алгоритма. Для вывода результатов выполнения алгоритма на экран и принтер отчет может иметь созданные с помощью конструктора макетов описания печатных форм (макеты).
Редактирование свойств объектов типа Отчет и Обработка и создание подчиненных объектов выполняются в окне редактирования.
Для выполнения различных действий над информацией в системе «1С:Предприятие» используются объекты конфигурации, расположенные в ветви Обработки дерева конфигурации. Например, с их помощью можно выполнять удаление из системы устаревших данных, импорт информации из других систем и многое другое. Характер выполняемых в этом случае действий отражает название объекта конфигурации – Обработка, так как в результате информация, хранящаяся в системе, претерпевает какие-либо изменения.
Обработка может содержать одну или несколько форм, с помощью которых, при необходимости, можно организовать ввод каких-либо параметров, влияющих на ход алгоритма. Вывод результатов выполнения алгоритма на экран и принтер осуществляется с помощью конструктора макетов описания печатных форм (макеты).
Основное отличие отчета от обработки заключается в возможности использования схемы компоновки данных. В остальном обработка не отличается от отчета.
Существует возможность для нескольких (или всех) отчетов прикладного решения использовать единые формы отчета, настроек или варианта отчета.
Для этого необходимо использовать общие формы. В общем случае можно выделить следующие варианты использования:
● Для всех отчетов прикладного решения используется единый набор форм работы с отчетами. В этом случае нужно создать необходимые формы и указать их в свойствах конфигурации (см. здесь). Тогда в самих отчетах формы разрабатывать не нужно, т. к. будут использоваться общие формы.
● Можно выделить наборы отчетов, для каждого из которых необходимо разработать свои формы работы с отчетом. В этом случае создаются общие формы работы с отчетами, которые указываются для каждого отчета «своей» группы. Так можно сделать особый набор форм, например, для бухгалтерских отчетов или для отчетов аналитиков.
Примечание. Если у нескольких отчетов в качестве основной формы указана одна общая форма, то в толстом клиенте (в обычном режиме) одновременно можно будет открыть только один из этих отчетов.
Если в форме отчета используется стандартная команда Открыть новое окно, то следует помнить о том, что в новое окно не передаются те параметры, которые были переданы в форму, из которой использована стандартная команда.
Внешние обработки и отчеты
Внешней обработкой в системе «1С:Предприятие» называется обработка, хранящаяся вне конфигурации, в отдельном файле внешней обработки.
Внешняя обработка служит для решения тех же задач, что и объекты конфигурации типа Отчет или Обработка .
Внешним отчетом в системе «1С:Предприятие» называется отчет, хранящийся вне конфигурации, в отдельном файле внешнего отчета. Внешний отчет
служит для решения тех же задач, что и объекты конфигурации типа Отчет.
Основное назначение внешнего обработки (отчета) заключается в возможности реализовывать, поставлять и обновлять некоторые возможности отдельно от конфигурации.
Внешние обработки и отчеты могут храниться в двух разных форматах:
● Двоичные файлы, имеющие расширение .epf и .erf соответственно. Эти файлы могут использоваться как для редактирования в конфигураторе, так и для использования в режиме 1С:Предприятия. Имеется возможность разработки и отладки в процессе работы системы «1С:Предприятие». В этом случае разработка и отладка обработки (отчета) значительно ускоряются: редактирование и сохранение внешней обработки (отчета) выполняются в режиме Конфигуратор, без сохранения конфигурации в целом, а запуск – в режиме 1С:Предприятие. Для выполнения внешняя обработка (отчет) загружается при помощи пункта Файл – Открыть и работает так же, как и любая другая обработка (отчет) конфигурации.
● XML-файлы в формате, соответствующим файлам, которые используются при выгрузке/загрузке конфигурации в файлы. При использовании этого формата поддерживается только редактирование внешней обработки (отчета) в режиме Конфигуратора. Для использования в режиме 1С:Предприятия внешнюю обработку (отчет) необходимо сохранить в двоичном формате .erf/.epf . Для работы используется формат версии
2.0.
ПРИМЕЧАНИЕ. Внешняя обработка (отчет), открываемые с помощью меню Файл – Открыть , будут исполняться в безопасном режиме, если у пользователя отсутствуют административные права доступа.
Любой объект конфигурации типа Обработка или Отчет может быть сохранен в файл внешней обработки (отчета), и наоборот – существующий объект конфигурации может быть заменен внешней обработкой (отчетом). Для внешней обработки (отчета) может быть создана справочная информация, как и для других объектов конфигурации.
СОВЕТ. Для обеспечения целостности конфигурации внешние обработки (отчеты) рекомендуется использовать в основном в отладочных целях.
После отладки алгоритма формирования обработки (отчета) необходимо включить внешнюю обработку в конфигурацию.
Сохранение внешней обработки (отчета) в XML-формате можно использовать в том случае, если предполагается хранить эту обработку (отчет) во внешней системе контроля версий. XML-формат для этого более удобен, чем двоичный формат .epf (.erf) . Конфигуратор позволяет открывать для редактирования внешние обработки (отчеты) в любом формате. При этом запись по умолчанию выполняется ровно в том же формате, в котором внешняя обработка (отчет) была открыта в конфигураторе. Для смены формата хранения необходимо выполнить команду Файл – Сохранить как … или
Файл – Сохранить копию … и в открывшемся диалоге выбрать нужный формат сохранения.
Создание внешней обработки (отчета)
Для создания внешней обработки (отчета) необходимо выбрать пункт Файл – Новый и в выданном на экран запросе выбрать строку Внешняя обработка или Внешний отчет.
На экран будет вызван редактор форм для разработки внешней обработки (отчета). Для внешнего отчета окно редактирования будет дополнительно содержать управляющие элементы для создания, настройки и редактирования системы компоновки данных.
Так как внешняя обработка (отчет) не является частью текущей конфигурации (хотя и очень тесно с ней связана), процедура ее сохранения отличается от процедуры сохранения изменений конфигурации (см. здесь). Для сохранения внешней обработки (отчета) необходимо использовать пункт Файл –Сохранить , или Файл – Сохранить как …, или Файл – Сохранить копию . В стандартном диалоге сохранения файла нужно выбрать нужный вариант сохранения , а затем ввести имя сохраняемой внешней обработки (отчета).
Использование внешних обработок (отчетов)
Для использования внешней обработки (отчета) при работе с системой «1С:Предприятие» ее необходимо открыть так же, как это делается в конфигураторе. Однако следует иметь в виду, что в системе «1С:Предприятие» внешняя обработка (отчет) открывается только для исполнения: пользователь не может его редактировать. При попытке открытия проверяются соответствующие права доступа, и происходит установка безопасного
режима (если у пользователя нет административных прав). Кроме того, для исполнения внешней обработки (отчета) она должна быть сохранена в двоичном формате .epf (.erf) .
Компиляция модуля внешней обработки (отчета) выполняется при открытии внешней обработки (отчета), поэтому после редактирования внешней обработки (отчета) в конфигураторе и ее сохранения необходимо вновь открыть эту обработку в режиме 1С:Предприятие.
Кроме того, работа с внешними обработками (отчетами) возможна также на сервере «1С:Предприятия». При этом сохраняются все ограничения на использование интерактивных объектов (форм и т. д.).
Для того чтобы использовать внешнюю обработку (отчет) из встроенного языка, необходимо вначале подключить ее с помощью метода Подключить()
(доступен только на сервере «1С:Предприятия»).
АдресХранилища = “”;
Результат = ПоместитьФайл(АдресХранилища , “ВнешОбработка.epf”, , Ложь );
…
// На сервере подключаем обработку из созданного ранее
// временного хранилища .
ИмяОбработки = ВнешниеОбработки.Подключить(АдресВременногоХранилища) ;
В переменную ИмяОбработки будет помещено имя внешней обработки, которое в дальнейшем будет использоваться для обращения к подключенной
внешней обработке. Например, при открытии формы обработки:
// Откроем форму подключенной внешней обработки
ОткрытьФорму (“ВнешняяОбработка.”+ ИмяОбработки +”.Форма”);
Внешняя обработка (отчет) может быть подключена в безопасном режиме (см. здесь). Для этого следует использовать параметр БезопасныйРежим методов подключения Подключить() и Создать() . Режим подключения внешней обработки (отчета) будет зависеть от значения этого параметра:
● Параметр имеет значение Истина: внешняя обработка (отчет) подключаются в безопасном режиме;
● Параметр имеет значение Ложь: внешняя обработка (отчет) подключаются в не безопасном (опасном) режиме;
● В качестве значения параметра указано имя профиля безопасности :
● Имя не указано: внешняя обработка (отчет) подключается в безопасном режиме;
● Имя профиля указано, и для этого профиля параметр Профиль безопасности безопасного режима установлен в значение Истина: внешняя обработка (отчет) будет подключена, но работать будет под управлением профиля безопасности с указанным именем;
● Имя профиля указано, и для этого профиля параметр Профиль безопасности безопасного режима установлен в значение Ложь: внешняя обработка (отчет) будет подключена, но работать будет под управлением профиля безопасности по умолчанию;
● Профиль безопасности с указанным именем отсутствует на сервере «1С:Предприятия»: внешняя обработка (отчет) подключается в безопасном режиме.
Для программной работы внешняя обработка (отчет) может быть расположена:
● в файле, который расположен в конфигурации (например, в макете);
● в данных информационной базы;
● во временном хранилище
Имена внешних обработок (отчетов) должны быть уникальны в пределах сеанса. Если осуществляется подключение (программное или интерактивное) внешней обработки (отчета) с именем, повторяющим имя уже загруженной в данном сеансе внешней обработки (отчета), то будет произведено отключение старой обработки и подключение новой.
ПРИМЕЧАНИЕ. При работе внешних обработок (отчетов) в толстом клиенте следует учитывать, что при работе в режиме управляемого приложения
возможно открытие только управляемых форм, при работе в обычном режиме – только обычных форм.
При использовании внешних обработок (отчетов) нужно иметь в виду следующие особенности:
● если подключена новая обработка (отчет) с таким же именем, как и подключенная обработка (отчет), то открытые формы от «старой» обработки
(отчета) перестают работать (генерируется ошибка);
● при подключении внешней обработки (отчета), если подключаемая обработка (отчет) двоично идентична уже подключенной и совпадает признак безопасного режима, реального переподключения не происходит, ошибки при этом не выдается. В противном случае ранее подключенная внешняя обработка (отчет) отключается и выполняется новое подключение внешней обработки (отчета);
● при выполнении метода Создать() , параметр метода БезопасныйРежим игнорируется, если ранее было выполнено подключение внешней обработки
(отчета) с помощью метода Подключить() . Если подключение ранее не выполнялось, то будет выполнено подключение внешней обработки (отчета) с
использованием параметра БезопасныйРежим из метода Создать() ;
● при получении формы для внешней обработки (отчета) будет найдена открытая форма независимо от того, открыта она для подключенной сейчас
обработки или для той, которая была подключена ранее (с тем же именем);
● при открытии обработки (отчета) с помощью команды главного меню Файл – Открыть, форма обработки (отчета) открывается методом ОткрытьФорму() с параметром Уникальность , равным значению Истина, чтобы можно было открыть новую форму обработки в случае ее изменения.
● если явно не указано, то все вышеописанные особенности в равной степени применяются как для внешней обработки (отчета) открытой интерактивно, так и программно.
Редактирование внешней обработки (отчета)
Редактирование внешней обработки (отчета) выполняется в конфигураторе. Чтобы открыть существующую внешнюю обработку (отчет), следует выбрать пункт Файл – Открыть . В выданном на экран стандартном диалоге выбрать тип файла, соответствующий формату сохранения внешней обработки (отчета) и указать имя открываемого файла.
При открытии внешней обработки (отчета) в конфигураторе автоматически открывается окно редактирования объекта. В отличие от других объектов конфигурации, отладка внешней обработки (отчета) может производиться без перезапуска системы «1С:Предприятие». Достаточно после сохранения обработки (отчета) конфигуратором заново вызвать ее на выполнение в режиме 1С:Предприятие (только для обработки (отчета), сохраненной в формате .epf/.erf ).
В диалоге редактирования внешней обработки (отчета) имеется возможность сделать копию внешней обработки (отчета) не изменяя собственно редактируемый объект. Для этого необходимо выполнить команды Действия – Выгрузить в файлы. При этом кроме создания копии внешней обработки (отчета) имеет возможность выбрать формат выгрузки. Во время этой операции система по умолчанию предлагает формат выгрузки,
отличный от текущего формата. Т.е. если редактируется внешняя обработка (отчет) в формате .epf/.erf, то будет предложен формат XML и наоборот.
Имеется возможность заместить редактируемую внешнюю обработку (отчет) на другую внешнюю обработку (отчет), которая находится в файле (в любом из поддерживаемых форматов).
При выгрузке/загрузки внешней обработки (отчета) в/из файла предоставляется возможность изменять вид объекта, не меняя его у редактируемого объекта. Например, можно выгрузить редактируемую внешнюю обработку как внешний отчет или наоборот, при этом редактируемый объект останется того вида, каким он был до выполнения операции.
Справочная информация
Внешняя обработка (отчет) может быть снабжена пользовательским описанием. Для редактирования описания в палитре свойств внешней обработки нужно щелкнуть ссылку Открыть свойства Справочная информация.
В режиме 1С:Предприятие для просмотра описания внешней обработки (отчета) необходимо нажать клавишу F1.
Внешние обработки (отчеты) и объекты конфигурации
Существующие в конфигурации объекты типа Отчет и Обработка могут быть преобразованы во внешние отчеты и обработки, и наоборот, внешние отчеты и обработки могут заменять собой существующий объект конфигурации типа Отчет или Обработка. Также внешние отчеты и обработки могут быть добавлены в структуру конфигурации как новые объекты конфигурации типа Отчет или Обработка.
При работе с внешней обработкой (отчетом) имеется возможность выбирать формат сохраняемого объекта. Это выполняется в диалоге сохранения или открытия файла с помощью выпадающего списка Тип файла. В зависимости от этого, обработка (отчет) будут сохранены или в формате .epf/.erf или в формате XML (подробнее см. здесь). Далее в этом разделе не будет отдельно освещаться выбор формата внешней обработки (отчета).
Копирование обработки (отчета) во внешнюю обработку (отчет)
Существующий объект конфигурации типа Отчет или Обработка может быть скопирован во внешнюю обработку или отчет. Для этого нужно выделить наименование объекта конфигурации в окне Конфигурация и в контекстном меню объекта конфигурации выбрать пункт Сохранить как внешнюю обработку, отчет.
В результате будет создана внешняя обработка (отчет), которая будет копией выбранного объекта конфигурации. Сам объект конфигурации при этом не изменится.
Выполнение этой операции целесообразно для последующей отладки создаваемой обработки (отчета). По окончании отладки внешняя обработка (отчет) может быть вставлена в конфигурацию взамен существующего объекта конфигурации. Следует помнить, что для исполнения в режиме 1С:Предприятия, обработку (отчет) следует сохранять в формате .epf/.erf , а не в формате XML-файлов.
Замена обработки (отчета) на внешнюю обработку (отчет)
Внешние обработки (отчеты) могут заменить собой существующий объект конфигурации типа Обработка или Отчет. Для замены объекта конфигурации внешней обработкой (отчетом) необходимо выделить его наименование в окне Конфигурация и использовать пункт Заменить на внешнюю обработку, отчет контекстного меню объекта конфигурации.
Добавление внешней обработки (отчета) в структуру конфигурации
Существующая внешняя обработка (отчет) может быть вставлена в структуру конфигурации как новый объект конфигурации типа Обработка или Отчет .
Для этого необходимо в структуре конфигурации выделить наименование любого объекта конфигурации типа Обработка или Отчет и использовать пункт Вставить внешнюю обработку, отчет контекстного меню объекта конфигурации. В результате этих действий в дереве конфигурации появится новая обработка (отчет).
Сравнение и объединение внешних обработок (отчетов)
Внешние обработки (отчеты) можно сравнивать и объединять с обработками (отчетами), расположенными в конфигурации, а также сравнивать и объединять с другими внешними обработками (отчетами).
Для сравнения и объединения с отчетом или обработкой конфигурации в окне Конфигурация следует указать нужный объект, в контекстном меню этого
объекта выбрать пункт Сравнить , объединить с внешней обработкой , отчетом …
В стандартном диалоге выбора файла выбрать нужную внешнюю обработку (отчет).
Для сравнения или объединения внешней обработки (отчета) с другой внешней обработкой (отчетом) нужно открыть исходную внешнюю обработку (отчет), в окне редактирования нажать кнопку Действия и в выпадающем меню выбрать пункт Сравнить, объединить с внешней обработкой, отчетом. В стандартном диалоге выбора файла выбрать нужную внешнюю обработку (отчет).
1. В обработке нет реквизита КомпоновщикНастроек, его нужно добавить вручную.
Заполним параметры в запросе схемы СКД.
2. Расшифровка в обработке работать не будет ее тоже нужно добавить вручную.
Для этого на форму добавим реквизит ДанныеРасшифровкиФ с типом строка
В процедуре СформироватьНаСервере() будем присваивать реквизиту ДанныеРасшифровкиФ значение
Табличному документа на форме добавим событие ОбработкаРасшифровки
1С:Комплексная автоматизация 2 (2.4.9.98)
Платформа 1С:Предприятие 8.3 (8.3.16.1148)
Специальные предложения
(0) Вопрос. Что мешает сохранить обработку как файл, а потом вставить ее как отчет? Сразу появится КомпоновщикНастроек и будет работать расшифровка.
(1)
(2)
Да, сталкивался с требованием заказчика, чтобы отчеты формировались обработками. Так что плюс, полезная публикация. Лишний раз не нужно вспоминать, как это сделать. И, кроме обработки, отчет можно сформировать на любой форме, например при открытии формы документа. Например, при создании документа "Продажи" сразу показывать отчет по расчетам с клиентом.
(3) Какая разница заказчику как называется объект метаданных - отчет или обработка? С точки зрения интерфейса можно сделать так, чтоб заказчик не увидел никакой разницы.
(4) Заказчиком была ИТ служба компании, и Заказчик сам прекрасно разбирался в 1С, но часть работ отдал субподрядчику. Поэтому требование Заказчика было принято как обязательное.
. И, кроме обработки, отчет можно сформировать на любой форме, например при открытии формы документа. Например, при создании документа "Продажи" сразу показывать отчет по расчетам с клиентом.
(5) Мне кажется заказчик мог легко пойти Вам на встречу, если Вы все объяснили. Не стоит все требования заказчика принимать за аксиому.
(6) Нужно уметь объяснить, в некоторых случаях не только объяснить, но и переспорить (дипломатично). Не всегда и не со в семи это получается. А если еще заказчик считает, что прекрасно знает "как это работает".
Тема расшифровки не раскрыта. В статье описан метод открытия значений ОткрытьЗначение(Данные), и совершенно не затронута тема остальных методов расшифровки (Расшифровать, Отфильтровать и т.д.)
(9) Не только тема расшифровки. В конце концов, передерут очередной раз Хрусталёву, выложат. Это ещё полбеды.
Автор вообще упустил такие моменты, как варианты/хранилище вариантов, хранилище настроек (в т.ч. пользовательских), отображение результата и сжатие, исполнение в фоне, общие формы конфигурации, кэширование выборок. Про остальное, например, специфику в контурах БСП, я вообще молчу. Некоторым что отчёт, что обработка, сбацал публикацию на коленке и айда.
Для совсем начинающих, как куцый пример программной работы с СКД - может и пойдёт. В остальном - неоригинально, неполно, неинтересно.
"Справочники.ВидыКонтактнойИнформации.ПолучитьСсылку(Новый УникальныйИдентификатор("2bb33721-d50d-11e7-813a-000c290b7379"))" - они же все предопределенные?
Просмотры 4783
Загрузки 0
Рейтинг 72
Создание 27.04.21 14:00
Обновление 27.04.21 14:00
№ Публикации 1432757
Рубрики СКД
Тип файла Нет файла
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Да
См. также
Как просто запомнить алгоритм программного вывода в СКД Промо
Порой нужно быстро вывести на экран таблицу значений, используя СКД \ получить данные отчета в таблицу значений.. Несмотря на очевидность алгоритма - раньше мне проще было загуглить программный вывод, благо эта инфа есть везде. Но постепенно понял как его можно быстро вспомнить, и лишний раз ничего не искать. Конечно эта статья не для Гуру :) Но я думаю - что любой неопытный в СКД программист сделает для себя небольшое открытие.
01.09.2017 55161 unichkin 19
КУ! или Нарезка графика продолжается
23.04.2022 398 AnatolPopov 0
Нарезка графика ломтями
Как в СКД простыми средствами улучшить отображение графика, которому слишком тесно на шкале. Проверено в версии 8.3.13.1644.
09.04.2022 583 AnatolPopov 0
Убираем параметры из отбора СКД
Заметка о некоторых технических нюансах параметров данных и отборов СКД.
17.02.2022 2692 Yashazz 28
Полезности применения СКД Промо
Нюансы при работе из СКД на программном уровне.
11.04.2012 53126 logarifm 42
Отладка СКД
На митапе «Практика применения СКД» выступил ведущий разработчик 1С аутсорсинговой компании Programming Store Павел Шемякин. Павел рассказал, как бороться с нежелательной «оптимизацией» запроса СКД, какие инструменты для отладки СКД можно использовать – в чем их отличия и преимущества, и показал, как работать с консолью компоновки данных – на какие элементы структуры XML-файла макета СКД обращать внимание при поиске причин неправильной работы отчета.
08.02.2022 4605 ProfessionStore 2
Программная работа и компоненты СКД
На митапе «Практика применения СКД» выступил архитектор Digital Business Петр Базелюк. Он рассказал о том, как работать с СКД программно, и как, используя общедоступную библиотеку FoxyLink, создать свой процессор вывода результата СКД напрямую в формат JSON или в CSV.
Дано: конфигурация на платформе 1С 8.3. В "Дополнительные отчеты и обработки" загружен отчет или обработка.
Задача: открыть данный отчет/обработку программно в коде, например, по кнопке.
Далее рассмотрим пример кода, который будет срабатывать по нажатию кнопки и открывать внешний отчет.
В сети интернет много примеров, как открыть внешний отчет или обработку. Большинство из них содержит код загрузки из файла, если это внешний файл отчета.
Здесь же мы будем использовать готовую функцию загрузки, которая содержится в библиотеке стандартных подсистем (БСП - имеется почти во всех популярных конфигурациях, будь то бухгалтерия, зарплата, торговля и т.п., поэтому можно смело ей пользоваться).
Итак, в БСП есть модуль работы со справочником "Дополнительные отчеты и обработки" (ДополнительныеОтчетыИОбработки), в частности есть процедура открытия отчета и функция подключения внешнего отчета:
- Процедура ВыполнитьОткрытиеФормыОбработки
- Функция ПодключитьВнешнююОбработку
Вторая вызывается из первой, но ее также можно вызвать и отдельно (что и будет сделано ниже).
Один из вариантов использовать первую процедуру, но он мне не понравился из-за необходимости излишних действий, чтобы заполнить переменную ВыполняемаяКоманда, а также тем, что передать параметры в отчет можно только массивом (ОбъектыНазначения).
Поэтому решила использовать функцию под номером 2, что подключает нужный отчет/обработку, который затем можно открыть по имени, возвращаемому данной функцией.
Итак, сам пример (полный код):
- ОткрытьВнешнююОбработку - пример обработки команды запуска внешней обработки без передачи параметров.
- ОткрытьВнешнююОбработкуСПараметром - пример обработки команды запуска внешней обработки с передачей одного параметра.
- ОткрытьВнешнийОтчетСКД - пример обработки команды запуска СКД отчета без передачи параметров.
- ОткрытьВнешнийОтчетСКДсПараметром - пример обработки команды запуска СКД отчета с передачей параметров отбора.
- ПолучитьСсылкуНаВнешнийОтчетОбработкуПоИмениНаСервере - служебная функция, выполняемая на сервере, получающая ссылку на экземпляр отчета (обработки) по имени, заданном в "Дополнительные отчеты и обработки".
- ОткрытьВнешнийОтчетОбработкуПоИмениСДопПараметрами - общая процедура, непосредственно осуществляющая открытие. Внутри нее как раз строка кода вызывающая стандартную функцию из БСП (выгружает вызываемый отчет/обработку и передает ее наименование, чтобы к нему можно было обратиться по имени при открытии формы):
Пример формы с кнопками, вызывающими эти процедуры:
Если вызывается отчет на СКД, то нужно создать для него типовую форму. Подробнее см. Как добавить типовую форму для СКД
Примечание: создавать форму, как оказалось, не обязательно. См. вариант вызова СКД без создания формы
Чтобы сработал код передачи параметров в СКД (ОткрытьВнешнийОтчетСКДсПараметром), нужно в модуле объекта СКД добавить код, принимающий эти параметры:
Также пробовала передавать параметры в СКД вот так:
Однако возникала ошибка: Невозможно применить фиксированные настройки. Пересекаются элементы отбора.
Поэтому выше описала, как передавала параметры отбора в отчет СКД при котором такой ошибки не было.
Обработки тестировались на демо-базе БСП версии 2.4.5.
- _TestОткрытиеВнешнихОтчетовОбработок.epf - обработка, содержащая форму с примерами кнопок вызова других отчетов и обработок. Можно открывать просто через Файл-Открыть.
- ВнешняяОбработкаПример.epf - пример внешней обработки, принимающей параметр. Нужно загрузить в"Дополнительные отчеты и обработки" (задать имя ВнешняяОбработкаПример)
- ВнешнийОтчетСКДПример.erf - пример внешнего отчета на СКД, принимающего параметры. Нужно загрузить в "Дополнительные отчеты и обработки" (задать имя ВнешнийОтчетСКДПример)
См. также Как в СКД по щелчку на какой-либо ячейке в отчете получить значение другой ячейки (там применяется метод, описанный в статье для вызова внешней обработки в качестве расшифровки ячейки СКД)
Версия БСП 1.2 При разработке нового отчета при помощи системы компоновки данных и при добавлении нескольких вариантов отчета на этапе разработки. После добавления данного отчета в состав конфигурации данные варианты отчета не появляются в режиме предприятия. Есть конечно же и стандартная обработка для регистрации вариантов отчета, но насколько мне известно она работает если конфигурация разработана на базе БСП. Если этот момент отсутствует либо не перенесены все необходимые подсистемы из БСП в разрабатываемую конфигурацию стандартную обработку необходимо "допилить". Для этого и была разработана данная обработка, которая работает в любой конфигурации без подсистем БСП.
1. После разработки нового отчета и добавления в нем необходимых вариантов отчета
2. Добавляем новый отчет в конфигурацию
3. В режиме предприятия запускаем обработку
4. Выбираем необходимый отчет и нажимаем кнопку "Обновить варианты"
5. После этого проверяем варианты отчета, они должны быть в списке выбора вариантов отчета
На этом все, так же данную обработку можно использовать для обновления вариантов отчета если в них были произведены изменения в конфигураторе.
PS. Коллеги, если кому-то понравилась разработка, не забываем ставить звездочки в рейтинге обработки.
На уровне различия в структуре метаданных в отчётах дополнительно можно указать основную Схему Компоновки Данных (СКД) и настройки для сохранения параметров. Также здесь есть используемый в текущий момент компоновщик настроек. В обработках данные структуры не используются.
Указание в отчётах основной СКД является полезной функцией, т.к. при этом можно создать требуемый отчёт, не написав ни единой строчки кода в самом модуле отчёта, что ускоряет разработку и понимание принципов функционирования СКД для новичков.
Внешние отчёты и обработки 1C
В режиме конфигуратора 1С есть возможность создавать не только объекты внутри конфигурации (в дереве метаданных), но и создавать внешние объекты в виде отдельных файлов. Это касается, в том числе, отчётов и обработок. Преимуществом внешних объектов в том, что новые объекты не требуется каждый раз включать в состав конфигурации и, соответственно, обновлять при этом всю информационную базу 1С. Вместо этого можно использовать любые необходимые отчёты и обработки и изменять их без внесения изменений в метаданные базы 1С.
Внешние отчёты/обработки сохраняются в отдельные файлы и имеют следующие расширения:
- Внешний отчёт – *.erf
- Внешняя обработка – *.epf
Пример создания внешней обработки 1С
Создавать внешние объекты довольно просто. Функционал, закладываемый разработчиком в конкретную реализацию отчёта или обработки в 1С 8.3 или 8.2, индивидуален и зависит от решаемой задачи.
1. Выбираем информационную базу из списка, заходим в режим конфигуратора 1С.
2. В конфигураторе выбираем пункт меню Файл – Новый…
3. Выбираем из списка вид объекта – Внешняя обработка.
4. Задаём имя обработки. В данном случае имя нашей обработки будет «ПримерВнешнейОбработки».
5. Определяем структуру данных обработки. По условию нашей задачи в структуру реквизитов нужно добавить строковое поле «Вывести».
6. Создаём пользовательскую форму. Тип формы: Обычная.
7. Правой клавишей мыши вызываем контекстное меню. Определяем обработчик нажатия на кнопку «Выполнить».
8. Прописываем код обработки.
9. Сохраняем нашу обработку на диск. Заходим в режим предприятия 1С.
10. Выбираем пункт меню Файл – Открыть…
11. Выбираем созданную нами обработку и нажимаем «Открыть».
Созданную обработку можно скачать по ссылке ниже.
Дополнительные отчёты и обработки
В конфигурациях 1С существуют также подключаемые внешние отчёты и обработки. Чтобы включить в информационную базу 1С соответствующую обработку/отчёт нужно выполнить ряд действий:
1. Зайти в конфигурацию в режиме предприятия 1С
2. В главном меню выбрать Сервис – Дополнительные отчеты и обработки – Дополнительные внешние обработки
3. Открылся список внешних обработок, загруженных в информационную базу 1С. Нажимаем кнопку «Добавить».
4. Загружаем файл обработки.
5. Запускаем обработку двойным кликом мышки, чтобы проверить её работоспособность.
С помощью данного механизма дополнительных обработок можно также изменять стандартные печатные формы на собственные и добавлять новые. Любой пользователь, таким образом, может расширить функционал типовой конфигурации 1С.
В этой статье мы рассмотрели создание и использование внешних отчётов и обработок. Создание внешних обработок в режиме управляемого приложения более подробно будет рассмотрено в следующей статье.
Читайте также: