Публикации. Расширения конфигурации. Полезные советы для разработки 1с как добавить расширение конфигурации

Оказалась вполне актуальной:)

Ok, давайте сделаем и эти выходные полезными.

Итак, сегодня еще одна тема “прикладной эксплуатации 1C”:

Механизм расширений в платформе 8.3.6

О чем речь?

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

При использовании расширений доработка конфигурации осуществляется в новой сущности – расширении конфигурации:

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

Таким образом, заказчик в результате получает возможность доработки конфигурации и одновременно – простое автоматическое обновление .

Чтобы Вы могли разобраться с этим более подробно, публикуем еще несколько видео + PDF по расширениям.

Итак, поехали:

Назначение расширений конфигурации

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

Объекты, которые можно изменять в расширении

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

Работа с расширениями в конфигураторе

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

Заимствование объектов

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

Создание собственных объектов в расширении конфигурации

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

Работа с расширениями в пользовательском режиме

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

Работа с управляемыми формами в расширениях конфигурации

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

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

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

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

Начиная с редакции 8.3.6 платформы 1С:Предприятия в ней появился механизм расширения конфигураций .

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

Новые возможности

Ограничения

Конечно есть и ограничения:

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

Пример использования

Давайте рассмотрим на примере как можно переопределить процедуру общего модуля с использованием расширения конфигурации. То есть это тот случай, когда нам надо оперативно исправить какую-то ошибку без выпуска релиза и обновления основной конфигурации. Итак пусть у нас есть общий модуль professia1c_ry_Расширения .

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

Процедура ВывестиСообщение() Экспорт Сообщение = Новый СообщениеПользователю; Сообщение. Текст = "Это основная конфигурация" ; Сообщение. Сообщить() ; КонецПроцедуры

А теперь давайте выведем другое сообщение с помощью расширения. В первую очередь нам конечно же надо создать само расширение. В меню конфигуратора выбираем Конфигурация — Расширение конфигурации


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

Далее в списке расширений убираем флажки «Безопасный режим, имя профиля безопасности» и «Защита от опасных действий» :


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

Для этого в дереве метаданных основной конфигурации щелкаем правой кнопкой по нужному общему модулю и выбираем пункт «Добавить в расширение» :


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

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

В итоге в общий модуль расширения будет добавлена процедура со следующим кодом:

&Вместо("ВывестиСообщение") Процедура Сообщения_ВывестиСообщение() // Вставить содержимое метода. ПродолжитьВызов() ; КонецПроцедуры

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

&Вместо("ВывестиСообщение") Процедура Сообщения_ВывестиСообщение_() Сообщение = Новый СообщениеПользователю; Сообщение. Текст = "Это расширение" ; Сообщение. Сообщить() ; КонецПроцедуры

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

Professia1c_ry_Расширения. ВывестиСообщение() ;

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

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

Начиная с версии платформы 8.3.6 появился новый метод внесения изменений - "Расширения конфигурации". При использовании данного метода конфигурация не меняется, что позволяет сохранить возможность автоматического обновления. Расширения конфигураций создаются и редактируются в режиме конфигуратора. Для того чтобы открыть окно просмотра и редактирования расширений, необходимо перейти в главном меню: Конфигурация->Расширения конфигурации .


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

Для расширений доступны следующие действия:
Добавление новых отчетов и обработок;
Изменение и добавление управляемых форм;
Добавление обычных форм;
Доступно изменение командного интерфейса;
Редактирование ролей;
Добавление подсистем и изменение их состава;

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

Выгрузка и загрузка расширений

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


Подробнее о переопределении процедур и функций можно прочитать в статье
.

Подробнее о том как добавить расширение в конфигурацию можно прочитать в статье

Предлагаем вашему вниманию новый механизм кастомизации приложений в облачном сервисе «1С:Предприятие через Интернет» (сайт): расширения конфигурации платформы «1С:Предприятие 8».

1. Зачем нужны расширения конфигурации

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

2. Возможности расширений конфигурации

С помощью расширений конфигураций вы можете:

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

Многие из этих задач реализовать с помощью дополнительных отчетов и обработок затруднительно или вовсе невозможно.

3. Сравнение с дополнительными отчетами и обработками

Раньше функционал прикладных решений на базе платформы «1С:Предприятие 8» можно было расширять с помощью дополнительных отчетов и обработок. Этот механизм по-прежнему поддерживается (см. по ссылке), но расширения конфигурации использовать предпочтительнее:

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

4. Порядок разработки и использования

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

  1. Авторизация разработчиков. Право на добавление в сервис расширений конфигурации выдается фирмой «1С» сотрудникам обслуживающих организаций сервисасайт со статусом «1С:ЦСК» по их заявкам. Сотрудники этих организаций, получившие право на добавление в сервис расширений конфигурации, получают статус разработчик расширений конфигурации . Подробнее об этом см. в статье по ссылке .
  2. Разработка расширения. Разработчик расширений конфигурации разрабатывает расширение на своем компьютере, тестирует расширение. Требования к расширениям конфигурации приведены После того, как расширение конфигурации разработано и протестировано, разработчик добавляет его в сервис, как описано в статье по ссылке . Расширение помещается в централизованный каталог расширений сервиса.
  3. Аудит расширения. При добавлении в сервис расширения конфигурации или его новой версии расширение автоматически направляется на аудит . Аудит выполняется сотрудниками провайдера (администратора) сервиса.

  4. Публикация в сервисе. После успешного прохождения аудита расширение конфигурации получает статус «Опубликовано в сервисе» и может использоваться - то есть, встраиваться в приложения.
  5. Предоставление доступа клиентам (абонентам). Если правообладателем расширения конфигурации является обслуживающая организация, то она может:

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

    Если правообладателем расширения конфигурации является клиент (абонент), по заявке которого разработано расширение, то:

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

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

5. Сопровождение и обновление

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

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

6. Примеры расширений конфигурации

6.1. Пример 1: вывод сведений о погоде

Расширение конфигурации «Демо:Погода» (его можно скачать ) показывает, как в приложении можно вывести информацию, полученную из внешней системы посредством выполнения HTTP-запроса.

Расширение отображает в начальной странице приложения сведения о погоде, полученные через публичный API с погодного сайта http://api.wunderground.com .

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

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

  • http://api.wunderground.com - определение местоположения и получение сведений о погоде;
  • http://icons.wxug.com - получение картинки погоды.

Расширение совместимо с любой конфигурацией, так как не заимствует объектов из расширяемой конфигурации.

6.2. Пример 2: предоставление ленты новостей

Расширение конфигурации «Демо:RSS» (его можно скачать ) показывает, как приложение может предоставлять данные внешней системе - например, мобильному приложению.

Приложение создает внешний программный интерфейс для получения информации в формате RSS, используемом лентами новостей, о последних десяти поступлениях в кассу для конфигурации «Бухгалтерия предприятия, редакция 3.0». В составе расширения реализован XDTO-пакет (URI пространства имен http://www.w3.org/2005/Atom):

а также HTTP-сервис, возвращающий информацию о последних десяти поступлениях в кассу, полученную по данным документов «Приходный кассовый ордер».

Для удобства подключения к RSS-ленте расширение выводит в начальной странице приложения:

  • гиперссылку с адресом ленты новостей;
  • QR-код с адресом ленты новостей - для чтения с помощью камеры мобильного устройства.

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

Для генерации QR-кода расширение конфигурации обращается к внешнему ресурсу http://api.qrserver.com , поэтому это расширение также должно подключаться в небезопасном режиме.

0. Введение

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

Согласно документации:

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

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

Более подробно о расширениях можно почитать и посмотреть здесь:

Заметки в зазеркалье
Курсы Гилёва и Насипова
Расширения в 8.3.9

Ниже я приведу полезные советы для работы с расширениями.

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

Итак, поехали!

1. Показать/скрыть неизмененные объекты

При добавлении новых объектов в расширение также автоматически добавляются связанные объекты. В результате в метаданных расширения скапливается много служебных объектов.
Для того, чтобы показать только измененные объекты есть кнопка “Измененные и добавленные в расширении”. При нажатии отображаются только добавленные вручную и измененные объекты расширения.
Принцип её работы показан ниже:

2. Последовательность выполнения обработчиков

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

а) Выполнить сначала типовой код, затем код из расширения:

&НаСервере Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ДополнительныеПараметры = Новый Структура; ДополнительныеПараметры.Вставить("Сообщение", "ПослеТиповогоОбработчика!"); УстановитьВыполнениеПослеОбработчиковСобытия("ВыполнитьПослеТиповогоОбработчика", ДополнительныеПараметры); КонецПроцедуры &НаСервере Процедура ВыполнитьПослеТиповогоОбработчика(Отказ, СтандартнаяОбработка, ДополнительныеПараметры) Сообщить(ДополнительныеПараметры.Сообщение); КонецПроцедуры

б) Выполнить сначала код из расширения, затем типовой код, затем опять код из расширения

&НаСервере Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Процедуры до типовых обработчиков Сообщить("До типового обработчика!"); // Устанавливаем обработчик после типового обработчика событий УстановитьВыполнениеПослеОбработчиковСобытия("ВыполнитьПослеТиповогоОбработчика"); // Дальше будет выполнен код из типового обработчика КонецПроцедуры &НаСервере Процедура ВыполнитьПослеТиповогоОбработчика(Отказ, СтандартнаяОбработка, ДополнительныеПараметры) // Код после типового обработчика из расширения Сообщить("После типового обработчика!"); КонецПроцедуры

в) Выполнить сначала типовой код, затем код из расширения, затем снова типовой код

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

&НаСервере Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Процедуры до типовых обработчиков Сообщить("ДоТиповогоОбработчика!"); // Процедуры из типового обработчика Если НЕ ЗначениеЗаполнено(БанковскийСчет.ВалютаДенежныхСредств) Тогда БанковскийСчет.ВалютаДенежныхСредств = ОбщегоНазначенияБПВызовСервераПовтИсп.ПолучитьВалютуРегламентированногоУчета(); КонецЕсли; РазместитьКонтактнуюИнформацию(); Если Параметры.Ключ.Пустая() Тогда ПодготовитьФормуНаСервере(); КонецЕсли; УправлениеФормой(ЭтаФорма); // Процедуры после типовых обработчиков Сообщить("ПослеТиповогоОбработчика!"); // Остановим выполнение типовых обработчиков УстановитьВыполнениеОбработчиковСобытия(Ложь); КонецПроцедуры

г) Отменить типовые обработчики

&НаСервере Процедура Учеб_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Остановим выполнение типовых обработчиков УстановитьВыполнениеОбработчиковСобытия(Ложь); КонецПроцедуры

3. Создание и использование общего модуля, модуля менеджера или модуля объекта

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

&НаСервере Процедура СообщитьДиректораНаСервере() Должность = "Директор"; ФИОРуководителя = "Иванов И.И."; Обработки.Учеб_Обработка.СообщитьДиректора(Должность, ФИОРуководителя); КонецПроцедуры

Модуль менеджера обработки:

Процедура СообщитьДиректора(Знач Должность, Знач ФиоРуководителя) Экспорт ТекстСообщения = СтрШаблон(НСтр("ru="%1 %2""), Должность, ФиоРуководителя); Сообщить(ТекстСообщения); КонецПроцедуры

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

4. Как подключить отладку

В типовых конфигурациях на основе библиотеки стандартных подсистем (БСП) при отладке расширений встречается вот такое страшное сообщение:


Оно возникает если в конфигураторе открыто наше расширение и лечится только закрытием окна расширения.

Для того, чтобы подключить отладку в расширении следует и спользовать ключ командной строки - “РежимОтладки”

Это упрощает отладку кода. В частности:

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

Для того чтобы его установить:

  • Запустить предприятия с ключом командной строки - " /C РежимОтладки "
  • В режиме конфигуратора установить параметр запуска:
    Сервис -> Параметры -> Запуск 1С:Предприятия -> Параметр запуска: ввести строку < РежимОтладки >

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

Для того, чтобы исправить эту ситуацию можно попробовать следующие действия:

1. В конфигураторе закрыть это расширение
2. Запустить конфигурацию в режиме предприятие и открыть форму, связанную с расширением
3. Открыть расширение в конфигураторе
4. Перезапустить отладку.

5. Как писать запросы

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


6. Как сохранять данные

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

а) Сохранение данных формы

В редактируемой форме можно установить свойство - “АвтоматическоеСохранениеДанныхВНастройках” в "Использовать" и поставить флаг "Сохранение" над нужными реквизитами. Это позволит сохранять значения реквизитов типовым механизмом платформы:


Такое сохранение данных .

б) Хранилище общих настроек

В этом хранилище можно хранить любые данные. Подробнее можно .
Рассмотрим пример хранения произвольных данных.

Сохранение данных:

&НаСервере Процедура ПередЗакрытиемНаСервере() // Подготовим структуру хранения данных СтруктураНастроек = Новый Структура; СтруктураНастроек.Вставить("Всем", Всем); СтруктураНастроек.Вставить("Близким", Близким); СтруктураНастроек.Вставить("Друзьям", Друзьям); // Сохраним данные в хранилище общих настроек ОбщегоНазначения.ХранилищеОбщихНастроекСохранить("Учеб_СделатьВсёХорошо", "Настройки", СтруктураНастроек); КонецПроцедуры

Восстановление данных:

&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Инициализируем структуру СтруктураНастроек = Новый Структура; // Восстановим сохраненные данные СтруктураНастроек = ОбщегоНазначения.ХранилищеОбщихНастроекЗагрузить("Учеб_СделатьВсёХорошо", "Настройки", СтруктураНастроек); // Заполним значения реквизитов формы ЗаполнитьЗначенияСвойств(ЭтаФорма, СтруктураНастроек); КонецПроцедуры

7. Как добавить свой макет

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

8. Как подменить кнопку заполнения табличной части

Иногда может потребоваться и добавить свою кнопку заполнения и оставить типовую кнопку.
Для того, чтобы убрать типовую кнопку подальше, но не удалять её совсем можно установить свойство - “Только во всех действиях” - "Да":

В этом случае кнопка будет доступна из подменю “Еще”. Это позволит в случае непредвиденных ситуаций продолжить работу с типовой функциональностью.

9. Расширение как багфикс

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

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

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

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

10. Как вывести свою обработку в интерфейс

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

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

11. Как перевести расширение на 8.3.8

Чтобы перевести расширение на 8.3.8 следует выполнить следующие действия:

1. Снять режим совместимости в расширении.
Установить свойства совместимости такими же как и у основной конфигурации.

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

3. Обновить формы в расширении.
Следует обновить формы расширений из основной конфигурации. Чтобы и в расширении и в конфигурации формы были одинаковыми.

4. Привести компоновку формы к новым правилам движка.
С рекомендациями по адаптации форм к новой платформе можно ознакомиться по этой ссылке .

5. Проверить, что расширение выглядит и работает правильно.

Более подробно по каждому пункту описано в . Там же приведены полезные материалы по теме.

12. Как подключить расширение

1. Администрирование - "Печатные формы и обработки"

3. Кнопка "Добавить" - Выбираем файл

4. Кнопка "Перезапустить"

5. Готово!


13. Как обновить расширение

1. Администрирование - "Печатные формы и обработки"

3. Встаем на нужное расширение

4. "Еще" - Команда "Обновить из файла на диске"

5. Кнопка "Перезапустить"

6. Готово!

Пока на этом всё!

Благодарность можно выразить денежно, а то кризис, сами понимаете!

Программы и игры