Как добавить модуль объекта в расширение 1с

Обновлено: 07.07.2024

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

В качестве ограничений расширения методов можно выделить:

При расширении модуля объединяется пространство имен расширяемого и расширяющего модуля. Так из расширяющего модуля можно обращаться к переменным и методам расширяемого модуля. А экспортные методы и переменные, созданные в расширяющем модуле, также доступны из других модулей конфигурации и расширения.

В заимствованном в расширение модуле можно:

Механизм аннотаций.

Ниже на примерах рассмотрим каждую аннотацию, а также возможность их комбинаций.

Аннотация &Перед

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

Наглядно это можно отразить на приведенной ниже схеме


В качестве примера решим задачу вывода Фото Физического лица на Форму элемента Справочника Сотрудники в конфигурации ЗУП 3.1. Для этого добавим в расширение метод СотрудникиФормы.СотрудникиПриСозданииНаСервере вызываемый в обработчике Формы ПриСозданииНаСервере.


Запустим 1С Предприятие в режиме конфигуратора и перейдем в общий модуль СотрудникиФормы, далее щелкнув правой кнопкой мыши по заголовку процедуры СотрудникиПриСозданииНаСервере откроем выпадающий список – в нем выберем строчку «Добавить в расширение», система спросит тип аннотации – выберем «Вызывать перед»



Добавим в процедуру код программного вывода изображения на форму:

Запустим 1С в режиме предприятия и убедимся что фото Физлица выведено на Форме Сотрудника


Аннотация &После

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


Для примера рассмотрим задачу изменения цвета текста в поле ФОТ на Форме элемента Справочника Сотрудники в конфигурации ЗУП 3.1. в зависимости от выведенного значения. Если ФОТ < 30 000 сделаем желтый, если значение в диапазоне от 30 000 до 50 000 зеленый, если больше 50 000 – красный.


Вернемся в режим конфигуратора 1С Предприятия, данные ФОТ заполняются в обработчике Формы элемента Справочника Сотрудники ПриЧтенииНаСервере процедурой общего модуля СотрудникиФормы.СотрудникиПриЧтенииНаСервере. Для того чтобы анализировать уже заполненное значение ФОТ добавим метод СотрудникиФормы.СотрудникиПриЧтенииНаСервере в расширение с аннотацией &После


Далее добавим в процедуру код изменяющий цвет текста

Запустим 1С в режиме предприятия и убедимся что цвет текста в поле ФОТ стал зеленым


Аннотация &Вместо

Данная аннотация полностью отключает выполнение расширяемого метода и выполняется только метод расширенный


Стоит отметить, что если для процедур основной конфигурации доступны все три аннотации то при добавлении в расширение функции из основной конфигурации доступна только одна аннотация &Вместо


Для примера запустим 1С Предприятие в режиме конфигуратора и добавим используемую выше функцию получения изображения физлица КадровыйУчетРасширенный.АдресФотографииФизическогоЛица в расширение. Платформа 1С создала функцию Расш1_АдресФотографииФизическогоЛица в расширении со следующим содержимым:


Метод ПродолжитьВызов() рассмотрим ниже, а сейчас заменим содержимое функции слегка доработанным типовым кодом, добавив в него условие, что если пользователю не доступна Роль «Расш1_ПросмотрФото» то адрес изображения возвращаться не будет:

Запустим 1С в режиме предприятия и убедимся, что изображение скрыто даже для пользователя с полными правами


Метод ПродолжитьВызов()

Теперь остановимся на методе платформы 1С ПродолжитьВызов(), если добавить его в расширяемую функцию, то можно обрабатывать его результат как бы было в случае использования аннотации &После для процедуры.

Решим сейчас такую задачу – выведем вместо надписи «Картинка не установлена» собственную картинку для тех Сотрудников у которых в базе нет фото. Для этого добавим также в расширении картинку в ветку метаданных Общие картинки новый элемент Расш1_ПустоеФото с подходящим изображением


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

Запустим 1С в режиме предприятия и убедимся, что вместо надписи «Картинка не установлена» мы видим добавленную в расширение картинку-заглушку


Если вернуться к предыдущей задаче, где мы возвращали пустое значение картинки, в случае если у пользователя нет нужной роли, код функции можно переписать, также используя метод ПродолжитьВызов()

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

Совместное использование &Перед и &После


Использование метода ПродолжитьВызов()


Последовательность выполнения расширенных методов

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

Порядок следования расширений в конфигурации


Порядок обхода аннотаций &Перед и &После


Порядок обхода аннотации &Вместо совместно с методом ПродолжитьВызов() и аннотациями &Перед и &После


Порядок обхода аннотации &Вместо без метода ПродолжитьВызов()


Важно отметить что в данном случае будет выполнятся только код из Расширения 2

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

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.15.1489.

Мы выполнили ряд доработок, которые упрощают поддержку и подключение расширений в простых и частых сценариях использования.

Упрощение поддержки небольших изменений в методах

При создании расширений бывают случаи, когда вам нужно полностью заменить какой-то метод основной конфигурации собственным методом. Для этого вы можете использовать аннотацию &Вместо. В таком случае, как бы ни изменялась типовая конфигурация, будет работать только ваш метод. Другими словами вы полностью берёте ответственность за работу расширяемого метода на себя.

Но часто возникают ситуации, когда вы не хотите полностью менять поведение метода конфигурации, а хотите лишь немного подкорректировать его. Так, чтобы основное «содержание» метода менялось бы вместе с изменениями конфигурации, и в то же время в нём сохранялись ваши небольшие изменения.

Специально для таких небольших доработок мы сделали компромиссное решение – новую аннотацию &ИзменениеИКонтроль. Она позволяет вам добавить собственные изменения в метод, сохраняя, при этом, его исходный текст.

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

  • такой метод не применится и попадёт в список ошибок применения расширения,
  • Конфигуратор поймёт, что эта ошибка относится к особенностям работы аннотации &ИзменениеИКонтроль,
  • в колонке Действие Конфигуратор предложит вам Восстановить соответствие с методом конфигурации,
  • с помощью объединения по трём точкам платформа изменит в расширении исходный текст так, чтобы он соответствовал новому тексту модуля (для этого вы должны заранее настроить в Конфигураторе использование внешней программы для сравнения модулей).

002.jpg

В такой ситуации вы можете заимствовать этот метод в расширение, и использовать при этом аннотацию &ИзменениеИКонтроль.

001.jpg

004.jpg

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

Как и в случае использования аннотации &Вместо, метод с аннотацией &ИзменениеИКонтроль полностью заменяет собой расширяемый метод конфигурации. С одним расширяемым методом конфигурации может быть связан только один метод, имеющий аннотацию &ИзменениеИКонтроль. Если есть другие методы с этой аннотацией, расширяющие исходный метод, они будут признаны ошибочными и будут показаны в списке ошибок применения расширения.

Несмотря на всё удобство аннотации &ИзменениеИКонтроль, мы всё равно рекомендуем подходить к её использованию очень взвешенно. Основным сценарием для расширения типовых конфигураций являются аннотации &Перед и &После. Аннотацию &ИзменениеИКонтроль вы можете использовать тогда, когда &Перед и &После не позволяют достичь желаемого результата.

Облегчение поддержки расширений в случае переименования объектов конфигурации

Если в расширении есть заимствованные из конфигурации объекты, то каждый раз, при проверке применимости, платформа контролирует, что в конфигурации всё ещё есть объекты, соответствующие заимствованным. При этом сопоставление объектов происходит по именам.

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

Это понятное ограничение, но технически следовать ему не очень удобно. Такое переименование в расширении приходится выполнять вручную. К тому же не всегда бывает ясно, какое исходное имя было у переименованного объекта.

Чтобы облегчить вам эту работу, мы сделали следующие доработки:

  • Для свойств заимствованных объектов мы добавили новый тип действия – Предупреждать о расхождении при подключении расширения. Он отображается как обычный флажок. Кроме этого для заимствованных объектов мы добавили новое контролируемое свойство Объект расширяемой конфигурации. Оно недоступно для редактирования, заполняется автоматически при заимствовании и содержит внутренний идентификатор расширяемого объекта.

101.jpg

  • Для самого расширения мы добавили новое свойство Поддерживать соответствие объектам расширяемой конфигурации по внутренним идентификаторам. По умолчанию оно имеет значение Истина.

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

Если же конфигурация и расширение разрабатываются отдельно, то в Конфигураторе, при добавлении расширения, в списке ошибок проверки применимости у вас появятся новые действия, основанные на том, что в расширении теперь сохраняются идентификаторы расширяемых объектов:

  • Переименовать, сохранив соответствие,
  • Выбрать соответствие,
  • Сохранить имя, изменив соответствие,
  • Установить значение из объекта конфигурации,
  • Очистить соответствие,
  • Отключить проверку,
  • Удалить объект.

Облегчение подключения «универсальных» расширений

«Универсальными» мы, условно, называем такие расширения, которые приносят в конфигурацию свою функциональность, и, как правило, не содержат заимствованных объектов. Например, это может быть расширение, добавляющее в конфигурацию какие-то обработки или отчёты.

Пользователи конфигурации, у которых есть роли, автоматически дающие права на новые объекты, смогут воспользоваться этими обработками и отчётами. Но дать права на них другим пользователям бывает сложно.

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

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

Чтобы упросить создание и подключение «универсальных» расширений, мы внесли в механизм некоторые доработки, которые позволяют работать по следующему сценарию:

  • На предприятии некоторым ответственным пользователям дается дополнительное право администрирования расширений конфигурации. Благодаря этому они могут самостоятельно (без участия администратора) подключать новые расширения.
  • Эти пользователи, например, скачивают из Интернета расширение, подключающее новую печатную форму.
  • С помощью стандартной функции Управление расширениями конфигурации они добавляют это расширение в информационную базу.

Доработки, которые мы сделали в механизме, заключаются в следующем.

Во-первых, теперь при создании расширения в нем автоматически создаётся роль, имя которой формируется по шаблону <ПрефиксРасширенияКонфигурации>_ОсновнаяРоль. Эта роль устанавливает права для новых собственных объектов.

Эта роль сразу же добавляется в свойство Основные роли расширения (возможность модифицировать основные роли мы добавили в версии 8.3.14).

202.jpg

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

Во-вторых, расширению конфигурации мы добавили новое свойство ИспользоватьОсновныеРолиДляВсехПользователей, которое стандартно установлено в значение Истина. Это значит, что по умолчанию при добавлении такого расширения все пользователи конфигурации будут обладать правами из основных ролей добавляемого расширения.

В третьих, в стандартную функцию Управление расширениями конфигурации мы добавили возможность управления основными ролями.

203.jpg

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

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

Таким образом, если вы не хотите использовать новое стандартное поведение (чтобы при добавлении вашего расширения все пользователи сразу же получали доступ к его функциям), устанавливайте свойство расширения ИспользоватьОсновныеРолиДляВсехПользователей в значение Ложь. Тогда роли расширения, как и раньше, администратор должен будет добавить пользователям в явном виде.

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

201.jpg

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

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

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

И, наконец, если в расширении нужен разный ролевой доступ к разным его частям, то в основную роль расширения добавляйте ту роль, которая понадобится большинству пользователей. А роль, которая даёт права на остальную функциональность, администратор добавит пользователям самостоятельно. Например, ваше расширение позволяет формировать и отправлять отчёты. Формировать могут все, а отправлять – только некоторые пользователи. Тогда роль, позволяющую формировать отчеты, вам нужно включить в основные роли расширения.

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

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Реализовано в версии 8.3.14.1565.

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

Добавление собственных параметров сеанса и значений перечислений

Раньше вы могли изменять роли типовой конфигурации, заимствуя их в расширение: устанавливать и снимать права на заимствованные объекты конфигурации и на собственные объекты расширения. Однако если заимствованные роли использовали ограничения доступа к данным на уровне записей и полей базы данных, то для полноценной работы этих ограничений вам не хватало возможности создавать собственные параметры сеанса в расширении.

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

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

Например, вы заимствовали перечисление и добавили в него собственное значение Отменен.

001.jpg

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

Если после этого вы деактивируете расширение, то собственные значения останутся в базе данных, но не будут показаны в пользовательском режиме. Вместо этого будет выведена надпись <Объект из отключенного расширения конфигурации>.

003.jpg

Также эти значения не будут доступны вам из встроенного языка:

002.jpg

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

004.jpg

Комментарии к объектам в расширении

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

005.jpg

Добавленное нами свойство Комментарий никак не используется платформой в процессе применения расширения ни для контроля, ни для изменения одноимённого свойства расширяемого объекта. Оно предназначено исключительно для вас, для того, чтобы вы могли сохранять какие-то заметки к изменяемым и добавляемым объектам.

Ослабление контроля обработчиков событий при применении расширения

Раньше при расширении модулей количество параметров обработчика события в расширении и в расширяемом модуле должно было быть одинаковым. Платформа контролировала это соответствие и не применяла расширение метода, если количество параметров отличалось.

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

Раньше это приводило к тому, что расширение не применялось, так как количество параметров не совпадало. Теперь мы отменили этот контроль, и при применении расширения количество параметров и описателей Знач в обработчиках событий не контролируется.

Упрощение работы с расширениями формы

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

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

С одной стороны это было хорошо, так как вы всегда (даже в отсутствие расширяемой конфигурации) можете посмотреть на форму в том виде, в котором она задумывалась. С другой стороны подавляющее большинство заимствованных при этом объектов лично вам не нужно для контроля или доработки. А любое их изменение в расширяемой конфигурации сразу же приводит к тому, что ваше расширение перестаёт подключаться, и его нужно адаптировать.

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

006.jpg

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

007.jpg

Если вы захотите изменять реквизиты, параметры и команды, их нужно в явном виде заимствовать в расширение. Для этого в редакторе формы есть контекстная команда, а заимствованные элементы отображаются чёрным цветом.

008.jpg

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

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

Механизм расширения конфигурации 1C

Как указано в описании: «Механизм расширения конфигурации – это специальный механизм, предназначенный для доработки расширяемой конфигурации без изменения этой конфигурации (в том числе без снятия с поддержки).»

Основным назначением расширения конфигурации является доработка прикладных решений (конфигураций) под нужды клиента. При этом нет необходимости в снятии дорабатываемой конфигурации с поддержки. В результате сохраняется простота сопровождения и обновления типового прикладного решения, стоящего на поддержке.

При разработке расширений следует учитывать следующие факты:

Расширение может иметь одно из следующих назначений:

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

Ограничения использования расширений:

Расширения конфигурации не поддерживают создание следующих собственных объектов:

Не поддерживается расширение следующих объектов:

Не поддерживается добавление реквизитов и табличных частей для:

Не поддерживается изменение структуры регистров всех видов. Поддерживается только расширение состава регистраторов.

В базовых версиях прикладных решений работа с расширениями не поддерживается.

Стоит помнить, что Механизм расширения конфигурации – это перспективный постоянно развивающийся механизм и с выходом новых версий платформ их функционал только расширяется и лишается текущих недочетов.

Как добавить расширение конфигурации 1С 8.3

Для создания расширения необходимо запустить 1С в режиме конфигуратора.

В конфигураторе необходимо зайти в меню «Конфигурация» и выбрать пункт «Расширения конфигурации». Откроется окно со списком расширений (если они есть). Далее нажмем кнопку «Добавить». Мы увидим диалоговое окно создания расширения:


Стоит отдельно выделить поле Назначение – необходимо выбрать его значение в зависимости от решаемой задачи – т.к. мы выполняем добавление объектов по требованиям конкретного заказчика – нам подойдет вариант «Адаптация».


Добавим в расширение справочник Категория должности по Классификатору Предприятия. Стоит обратить внимание, что в название всех объектов процедур и функций созданных в расширении, добавляется его префикс (в нашем случае Расш1_);


Разместим наш новый Справочник в Подсистеме «ШтатноеРасписание» для этого необходимо добавить эту подсистему в Расширение – Перейдем в дерево основной Конфигурации и нажмем правой кнопкой мыши на строке с нужной подсистемой и выберем пункт «Добавить в расширение».


Теперь мы можем управлять ее составом, добавим наш новый объект в подсистему.


Далее добавим в расширение Справочник Должности и добавим для него новый реквизит КатегорияДолжности с типом СправочникСсылка.Расш1_КатегорияДолжностиПоКлассификаторуПредприятия


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

Останавливаться на плюсах и минусах каждого решения не будем, а ниже рассмотрим оба варианта.

Интерактивное изменение Формы в расширении.

Для того чтобы вывести Реквизит на форму интерактивно: необходимо добавить саму Форму «ФормаЭлемента» в расширение. Обращу ваше внимание на следующий момент – для того чтобы появилась возможность Интерактивного добавления Реквизита объекта на форму необходимо сам Объект тоже добавить в расширение.


Далее добавим новый Реквизит в подходящую Группу на форме.


Запустив 1С в режиме Предприятия убедимся, что новый Справочник появился в интерфейсе


А открыв элемент справочника Должности, увидим, что добавляемый реквизит Категория должности также в нужном месте.


Программное изменение Формы в расширении.

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

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


Перейдем в Общий модуль УправлениеСвойствами где находится данная процедура, и кликнем правой кнопкой мыши по процедуре ПриСозданииНаСервере. В выпадающем меню выберем пункт «Добавить в расширение»


Система предложит нам выбрать одну из аннотаций, подробнее о каждой из них рассмотрим в следующих публикациях, а сейчас выберем «Вызывать после»


Далее в добавленную процедуру поместим следующий код:


Готовое расширение можно выгрузить в файл перейдя в конфигураторе в меню «Конфигурация» и выбрать пункт «Расширения конфигурации». В открывшемся списке расширений по правой кнопкой мыши можно вызвать выпадающее меню, либо выбрать пункт командной панели «Конфигурация» и выбрать пункт «Сохранить конфигурацию в файл…». На выходе мы получим Файл типа *.cfe который можно передать заказчику.


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

Читайте также: