1с сравнение формы в расширении и конфигурации

[ Вопрос дня ] Как выполняется сопоставление объектов расширения и расширяемой конфигурации?

Доброго дня, коллеги!

Курс по расширениям регулярно обновляется свежими видео уроками, в которых мы проводим полный анализ изменений и новшеств механизма расширений для каждой версии платформы 1С. Приятный бонус, не правда ли?)) Вам не нужно нигде ничего искать, достаточно посмотреть 40-минутное видео. Экономия вашего времени ощутимая. Так что не пропускайте видео обзоры, в них много всего интересного!

Вопрос

Ответ

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

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

Добавлено свойство корневого объекта расширения “Поддерживать соответствие объектам расширяемой конфигурации по внутренним идентификаторам”:

EventSubscriptions115 pic01 min

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

EventSubscriptions115 pic02 min

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

Источник

Сравнение и объединение конфигураций

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

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

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

Все результаты сравнения можно просмотреть в детальном виде.

Установка соответствия объектов

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

000000291 1

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

000000291 2

Сравнение конфигураций

Результат сравнения конфигураций отображается в специальном окне:

000000291 3

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

Для каждого отличающегося объекта можно просмотреть детальную информацию об отличиях:

000000291 4

Кроме того, информация об отличиях может быть получена в виде отчета:

000000291 5

Объединение конфигураций

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

000000291 6

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

000000291 7

Варианты сравнения и объединения конфигураций

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

Сохранение / загрузка настроек объединения конфигураций

Настройки объединения конфигураций (или настройки обновления конфигурации на поддержке) можно сохранять в xml файл. Также доступна и обратная операция — загрузка этих настроек из файла.

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

Использование внешней программы

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

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

Источник

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


Сопоставление объектов при сравнении конфигураций


Правила сопоставления объектов

Теперь рассмотрим алгоритмы сопоставления объектов. Существуют три варианта.

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

Влияние сопоставления объектов на скорость сравнения конфигураций


Замечания по методике использования механизма

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

Удаление объектов поставщика

Рассмотрим варианты удаления объекта поставщика.

Удаление пользователем

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

Удаление поставщиком

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

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

Источник

Как сравнить расширения 1с

Коллеги, всем здравствуйте.

На днях вышла тестовая Бухгалтерия Предприятия с отключенным режимом совместимости с платформой 8.3.6.
А значит в этой версии используется новый движок, который по-новому отрисовывает формы.
Прочитать про это можно в Зазеркалье.

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

Памятка:

1. Переводим расширение на новую платформу

Для этого следует привести режим совместимости расширения к режиму совместимости конфигурации.
В версии Бухгалтерия Предприятия установлены следующие свойства:

431a506d5073c013333d293d6ce53fd7

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

84639640925e22eb063dda2bca5c5e61

2. Устраняем проблемы подключения

Для этого запускаем конфигурацию в режиме предприятия и смотрим взлетело или нет.
Ошибки, из-за которых не удалось подключить расширение, можно посмотреть в журнале регистрации
(Администрирование — Поддержка и обслуживание — Журнал регистрации)
Нас интересуют события — “Сеанс. Ошибка применения расширения конфигурации”:

a30900def5625ac8dc2f0f8668fa64cf

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

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

d6d6b367c3fc23eb07d28108df542419

3. Обновляем формы в расширении

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

5ba3996cb9bd41604e6e287cc3558f5c

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

4. Приводим форму к правилам нового движка.

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

Я составил следующий порядок действий:

5. Проверяем расширение в режиме предприятия

Запускаем конфигурацию и радуемся тому, что все стало хорошо.

Сопоставление объектов при сравнении конфигураций

Правила сопоставления объектов

Для сопоставления объектов при объединении конфигурации в 1С:Предприятии 8 используются свойство «Имя» объекта метаданных и его внутренний идентификатор. Однако в различных вариантах сравнения алгоритм сопоставления объектов разный. Прежде чем подробно описать различные варианты, сначала опишем правила изменения внутреннего идентификатора. Идентификатор в пределах одной конфигурации никогда не изменяется. Идентификатор не изменяется при выгрузке конфигурации в cf или dt файлы (включая файлы поставки cf и обновления cfu ). Идентификатор не изменяется при использовании механизма групповой разработки (в процессе перемещений между конфигурацией и хранилищем). Идентификатор всегда изменяется при копировании объекта, в том числе в процессе объединения конфигураций. Поясним на примере. Создаем новую конфигурацию. Выполняем команду » Конфигурация — Сравнить, объединить с конфигурацией из файла. «. Программа обнаружит что текущая конфигурация пустая и предложит выполнить полную загрузку (аналогично команде » Конфигурация — Загрузить конфигурацию из файла «). Если согласится на предложенный вариант, то в результате все объекты сохранят свои идентификаторы. Если же отказаться и выполнить обычное объединение, то все объекты идентификаторы поменяют, хотя логически получатся две одинаковые конфигурации.

