Введение
Думаю, многие слышали, а некоторые уже активно пользуются новым механизмов работы в 1С!?
Начиная с версии 1С:Предприятие 8.3.6.1977 (29.04.2015) в платформе введен новый механизм – расширение конфигурации.
Давайте попробуем ответить на вопросы: Что такое расширение конфигурации и для чего оно нужно?
Как фирма 1С позиционирует расширение конфигурации, можно узнать на официальном сайте.
Что такое расширение конфигурации?
Расширение конфигурации представляет в 1С что-то вроде параллельной конфигурации, которая автоматически объединяется с основной конфигурацией поставщика. Причем в расширениях можно добавлять как свои объекты, так и заимствовать объекты основной конфигурации.
Для чего нужно расширение конфигурации?
В первую очередь расширения созданы для облегчения внесения изменений в программу. Если пользователи просят добавить какой-либо функционал, то до появления расширений приходилось снимать конфигурацию с полной поддержки и менять типовую конфигурацию.
Снятие с полной поддержки влечет за собой ряд неудобств:
- пропадает возможность автоматического обновления, что приводит как минимум к увеличению времени на то, чтобы обновить конфигурацию;
- требуется высокая квалификация специалиста, обслуживающего программу;
- если изменения вносились в стандартные объекты типовой конфигурации, то при обновлении они могут пропасть, то есть замениться опять на типовые, от поставщика.
Использование расширения исключает все эти неудобства с поправкой на релиз платформы. В начале на платформе 8.3.6 было доступно мало возможностей по сравнению с тем, что можно сделать на платформе 8.3.25. Давайте пройдется по истории развития расширения конфигурации, чтобы начать использовать все возможности, которые нам предоставили разработчики платформы!
Эволюция
Таблица сравнения функционала расширений по версиям платформы
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность создавать собственные журналы документов в расширениях. В таком журнале могут находиться любые документы системы. | Данная возможность не предоставлялась. | Расширены возможности расширения конфигурации. |
В расширении конфигурации реализована возможность модификации свойств Пакет и ПространствоИмен заимствованного пакета XDTO, а также свойства ПакетыXDTO заимствованного Web-сервиса. Для пакета XDTO указанные свойства замещаются одноименными свойствами из расширения. Для Web-сервисов список пакетов в результирующей конфигурации дополняется значением из расширения. |
Данная возможность не предоставлялась. | Расширены возможности расширения конфигурации. |
Если к информационной базе подключено расширение, которое расширяет данные (или содержит собственные объекты с данными), то таблицы таких объектов не могут быть перенесены в копию информационной базы. Если в копии базы данных уже есть таблицы таких объектов, то при обновлении копии такие таблицы будут удалены из копии. | Если к информационной базе подключено расширение, которое расширяет данные (или содержит собственные объекты с данными), то система «1С:Предприятие» работала некорректно. | Устранено некорректное поведение системы. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность заимствовать бизнес-процессы и задачи. Для заимствованных объектов, в числе прочих, допускается изменение карты маршрута бизнес-процесса, которая полностью заменяет карту маршрута расширяемой конфигурации при загрузке расширения. Реализована возможность создавать в расширениях собственные бизнес-процессы и задачи. |
Данные возможности не предоставлялись. | Расширены возможности расширения конфигурации. |
Реализована возможность включения реквизитов, добавляемых расширением конфигурации в расширяемые объекты, в состав собственных и заимствованных критериев отбора. Реализована возможность в расширении изменять свойство Форма выбора для констант, реквизитов, ресурсов, измерений и полей внешних источников данных. Реализована возможность в расширениях добавлять собственные подчиненные подсистемы к заимствованным подсистемам. Для свойства Состав заимствованных подсистем реализована возможность отключения модификации при подключении расширения. Редактирование заимствованных подсистем выполняется в панели свойств, аналогично остальным заимствованным объектам конфигурации. |
Данные возможности не предоставлялись. | Расширены возможности расширения конфигурации. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность выполнять реструктуризацию таблиц расширений конфигурации информационной базы во время операции тестирования и исправления информационной базы:
Если в процессе тестирования будет выявлено отсутствие таблицы расширения, то такая таблица будет создана, если выбран режим тестирования и исправления. |
Данная возможность не предоставлялась. | Механизм тестирования и исправления информационной базы стал лучше соответствовать текущим возможностям платформы «1С:Предприятие». |
Реализована возможность выполнять операцию тестирования и исправления информационной базы в конкретной области (или областях) разделенной информационной базы:
Если разделители не заданы, то операция тестирования и исправления будет выполняться для всей информационной базы. |
Данная возможность не предоставлялась. | Механизм тестирования и исправления информационной базы стал лучше соответствовать текущим возможностям платформы «1С:Предприятие». |
Если при настройке операции тестирования и исправления информационной базы выбраны только параметры Проверка логической целостности расширений конфигурации или Реструктуризация таблиц расширений конфигурации, то монопольный режим для всей информационной базы не требуется и не устанавливается.
Для каждой обрабатываемой области устанавливаются следующие блокировки:
Ошибка блокировки области не приводит к прерыванию всего процесса тестирования и исправления, но приводит к переходу к следующей области данных. |
Данная возможность не предоставлялась. | Механизм тестирования и исправления информационной базы стал лучше соответствовать текущим возможностям платформы «1С:Предприятие». |
Реализована возможность создавать собственные внешние источники данных: Таблицы, поля для таблиц внешних источников данных. Функции внешних источников данных. Таблицы измерений, поля таблиц измерений, измерения и ресурсы кубов внешних источников данных. Реализована возможность заимствовать внешние источники данных. При изменении свойств заимствованных объектов несколькими расширениями конфигурации, значения свойств объектов будут получаться из последнего расширения в списке. |
Данная возможность не предоставлялась. | Расширены возможности работы с расширением конфигурации. |
Уменьшено время первого получения макета, который расширен несколькими расширениями конфигурации. Расширенный макет кешируется для дальнейшего использования. Кеш сохраняется до тех пор, пока не будут внесены изменения либо в расширяемый макет, либо в расширение, которое содержит расширение для этого макета. |
Первое получение макета, который расширен несколькими расширениями конфигурации, занимало больше времени. | Ускорена работа с макетами, которые расширяются несколькими расширениями конфигурации. |
Как стало | Как было | Результат изменения |
---|---|---|
В расширении конфигурации реализована возможность создания собственных регламентных заданий. | Данная возможность не предоставлялась. | Расширены возможности расширения конфигурации. |
При запуске тонкого и веб-клиента после обновления расширения (или расширений) конфигурации, снижено количество запросов к серверу (и объем передаваемой информации). | При запуске тонкого и веб-клиента после обновления расширения (или расширений) конфигурации, к серверу выполнялось большое количество запросов и передавался большой объем информации. | Ускорен старт тонкого и веб-клиента, который выполняется после обновления одного или нескольких расширений конфигурации. |
Для конструктора запросов, открытого в расширении конфигурации, реализована поддержка работы с объектами конфигурации, которые не захвачены в расширение. Если в запросе используются объекты, которые не добавлены в расширение, то после закрытия конструктора, предлагается добавить в расширение все недостающие объекты расширяемой конфигурации. В диалоге конструктора запросов реализована возможность управлять отображением таблиц и полей расширяемой конфигурации. |
Данная возможность не предоставлялась. Конструктор запросов, открытый из расширения конфигурации, позволял использовать только таблицы и поля объектов расширения (собственных и заимствованных). |
Расширены возможности работы с расширением конфигурации. |
В конфигураторе, при выполнении синтаксического контроля модуля расширения, в методах, которые аннотируются как ИзменениеИКонтроль, игнорируются ошибки Переменная не определена во всех областях метода, кроме области #Вставка ... #КонецВставки. | В конфигураторе, при выполнении синтаксического контроля модуля расширения, в методах, которые аннотируются как ИзменениеИКонтроль, ошибки Переменная не определена возникали в том случае, когда в методе использовался реквизит, который не добавлен в расширение. Однако, фактического добавления реквизита не требовалось. | В случае точечного изменения методов конфигурации (с помощью аннотации ИзменениИКонтроль) в расширение стало необходимо заимствовать меньшее количество объектов расширяемой конфигурации. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность изменять свойства нумерации для документов, бизнес-процессов, задач и нумераторов. Реализована возможность изменять длину кода для справочников, задач, планов обмена, планов видов характеристик, планов счетов и планов расчета. Реализована возможность изменять длину наименования для справочников, планов обмена, планов видов характеристик, планов счетов и планов расчета. |
Данные возможности не предоставлялись. | Расширены возможности расширения конфигурации. |
Реализована возможность получения информации о том, какие изменения находятся в обрабатываемом пакете обмена данными:
Для менеджера плана обмена реализованы методы ПрочитатьОписаниеИзменений() и |
Данная возможность не предоставлялась. Было возможно только получить информацию о том, что в данный момент основная конфигурация отличается от конфигурации базы данных. |
Улучшены возможности диагностики для реализации механизмов автоматического обмена данными в системах, использующих распределенную информационную базу. |
Реализована возможность изменения в расширении локализуемых свойств объектов конфигурации (пояснение, форматы представления и редактирования, подсказки, представления объектов, записей и списков). Реализована возможность модифицировать заимствованные общие макеты и макеты объектов конфигурации. |
Отсутствовали возможности изменения локализуемых свойств объектов и макетов, кроме табличного документа. | Расширены возможности расширения конфигурации. |
Для метода РасширенияКонфигурации.Создать() реализован необязательный параметр Данные. С помощью этого варианта метода стало возможно создавать объект типа РасширениеКонфигурации из значения типа ДвоичныеДанные. Для объекта РасширениеКонфигурации, созданного таким способом, метод Записать() не будет требовать указания параметра Данные. |
Не поддерживалась возможность получить параметры расширения без записи расширения в базу данных. Проанализировать, что после старта текущего сеанса состав расширений был изменен или было обновлено какое-либо расширение, можно было путем анализа состава и хеш-сумм расширений сеанса и информационной базы. |
Расширены возможности администрирования расширений. |
При использовании расширений в разделенной информационной базе существенно снижено потребление оперативной памяти рабочими процессами кластера серверов. | При использовании расширений в разделенной информационной базе рабочие процессы кластера серверов потребляли больше оперативной памяти. | Снижено потребление оперативной памяти кластером серверов при использовании расширений в разделенной информационной базе. |
Снижено потребление оперативной памяти рабочим процессом кластера серверов, если рабочий процесс обслуживает разделенную информационную базу, к которой подключены разделенные расширения, влияющие на пользовательский интерфейс. | Наблюдалось избыточное потребление оперативной памяти рабочим процессом кластера серверов, если рабочий процесс обслуживает разделенную информационную базу, к которой подключены разделенные расширения, влияющие на пользовательский интерфейс. | Снижено потребление оперативной памяти кластером серверов, который обслуживает разделенные информационные базы с расширениями, влияющими на пользовательский интерфейс. |
Для команды Конфигуратора Проверка применимости расширений реализованы дополнительные проверки: Проверка существования метода, указанного в аннотации. Проверка соответствия количества параметров методов и модификаторов передачи значений в методе основной конфигурации и расширения. Данные проверки выполняются для методов, которые не являются обработчиками событий. |
Данная возможность не предоставлялась. | Упрощено исправление ситуаций, когда в основной конфигурации перестал существовать расширяемый метод или у расширяемого метода изменилось количество параметров или модификаторы передачи параметров. |
Снижено использование оперативной памяти в том случае, когда в расширении конфигурации находится много ролей и заимствованных объектов. При подключении расширения уменьшено количество однотипных сообщений об ограничениях доступа при расширении ролей. |
Приложение использовало больше оперативной памяти в том случае, когда в расширении конфигурации находится много ролей и заимствованных объектов. При подключении расширения формировалось большое количество однотипных сообщений об ограничениях доступа при расширении ролей. |
Повышена эффективность использования ресурсов компьютера при использовании расширений с большим количеством ролей и заимствованных объектов. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность включать собственные объекты расширения в состав заимствованных общих реквизитов, которые являются разделителями. Реализована возможность устанавливать расширения, расширяющие данные, одновременно как для всей информационной базы, так и для конкретной области данных. |
Не поддерживалась возможность включения собственных объектов расширения в состав заимствованных общих реквизитов. Расширение, расширяющее данные, могло быть установлено или в конкретной области данных или для информационной базы целиком. Одновременная установка таких расширений не поддерживалась. |
Расширение конфигурации стало предоставлять больше возможностей. |
Реализована возможность создания собственных предопределенных элементов заимствованных объектах следующего вида: справочники, планы видов характеристик, планы счетов, планы видов расчета. Предопределенные элементы могут быть заимствованными и собственными. В режиме совместимости с версией 8.3.20 поведение не изменилось. |
Данная возможность не предоставлялась. | Расширение конфигурации стало предоставлять больше возможностей. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность заимствования сервисов интеграции и создания собственных сервисов интеграции в расширении. | Данная возможность не предоставлялась. | Расширение конфигурации стало предоставлять больше возможностей. |
Реализована возможность создавать предопределенные элементы в собственных справочниках расширений конфигурации. В режиме совместимости с версией 8.3.19 (для конфигурации и расширения конфигурации) поведение не изменилось. | В собственных справочниках расширений конфигурации не поддерживалось создание предопределенных элементов конфигурации. | Расширение конфигурации стало предоставлять больше возможностей. |
Снижено потребление оперативной памяти рабочим процессом в случае работы с разделенной информационной базой с большим количеством разделенных расширений конфигурации. | Рабочий процесс при работе с разделенной информационной базой с большим количеством разделенных расширений конфигурации использовал больше оперативной памяти. | Снижено потребление оперативной памяти кластером серверов при работе в разделенном режиме. |
Оптимизирована реструктуризация информационной базы в том случае, если в ней присутствуют расширения конфигурации. | Реструктуризация информационной базы в том случае, если в ней присутствуют расширения конфигурации, занимала больше времени. | Реструктуризация информационной базы в том случае, если в ней присутствуют расширения конфигурации, выполняется быстрее. |
Реализована возможность расширять типы следующих заимствованных объектов:
Реализована возможность создавать собственные определяемые типы (если режим совместимости расширения строго старше версии 8.3.19). В собственных объектах расширения конфигурации реализована возможность использования типов вида ЛюбаяСсылка, СправочникСсылка и т.д. и определяемых типов. Ссылки вида ЛюбаяСсылка, Справочник Ссылка и т.д. включают в себя ссылки на объекты, привнесенные расширениями конфигурации. Метод ТипВсеСсылки() включает типы из расширений в возвращаемое значение. В режиме совместимости с версией 8.3.19 поведение не изменилось. |
Данные возможности не предоставлялись. | Расширены возможности использования расширения конфигурации. |
При ошибках компиляции заимствованных модулей расширения реализовано следующее поведение:
Если прикладное решение запущено в режиме отладки, а также в режиме совместимости с версией 8.3.19 - поведение не изменилось. |
При ошибках компиляции заимствованных модулей расширения наблюдалось следующее поведение:
|
Конфигурация максимально сохраняет работоспособность при проблемах с расширениями. |
Для указания имени подписываемого файла следует использовать следующие параметры:
Для указания типа конфигурации следует использовать следующие параметры:
|
Для указания имени подписываемого файла использовались следующие параметры:
Для указания типа конфигурации следовало использовать следующие параметры:
|
Параметры команды /SignCfg пакетного режима и config sign-cfg агенте конфигуратора, отвечающие за указание имен файлов и типов конфигурации, унифицированы с аналогичными параметрами других команд. |
Изменений в работе расширений по данным документации не производилось!
Как стало | Как было | Результат изменения |
---|---|---|
Для команды /MergeCfg командной строки запуска конфигуратора реализована возможность работы с расширениями конфигурации. В качестве параметра команды может выступать файл .cfe. Для данной команды реализован параметр -Extension, позволяющий указывать имя расширения, для которого будет исполняться команда. | Команда /MergeCfg не позволяла использовать расширения. | Стало возможно использовать расширения в автоматизированных сценариях во время разработки, тестирования и обслуживания прикладных решений. |
Реализована возможность расширять типы реквизитов заимствованных объектов, кроме: • типов общих реквизитов; • реквизитов с типами внешних источников данных; • реквизитов, имеющие определяемый тип; • реквизит Тип плана видов характеристик. При сравнении и объединении расширений реализована возможность выбора действий для отдельных типов. |
Данная возможность не предоставлялась. | Расширены возможности использования расширения. |
Реализована возможность продолжать полноценную работу с конфигурацией в том случае, если при запуске конфигурации, по какой-то причине, оказались не подключены расширения, выполняющие расширение данных. В этом случае в расширенные реквизиты будут записываться значения по умолчанию для соответствующих типов. |
Если при старте сеанса подключены не все расширения, расширяющие данные, прикладное решение могло без ошибок читать данные расширяемой конфигурации успешно подключенных расширений. При этом попытка записать объект, данные которого дополняются отключенным расширением, была невозможна. | Прикладное решение, в котором используются расширение, выполняющие расширение данных, полностью сохраняет свою работоспособность (за исключением не подключенных расширений) в том случае, если подключены не все расширения, выполняющие расширение данных. |
При использовании в расширениях конфигурации аннотации ИзменениеИКонтроль, проверка применимости не учитывает изменения, в которых добавляются или удаляются пустые строки и строки, состоящие только из символов пробелов и табуляций. | При использовании в расширениях конфигурации аннотации ИзменениеИКонтроль, проверка применимости учитывала изменения, в которых добавлялись или удалялись пустые строки и строки, состоящие только из символов пробелов и табуляций. | Снижено количество ошибочных срабатываний механизма проверки применимости расширений. |
Вызов методов расширяемой формы из расширения с помощью метода Выполнить() более не поддерживается. Вызывать можно только те методы, которые доступны через свойство ЭтотОбъект. В режиме совместимости с версией 8.3.17 поведение не изменилось. |
Поддерживался вызов методов расширяемой формы из расширения с помощью метода Выполнить(). | Расширение формы может использовать только документированный интерфейс использования расширяемой формы. Под «документированным интерфейсом» понимаются методы, объявленные в модуле формы с использованием ключевого слова Экспорт. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность заимствования подписок на события и создания собственных подписок в расширении. | Данная возможность не предоставлялась. | Расширены возможности расширения конфигурации. |
Подсказки к флажку, который управляет поведением свойства объекта в расширении, стали более понятными и стали лучше описывать суть состояния флажка. | Подсказки к флажку, который управляет поведением свойства объекта в расширении, плохо описывали суть состояния флажка. | Улучшены подсказки флажка, описывающего поведение свойства объекта в расширении. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность создания в расширении конфигурации:
Реализована возможность расширения:
|
Данные возможности не предоставлялись. | Расширены возможности расширения конфигурации. |
В редакторе заимствованной формы реализовано отображение измененных и неизменных заимствованных элементов формы разными цветами.
Реализована команда редактора формы, позволяющая отобразить в дереве элементов формы только измененные заимствованные и собственные элементы формы. В панели свойств объектов расширения реализовано отображение другим цветом свойств объекта конфигурации, измененного в расширении относительно расширяемой конфигурации. В панели свойств объектов расширения реализована команда, позволяющая показать только те свойства, которые были изменены относительно расширяемой конфигурации. |
В редакторе заимствованной формы не было возможности скрыть неизменные заимствованные элементы в дереве элементов формы. Элементы формы не отличались цветом.
В панели свойств не предоставлялось возможности быстро различить измененные и неизменные свойства заимствованного объекта конфигурации. |
Упрощено редактирование заимствованных объектов конфигурации. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность помечать какое-либо контролируемое свойство расширения таким образом, что несовпадение этого свойства в расширяемой конфигурации и в расширении не будет блокировать применение расширения, но пользователь получит предупреждение о том, что значение свойства в расширении и расширяемой конфигурации различаются. | Данная возможность не предоставлялась. | Упрощена диагностика ситуаций переименования объекта расширяемой конфигурации, которые заимствованы в расширение. Предоставлен инструмент разрешения конфликтов, возникающих при таком переименовании. |
Реализована возможность сопоставлять объекты расширяемой конфигурации и расширения по идентификаторам. При обнаружении конфликтов переименования реализован механизм, помогающий в разрешении конфликтов.
Возможность сопоставлять объекты по идентификаторам может быть отключена. Для расширения конфигурации реализовано свойство Поддерживать соответствие объектам расширяемой конфигурации по внутренним идентификаторам. Для заимствованных объектов расширения реализовано свойство Объект расширяемой конфигурации. |
Сопоставление объектов расширяемой конфигурации и расширения выполнялось только по именам. | Упрощена диагностика ситуаций переименования объекта расширяемой конфигурации, которые заимствованы в расширение. Предоставлен инструмент разрешения конфликтов, возникающих при таком переименовании. |
При создании нового расширения, свойство расширения Режим совместимости больше не является контролируемым свойством. | При создании нового расширения, свойство расширения Режим совместимости являлось контролируемым свойством. | Упрощено создание и применение расширений. |
Реализована возможность точечной доработки методов расширяемой конфигурации. В расширение полностью копируется расширяемый метод, в котором директивами препроцессора обрамляется изменяемый код.
Во время применения проверяется, что расширяемый метод не изменен относительно метода в расширении. Реализована аннотация ИзменениеИКонтроль. Реализованы директивы препроцессора Удалить и Вставить. Поддерживается возможность вносить изменение в один метод только в одном расширении. Если обнаруживается два расширения, которые расширяют один и тот же метод с помощью аннотации ИзменениеИКонтроль, к информационной базе будет применено только одно расширение. При обнаружении изменения метода в расширяемой конфигурации поддерживается трехсторонее объединение только с использованием внешней программы. Если в конфигураторе не настроена внешняя программа для сравнения/объединения модулей - объединение будет недоступно. |
Вносить изменения в метод с возможностью контроля неизменности исходного текста модуля была недоступна. | Упрощено расширение метода расширяемой конфигурации в том случае, если требуется выполнить небольшое изменение внутри метода. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность расширять состав значений заимствованного перечисления.
При удалении расширения, в котором расширен список значений перечисления, реквизиты объектов информационной базы, хранящие удаляемые значения, заполняются пустой ссылкой на перечисление. |
Данная возможность не предоставлялась. | Расширены возможности расширений по работе с перечислениями. |
Для объектов метаданных, заимствованных в расширение, реализовано свойство Комментарий. Свойство предназначено для использования в процессе разработки расширения и не используется при формировании результирующей конфигурации и проверках применимости расширения. | Данная возможность не предоставлялась. | Стало возможно комментировать описывать назначение тех или иных объектов расширения непосредственно в самом расширении, не прибегая к сторонним инструментам. |
В расширении конфигурации реализована возможность создания собственных параметров сеанса. Такие параметры сеанса могут использоваться в текстах ограничений доступа. | Данная возможность не предоставлялась. | Расширены возможности расширения конфигурации. |
При работе в веб-клиенте, при наличии расширений в информационной базе, веб-браузер кеширует картинки следующим образом:
|
При работе в веб-клиенте, при наличии расширений в информационной базе, веб-браузер кешировал все картинки конфигурации для каждого сеанса. | Устранено некорректное поведение системы. |
При заимствовании формы в расширение, заимствуются только ее элементы. После заимствования свойства элементов могут изменяться в редакторе формы из расширения в полном объеме. Остальные объекты формы (реквизиты, команды, параметры и т.д.) по умолчанию автоматически не заимствуются, следовательно свойства этих объектов формы не могут редактироваться. Для включения возможности редактирования требуемый объект следует добавить в расширение.
При заимствовании формы не выполняется заимствование родительского объекта конфигурации этой формы. Работа с формами, добавленными в расширение в предыдущих версиях, не изменяется. |
При заимствовании формы, в расширение добавлялся родительский объект конфигурации и все объекты расширения. | Существенно упрощена работа с заимствованными формами объектов конфигурации. Упростилась адаптация расширений к новым версиям расширяемой конфигурации. |
При применении расширения конфигурации не контролируется количество параметров и наличие ключевого слова Знач перед параметром для обработчиков событий. | При применении расширения конфигурация проверялось совпадение количества параметров и наличие ключевого слова Знач для обработчиков событий в расширении и расширяемой конфигурации. В расширении и расширяемой конфигурации должно было быть одинаковое количество параметров. | Поведение расширения приведено в соответствие с поведением платформы для основной конфигурации. При вызове обработчика событий не проверяется точное совпадение состава параметров. |
Изменена схема взаимодействия между ролями и расширениями:
Заимствование роли в расширение необходимо только в том случае, если требуется настроить права на объекты расширения, которые отличаются от прав по умолчанию для расширяемой конфигурации. Реализована возможность расширять свойство конфигурации ОсновныеРоли. В режиме совместимости расширения с версией 8.3.13 поведение не изменилось. |
Использовалась следующая схема взаимодействия между ролями и расширениями:
|
Упрощена схема взаимодействия ролей и объектов расширения. Логика взаимодействия стала более простой и понятной. |
Для расширения конфигурации реализовано свойство ОсновныеРоли. Данное свойство позволяет указать роли, которые описывают доступность объектов расширения при пустом списке пользователей.
Для расширения конфигурации реализовано свойство "ИспользоватьОсновныеРоли-ДляВсехПользователей". Данное свойство позволяет указать, что в подключаемом расширении любой пользователь будет обладать правами, заданными основными ролями расширения. Редактирование данного свойства выполняется в конфигураторе (в списке расширений) и с помощью стандартной функции управления расширениями. При настройке прав доступа пользователя в конфигураторе, стало доступно полное имя роли, которая добавлена расширением конфигурации. При создании расширения, в нем автоматически создается собственная роль, предоставляющая все права на собственные объекты расширения. Эта роль автоматически указывается в свойство расширения ОсновныеРоли. Ограничений на редактирование данной роли не накладывается. В расширении, подключенном для файлового варианта информационной базы в безопасном режиме, невозможно предоставить права доступа для объектов расширяемой конфигурации. В режиме совместимости расширения конфигурации с версией 8.3.13 поведение не изменилось. |
Для расширения конфигурации было невозможно указать список основных ролей.
Во время настройки прав пользователя в конфигураторе было недоступно название роли, которая добавлена расширением конфигурации. При создании расширения конфигурации не создавалась роль, которая по умолчанию предоставляет все права для собственных объектов расширения. В расширении, подключенном для файлового варианта информационной базы в безопасном режиме, было возможно предоставить права доступа для объектов расширяемой конфигурации. |
Упрощена работе с правами доступа в расширениях конфигурации. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность создавать пользовательские стили и элементы стиля.
Свойство конфигурации ОсновнойСтиль стало доступно для управляемого приложения. В ветви Общие дерева метаданных доступны элементы Элементы стиля и Стили. Реализованы системные стилевые цвета ЦветНавигации, ЦветДополнительнойНавигации, ЦветАктивности, ЦветВажного, ЦветАкцента. В режиме совместимости с версией 8.3.12, элементы стиля типа Цвет и Шрифт, попавшие в состав стиля, будут иметь значения, заданные в самом элементе стиля, если стиль не использовался для обычного приложения и для этого элемента стиля не были изменены значения. Незначительно изменено цветовое оформление разных элементов интерфейса. В расширении конфигурации реализована возможность заимствовать и создавать собственные элементы стиля и стили. Реализована возможность переопределять значение свойства ОсновнойСтиль в расширении конфигурации. |
Данные возможности не предоставлялись. | Расширены возможности управления внешним видом клиентского приложения. |
В расширении конфигурации реализована возможность создания следующих собственных объектов:
Для собственных регистров накопления не поддерживается создание агрегатов. Реализована возможность включать собственные регистры любого вида в состав движений собственных и заимствованных документов расширения. |
Данные возможности не предоставлялись. | Расширены возможности использования расширений конфигурации. |
Реализована возможность расширять следующие свойства конфигурации: картинка основного раздела, заставка, логотип.
Реализована возможность расширять объекты конфигурации типа Картинка путем замены существующей картинки. Для расширения конфигурации реализована возможность указания:
|
Данные возможности не предоставлялись. | Расширены возможности использования расширений конфигурации. |
Реализована возможность включать в состав собственного плана обмена заимствованные объекты расширения конфигурации.
Реализована возможность расширения хранимых данных планов обмена (создание реквизитов, табличных частей и реквизитов табличных частей планов обмена). |
В состав собственного плана обмена могли входить только собственные объекты расширения.
Не поддерживалась возможность расширения состава хранимых данных заимствованных планов обмена. |
Расширение конфигурации стало предоставлять больше возможностей. |
При работе в файловом варианте с использованием расширений, ускорен второй и последующие запуски фонового задания, если запускаемое фоновое задание использует тот же набор расширений, что и при предыдущем запуске. | При работе в файловом варианте с использованием расширений, запуск фонового задания занимал больше времени, даже если запускаемое фоновое задание использовало тот же набор расширений, что и в предыдущий запуск. | Ускорен запуск фоновых заданий в файловом варианте информационной базы при работе с расширениями. |
Как стало | Как было | Результат изменения |
---|---|---|
Реализована возможность управлять областью действия расширения конфигурации и активностью установленных расширений.
Областью действия расширения может быть или текущая область данных или вся информационная база. Управление активностью позволяет отключить расширение, не удаляя его из информационной базы. Для объекта РасширениеКонфигурации реализованы свойства ОбластьДействия и Активно. Изменен порядок подключения расширений: в первую очередь подключаются расширения, имеющие областью действия всю информационную базу. |
Данные возможности не предоставлялись.
Расширения всегда подключались в конкретную область данных информационной базы. Отключить расширение, не удаляя его, было невозможно. |
Расширение конфигурации стало предоставлять больше возможностей.
Стало возможно устанавливать расширения конфигурации сразу для всех областей данных информационной базы, например, для оперативного исправления ошибок конфигурации. |
Для собственных и заимствованных документов расширения реализована возможность формировать движения по любым заимствованным регистрам, кроме оборотных регистров накопления с включенными агрегатами. | Данные возможности не предоставлялись.
Расширения всегда подключались в конкретную область данных информационной базы. Отключить расширение, не удаляя его, было невозможно. |
Расширение конфигурации стало предоставлять больше возможностей.
Стало возможно устанавливать расширения конфигурации сразу для всех областей данных информационной базы, например, для оперативного исправления ошибок конфигурации. |
Реализована возможность хранения расширения конфигурации в хранилище конфигурации. Реализована поддержка работы с расширениями для всех команд пакетного режима запуска конфигуратора, работающих с хранилищем конфигурации.
Для пакетного режима запуска конфигуратора выполнены следующие изменения:
|
Данная возможность не предоставлялась.
Расширение конфигурации могло разрабатываться отдельно от хранилища конфигурации. |
При разработке расширений упрощена коллективная разработка. Упрощено версионирование разрабатываемого расширения. |
Реализована возможность создавать собственные перечисления в расширении конфигурации. | Данная возможность не предоставлялась. | Расширены возможности расширения конфигурации. |
Реализована возможность использования расширений конфигурации в распределенной информационной базе.
Для плана обмена реализовано свойство ВключатьРасширенияКонфигурации. Для расширения конфигурации реализованы свойства "ИспользуетсяВРаспределенной-ИнформационнойБазе" и ГлавныйУзел. |
Данная возможность не предоставлялась. | Расширены возможности использования расширений конфигурации. Стало возможно централизованно управлять распространением расширений конфигурации в распределенной информационной базе. |
Ускорено обновление конфигурации базы данных для расширений конфигурации, не влияющих на структуру базы данных. | Обновление конфигурации базы данных для расширений конфигурации, не влияющих на структуру базы данных, занимало больше времени. | Ускорено обновление информационной базы в том случае, если применяются изменения для расширений, не оказывающих влияния на структуру информационной базы. |
Реализована возможность использовать историю данных для собственных и заимствованных объектов расширения. | Использование истории данных было недоступно для собственных и заимствованных объектов расширения конфигурации. | Стало возможно совместное использование истории данных и расширений конфигурации. |
Сообщения, которые формируются системой во время применения расширений, отображаются со статусом Важное. Такие сообщения сохраняются в центре уведомлений и могут быть прочитаны пользователем даже если он не увидел эти сообщения в момент их (сообщений) генерации. | Сообщения, которые формируются системой во время применения расширений, отображались со статусом Информация. Такие сообщения не сохранялись в центре уведомлений и пользователь не знал, что возникли проблемы с подключением расширения, если он не мог увидеть эти сообщения непосредственно в момент их (сообщений) формирования. | Улучшена диагностика проблем, возникающих при подключении расширений. |
Отключена возможность удаления активного расширения в том случае, если расширение изменяет структуру базы данных. Для удаления такого расширения необходимо сделать его неактивным. При удалении неактивного расширения, изменяющего структуру базы данных, пользователю предлагается подтвердить это действие.
Реализован метод "РасширениеКонфигурации. ИзменяетСтруктуруДанных()", позволяющий определить, что расширение конфигурации изменяет структуру базы данных. |
При удалении расширения, изменяющего структуру базы данных, не предпринималось никаких дополнительных действий, позволяющих снизить вероятность потери данных, внесенных с помощью удаляемого расширения. | Снижена вероятность потери данных, которые вводились с помощью расширения конфигурации. |
Как стало | Как было | Результат изменения |
---|---|---|
Для Web-сервисов и HTTP-сервисов, являющихся собственными объектами расширения конфигурации, реализована поддержка повторного использования сеансов с возможностью настройки. | Управление повторным использованием сесансов было недоступно для Web-сервисов и HTTP-сервисов, которые являются собственными объектами расширения. | Унифицировано поведение системы при использовании одинаковых механизмов из расширения и обычной конфигурации. |
Реализована возможность добавлять в расширение конфигурации собственные справочники, документы, планы обмена и регистры сведений.
Для заимствованных справочников и документов реализована возможность добавления реквизитов и табличных частей в расширении. В состав собственного плана обмена могут входить только собственные объекты расширения. Собственный план обмена расширения не может участвовать в распределенной информационной базе. Для заимствованных планов обмена реализована возможность включать в состав плана обмена собственные объекты расширения. Список ограничений приведен в документации. При удалении расширения, все данные, которые были внесены в собственные объекты расширения, будут удалены из информационной базы. |
Данная возможность не предоставлялась. | Расширение конфигурации стало предоставлять больше возможностей.
Стало возможно создавать расширения, которые хранят собственные данные в информационной базе, к которой их (расширения) подключают. |
При работе в файловом варианте информационной базы, использующей расширения, ускорен запуск фоновых заданий. | При работе в файловом варианте информационной базы, использующей расширения, запуск фоновых заданий занимал существенное время. | Устранено некорректное поведение системы. |
Как стало | Как было | Результат изменения |
---|---|---|
В редакторе модулей, при работе с расширяемой конфигурацией, реализована возможность добавления в расширение конкретного метода.
Реализована возможность перехода к расширяемому методу из аннотации расширяющего метода в редакторе модулей (при работе с расширением). Для команды Добавить в расширение реализовано сочетание клавиш Alt+Shift+F2. Сочетание клавиш Alt+F2 для этой команды больше не используется. |
Отсутствовала удобная возможность добавления в расширение редактируемого метода.
Отсутствовала возможность перехода к расширяемому методу из аннотации расширяющего метода. Для команды Добавить в расширение использовалось клавиатурное сокращение Alt+F2. |
Повышен комфорт разработчика при создании расширений модулей на встроенном языке. |
Справка, открываемая в расширяемой конфигурации, включает в себя справочную информацию по объектам расширения.
Справочная информация расширения конфигурации используется при поиске по справке. |
Данная возможность не предоставлялась.
Справочная информация, реализованная в расширении конфигурации, была недоступна в дереве справки и для поиска. |
Устранено некорректное поведение системы.
Справка расширяемой конфигурации стала включать информацию из расширения, упрощая пользователю использование результирующей конфигурации. |
Для расширения конфигурации реализована возможность указывать назначение расширения конфигурации: Исправление, Адаптация и Дополнение.
Расширения подключаются в следующем порядке:
Порядок загрузки нескольких расширений с одинаковым значением назначения расширения не определен. Расширениям, ранее загруженным в информационную базу, назначение расширения автоматически устанавливается в значение Адаптация. Реализовано свойство РасширениеКонфигурации.Назначение. |
Данная возможность не предоставлялась.
Все расширения были равноправны с точки зрения порядка подключения расширений. |
Стало возможно структурировать расширения по выполняемым функциям. Упрощено понимание, для чего разработано то или иное расширение. |
Реализована возможность расширения табличного документа.
Реализована возможность объединять табличные документы при обновлении конфигурации с помощью соответствующего файла .cf или .cfu. |
Возможность расширения табличного документа не предоставлялась.
Возможность объединения табличных документов в процессе обновления конфигурации не предоставлялась. |
Расширение конфигурации стало предоставлять больше возможностей.
Расширены возможности работы с табличными документами при поддержке конфигурации. |
Реализована возможность указания, что общий реквизит, являющийся разделителем, может разделять или не разделять расширения конфигурации. Для объекта конфигурации ОбщийРеквизит реализовано свойство РазделениеРасширенийКонфигурации.
Не рекомендуется включать разделение расширений для разделителей, находящихся в режиме Независимо и совместно. |
Расширения конфигурации всегда разделялись всеми разделителями конфигурации. Было невозможно отключить разделение расширений, если в информационной базе было включено разделение данных. | Стало возможно управлять разделением расширений конфигурации, которые будут использоваться в информационной базе. Например, разработчик конфигурации может указать, что расширения конфигурации не должны разделяться никакими разделителями, которые существуют в прикладном решении. |
Хранение информации о закладках, точках останова и данных о производительности для расширений конфигурации выполняется по именам расширений. | Хранение информации о закладках, точках останова и данных о производительности для расширений конфигурации выполнялось по внутренним идентификаторам расширений. |
Обеспечивается возможность (в дальнейшем) интеграции отладки расширений с 1C:Enterprise Development Tools. |
Как стало | Как было | Результат изменения |
---|---|---|
В расширении конфигурации реализована возможность заимствования следующих объектов:
Не поддерживается возможность заимствования модулей обычных форм и модуля обычного приложения. Таким образом, поддерживается возможность заимствования для всех модулей, кроме тех, которые используются только в обычном приложении. Реализована возможность:
Экспортируемые методы и переменные расширяемого модуля формируют единый контекст расширяемого модуля. Изменена схема работы с заимствованным модулем формы. Предоставляется способ разрешить или запретить расширение либо всех вышеуказанных модулей (свойство профиля безопасности к расширению всех модулей), либо установить список модулей, для которых разрешено (свойство профиля безопасности Доступные для расширения модули) или запрещено расширение (свойство профиля безопасности Недоступные для расширения модули). В расширении конфигурации реализована возможность создавать общие модули. Для объекта ISecurityProfile реализованы свойства AllModulesExtension, ModulesAvailableForExtension, ModulesNotAvailableForExtension (технология программного администрирования кластера серверов с помощью COM-объектов). Для интерфейса ISecurityProfile реализованы методы getAllModulesExtension(), setAllModulesExtension(), getModulesAvailableForExtension(), setModulesAvailableForExtension(), getModulesNotAvailableForExtension(), setModulesNotAvailableForExtension() (интерфейс работы с сервером администрирования из языка Java). Для утилиты командной строки (rac) кластера серверов реализованы параметры all-modules-extension, modules-available-for-extension и modules-not-available-for-extension команды profile. |
Отсутствовала возможность заимствования любых модулей, кроме модуля формы. Отсутствовала возможность создавать в расширении конфигурации общие модули.
Схема работы с заимствованным модулем формы была другой. Управление возможностью расширения модулей было недоступно. |
С помощью механизма расширения конфигурации стало возможно расширять работу всех модулей встроенного языка, кроме тех, которые используются только в обычном приложении.
Расширены возможности профилей безопасности для поддержки работы с расширениями конфигурации. |
Реализована возможность управлять временем жизни сеансов при использовании Интернет-сервисов и стандартного интерфейса OData:
Для Web-сервиса и HTTP-сервиса реализованы свойства ПовторноеИспользованиеСеансов и ВремяЖизниСеанса. Данные свойства недоступны для редактирования, если Web-сервис и HTTP-сервис являются собственными объектами расширения. В файле default.vrd реализовано:
Атрибут enableStandardOData элемента <point> является устаревшим и не рекомендуется к использованию. Если Web-сервис или HTTP-сервис является собственным объектом расширения, не опубликован в файле default.vrd или опубликован без указания на повторное использование сеанса, то повторное использование сеанса не используется при работе с этим Web-сервисом или HTTP-сервисом. Реализован сервис кластера серверов, обеспечивающий работу автоматического пула повторно используемых сеансов. Сервис называется SessionReuseService (Сервис повторного использования сеансов). |
Данная возможность не предоставлялась.
Сеанс создавался для каждого вызова Интернет-сервиса или одного запроса стандартного интерфейса OData. |
Повышена производительность работы с Интернет-сервисами и стандартным интерфейсом OData. |
Реализована возможность изменять права доступа (включая ограничения доступа к данным) в заимствованных ролях.
Реализована возможность создания собственных ролей в расширении конфигурации. Роли расширения могут быть назначены пользователю только с помощью встроенного языка. В конфигураторе доступно только удаление всех ролей расширения, назначенных пользователю. Реализована возможность ограничения использования прав доступа, которые созданы в расширении конфигурации, в результирующей конфигурации с помощью профиля безопасности (свойство к расширению прав доступа). Для объекта ISecurityProfile реализованы свойства RightExtension, RightExtensionDefinitionRoles (технология программного администрирования кластера серверов с помощью COM-объектов). Для интерфейса ISecurityProfile реализованы методы RightExtension, RightExtensionDefinitionRoles (интерфейс работы с сервером администрирования из языка Java). Для утилиты командной строки (rac) кластера серверов реализованы параметры right-extension и right-extension-definition-roles команды profile. |
В расширении конфигурации имелась возможность устанавливать права доступа в заимствованных ролях только для собственных объектов расширения. Изменять права в заимствованных ролях было невозможно. | В расширениях конфигурации получили существенное развитие возможности по управлению правами доступа. |
Реализована возможность проверить применимость расширения конфигурации до реального запуска прикладного решения с этим расширением:
При запуске клиентского приложения информация о проблемах совместимости более не выводится в окно сообщений, а добавляется в список информации для технической поддержки (открываемого из окна О программе). Также при обнаружении ошибок подключения выводится единственный диалог, из которого можно получить доступ к полному списку проблем совместимости расширения. Для объекта РасширенияКонфигурации реализованы методы "ПроверитьВозможность-ПримененияВсех()", "ПолучитьИнформацию-ОПроблемахПримененияВСеансе()". Для объекта РасширениеКонфигурации реализован метод ПроверитьВозможностьПрименения(). Для пакетного режима запуска конфигуратора реализован ключ командной строки /CheckCanApplyConfigurationExtensions. Для стандартной функции Управление расширениями конфигурации реализован флажок Проверять применимость при добавлении и загрузке расширений. |
Данные возможности не предоставлялись.
При подключении расширения диагностика выводилась в окно сообщений. |
Улучшены возможности диагностики проблем подключения расширения к прикладному решению. Появилась возможность выполнять такие проверки в пакетном режиме запуска конфигурации (с целью автоматизации проверок). |
Реализован метод "Менеджер-РасширенийКонфигурации. ВыполнитьФоновоеЗадание-БезРасширений()", который позволяет выполнить фоновое задание без применения расширений, т.е. в сеансе запущенного фонового задания установленные в базе данных расширения конфигурации не будут действовать.
Для всех объектов метаданных реализован метод "ЕстьИзменения-РасширениямиКонфигурации()", который позволяет определить, что объект конфигурации расширен в данном сеансе. |
Данная возможность не предоставлялась. | Упрощена работа с расширениями конфигурации из встроенного языка. |
Метод "УдалитьДанные-ИнформационнойБазы()" удаляет также и расширения конфигурации для всей информационной базы или для конкретной области, в зависимости от того, как выполнен вызов метода. | Метод УдалитьДанныеИнформационнойБазы() не удалял расширения конфигурации. | В методе УдалитьДанныеИнформационнойБазы() реализована более целостная очистка данных информационной базы. |
Во время выполнения некоторых обработчиков объектов конфигурации и подписок реализовано отключение безопасного режима. После выполнения обработчика (или подписки) безопасный режим и его профиль восстанавливаются.
Если разработчику необходимо самостоятельно отключить безопасный режим, то сделать это можно с помощью реализованных методов глобального контекста "УстановитьОтключение-БезопасногоРежима()" и "ПолучитьОтключение-БезопасногоРежима()". Обработчики, в которых выполняется автоматическое отключение безопасного режима, отмечены в синтакс-помощнике. |
Отсутствовала возможность отключать безопасный режим в коде конфигурации. | Реализована возможность работы с объектами, события модуля объекта которых выполняются в привилегированном режиме, из расширений и внешних обработок, исполняемых в безопасном режиме. |
Как стало | Как было | Результат изменения |
---|---|---|
Для объектов конфигурации реализован метод РасширениеКонфигурации(), позволяющий определить расширение конфигурации, в котором расположен интересующий объект конфигурации.
Для метода "МенеджерРасширенийКонфигурации. Получить()" реализован параметр ИсточникРасширенийКонфигурации, позволяющий указать, какой список расширений требуется получить (расширения только из базы данных; расширения, действующие в текущем сеансе или расширения, не прошедшие проверку при подключении или отключенные профилями безопасности). |
Данные возможности не предоставлялись. | Упрощена работа с расширениями конфигурации из встроенного языка. |
Реализовано свойство расширения конфигурации "РежимСовместимости-РасширенияКонфигурации". Данное свойство позволяет ограничивать возможности расширения используемой версией платформы «1С:Предприятие», используя для редактирования расширения более старшие версии платформы, с большими возможностями расширений.
Реализована возможность создания в расширении конфигурации следующих объектов:
Реализована возможность в расширении изменять свойства заимствованных объектов конфигурации, описывающих основные и вспомогательные формы. Для заимствованного отчета реализована возможность изменять значение свойства Основная схема компоновки данных. Для подсистем, групп команд, команд, общих команд в расширении возможно изменять значение свойства Картинка. Контекстная подсказка в редакторе модулей выводится только для объектов входящих в текущее расширение. |
Данные возможности не предоставлялись.
Контекстная подсказка в редакторе модулей выводилась по объединению расширяемой конфигурации и расширения. |
Расширение конфигурации стало предоставлять больше возможностей. |
Реализован механизм защиты от опасных действий. При выполнении потенциально опасного действия система выдает предупреждение, содержащее информацию о выполняемом действии и потенциальной опасности этого действия. К потенциально опасным действиям относятся:
Пользователь имеет возможность разрешить или отклонить потенциально опасное действие. Если действие разрешено, в ряде случаев может потребоваться повторно выполнить разрешенное действие. При загрузке конфигурации или обновлении конфигурации из файла .cfu предупреждение формируется в существующих диалогах конфигуратора. В свойствах пользователя информационной базы реализовано свойство "ПользовательИнформационнойБазы. ЗащитаОтОпасныхДействий". Реализовано свойство "РасширениеКонфигурации. ЗащитаОтОпасныхДействий". Для метода Подключить() объектов ВнешниеОбработки и ВнешниеОтчеты реализован параметр ЗащитаОтОпасныхДействий. В диалоге управления расширениями конфигурации (в конфигураторе и в стандартных функциях) реализован флажок Защита от опасных действий. Реализована возможность указать список информационных баз, при работе с которыми защита от опасных действий будет отключаться. Для файла conf.cfg реализован параметр DisableUnsafeActionProtection. |
Отсутствовал механизм предупреждения о выполнении потенциально опасных действий. Предоставлялась возможность запретить запуск внешних обработок или отчетов с помощью прав доступа и настроек профилей безопасности. | Повышена безопасность работы системы при использовании потенциально опасного кода. |
При срабатывании защиты от опасных действий на стороне тонкого или толстого клиентских приложений, выполнение продолжается после выполнения потенциально опасного действия так, как будто никаких остановок выполнения не происходило. Если пользователь отказался от выполнения потенциально опасного действия, то генерируется исключение, которое можно перехватить с помощью встроенного языка. При работе в веб-клиенте и на стороне сервера «1С:Предприятие» поведение не изменилось. |
В тонком и толстом клиентских приложениях, защита от опасных действий при исполнении клиентского кода, в котором находится потенциально опасное действие, прерывала работу кода и показывала сообщение пользователю для принятия решения о разрешении или запрещении действия. При этом независимо от принятого пользователем решения исполнение кода не возобновлялось и пользователь должен был заново перезапустить действие. | Упрощено поведение системы при срабатывании защиты от потенциально опасных действий при работе на стороне тонкого или толстого клиентских приложений. |
При заимствовании реквизитов составного типа, не содержащем ссылок на объекты конфигурации, составной тип заимствуется полностью. При повторном заимствовании текущий тип в расширении дополняется набором типов из расширяемой конфигурации.
При заимствовании реквизитов составного типа, содержащим хотя бы одну ссылку на объекты конфигурации (не примитивные типы), тип заимствуется как ЛюбаяСсылка. При повторном заимствовании тип ЛюбаяСсылка добавляется только если тип уже не является составным и в его составе нет типов СправочникСсылка, ДокументСсылка и т.п. Контроль типов при подключении расширения выполняется следующим образом:
Если реквизит составного типа не может включать тип ЛюбаяСсылка, то любой составной тип для такого реквизита будет заимствован с единственным типом - Произвольный. Для таких реквизитов не может возникнуть ошибка применения расширения. |
При заимствовании составного типа примитивные типы заимствовались всегда, а из типов, ссылающихся на объекты конфигурации, случайным образом выбирался один тип. Контроль типов при подключении расширения выполнялся следующим образом: наличие составных типов в типе реквизита требовало наличие точно таких же типов у соответствующего реквизита в расширяемой конфигурации. |
Упрощено использования составных типов в расширениях. |
При выполнении фонового задания, в сеансе фонового задания подключаются те же расширения, что и в сеансе, из которого это фоновое задание запущено. В режиме совместимости с версией 8.3.7 поведение не изменилось. |
При выполнении фонового задания, в сеансе фонового задания подключались все расширения, зарегистрированные для информационной базы. | Запуск фоновых заданий более точно наследует окружение, в котором выполняется родительский сеанс. |
Как стало | Как было | Результат изменения |
---|---|---|
В расширении конфигурации реализована возможность создавать WS-ссылки, XDTO-пакеты, Web-сервисы и HTTP-сервисы. Для файла default.vrd реализован атрибут publishExtensionsByDefault для элементов ws и httpServices. |
Данная возможность не предоставлялась. | Расширение конфигурации стало предоставлять больше возможностей. |
Для расширения конфигурации реализована возможность заимствования предопределенных элементов. При этом становится возможным контролировать наличие необходимых предопределенных элементов, состав и правила регистрации объектов в плане обмена, использовать конструктор запросов. | Данная возможность не предоставлялась. | Расширения конфигурации стали более функциональными. |
Запись расширения в информационную базу возможна в том случае, если сеанс, из которого выполняется запись, работает в небезопасном режиме или если профиль безопасности, примененный для сеанса, допускает доступ к указанному расширению. |
Запись расширения в информационную базу была возможна только в том случае, если сеанс, из которого выполняется запись, работает в небезопасном режиме. |
Использование профилей безопасности при работе с расширением приведено в соответствие с аналогичным поведением для внешних отчетов и обработок.
|
Как стало | Как было | Результат изменения |
---|---|---|
Расширены возможности модификации прикладных решений без снятия с поддержки (в том числе и для облачных систем). Реализована возможность создания расширений конфигурации. С помощью механизма расширений предоставляется возможность выполнять некоторые модификации прикладного решения (не затрагивающие структур данных) так, что само решение не снимается с поддержки, а все доработки локализованы в специальном объекте (расширении), который достаточно легко подключается и отключается от прикладного решения.
В расширении реализована возможность модификации форм, создания отчетов и обработок, создания новых подсистем. Подключение расширений конфигурации возможно в режиме 1С:Предприятие и конфигуратора. Для каждой области разделенной информационной базы имеется возможность задавать свой набор расширений. |
Данная возможность не предоставлялась.
Существовала возможность создания внешних отчетов и обработок, а также модификации конфигурации прикладного решения, что вело к необходимости снятия с поддержки и не позволяло реализовывать разные доработки для разных областей разделенной информационной базы. |
Реализован новый механизм, позволяющий выполнять небольшие доработки конфигураций при внедрениях (в том числе в разделенных информационных базах и облачных решениях) более просто и с большим уровнем независимости от изменений конфигураций поставщиками.
|
Материал таблицы подготовлен по данным официальных обновлений.
А теперь давайте сделаем выжимку из таблицы сравнения и составим дерево эволюции только доступных объектов для расширения:
Реализована возможность создавать собственные журналы документов в расширениях. В таком журнале могут находиться любые документы системы.
В расширении конфигурации реализована возможность модификации свойств Пакет и ПространствоИмен заимствованного пакета XDTO, а также свойства ПакетыXDTO заимствованного Web-сервиса.
Для пакета XDTO указанные свойства замещаются одноименными свойствами из расширения. Для Web-сервисов список пакетов в результирующей конфигурации дополняется значением из расширения.
Реализована возможность заимствовать бизнес-процессы и задачи. Для заимствованных объектов, в числе прочих, допускается изменение карты маршрута бизнес-процесса, которая полностью заменяет карту маршрута расширяемой конфигурации при загрузке расширения.
Реализована возможность создавать в расширениях собственные бизнес-процессы и задачи.
Реализована возможность включения реквизитов, добавляемых расширением конфигурации в расширяемые объекты, в состав собственных и заимствованных критериев отбора.
Реализована возможность в расширении изменять свойство Тип параметра команды для общих команд и команд объектов конфигурации.
Реализована возможность в расширении изменять свойство Форма выбора для констант, реквизитов, ресурсов, измерений и полей внешних источников данных.
Реализована возможность в расширениях добавлять собственные подчиненные подсистемы к заимствованным подсистемам. Для свойства Состав заимствованных подсистем реализована возможность отключения модификации при подключении расширения. Редактирование заимствованных подсистем выполняется в панели свойств, аналогично остальным заимствованным объектам конфигурации.
Реализована возможность создавать собственные внешние источники данных:
Таблицы, поля для таблиц внешних источников данных.
Функции внешних источников данных.
Таблицы измерений, поля таблиц измерений, измерения и ресурсы кубов внешних источников данных.
Реализована возможность заимствовать внешние источники данных. При изменении свойств заимствованных объектов несколькими расширениями конфигурации, значения свойств объектов будут получаться из последнего расширения в списке.
В расширении конфигурации реализована возможность создания собственных регламентных заданий.
Реализована возможность изменять свойства нумерации для документов, бизнес-процессов, задач и нумераторов.
Реализована возможность создания собственных нумераторов в расширениях. Реализована возможность установки собственных и заимствованных нумераторов для собственных и заимствованных документов расширения.
Реализована возможность изменять длину кода для справочников, задач, планов обмена, планов видов характеристик, планов счетов и планов расчета.
Реализована возможность изменять длину наименования для справочников, планов обмена, планов видов характеристик, планов счетов и планов расчета.
Реализована возможность изменения в расширении локализуемых свойств объектов конфигурации (пояснение, форматы представления и редактирования, подсказки, представления объектов, записей и списков).
Реализована возможность модифицировать заимствованные общие макеты и макеты объектов конфигурации.
Реализована возможность включать собственные объекты расширения в состав заимствованных общих реквизитов, которые являются разделителями.
Реализована возможность устанавливать расширения, расширяющие данные, одновременно как для всей информационной базы, так и для конкретной области данных.
Реализована возможность создания собственных предопределенных элементов заимствованных объектах следующего вида: справочники, планы видов характеристик, планы счетов, планы видов расчета. Предопределенные элементы могут быть заимствованными и собственными.
В режиме совместимости с версией 8.3.20 поведение не изменилось.
Реализована возможность заимствования сервисов интеграции и создания собственных сервисов интеграции в расширении.
Реализована возможность создавать предопределенные элементы в собственных справочниках расширений конфигурации. В режиме совместимости с версией 8.3.19 (для конфигурации и расширения конфигурации) поведение не изменилось.
Реализована возможность расширять типы следующих заимствованных объектов:
- Тип общего реквизита, если общий реквизит не является разделителем.
- Тип реквизита Тип плана видов характеристик.
- Определяемый тип.
Реализована возможность создавать собственные определяемые типы (если режим совместимости расширения строго старше версии 8.3.19).
В собственных объектах расширения конфигурации реализована возможность использования типов вида ЛюбаяСсылка, СправочникСсылка и т.д. и определяемых типов.
Ссылки вида ЛюбаяСсылка, Справочник Ссылка и т.д. включают в себя ссылки на объекты, привнесенные расширениями конфигурации. Метод ТипВсеСсылки() включает типы из расширений в возвращаемое значение. В режиме совместимости с версией 8.3.19 поведение не изменилось.
Доступно расширять типы реквизитов заимствованных объектов, кроме:
• типов общих реквизитов;
• реквизитов с типами внешних источников данных;
• реквизитов, имеющие определяемый тип;
• реквизит Тип плана видов характеристик.
При сравнении и объединении расширений реализована возможность выбора действий для отдельных типов.
Доступно заимствование подписок на события и создания собственных подписок в расширении.
Доступно создание в расширении конфигурации:
- констант;
- функциональных опций и параметров функциональных опций;
- критериев отбора.
Стало доступна возможность расширения:
- состава заимствованных функциональных опций (собственными и заимствованными объектами);
- состава заимствованных критериев отбора реквизитами собственных объектов расширения.
Добавлена возможность сопоставлять объекты расширяемой конфигурации и расширения по идентификаторам. Ранее было только по именам.
Добавлена аннотация "ИзменениеИКонтроль". Добавлены директивы препроцессора "Удалить" и "Вставить".
Добавлена возможность расширять состав значений заимствованного перечисления. При удалении расширения, в котором расширен список значений перечисления, реквизиты объектов информационной базы, хранящие удаляемые значения, заполняются пустой ссылкой на перечисление.
Для объектов метаданных, заимствованных в расширение, реализовано свойство Комментарий. Свойство предназначено для использования в процессе разработки расширения и не используется при формировании результирующей конфигурации и проверках применимости расширения.
В расширении конфигурации реализована возможность создания собственных параметров сеанса. Такие параметры сеанса могут использоваться в текстах ограничений доступа.
При заимствовании формы в расширение, заимствуются только ее элементы. После заимствования свойства элементов могут изменяться в редакторе формы из расширения в полном объеме. Остальные объекты формы (реквизиты, команды, параметры и т.д.) по умолчанию автоматически не заимствуются, следовательно свойства этих объектов формы не могут редактироваться. Для включения возможности редактирования требуемый объект следует добавить в расширение.
При заимствовании формы не выполняется заимствование родительского объекта конфигурации этой формы.
Работа с формами, добавленными в расширение в предыдущих версиях, не изменяется.
Изменена схема взаимодействия между ролями и расширениями:
- У пользователя есть доступ ко всем объектам расширения, если в расширении и расширяемой конфигурации нет ролей.
- Свойство роли Устанавливать права для новых объектов (в расширяемой конфигурации) действует и на объекты расширения.
- Свойство роли Устанавливать права для реквизитов и табличных частей по умолчанию (в расширяемой конфигурации) действует и на объекты расширения.
- Свойство роли Устанавливать права для реквизитов и табличных частей по умолчанию (в собственной роли расширения) действует на реквизиты и табличные части заимствованных объектов расширения.
Заимствование роли в расширение необходимо только в том случае, если требуется настроить права на объекты расширения, которые отличаются от прав по умолчанию для расширяемой конфигурации.
Реализована возможность расширять свойство конфигурации "ОсновныеРоли".
В режиме совместимости расширения с версией 8.3.13 поведение не изменилось.
Для расширения конфигурации реализовано свойство "ОсновныеРоли". Данное свойство позволяет указать роли, которые описывают доступность объектов расширения при пустом списке пользователей.
Для расширения конфигурации реализовано свойство "ИспользоватьОсновныеРолиДляВсехПользователей". Данное свойство позволяет указать, что в подключаемом расширении любой пользователь будет обладать правами, заданными основными ролями расширения. Редактирование данного свойства выполняется в конфигураторе (в списке расширений) и с помощью стандартной функции управления расширениями.
При настройке прав доступа пользователя в конфигураторе, стало доступно полное имя роли, которая добавлена расширением конфигурации.
При создании расширения, в нем автоматически создается собственная роль, предоставляющая все права на собственные объекты расширения. Эта роль автоматически указывается в свойство расширения "ОсновныеРоли". Ограничений на редактирование данной роли не накладывается.
В расширении, подключенном для файлового варианта информационной базы в безопасном режиме, невозможно предоставить права доступа для объектов расширяемой конфигурации. В режиме совместимости расширения конфигурации с версией 8.3.13 поведение не изменилось.
Добавлена возможность создавать пользовательские стили и элементы стиля. Свойство конфигурации "ОсновнойСтиль" стало доступно для управляемого приложения. В ветви "Общие" дерева метаданных доступны элементы "Элементы стиля" и "Стили".
Реализованы системные стилевые цвета "ЦветНавигации", "ЦветДополнительнойНавигации", "ЦветАктивности", "ЦветВажного", "ЦветАкцента".
В режиме совместимости с версией 8.3.12, элементы стиля типа "Цвет" и "Шрифт", попавшие в состав стиля, будут иметь значения, заданные в самом элементе стиля, если стиль не использовался для обычного приложения и для этого элемента стиля не были изменены значения.
Незначительно изменено цветовое оформление разных элементов интерфейса.
В расширении конфигурации реализована возможность заимствовать и создавать собственные элементы стиля и стили.
Реализована возможность переопределять значение свойства "ОсновнойСтиль" в расширении конфигурации.
В расширении конфигурации реализована возможность создания следующих собственных объектов:
- планы видов характеристик;
- планы счетов;
- планы видов расчета;
- регистры накопления;
- регистры бухгалтерии;
- регистры расчета.
Для собственных регистров накопления не поддерживается создание агрегатов.
Добавлена возможность включать собственные регистры любого вида в состав движений собственных и заимствованных документов расширения.
Реализована возможность расширять следующие свойства конфигурации: картинка основного раздела, заставка, логотип.
Реализована возможность расширять объекты конфигурации типа Картинка путем замены существующей картинки.
Для расширения конфигурации реализована возможность указания:
- краткой информации о расширении;
- подробной информации о расширении;
- информации об авторских правах на расширение;
- веб-адрес информации о поставщике;
- веб-адрес информации о расширении.
Добавлена возможность включать в состав собственного плана обмена заимствованные объекты расширения конфигурации.
Добавлена возможность расширения хранимых данных планов обмена (создание реквизитов, табличных частей и реквизитов табличных частей планов обмена).
Добавлена возможность управлять областью действия расширения конфигурации и активностью установленных расширений. Областью действия расширения может быть или текущая область данных или вся информационная база. Управление активностью позволяет отключить расширение, не удаляя его из информационной базы.
Для собственных и заимствованных документов расширения реализована возможность формировать движения по любым заимствованным регистрам, кроме оборотных регистров накопления с включенными агрегатами.
Добавлена возможность хранения расширения конфигурации в хранилище конфигурации.
Добавлена возможность создавать собственные перечисления в расширении конфигурации.
Добавлена возможность использования расширений конфигурации в распределенной информационной базе.
Добавлена возможность использовать историю данных для собственных и заимствованных объектов расширения.
Для Web-сервисов и HTTP-сервисов, являющихся собственными объектами расширения конфигурации, реализована поддержка повторного использования сеансов с возможностью настройки.
Реализована возможность добавлять в расширение конфигурации собственные справочники, документы, планы обмена и регистры сведений.
Для заимствованных справочников и документов реализована возможность добавления реквизитов и табличных частей в расширении.
В состав собственного плана обмена могут входить только собственные объекты расширения. Собственный план обмена расширения не может участвовать в распределенной информационной базе.
Для заимствованных планов обмена реализована возможность включать в состав плана обмена собственные объекты расширения.
В редакторе модулей, при работе с расширяемой конфигурацией, реализована возможность добавления в расширение конкретного метода.
Добавлена возможность перехода к расширяемому методу из аннотации расширяющего метода в редакторе модулей (при работе с расширением).
Для расширения конфигурации реализована возможность указывать назначение расширения конфигурации: Исправление, Адаптация и Дополнение.
Расширениям, ранее загруженным в информационную базу, назначение расширения автоматически устанавливается в значение Адаптация.
Добавлена возможность расширения табличного документа.
Добавлена возможность указания, что общий реквизит, являющийся разделителем, может разделять или не разделять расширения конфигурации.
Добавлена возможность заимствования следующих объектов:
- общих модулей;
- модулей объектов для всех типов объектов;
- модулей менеджеров для всех типов объектов;
- модуля сеанса;
- модуля управляемого приложения;
- модуля внешнего соединения;
- модулей команд.
Не поддерживается возможность заимствования модулей обычных форм и модуля обычного приложения.
Добавлена возможность:
- вызывать любые методы расширяемого модуля из расширяющего модуля;
- добавлять обработчики событий в вышеперечисленных заимствованных модулях.
Экспортируемые методы и переменные расширяемого модуля формируют единый контекст расширяемого модуля.
Добавлена возможность создавать общие модули.
Добавлена возможность изменять права доступа (включая ограничения доступа к данным) в заимствованных ролях.
Добавлена возможность создания собственных ролей в расширении конфигурации. Роли расширения могут быть назначены пользователю только с помощью встроенного языка. В конфигураторе доступно только удаление всех ролей расширения, назначенных пользователю.
Добавлена возможность ограничения использования прав доступа, которые созданы в расширении конфигурации, в результирующей конфигурации с помощью профиля безопасности (свойство к расширению прав доступа).
Добавлена возможность создания в расширении конфигурации следующих объектов:
- Общие макеты;
- Общие команды;
- Группы команд;
- Общие картинки;
- Реквизиты, табличные части и реквизиты заимствованных табличных частей:
- Отчетов
- Обработок.
- Формы, макеты и команды заимствованных объектов:
- Планы обмена;
- Критерии отбора;
- Хранилища настроек;
- Справочники;
- Документы;
- Журналы документов;
- Перечисления;
- Отчеты;
- Обработки;
- Регистры бухгалтерии;
- Регистры накопления;
- Регистры расчета;
- Регистры сведений;
- Планы видов характеристик;
- Планы счетов;
- Планы видов расчетов;
- Бизнес-процессы;
- Задачи;
- Внешние источники данных:
- Таблицы;
- Кубы;
- Таблицы измерений.
Добавлена возможность в расширении изменять свойства заимствованных объектов конфигурации, описывающих основные и вспомогательные формы.
Для заимствованного отчета реализована возможность изменять значение свойства Основная схема компоновки данных.
Для подсистем, групп команд, команд, общих команд в расширении возможно изменять значение свойства Картинка.
Контекстная подсказка в редакторе модулей выводится только для объектов входящих в текущее расширение.
Добавлен механизм защиты от опасных действий.
Добавлена возможность создавать WS-ссылки, XDTO-пакеты, Web-сервисы и HTTP-сервисы.
Добавлена возможность публикации интернет-сервисов расширения на веб-сервере.
Добавлена возможность заимствования предопределенных элементов.
Добавлена возможность создания расширений конфигурации.
Добавлена возможность модификации форм, создания отчетов и обработок, создания новых подсистем.
Если вы заметили недокументированные возможности расширений, просьба оставлять их в комментариях!
Также статья будет дополняться и обновляться по мере выхода новых релизов платформы, спасибо за внимание!
P.S. Если материал вам помог, поблагодарите автора, поставив плюс!