Что такое расширения конфигурации 1С, и для чего они нужны?
После выхода 1С 8.3.6.1977 к функционалу типовых конфигурации был добавлен новый инструмент «Расширение».
Расширения 1С — это инструмент, который позволяет осуществлять доработку типовой конфигурации, но при этом сохранить её в статусе типовой поддержки. Тем самым, затраты на проведение штатных работ по обновлению конфигурации не будут увеличены и система останется типовой.
При помощи расширений конфигураций вы сможете в разы сократить затраты на адаптацию стандартных прикладных решений к потребностям внедрения для конкретного клиента.
Плюсы данного решения в том, расширения позволяют вносить доработки в конфигурацию, но при этом не снимают её с поддержки. Снятие конфигурации с поддержки значительно увеличивает временные и финансовые затраты, необходимые для обновления такой конфигурации, а также (при большом количестве изменений) повышает требования к квалификации специалиста, который будет проводить обновление.
Но создание расширения 1С не всегда исключает ситуации связанные с трудностями при обновлении. Это связано с тем, что после очередного обновления в типовой системе могут быть внесены разработчиком (компанией «1С») изменения в объекты, которые используются в расширениях (доработках конфигурации) и расширения могут утратить свою работоспособность и потребуется вносить в них доработки. А в редких случаях могут привести и к серьезным ошибкам или полностью утратить свою актуальность, либо работоспособность.
В целом функционал расширения может значительно упростить жизнь как программисту, так и пользователям базы данных, однако и этот механизм требует четкой работы и корректной поддержки.
Работа с расширениями 1С
Осуществляя разработку расширений полезно знать о том, что:
- 1 В конфигурации можно внедрять сразу несколько расширений одновременно;
- 2 Не все объекты конфигурациии можно использовать в расширении.
Расширения могут включать в себя одно из перечисленных далее назначений в следующем порядке:
- 1 «Исправление» — назначение применимо в том случае, когда требуется оперативное исправление ошибок в расширениях;
- 2 «Адаптация» — данное назначение используется в случае, когда под условие клиента требуется применение прикладного решения. Например: при условиях, когда в одно реализованное расширение не получается вместить весь перечень доработок применяется «Адаптация». С помощью этого назначения вы сможете разделить все доработки в расширении по крупным блокам;
- 3 «Дополнение» — применяется в случае, когда необходимо реализовать новую доработку в уже существующем расширении. Например: при включении данного назначения программист сможет создать, к примеру, новый набор отчётов, которые отсутствуют в прикладном решении, но необходимы клиенту.
Применение 1С расширения
Программистам 1С часто поступают задачи, касательные доработки конфигураций. Метод, по которому работают 1С 8 расширения, не предполагает вмешательства в типовую версию продукта. Все доработки осуществляются внутри самих расширений.
Когда все доработки в расширении выполнены — специалисту остаётся подключить его к конфигурации, а платформа их самостоятельно объединит.
Так как режим поддержки типовой версии продукта не подвергался изменениям — при выпуске обновления продукт автоматически обновится, потому что по-прежнему будет находиться на полной технической поддержке со стороны самой компании 1С.
После обновления система произведёт объединение конфигурации и расширения.
Сценарий работы расширения 1С
Для наглядности рассмотрим следующий пример: внештатный специалист дорабатывает конфигурацию для клиента, находящегося на поддержке или в момент внедрения продукта в бизнес-процессы Заказчика. Или же доработкой типовой версии продукта занимается не сторонний исполнитель, а специалист со стороны самого Заказчика.
При выполнении доработок в расширениях типовые конфигурации будут оставаться на полной поддержке со стороны самой компании 1С. Это в разы упрощает их дальнейшее сопровождение.
Какие объекты в 1С расширениях не поддерживаются при создании?
При расширении типовой конфигурации не поддерживаются следующие собственные объекты:
- Функциональные опции и их параметры;
- Бизнес-процессы и задачи;
- Внешние источники данных;
- Регламентные задания;
- Подписки на события;
- Хранилище настроек;
- Журнал документов;
- Определяемые типы;
- Общие реквизиты;
- Параметры сеанса;
- Критерии отбора;
- Константы;
- Языки.
- В расширении нельзя создать подчинённую подсистему. В случае, если объект не является собственным, его расширение невозможно;
- При использовании базовой версии прикладного решения инструмент по расширению конфигурации недоступен.
Как устроено 1С расширение конфигурации
Устройство расширения схоже с обычной конфигурацией и демонстрируется в форме дерева объектов.
Главная особеность расширений — это наличие функции заимствования любых объектов у типовых конфигураций.
Необходимо перейти в раздел «Конфигурация» → «Номенклатура» → «Добавить в расширения».
Функция заимствования объектов нужна для того, чтобы убедиться в том, что расширение и типовая конфигурация в связке работает правильно.
В процессе подключения расширения система каждый раз проводит проверку на корректное заимствование объектов.
Как осуществляется подключение расширения 1С
Нужно перейти в раздел «Все функции» → «Стандартные» → «Управление расширениями конфигурации» или же воспользоваться интерфейсом, предоставленным самой компанией 1С: Предприятие.
Также создать новое расширение можно в конфигураторе. После отладки и проверки вы сможете сохранить его в файл.
После сохранения вы можете передать файл клиенту, а он в свою очередь сможет осуществить самостоятельную загрузку расширения.
Чтобы осуществить подключение расширения, которое сохранено в файл запуск конфигуратора не требуется.
Как проверить возможность подключения расширения к различным конфигурациям
Осуществить проверку подключения расширения к различным конфигурациям можно при помощи:
- 1 Встроенной опции «Управление расширениями конфигурации»;
- 2 Запуска конфигуратора в пакетном режиме;
- 3 Встроенного языка.
Назначение расширения 1С
Выбрать назначение можно из списка фиксированных значений, которые предусмотрены в системе.
Последовательность применения расширения с назначением:
- 1 «Исправление»;
- 2 «Адаптация»
- 3 «Дополнение».
Если следовать такому порядку, то вы сможете избегать конфликтов между функциональностью расширений и назначением.
В данной статье мы рассказали о том, что такое расширения в конфигурациях 1С. Если у вас остались вопросы или требуется настройка 1С — звоните нам по номеру, указанному на сайте. Наши специалисты с радостью ответят на все, интересующие вас вопросы.
Расширения конфигурации 1С
Приветствую уважаемый читатель, в данной статье предлагаю ознакомиться с Механизмом расширения конфигурации 1С 8.3, в частности мы познакомимся с его работой в режиме Адаптация, а также рассмотрим пример программного изменения Формы объекта при помощи расширения. Ну, а сейчас немного теории…
- 1 Расширение конфигурации 1C 8.3: Механизм расширения конфигурации
- 1.1 Работа с расширения конфигурации 1С
- 1.1.1 Назначение расширений 1С
- 1.1.1.1 Расширение 1С Исправление
- 1.1.1.2 Расширение 1С Адаптация
- 1.1.1.3 Расширение 1С Дополнение
- 2.1 Добавить расширение 1С в конфигураторе
- 2.2 Интерактивное изменение Формы в расширении.
- 2.3 Программное изменение Формы в расширении
Расширение конфигурации 1C 8.3: Механизм расширения конфигурации
Как указано в описании: «Механизм расширения конфигурации – это специальный механизм, предназначенный для доработки расширяемой конфигурации без изменения этой конфигурации (в том числе без снятия с поддержки).»
Основным назначением расширения конфигурации является доработка прикладных решений (конфигураций) под нужды клиента. При этом нет необходимости в снятии дорабатываемой конфигурации с поддержки. В результате сохраняется простота сопровождения и обновления типового прикладного решения, стоящего на поддержке.
Работа с расширения конфигурации 1С
При разработке расширений следует учитывать следующие факты:
- в системе могут функционировать более одного расширения.
- расширяемая конфигурация в любой момент может быть изменена, например, в результате обновления и разработчик расширения никак не может повлиять на возможность или невозможность обновления
Назначение расширений 1С
Расширение в 1С может иметь одно из следующих назначений.
Расширение 1С Исправление
Исправление — предназначено для оперативного исправления ошибок в прикладном решении. В таких расширениях часто применяется метод с помощью аннотации Вместо. Как правило это назначение предназначено для определенной версии прикладного решения. При выходе следующей версии этого решения автор расширения должен проводить анализ применимости созданных расширений в новой версии.
Расширение 1С Адаптация
Адаптация — предназначено для адаптации прикладного решения под условия конкретного заказчика. Предполагается, что в каждый момент времени в информационной базе существует минимальное количество таких расширений. Если в одно расширение невозможно включить весь набор изменений, то рекомендуется расширения с назначением Адаптация разбивать по максимально крупным блокам расширяемого прикладного решения.
Расширение 1С Дополнение
Дополнение — предназначено для реализации новых возможностей прикладных решений, которые минимально привязаны к конкретной версии прикладного решения. В качестве примера можно привести создание нового набора отчетов, который отсутствует в прикладном решении. Предполагается, что таких расширений может быть произвольное количество.
Расширение создается в конфигураторе, хранится в информационной базе и может быть выгружено в файл. Для подключения расширения, сохраненного в файл, в прикладное решение нет необходимости использовать конфигуратор. Подключить расширение можно с помощью стандартного функционала (Все функции Стандартные Управление расширениями конфигурации). Подключить расширение также используя программный интерфейс, предоставляемый платформой.
Ограничения использования расширений
Расширения конфигурации не поддерживают создание следующих собственных объектов:
- Параметры сеанса;
- Общие реквизиты;
- Критерии отбора;
- Подписки на события;
- Регламентные задания;
- Функциональные опции и параметры функциональных опций;
- Определяемые типы;
- Хранилища настроек;
- Языки;
- Константы;
- Журналы документов;
- Бизнес-процессы и задачи;
- Внешние источники данных.
Не поддерживается расширение следующих объектов:
- Нельзя создавать подчиненные подсистемы.
- Если объект не может быть собственным объектом расширения его расширение также не поддерживается.
- Состав значений перечислений;
Не поддерживается добавление реквизитов и табличных частей для:
- План видов характеристик;
- План счетов;
- План видов расчетов.
Не поддерживается изменение структуры регистров всех видов. Поддерживается только расширение состава регистраторов.
В базовых версиях прикладных решений работа с расширениями не поддерживается.
Стоит помнить, что Механизм расширения конфигурации – это перспективный постоянно развивающийся механизм и с выходом новых версий платформ их функционал только расширяется и лишается текущих недочетов.
Как добавить расширение в 1С 8.3
Чтобы ответить на вопрос «как добавить расширение конфигурации 1С», предлагаю рассмотреть задачу добавления нового Справочника «Категория должности по Классификатору Предприятия» с выводом его значения на Форму Справочника Должности, на базе Конфигурации ЗУП 3.1.
Добавить расширение 1С в конфигураторе
Для создания расширения необходимо запустить 1С в режиме конфигуратора.
В конфигураторе необходимо зайти в меню «Конфигурация» и выбрать пункт «Расширения конфигурации». Откроется окно со списком расширений (если они есть). Далее нажмем кнопку «Добавить». Мы увидим диалоговое окно создания расширения:

Стоит отдельно выделить поле Назначение – необходимо выбрать его значение в зависимости от решаемой задачи – т.к. мы выполняем добавление объектов по требованиям конкретного заказчика – нам подойдет вариант «Адаптация».
После нажатия на кнопку «ОК» — двойным кликом по появившейся строке откроем Конфигурацию расширения. Мы увидим практически пустое дерево конфигурации.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Школа Руководителей отдела продаж
Стань сильным лидером и поднимись по карьерной лестнице.
Интеграция 1С и маркетплейсов
Увеличивайте продажи и масштабируйте бизнес в крупнейших маркетплейсах.
Линия консультаций
Консультации специалистов «ИнфоСофт» по работе в «1С:Предприятие»
Подпишитесь на дайджестПодпишитесь на дайджест и получайте ежемесячно подборку полезных статей
Присоединяйтесь!
Мы в социальных сетях
- Главная
- О партнерской сети
- Блог
- Функциональные решения 1С
- Лицензионные сервисы 1С
- Отраслевые решения 1С
- Лицензии 1С Предприятие 8
- Postgres Pro для 1С:Предприятие
- 1С-Битрикс
- Прайс 1С
- Обновления и сопровождение 1С (1С:ИТС)
- Каталог расширений 1С
- Типовые внедрения: Старт бизнеса с нуля
- Аренда 1С
- Автоматизация управления предприятием
- Автоматизация торговых предприятий
- Торговое оборудование и кассовая техника
- Маркировка товаров на 1С
- Подключение к ЕГАИС Алкоголь
- 1С:Бухобслуживание
- КОРП Платформа 1С:Предприятие 8
- Администрирование информационных систем
- Оптимизация производительности 1С
- Переход на PostgreSQL + Linux
- Обмен 1С-Битрикс и 1С:Предприятие
- Мобильные приложения
- Внедрение CRM
- Удаленное управление компанией
- Все курсы 1С
- Расписание
- Преподаватели
- Корпоративное обучение
О франчайзи
- О франчайзи
- Наши проекты
- Карьера
- Способы оплаты
- Условия возврата и доставки
- Условия конфиденциальности персональных данных
Материалы сайта is1c.ru носят информационный характер и не являются публичной офертой.
© 1997-2024 Франчайзи «ИнфоСофт»
- Владивосток
- +7 (423) 254-00-80
- sales@aktorg.ru
Расширения конфигурации 1С: нюансы и кейсы. Часть 1

Расширения конфигурации 1С облегчают доработку и поддержку типовых решений на внедрениях. Для облачных вариантов это практически единственный способ доработки. Также на расширениях реализуются хотфиксы — быстрые исправления. В последних версиях платформы доступны функции, облегчающие создание «универсальных расширений», независимых от конфигурации. Например, интеграционный инструментарий, консоли, файловый менеджер.
Алексей, разработчик 1С в компании Neti, рассказывает о расширениях конфигурации и предупреждает о подводных камнях, с которыми может столкнуться каждый программист.
Содержание скрыть
Краткая справка
Технология с довольно скудным функционалом появилась в 2015 году, в платформе 8.3.6.
Возможности расширений в типовых конфигурациях зависят от режима совместимости, который обычно ограничен версией БСП. На февраль 2021 года в основных линейках типовых конфигураций (ЕРП, БП, ЗУП) используется БСП версии 3.1.3 и режим совместимости 8.3.14.
В базовых версиях расширения не поддерживаются.

Как это выглядит при разработке
Как это выглядит при разработке. Есть основная конфигурация и ее расширение (отдельная мини-конфигурация). Объекты бывают собственными, созданными в самой конфигурации или в расширении, и заимствованными, захваченными из основной конфигурации в расширение. Для заимствованных объектов можно переопределять ряд свойств.
Свойства объектов бывают контролируемые и модифицируемые. Контролируемые свойства менять нельзя — они должны совпадать у основной конфигурации и расширения, иначе расширение не запустится. Модифицируемые свойства можно изменять в расширении.
Возможности технологии

В версии платформы 8.3.14, поддерживаемой современными типовыми решениями, широкий спектр возможностей для изменения. В частности, можно:
- менять большое количество свойств заимствованных объектов;
- создавать собственные справочники, документы и РС;
- создавать и переопределять подсистемы и роли, шаблоны доступа;
- переопределять практически все модули и формы;
- версионировать расширения в хранилище.

В последних версиях платформы появилось множество интересных возможностей. Отметим самые существенные:
- в версии 8.3.13 — поддержка создания своих РН, РБ, РР и связанных объектов, функционал планов обмена;
- в 8.3.14 — собственные параметры сеанса, что дает полноценное создание своих РЛС;
- в 8.3.15 — появилась возможность заимствовать процедуры и функции с контролем изменения кода в основной конфигурации и в расширении — аннотация &ИзменениеИКонтроль;
- в 8.3.16 — создание собственных констант, функциональных опций и критериев отбора, изменение состава заимствованных критериев отбора и функциональных опций;
- в 8.3.17 — создание своих подписок на события и заимствование существующих;
- в 8.3.18 — возможность расширения состава типов заимствованных объектов (с некоторыми исключениями, например, для определяемого типа).
Более подробно с описанием механизма расширений можно узнать в следующих материалах:
- документация к платформе → https://its.1c.ru/db/v8316doc#bookmark:dev:TI000001513
- книга «Расширения конфигураций. Адаптация прикладных решений с сохранением поддержки в облаках и на земле. Разработка в системе „1С:Предприятие 8.3“», Е. Ю. Хрусталева.
- статья об эволюции возможностей расширений на Инфостарте — https://infostart.ru/1c/articles/1190788/
Кейс: переход на ЗУП 3.1 КОРП в федеральной торгово-производственной компании
Основной источник кейсов для этой статьи — проект перехода на ЗУП 3.1 КОРП с ЗУП 2.5 в крупной торгово-производственной компании. Особенности проекта:
- холдинговая структура, состоящая из десятка юрлиц;
- пять тысяч сотрудников;
- существенная текучка кадров и большой объем документооборота;
- управленческий учет, аналогичный ЗУП 2.5.
Важное требование заказчика: доработки конфигурации необходимо выполнить только с помощью расширений. Удалось на 99%, 1% — ограничения технологии, о которых поговорим отдельно.
Проект выполнялся на версии платформы 8.3.13, 8.3.15, поэтому для некоторых кейсов сейчас доступны альтернативные решения.
Собственные структуры данных
Одна из первых задач любого внедрения — адаптация структуры хранимых данных к реалиям конкретного проекта, то есть расширение структуры данных.
С версии 8.3.11 платформа умеет через расширения создавать справочники, документы, регистры сведений. С 8.3.13 — РН, РБ, РР, полноценные планы обмена, ПВХ, ПС, ПР.
Эти возможности широко применялись на проекте для расширения структуры данных. Расширялся реквизитный состав заимствованных справочников и документов, добавлялись собственные документы, регистры сведений, регистры накопления. Более того, на смежном проекте внедрения решения 1С:ERP в той же компании проектная команда решила не использовать дополнительные реквизиты вообще. В итоге для описания всей специфики номенклатуры в едином расширении было создано более 100 новых реквизитов, десяток перечислений и справочников-классификаторов. Результат по производительности не ставит каких-либо значимых вопросов, все работает так же быстро, как и типовая ERP.
Работать с расширенной структурой данных удобно. Она поддерживается конструктором запросов и в пользовательском режиме, и в конфигураторе.
Однако стоит учитывать ряд особенностей:
1. Тип ЛюбаяСсылка не содержит ссылок на собственные типы расширения. Механизмы, использующие этот тип, с данными расширения работать не будут.
2. Если в заимствованный справочник/документ добавлен новый реквизит, необходимо захватить в расширение роль, дающую права на этот справочник/документ, иначе реквизит останется без прав и не будет показан на форме.
Хранение новых реквизитов
Рассмотрим способ реализации хранения данных в расширении. Под новые справочники и документы создаются новые таблицы. Они помечаются суффиксом Х и порядковым номером. Например, Reference789X1.
Когда в заимствованный объект расширения добавляется новый реквизит, табличная часть или реквизит табличной части, в базе данных копируется весь набор таблиц объекта с теми же суффиксами в названиях. Например, для таблицы справочника Reference34 будет создана Reference34X1, для новой табличной части может быть создана таблица Reference34_VN34437X1.
Таблицы нового набора дополняются созданными в расширении структурами, после чего данные переносятся в новые таблицы. Дальше вся работа идет с этими таблицами в рамках разделителей текущей области.
Если расширение после изменения основной конфигурации не может быть запущено, оно переводится в неактивный режим. Новые данные не удаляются и не теряются. Для отключения расширения необходимо выбрать соответствующий пункт меню и подтвердить свои намерения в диалоге. Случайно это сделать сложно, поэтому опасения, которые возникли, когда возможность только появилась, сейчас напрасны.
Есть особенность в работе глобального метода ПолучитьСтруктуруХраненияБазыДанных(): в именах таблиц не показываются суффиксы, поэтому определить этим методом наличие или отсутствие расширенной структуры невозможно.

На иллюстрации приведен пример, как выглядит расширенная структура данных для заимствованного справочника расширения, в которую добавлены новый реквизит и новая табличная часть. Видим, что созданы копия таблицы с суффиксом X1 и таблица для табличной части, в конце которой тоже суффикс. Все данные справочника перенесены в новую таблицу.
Во второй части статьи о расширениях поговорим о РН, изменении режима совместимости, доработке модулей и форм, отчетах и печатных формах.
- 1.1.1 Назначение расширений 1С
- 1.1 Работа с расширения конфигурации 1С