Теперь рассмотрим алгоритмы сопоставления объектов. Существуют три варианта.

Третий вариант мы рассмотрим отдельно, но сначала некоторые уточнения про первые два. Сравнение конфигураций можно вызвать из различных режимов. Например, используя команды » Конфигурация — Сравнить, объединить с конфигурацией из файла. «, » Конфигурация — Конфигурация базы данных — Сравнить, объединить с конфигурацией базы данных «, из диалога настройки поддержки, и так далее. Во всех этих случаях вариант сопоставления выбирается автоматически. Есть также команда универсального сравнения конфигураций «Конфигурация — Сравнить конфигурации. «. Где можно выбрать любую пару (например конфигурацию базы данных с некоторой версией из хранилища конфигураций). В случае если будет указана пара конфигураций, связь между которыми известна, вариант сопоставления так же будет выбран автоматически. В противном случае, будет доступен флажок «Устанавливать соответствия по именам объектов», который позволяет в явном виде выбрать один из двух алгоритмов.

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

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

Влияние сопоставления объектов на скорость сравнения конфигураций

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

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

Замечания по методике использования механизма

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

Удаление объектов поставщика

Рассмотрим варианты удаления объекта поставщика.

Удаление пользователем

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

Удаление поставщиком

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

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

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

Что из себя представляют «Расширения»?

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

Механизм расширения выглядит следующим образом. Есть программный продукт 1С:Предприятия (к примеру: 1С:Бухгалтерия Предприятия, редакция 3.0, 1С:Зарплата и Управление Персоналом, редакция 3.1, 1С:Учет в Управляющих Компаниях ТСЖ, ЖСК, ЖКХ, редакция 3.0 и другие), который находится на полной поддержке поставщика, то есть его изменять нельзя, и он обновляется автоматически на новые улучшенные версии, выпущенные поставщиком. Если пользователю требуется дополнительный функционал, которого нет в типовой конфигурации, то с помощью механизма расширения можно не изменять саму конфигурацию, а внести все необходимые доработки в расширяемую конфигурацию. Таким образом, сам механизм можно представить в виде некой надстройки над типовым программным продуктом 1С:Предприятия, рис.1.

bezymyannyy

Рис.1 Механизм расширения

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

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

В каких релизах доступен механизм «Расширения»?

Данный механизм доступен в релизах Платформы 1С:Предприятия, начиная с версии 8.3.6.1977.

С данного релиза с помощью «Расширения» можно реализовать следующие доработки типового функционала:

bezymyannyy 10

bezymyannyy 11 bezymyannyy 12

bezymyannyy 8

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

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

bezymyannyy 9

Начиная с версии Платформы 8.3.11, с помощью механизма «Расширений» можно будет добавлять собственные:

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

Как добавить «Расширения» в рабочую конфигурацию?

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

bezymyannyy 1

Примеры доработки типового функционала с использованием механизма «Расширений»

Задача. В имеющемся отчете «Оборотно-сальдовая ведомость» (конфигурация 1С:Бухгалтерия Предприятия, редакция 3.0) вынести скрытые настройки отчета на форму.

Как работает отчет до добавления в «Расширения»

В отчете все настройки вынесены в отдельную форму, которая вызывается по кнопке «Показать настройки». Рис.6.

bezymyannyy 3

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

Отчет после внесенных изменений с использованием механизма «Расширения» Рис.7.

bezymyannyy 2

Задача: В конфигурации 1С:Учет в Управляющих Компаниях ЖКХ, ТСЖ, ЖСК, редакция 3.0 требуется реализовать механизм автоматической отправки «Платежного документа» на почту владельца квартиры.

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

bezymyannyy 5

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

bezymyannyy 4

Когда вы нажимаете кнопку «Отправить», открывается форма, где можно указать необходимый e-mail получателя, рис. 10

bezymyannyy 6

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

75172da1e7643822848ada76e6a16433

Елена Никитаева, специалист по сопровождению
и учету в программах 1С:Предприятие
компании «ИнфоСофт»

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с справочник форма списка
  • 1с справочник форма выбора отбор