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

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

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

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

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

Памятка:

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Убираем все декорации, которые использовались для отступов.
    Вместо них теперь используются группы.
  • Смотрим, что все выглядит хорошо.
    Если что-то пошло не так, то смотрим статью.
    Если все хорошо, то двигаемся дальше.
  • Проверяем новые свойства платформы “Объединенная”, “АвтомаксимальнаяШирина” и “АвтомаксимальнаяВысота”.
    Просто смотрим, что в этих свойства установлены умолчания платформы и форма из-за этого не разъезжается.

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

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

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

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

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

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

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

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

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

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

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

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

  1. Среди сопоставленных объектов нет пар с различными идентификаторами.
  2. Среди несопоставленных объектов нет возможных пар с одинаковыми идентификаторами.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Можно изменять управляемые формы, существующие в типовой конфигурации. Рис. 2

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

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

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

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

    • Справочники;
    • Документы;
    • Регистры сведений;
    • Планы обмена.

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

    • Реквизиты;
    • Табличные части;
    • Реквизиты табличных частей.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Читайте также:  Как подключить цифровой усилитель к телевизору
    Ссылка на основную публикацию
    Как сделать чтобы эксель считал в градусах
    В этой практической задаче я покажу вам как при помощи возможностей Excel 2010 найти значение косинуса угла в 136 градусов....
    Как разрезать flac на треки в foobar
    2. Выделяем нужные треки левой кнопкой мыши. Теперь кликаем правой кнопкой по плейлисту и см. скриншот. 4. Теперь возвращаемся в...
    Как распечатать документ pdf из почты
    Значок печати в Google Chrome Чтобы распечатать PDF файл нам понадобится: компьютер, принтер, браузер (предпочтительно Google Chrome, Яндекс браузер или...
    Как скинуть видео с инстаграмма в вайбер
    С появлением социальных сетей у людей появилось много новых возможностей. И речь идёт не только о раскручивании своей личной странички....
    Adblock detector