1с режим совместимости конфигурации
Краткая статья о том, как узнать версию совместимости конфигурации 1С:Предприятие 8 (и зачем).
Зачем эта информация
Эта статья будет полезна только в том случае, если вы используете (или планируете использовать) в своей базе расширения - встраиваемые модули, дополняющие функциональность типовых конфигураций без внесения изменений в эти конфигурации.
Существует техническое ограничение применения расширений - значение параметра Режим совместимости расширения не может быть больше аналогичного значения параметра конфигурации. Например, если режим совместимости конфигурации 8.3.10 , а режим совместимости расширения 8.3.12 , то такое расширения на данной базе работать не будет. При этом если значения параметров поменять местами (т.е. значение в конфигурации будет больше чем в расширении), то проблем не будет.
Режим совместимости расширения определяется его функциональностью. К примеру, если в расширении добавляется новый регистр накопления, то режим у такого расширения не ниже 8.3.14 . Если расширение создает новые документы, справочники или регистры сведений, то режим не ниже 8.3.12 . В остальных случаях, режим расширения как правило 8.3.10 .
Режим совместимости конфигурации определяется релизом (чем старше релиз, тем меньше значение параметра).
Как узнать режим совместимости
Первый способ - это посмотреть в конфигураторе. Открываем его, после этого разворачиваем дерево метаданных (если оно еще не развернуто).
Дважды кликаем на корневом узле.
В результате в правой части рабочего окна откроется палитра свойств конфигурации, проматываем ее до самого низа.
Второй способ - воспользоваться обработкой. Просто запустите ее, через Файл - > Открыть .
Это поможет сайту развиваться и расширять аудиторию.
Вас может заинтересовать
Расширение позволяет контролировать уникальность номенклатуры поставщика перед записью элементов. Есть возможность выбора реквизитов для контроля уникальности.
Организация схемы учета оптовой и розничной торговли (ОСНО + ЕНВД) с раздельным учетом выручки в программе 1С:Управление торговлей, редакция 11.4
Отражение операций, связанных с агентской схемой торговли. Сторонами договора, кроме покупателя, здесь могут быть агент и принципал.
конфигурация ЗУП 3 , под платформой 8.3.10.ххх режим совместимости - отключен, та же конфа под 8.3.11.хххх - режим совместимости 8.3.10 - и расширение я в режиме 8.3.11 - например, чтобы добавить свой справочник не могу.
Что за ерунда такая. "Замок" с конфигурации снимать не хочется :(
(3) и не может быть. 8.3.10 ничего не знает про существование 8.3.11 (6) это понятно. Речь про то что, режим совместимости "перепрыгивает" с отключенного (7) Так и должно быть. Голову включи. Если бы он "не перепрыгивал", то какая, к черту, это была бы совместимость?Такое поведение как раз и обеспечивает работоспособность старых конфигураций в новых платформах. В конфе фиксируется платформа, под которой она разрабатывалась и при запуске на более новых платформах автоматически подтягивается нужный режим совместимости.
ЗЫ. Другими словами, когда ты ставишь "отключен", то в конфе запоминается номер текущего релиза, а не "отключен". (8) Может, логика и есть в таком поведении, но в итоге я не могу использовать возможности 8.3.11 в расширении без снятия "замка" с конфы, чего я не хотел (9) Селяви. Противоречивые требования редко удается выполнять одновременно. (7) Делов том, что в платформе 8.3.10, режим совместимости "Не использовать" на самом деле есть "8.3.10", это хорошо видно, если выгрузить конфу в файлы. Просто в конфигураторе отображается "Не использовать", если он совпадает с текущей версией можешь написать какая конфигурация и какая платформа?
Я установил 8.3.11.3034, конфа БГУ 2.0.54.7. Через расширение конфигурации хотел добавить новые реквизиты в справочник. При сохранении изменений ругается:
1)Использование метаданных, влияющих на структуры данных, в расширении недопустимо
2)Добавление дочерних объектов этого типа к заимствованным в расширениях недопустимо в режиме совместимости 8.3.10 и ниже
Конфа типовая, на поддержке.
Режим совместимости у конфигурации ЗУП 3.1.x придётся отключить для того чтобы использовать возможности расширения конфигурации на платформе 8.3.11.x.
Да, много информации по проблемам при отключении режима совместимости, но я пока не находил именно для ЗУП 3.1.
Главная проблема из-за старых БСП в конфигурациях.
(15) Я бы закомментировала код, да только где это еще вылезет. Сейчас такое настроение, что готова все доработки из Расширений втиснуть в основную конфигурацию - готовлю базу к переводу с ЗУП 2 на ЗУП (17) Попробуйте заново перетащить метаданные в расширение, предварительно сохранив в копии конечно. (17) если там правильно "закомментировать" код, то та самая ошибка больше не вылезет. Она только в одном месте проверяет режим совместимости при запуске.Другое дело, нет гарантии, что где-то не всплывет несовместимость уже самого кода. нет гарантии, что где-то не всплывет несовместимость уже самого кода Для запуска установите в конфигурации режим совместимости "Не использовать" при разработке на версии 8.3.10 (или "Версия 8.3.10" при разработке на более старших версиях)". Прошу помочь - что делать?
Что делать. Как обычно, два выхода:
1. Снимать режим совместимости ради расширений и корячить весь код типовой, который будет не согласен с релизом платформы.
2. Не снимать режим совместимости и укладывать логику доработок в те возможности, которые доступны в дружественном к типовой релизе платформы.
Это значит - отказаться от расширений и все реализовать в основной конфигурации. У нас много доработок к типовой ЗУП, но, похоже, я все же пойду по этой торенной дорожке - с расширениями пока много проблем, себе дороже (25) расширения и в 8.3.10 работают. Только меньше возможностей предоставляют. Да и новые возможности расширений по созданию объектов метаданных довольно опасная штука.
Можно комбинировать внесение изменений. Там где позволяют расширения - использовать их. Где не позволяют - вносить изменения в саму конфигурацию с учетом возможности обновления.
(25)Я так и написала.
(24)Если вы начинаете писать в чужой теме, будьте готовы, что отвечать будут не только вам :)
На днях вышла тестовая Бухгалтерия Предприятия с отключенным режимом совместимости с платформой 8.3.6.
А значит в этой версии используется новый движок, который по-новому отрисовывает формы.
Прочитать про это можно в Вместе с типовыми на новую платформу следует переделывать и свои расширения.
В процессе перевода сформировал для себя небольшой чек-лист или памятку о том, что нужно сделать.
Памятка:
1. Переводим расширение на новую платформу
Для этого следует привести режим совместимости расширения к режиму совместимости конфигурации.
В версии Бухгалтерия Предприятия установлены следующие свойства:
В расширении можно установить точно такие же свойства или снять все флажки.
Отсутствие флажков означает, что расширение не будет проверять эти свойства при подключении.
То если эти свойства изменятся в основной конфигурации, то расширение все равно запуститься:
2. Устраняем проблемы подключения
Для этого запускаем конфигурацию в режиме предприятия и смотрим взлетело или нет.
Ошибки, из-за которых не удалось подключить расширение, можно посмотреть в журнале регистрации
(Администрирование - Поддержка и обслуживание - Журнал регистрации)
Нас интересуют события - “Сеанс. Ошибка применения расширения конфигурации”:
Чаще всего проблема подключения решается удалением лишнего реквизита или объекта.
Основная сложность в том, что расширение не выдает сразу все ошибки (кстати, эта
3. Обновляем формы в расширении
Для этого в каждой измененной форме нажимаем на “Обновить расширение формы”
С помощью этой команды мы заново подгружаем форму основной конфигурации в расширение.
В принципе работать будет и без этого, но это нужно для того, чтобы в расширении форма выглядела также как и в основной конфигурации.
В версии 3.0.44 практически все формы подверглись изменениям, поэтому хорошо бы и в расширение подтянуть эти изменения.
4. Приводим форму к правилам нового движка.
- Убираем все декорации, которые использовались для отступов.
Вместо них теперь используются группы. - Смотрим, что все выглядит хорошо.
Если что-то пошло не так, то смотрим статью.
Если все хорошо, то двигаемся дальше. - Проверяем новые свойства платформы “Объединенная”, “АвтомаксимальнаяШирина” и “АвтомаксимальнаяВысота”.
Просто смотрим, что в этих свойства установлены умолчания платформы и форма из-за этого не разъезжается.
5. Проверяем расширение в режиме предприятия
Запускаем конфигурацию и радуемся тому, что все стало хорошо.
Полезные материалы по теме:
Специальные предложения
(2) Alex_E, это я-то не умею? Смешно. Я одним из первых, смею надеяться, занялся глубоким и всесторонним изучением этого уродства. Ибо наивно полагал, что какая-то польза всё ж будет. А потом я, знаешь ли, даже публикацию накатал о некоторых нюансах расширений. А потом эксплуатация показала, что более кривой и ненадёжной хрени в 1С трудно отыскать. И я вынужден был у трёх клиентов отказаться от расширений и перейти к нормальной куроченной конфе. И это было хотя бы прозрачно, однозначно и стабильно.
Так что всем минуснувшим мою реплику - ребятки, вы просто ещё не встали как следует на эти грабли. Встанете - будет вам урок)
(7) Yashazz, Я не минусовал, расширения использую со дня их появления, публикации то же есть, с что нравится и что нет на тот момент, и ни в одной конторе, где их использовал не отказался - вот такие мы разные, прикинь :-) (и во всех бухгалтериях сразу ставлю отключение регламента и пр. через расширение сразу - закрывать всякие окошки с "а Вы знаете. " хотца нет :-) Это пустяк, конечно, но решается через расширение на счет раз) (8) Alex_E, а что Вы будите делать, когда вызов открытия этих окошек переедет в другой модуль?т.к. при обновлении Вы проблем не знаете, то Вы даже не узнаете, что эти вызовы исчезли в одном модуле и появились в другом. (9) monkbest, вообще-то это вызовет ошибку - 1С таки бейсик - компилируется по мере открытия. А вы в продакшн без тестирование всё вываливаете? Я вот проверять пытаюсь. (1) Yashazz, с каждой версией платформы они расширяют возможности этого механизма, как по мне, это явно лучше чем "ломать" конфигурацию. (3) Solovyeff, пока не будет возможности переопределять любые модули и добавлять свои модули, к сожалению только расширениями не всегда можно обойтись (4) baracuda, в 8.3.9 реализовано, осталось подождать выхода версии платформы. (1) прошло 5 лет, все поменялось. Вы бы подписались сегодня пож этими словами? (13) Однозначно подписался бы. Я уже давно махнул рукой и не коллекционирую баги расширений, но они всё столь же грубые, критичные и опасные, даже ещё хуже кое-где стало. В некоторых случаях падают Предприятие или Конфигуратор, в некоторых теряются или искажаются данные, а уж мелких милых косячков не счесть. Я ж постоянно с расширениями дело имею, к сожалению. Я ж постоянно с расширениями дело имею, к сожалению. Так баги не только из-за них - в самой платформе их тоже хватает. Но расширения помогают быстро "и без дополнительной возни в гиперпространстве" сделать простые и нужные штуковины, не особо напрягаясь. Так что, имхо, Вы тут зря мнение не поменяли. Видел ситуации, когда даже внешняя обработка приводила к падению системы - я вот их использую, и расширения (хоть и меньше). Что, от обоих отказаться и только в конфигураторе пилить? )))
(15) С внешками даже после замутов с профилями безопасности и "защитой от опасных действий" на порядок меньше проблем и больше стабильности, чем с расширениями. А расширения - моё мнение такое: если надо слегка изменить/добавить форму, то можно. Во всех остальных случаях - ни-ни.
Из недавнего: делаю я, значит, расширение для БП, в рамках общеизвестного 534 новые СчФ и УПД. Заимствую из конфы макет 1137, и макет 981. Дорабатываю код. Запускаю: макет 981 видит, про 1137 говорит, что такого нету. Вот нет такого общего макета, совсем. Метод "ПолучитьОбщийМакет" даёт невосстановимую ошибку. Ладно, работаю с тем, что есть. Спустя часа полтора работы понадобилось мне обновить в расширении 981-й, жму "Добавить в расширение", он меня спрашивает, обновить ли в расширении, иии. и конфигуратор тихо рушится. Ситуация воссоздаваемая, пятый раз я ронял конфигуратор, уже показывая этот "эффект" в Энидеске заказчику, который спросил, фигли так долго.
Кончилось тем, что тупо добавил в расширении свои макеты-копии типовых. И что, это называется стабильная работа? Когда бишь макеты-то в расширениях появились. Ладно, я молчу, что мало кто копал, как именно они "расширяются" и как себя ведёт наследование а) именованных областей, б) примечаний, в) внедрённых объектов, типа компоненты штрихкода, г) элементов управления. Да, мало кто это знает.
Но сам факт таких косяков, и невозможности выполнить вроде бы простую и давно якобы работающую операцию - характеризует.
Один раз с этим столкнулся - просто просят иногда ерундой страдануть. Там очень древняя УТ (10.3.27, сейчас вроде уже 90-я). Да, в таком случае просто скопировал макет, добавил в него строку с документом реализации и поправил колонки (очень классное сочетание клавиш Ctrl + M - пользуйтесь) - 10 минут дел в конфигураторе, + 3 минуты на условие 01-07-2021. Скука ))(17) Мне ещё параллельно надо было другие старые доработки сохранить, они ранее были в ВПФ, меня попросили, раз уж так, загнать всё в расширение. Там слегка нетипично второстепенные поля СчФ формируются, основная фишка вообще не в макетах была.
Ах да, у заимствованных макетов не все изменения свойств объединённых ячеек применяются. А иногда она в конфигураторе объединённая, а в предприятии оказывается первая-одиночная, и спасает только программно Объединить() ещё раз. От так.
Палитра свойств Совместимость
1. Режим управления блокировкой данных
Конфигурация имеет свойство Режим управления блокировкой данных. Каждый прикладной объект конфигурации также имеет свойство Режим управления блокировкой данных.
Вариант управления блокировкой данных в транзакции (см. здесь).
Режим управления блокировкой данных для всей конфигурации в целом может быть установлен в значения Автоматический, управляемый (установлено по умолчанию для новой конфигурации) и Автоматический и управляемый. Значения Автоматический и Управляемый означают, что соответствующий режим блокировки будет использоваться для всех объектов конфигурации, независимо от значений, установленных для каждого из объектов. Значение Автоматический и управляемый означает, что для конкретного объекта конфигурации будет использован тот режим, который указан в его свойстве Режим управления блокировкой данных: Автоматический или Управляемый.
Следует отметить, что режим управления блокировкой данных, указанный для объекта метаданных, устанавливается для тех транзакций, которые инициируются системой «1С:Предприятие» при работе с данными этого объекта (например, при модификации данных объекта).
Если же, например, операция записи объекта выполняется в транзакции, инициированной разработчиком (метод НачатьТранзакцию()), то режим управления блокировкой данных будет определяться значением параметра РежимБлокировок метода НачатьТранзакцию(), а не значением свойства объекта метаданных Режим управления блокировкой данных.
По умолчанию параметр РежимБлокировок имеет значение РежимУправленияБлокировкойДанных.Автоматический, поэтому для того, чтобы в явной транзакции использовать режим управляемых блокировок, следует указывать значение этого параметра РежимУправленияБлокировкойДанных.Управляемый.
2. Режим автонумерации объектов
Режим автонумерации объектов определяет, использовать повторно или нет автоматически полученные номера объектов, если они не записаны в базу данных.
Значение данного свойства ОсвобождатьАвтоматически используется для обеспечения режима работы нумерации, аналогичного версии «1С:Предприятие 8.0». Полученные автоматически номера и коды будут в дальнейшем использоваться, если объект, для которого они получены, не записан.
Значение данного свойства НеОсвобождатьАвтоматически используется для выбора режима работы, когда для объектов, требующих непрерывной нумерации, будет реализовано получение номеров при записи, а не при открытии формы.
Если номер объекта (документа, элемента справочника, плана видов характеристик, бизнес-процесса или задачи) выделялся в транзакции, то он будет повторно использоваться даже в том случае, если установлен режим автонумерации НеОсвобождатьАвтоматически, в том числе в ситуации, когда объект в транзакции не записывался.
Режим автонумерации НеОсвобождатьАвтоматически действует только на номера, которые выданы вне транзакции. Т.е. если номер выдан вне транзакции и код не был использован (объект не был записан), то в режиме НеОсвобождатьАвтоматическиномер не будет переиспользован, а в режим ОсвобождатьАвтоматически номер будет переиспользован.
3. Режим использования модальности
Начиная с «1С:Предприятия» версии 8.3.5 поведение тонкого и толстого клиентских приложений несколько изменяется. Описанное выше поведение (только для толстого и тонкого клиентских приложений) будет наблюдаться только при использовании параметра /EnableCheckModal командной строки запуска системы. Если этот параметр не указан, то модальные методы сохраняются работоспособность вне зависимости от свойства конфигурации Режим использования модальности. В частности, данное поведение позволяет использовать внешние обработки, написанные без учета свойства конфигурации Режим использования модальности, в конфигурациях, которые написаны из расчета на то, что данное свойство будет установлено в значение Не использовать.
Если «1С:Предприятие» запускается из конфигуратора (см. здесь), то параметр командной строки запуска /EnableCheckModalустанавливается принудительно, без возможности настройки такого поведения.
4. Режим использования синхронных вызовов расширений платформы и внешних компонент
При работе веб-клиента, под управлением веб-браузеров Google Chrome или Mozilla Firefox, реализовано следующее поведение:
● Свойство установлено в значение Не использовать ‑ расширения работы с файлами и криптографией, предоставляющие синхронные методы работы, не загружаются. Используются расширения, предоставляющие асинхронные методы работы.
● В остальных случаях ‑ при подключении расширений работы с файлами и криптографией выполняется попытка загрузки расширений, предоставляющих синхронные методы. Если попытка выполнена успешно, то предоставляется возможность использовать и синхронные и асинхронные методы работы с файлами или криптографией. В том случае, если «синхронные» расширения работы с файлами или криптографией не работоспособны, то будут использовать расширения, предоставляющие асинхронные методы.
Необходимо помнить, что поддержка синхронных вызовов в веб-браузере Google Chrome по умолчанию отключена в версии 42 (апрель 2015 года), а полностью удалена в версии 45 (сентябрь 2015 года). Веб-браузер Mozilla Firefox не поддерживает синхронные вызовы в веб-браузере начиная с версии 43 (декабрь 2015 года).
При этом описанное поведение будет наблюдаться только в том случае, если используется параметр /EnableCheckExtensionsAndAddInsSyncCalls командной строки запуска клиентского приложения.
Если «1С:Предприятие» запускается из конфигуратора (см. здесь), то параметр командной строки запуска /EnableCheckExtensionsAndAddInsSyncCalls устанавливается принудительно, без возможности настройки такого поведения. Исключением является запуск толстого клиента, для которого данный параметр командной строки не устанавливается при запуске из конфигуратора.
5. Режим совместимости интерфейса
Режим совместимости интерфейса ‑ свойство управляет режимом интерфейса клиентского приложения:
● Версия 8.2 ‑ клиентское приложение работает в интерфейсе версии 8.2. Переключение в интерфейс Такси невозможно.
● Версия 8.2. Разрешить Такси ‑ по умолчанию используется интерфейс версии 8.2. Возможно переключение на интерфейс Такси с помощью диалога параметров, объект НастройкиКлиентскогоПриложения или командной строки.
● Такси. Разрешить Версия 8.2 ‑ по умолчанию используется интерфейс Такси. Возможно переключение на интерфейс версии 8.2 с помощью диалога параметров, объект НастройкиКлиентскогоПриложения или командной строки.
● Такси ‑ клиентское приложение работает в интерфейсе Такси. Переключение в режим интерфейса 8.2 невозможно.
При использовании интерфейса версии 8.2 допустимо переключение между интерфейсом в отдельных окнах и интерфейсом в закладках.
Если свойство Режим совместимости установлено в значение, большее значения Версия 8.3.2 (Не использовать, Версия 8.3.3 и выше), а свойство Режим совместимости интерфейса установлено в значение Версия 8.2 или Версия 8.2. Разрешить Такси, то для новых пользователей прикладного решения будет автоматически установлен интерфейс в закладках.
Картинка БиблиотекаКартинок.Справка отображается различными способами, если свойство Режим совместимости интерфейсаустановлено в значение Такси или Такси. Разрешить Версия 8.2 и в остальных случаях.
6. Режим совместимости
Режим совместимости ‑ свойство управляет поведением механизмов, которое в новой версии системы изменено по сравнению с предыдущими версиями. Данное свойство может принимать значения Версия 8.3.12, Версия 8.3.11, Версия 8.3.10, Версия 8.3.9, Версия 8.3.8, Версия 8.3.7, Версия 8.3.6, Версия 8.3.5, Версия 8.3.4, Версия 8.3.3, Версия 8.3.2, Версия 8.3.1, Версия 8.2.16, Версия 8.2.13, Версия 8.1 и Не использовать. Особенности работы системы в режиме совместимости с какой-либо версией см. здесь.
Не поддерживается работа конфигурации с неизвестным режимом совместимости. Неизвестными режимами совместимости являются те, которые соответствуют функциональности, реализуемой в последующих версиях системы «1С:Предприятие». Например, если в версии 8.3.1 установить режим совместимости Не использовать, то он будет считаться неизвестным при открытии конфигурации в версии 8.2.16. При этом, если в версии 8.3.1 установить режим совместимости Версия 8.2.16, то при открытии конфигурации в версии 8.2.16 он будет отображаться как Не использовать. Если в конкретной версии не будет вводиться нового режима совместимости, то действие режима Не использовать будет аналогично предшествующей версии. При попытке запустить или загрузить конфигурацию с неизвестным режимом совместимости, будет выдаваться ошибка с указанием требуемой версии. Запрещена загрузка файлов 1cv8.dt, сформированных в версии 8.3.1 и выше, в «1С:Предприятии» младших версий (младше чем 8.3.1). Исключением является ситуация, когда в версии 8.3.1 свойство конфигурации Режим совместимости установлено в значение Версия 8.2.16.
При конвертации конфигураций версии «1С:Предприятие 8.1» (и более ранних) свойство принимает значение Версия 8.1. В общем случае можно сказать, что при открытии конфигурацией более поздней версией «1С:Предприятия», свойство Режим совместимости будет устанавливаться в значение совместимости с предыдущей версией, если в новой версии введен такой режим.
Если необходимо обеспечить работу прикладного решения сразу в нескольких версиях «1С:Предприятия» (в том числе и для которых есть режим совместимости), то в местах различного вызова кода рекомендуется вначале получать текущую версию платформы и затем сравнивать ее с режимом совместимости (если это необходимо). При этом не рекомендуется проверять режим совместимости на значение НеИспользовать.
Режим совместимости мобильной платформы (см. здесь) имеет несколько отличий:
● Режим совместимости для мобильной платформы не управляется свойствами конфигурации (в том числе и свойством Режим совместимости). Однако данное свойство существует «внутри» мобильного приложения.
● Установка значения режима совместимости происходит в момент создания информационной базы. Значение режима совместимости будет соответствовать версии мобильной платформы, с помощью которой выполнялась операция создания информационной базы.
● Обновление версии мобильной платформы не приводит к обновлению значения режима совместимости.
● При обновлении конфигурации информационной базы мобильного приложения, режим совместимости устанавливается в значение, равное версии мобильной платформы, с помощью которой выполняется обновление конфигурации.
● Соответственно, все методы встроенного языка, поведение которых учитывает режим совместимости, будут учитывать режим совместимости, сформированный по вышеизложенным правилам.
Читайте также: