1с изменение и контроль расширение как работает
Перейти к содержимому

1с изменение и контроль расширение как работает

  • автор:

Что такое расширения конфигурации 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С 8.3 Расширения — Программист 1С Минск. Автоматизация бизнеса.

ПРИМЕРЫ КОДА 1С

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

//* — Работа с механизмом расширения тестировалась на конфигурации 1С 8.3.19.
1. Создание:

Конфигуратор 1С — Меню — Конфигурация — Расширения конфигурации. При применении расширения контролируется порядковый номер версии при одинаковых ID (применяется последняя версия). Имя, синоним, префикс — называем как нам удобно.

Назначение:

  • Исправление — применяются на конфигурацию поставщика (вклинивание в логику поставщика bug fix, инъекция в код).
  • Адаптация — в логику кода не вмешиваемся. Адаптация без изменения логики и зависит от конфигурации поставщика.
  • Дополнение — полностью независимое решение. Автономное решение без связки с конфигурацией поставщика.

Признаки:

  • Активно — расширение используется. Если будет ошибка применения — признак автоматически отключится.
  • Безопасный режим — влияет на работу в клиент-серверной версии. Актуально только для профилей безопасности SQL (разрешения к доступу).
  • Защита от опасных действий — запрещает обращение к серверным модулям, открытие внешних отчетов, работа с интернетом. Аналогично параметрам пользователя
  • Используется в распределенной ИБ — миграция расширения по распределенным узлам
  • Область действия — использование БД целиком или с разделителями для различных технологий (например, для облаков)
  • Использовать основные роли для всех пользователей — Рекомендуется ее отключить т.к. значительно влияет на производительность. Для всех пользователей создастся дополнительная роль (с префиксом) расширения и будет применятся. Роли пользователя в основной конфигурации будут иметь приоритет.

Применение в режиме 1С Предприятие:

  • Применилось ли расширение можно увидеть в Меню — Справка — О программе «Конфигурация»
  • Если расширений много и не конфликтуют друг с другом — они применяются последовательно по имени и/или версии.
  • Отключать расширение (Функции для технического специалиста — Стандартные — Управление расширениями конфигурации) в можно в режиме 1С Предприятие, но при закрытом! конфигураторе. Иначе при попытке отключить признак «Активно» получаем ошибку: Не удалось заблокировать запись. Действие (изменение, удаление или блокировка записи не выполнено). Ошибка блокировки объекта. Объект уже заблокирован: . После отключения расширения необходим перезапуск пользователя.

2. Принцип разработки:

  1. Рекомендуется дробить расширения. Создавать на каждый объект своё, так проще контролировать применение и фиксировать ошибки, т.к. при конфликте в режиме 1С Предприятие расширение автоматически отключается.
  2. Найти пересечения по объектам невозможно. Поэтому расширения должны быть автономны.
  3. Для новой печатной формы или нового отчета/обработки рекомендуется первично использовать БСП так как количество расширение негативно влияет на производительность
  4. При удалении расширения сопутствующие данные удаляются без возможности восстановления
  5. Работать с метаданными основного поставщика не рекомендуется

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

Конфигурация поставщика

Инъекции в программный код (вклинивание):
1. Создаем расширение (Адаптация)
2. Заимствуем форму документа (родительского объекта)
3. Вклиниваемся в событие и переопределяем его — добавляем в расширение Alt+Shift+F2
4. Выбираем Тип вызова:

  • Вызывать перед
  • Вызывать после
  • Вызывать вместо
  • Вызывать вместо (с контролем)

! Порядок кода должен быть именно таким (иначе работать не будет) !
&ИзменениеИКонтроль(«ПересчетТаблицы»)
&НаКлиенте
Функция Расш1_ПересчетТаблицы ( Табл )
FAQ при разработке объектов и их форм в расширениях:

При изменении существующего или добавлении нового реквизита основной конфигурации через заимствование в расширение. Система создаст новую таблицу чтение которой будет производится через основную таблицу. Поэтому при переопределении свойств реквизита (например: увеличение длины цены с 10 до 12 символов) не рекомендуется использовать заимствование объекта, а создать автономный, новый (в расширении) и работать с ним для исключения конфликтов (как заимствованные объекты). В этом случаем система создаст новую независимую таблицу. Например, также можно реализовывать через Регистр сведений или подчиненный справочник с нужными реквизитами. К баг фиксам данная рекомендация не относится!

Для переноса данных из основной конфигурации в расширение нужно писать обработку (через внешний источник (*.xml, *.bdf и т.п.) или дежурный регистр).

При добавлении в расширение из осн.конфигурации реквизита составного типа система заимствует все объекты

Если объект контролируемый (установлен признак). Система не применит расширение если основной поставщик изменит значение объекта.

В режиме 1С получим ошибку: » Ошибка применения расширения конфигурации. Имя: *****

Критичная: Значение контролируемого свойства Тип у объекта ***** не совпадает со значением в расширяемой конфигурации «

Также можно установить у объекта свойство: Проверять значение при подключении расширения, не запрещать подключение расширения:

Просмотреть работает ли расширение в пользовательском режиме 1С: Меню — Сервис и настройки — О программе (Расширения конфигурации:).

Отключить расширения в пользовательском режиме 1С (с правами Администратора): Меню — Сервис и настройки — Функции для технического специалиста — Стандартные — Управление расширениями конфигурации — Снять галки с ненужного расширения (Делать это нужно при закрытом конфигураторе и для применения нужен перезапуск сеанса).

Разработка 1С: «Изменение и Контроль» в Расширение конфигурации 1С. Пример использования — видео HD

Разработка 1С:

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

Приглашаем на 4-х ступенчатую программу подготовки Программиста 1С: work-1c.ru/Training_Programmer_1C/

Выбери свой курс:

I ступень — Базовый курс «Я любитель» — начни с нуля и разработай собственную конфигурацию – обучение 1-2 месяца 8800 руб.

II ступень— Основной курс «Я профессионал» — программируй в типовых конфигурациях — обучение 4-6 месяцев 29 000 руб.

III ступень— VIP курс «Я эксперт» — изучи всё топовые механизмы в программировании 1С — обучение 6-8 месяцев 50 600 руб.

IV ступень — Premium курс «Я Гуру» — доступ ко всем нашим курсам, книгам, тренажерам, а также к обновлениям в течении 2-х лет. — 100 000 руб

Есть вопросы по нашим платным курсам, по обучению? Звоните по бесплатному номеру 88002344322 и мы проконсультируем вас!

Мы ответим на все ваши вопросы.

1с изменение и контроль расширение как работает

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

В чем может быть причина?

Сделайте проверку возможности применения всех расширений
Тогда будет понятно насколько корректно написана #Вставка
(1) А что это даст? Расширение ведь работает, в предприятии пишет «Расширение подключено»
(3) это иногда обманчиво, оно подключено, но конкретное место такое может не работать

(3) Дважды сталкивался, когда Измерение и контроль не выдавало ошибки, но НЕ работало. пока принудительно не поставишь совместимость 8.3.15

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *