1с не освобождать автоматически

Обновлено: 04.07.2024

(8) спасибо за инфу.Как же бороться, пока не понятно.Почитал:

ОсвобождатьАвтоматически (AutoFree)
Описание:
Номер вне транзакции освобождается автоматически. При откате транзакции номера освобождаются автоматически вне зависимости от режима автонумерации объектов.
-тоже ничего не понятно

И что будет если в конфигураторе поставить Режим автонумерации объектов "Не Освобождать автоматически" - или так не надо ставить.
ВЕдь по умолчанию после перевода на 8.1 становится "Освобождать автоматически"
вернее поможет но возникнет другая проблема - возможет пропуск номеров документов, для кторых это критично что еще хуже, чем придыдущая ситуация
надо писать обработку этих ситуаций
Кароче, говорю че делать. Берешь ведро вазэлина, смазываещь все свои впуклости и вращательно - поступательными движениями начинаешь вставлять в себя канцелярские принадлежности.
(15) Как по Вашему опыту это поможет?
Попробую др. методами
Сэммитировал проблему:
1)При записи нового дока например с номером "06" откатил транзакцию- прервал запись.
2)потом записал новый док с номером "07" хотя авто номер присваивал "06"
типа он свободен, но при записи ругается что верно т.к. см. п.3
т.е. получается, что ОСВОБОЖДАТЬ установленные для новых доков номера МОЖНО - откатывая (не записывая доки) транзакции
А вот как бы научиться сообщить 1С, что типа такой то номер уже не свободен, а занят
Как научиться - Как научиться. Тебе в (15) уже дали подробный ответ.
Друзья, наш коллектив разработчиков уже съел небольшую лохматую собаку на новых медотах автонумерации в 8.1.6.38. Особенно плачевны последствия автонумерации при применении вложенных транзакций (созданий объектов БД). Совутую всем у кого такие имеются не переходить на 8.1 по крайней мере до выхода нового релиза.
Можно попробовать:
ОбновитьНумерациюОбъектов(<Метаданные>)
(22) Подскажи пожалуйста, что именно выполняет этот метод?
"Выполняет обновление номеров в соответствии с номерами, записанными в базе данных. После вызова данного метода все выданные, но не записанные номера, становятся невалидными, т.к. не гарантируется их уникальность. Данный метод разрешено вызывать только администратору системы. "
(24) Ну это я читал, однако мне до сих пор непонятно.
Хочется примеров. Опытным путем что то плохо исследуется этот метод.
(25) Поэкспериментировал в "Примеры ИТС":
В конфигурации указал "He ocвoбoждaть aвтoмaтичecки".
Создаю документ Приход - номер 1, отказываюсь от создания. Создаю снова документ номер 2, еще и еще и еще. Каждый раз увеличивается номер. Потом выполняю ОбновитьНумерациюОбъектов и нумерация сбрасывается снова на 1.
Интерснее "ocвoбoждaть aвтoмaтичecки".
Например такие ситуации:
3) 1, 2, 4; новый номер 2
Признаюсь, у меня не было времени их проверять, т.к. сегодняшний день из-за этой проблемы весь прошел в сильной суматохе.
(27) Возможна ситуация когда одновременно создаются документы в нескольких транзакциях и соотвественно номера просто не успевают освобождаться.

Мы были очень удивлены, что платформа не может записать документ с номером который не занят. Пока я не прочитал ни одного внятного объяснения этого явления.
В итоге шаг нашего нумератор был изменен с 1 на 2 =)
И пока все работает и описанной ошибки больше невозникает.
А нумерация документов типа А идет через 1.

апну еще.Проблема есть надо решать, как пока не понятно.Интересная любая инфа по этой проблеме.
Свои обработчики писать не выход.В УПП сотня документов, проблема может быть с любым
(31)Знаю.
Почитал в мартовском ИТС обзор нового механизма автонумерации.
Но, похоже что в посл. релизе 8.1.6.38 не все работает гладко как там написано
а именно не удаляются освобожденные номера после принудит.установке максимального номера, надеюсь что в новом релизе сделают как написано.
На данный момент ни один из реализованных механизмов автонумерации не устраивает

Поднимал эту тему еще в начале марта вот официальный ответ.

В файле v8Update в разделе изменений поведения указано:
В связи с изменением механизма автонумерации объектов получение очередного номера будет всегда выдавать последовательный номер, даже если предыдущий объект не записан.
Изменения были внесены не <случайно>, а с достаточно серьезной проработкой.

В версии 8.0 могла быть следующая ситуация.
Пользователь А открыл форму нового документа и получил номер 0001.
Пользователь Б открыл форму нового документа и получил номер 0002.
Пользователь А закрыл форму без записи.
Пользователь Б записал документ и закрыл форму.
При следующем открытии формы нового документа будет выдан номер 0003.
На месте номера 0001 имеется пропуск.
При одновременной работе нескольких пользователей это было вполне частое явление.
То есть никакой непрерывности в последовательности нумерации не было.
Но у пользователей работающих персонально возникало ощущение, что имеется непрерывность.

Другой проблемой являлось то, что механизм нумерации основывался на наличии в памяти объекта. Если реализовывать <тонкое> клиентское место (Web или любое другое), не держащее на стороне клиента объекта, то механизм нумерации фактически переставал работать, так как полученный номер при удалении объекта из памяти освобождался и выдавался следующему пользователю в качестве нового. Соответственно, получалось, что два пользователя вводят объекты с одинаковыми номерами.

Механизм нумерации 8.1 исключает обе этих проблемы. При получении номера в транзакции не возникает проблемы с параллельностью, так как, один раз считав максимальный номер из базы данных, система помнит его и автоматически увеличивает при выдаче очередного номера.
Это исключает описанные (весьма серьезные) проблемы с параллельностью при доработках конфигураций, включающих создание и запись объектов в транзакциях.
Это исключает проблемы с созданием специализированных клиентов, так как номер не возвращается при удалении объекта из памяти.

Действительно, обратной стороной этого решения является то, что для конкретного пользователя эксперимент с закрытием формы без записи и созданием нового документа приводит к появлению пропуска. Раньше ему казалось, что система заполняет пропуски. Хотя, по сути, это было не так, но пользователь не всегда замечал это. Это пользователю можно наглядно продемонстрировать.

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

Но мне и бухам кажется, что наиболее неудачного решения придумать сложно.

Особенности работы механизма автонумерации

Механизм автонумерации в "1С:Предприятии 8.1" имеет целью обеспечить более эффективную и предсказуемую работу с номерами, по сравнению с механизмом автонумерации предыдущей версии платформы.

В "1С:Предприятии 8.1" реализован специальный менеджер автонумерации, который отвечает за выдачу номеров. Использование менеджера автонумерации позволяет существенно повысить параллельность работы за счет отсутствия блокировок базы данных.

Существуют две возможные стратегии нумерации для разных категорий объектов:

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

Режимы автонумерации

Механизм автонумерации позволяет работать в двух режимах: в режиме с возвратом неиспользованных номеров и в режиме без возврата неиспользованных номеров. Режим устанавливается свойством объекта метаданных "Конфигурация" РежимАвтонумерацииОбъектов .

  • Значение данного свойства ОсвобождатьАвтоматически проставляется для ранее созданных конфигураций и используется для обеспечения режима работы нумерации, аналогичного версии 8.0. Полученные автоматически номера и коды будут в дальнейшем использоваться, если объект, для которого они получены, не записан. Этот вариант предполагается использовать для конфигураций, разработанных для версии 8.0 и использующихся в версии 8.1 без изменений.
  • Значение данного свойства НеОсвобождатьАвтоматически используется для поддержки нового режима работы с нумерацией, реализованного в версии 8.1. Этот вариант предполагается использовать для конфигураций, в которых для объектов, требующих непрерывной нумерации, будет реализована нумерация при записи, а не при открытии формы.

Свойство Автонумерация формы объекта (элемента справочника, документа. ) отвечает за автоматическое получение номера при открытии формы. Если в этом свойстве указано значение НеИспользовать, это означает, что при открытии формы номер будет не заполнен и он будет получен автоматически при записи объекта.

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

  • для объектов, требующих непрерывной нумерации, - РежимАвтонумерацииОбъектов = НеОсвобождатьАвтоматически, Автонумерация = НеИспользовать ;
  • для объектов, не требующих непрерывной нумерации, - РежимАвтонумерацииОбъектов = НеОсвобождатьАвтоматически, Автонумерация = Авто;
  • для работы механизма автонумерации аналогично версии 8.0 - РежимАвтонумерацииОбъектов = ОсвобождатьАвтоматически , Автонумерация = Авто .

Особенности хранения номеров и использования префиксов

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

Например, в БД хранится максимальный номер 001. Мы получили очередной номер по префиксу 0, нам вернули 002. Далее мы получили очередной номер по префиксу 00, нам вернули номер 003, т. к. в этом случае максимальный номер соответствует обоим префиксам. Механизм автонумерации учитывает этот факт и изменяет максимальный номер зависимых префиксов соответствующим образом. Следует отметить, что на максимальный номер, соответствующий пустому префиксу, влияет изменение максимального номера по любому префиксу, если он превышает максимальный номер по пустому префиксу. Например, мы по пустому префиксу получили номер 001, далее по префиксу 0 получили номер 002, далее по префиксу А получили номер А01, далее по пустому префиксу получили номер А02, т. к. максимальный номер по пустому префиксу соответствует наибольшему из максимальных выданных номеров.

В режиме автоматического возврата номеров механизм автонумерации по каждому пространству номеров и префиксу хранит список свободных номеров. Номер становится свободным, если он не записан в базу данных, а объект был удален из памяти или после автоматического получения номера номер был установлен явно. Под явной установкой номера подразумеваем любое изменение номера объекта, не связанное с его автоматическим получением. Это может быть программная установка номера через свойство объекта Номер или Код (в зависимости от типа объекта) или заполнение номера в форме объекта вручную. Номер может стать свободным также при откате транзакции.

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

Работа автонумерации в различных режимах

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

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

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

При явной установке номера механизм автонумерации увеличивает максимальный номер, если явно устанавливаемый номер больше максимального, и блокирует все свободные номера меньше явно устанавливаемого номера. Блокированные свободные номера не используются при получении очередного номера. При явной установке номера префикс не указывается, поэтому механизм автонумерации использует уже выданные номера для определения префикса. Для этого по всем префиксам пространства номеров ищется, подходит ли явно устанавливаемый номер под префикс. Если да, то найденный префикс используется при явной установке номера (таких префиксов может быть несколько). Следствием этого алгоритма является то, что явная установка номера может повлиять на выдачу номеров по нескольким префиксам. Например, по префиксу 00 мы получили номер 001, далее по префиксу 0 мы получили номер 002, далее мы установили номер 005, по префиксу 0 будет получен номер 006, а по префиксу 00 будет получен номер 007, т. к. префиксы 0 и 00 являются зависимыми.

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

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

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

Восстановление при ошибочно введенном максимальном номере

Механизм автонумерации имеет возможности по восстановлению максимального номера после исправления или удаления неверно введенного максимального номера. Например, имеем текущий максимальный номер АА001, пользователь при вводе документа ошибся и явно ввел номер ААБСД. После этого автонумератор запомнил введенный номер и перестал выдавать корректные номера, все время выдавая номер ААБСД. Пользователь исправил неправильно введенный номер документа на АА002. Поcле этого автонумератор стал выдавать правильные номера - АА003, АА004. Альтернативой исправлению может быть удаление объекта с неверно введенным номером.

Данная возможность избавляет пользователя от проблем, связанных с остановкой сервера или вызовом функции ОбновитьНумерациюОбъектов , которые были необходимы ранее для восстановления нумерации объектов.

Прежде всего я, естественно, обратился к ресурсам ИТС (благо фирма предоставляет такую возможность). Максимум, что я смог найти по своей тематике, - это две статьи Автонумерация и Особенности работы механизма автонумерации. Данные в них, мягко говоря, не свежие и где-то даже противоречащие реальности (например, там утверждается, что для восстановления нумерации достаточно удалить объекты), но общие представления о механизме дают. Из них стало понятно, что одним из решений вставшей проблемы является установка настройки конфигурации "Режим автонумерации объектов" в значение "Освобождать автоматически". Но, во-первых, это неприменимо в случае использования типовой конфигурации "на поддержке", а, во-вторых, противоречит продвигаемому 1С "новому" режиму нумерации. Поэтому я продолжил рыть дальше.

Как выяснилось, типовых механизмов работы с автонумерацией , как-то обработки, отчёты и прочее, нет. Но, слава Нуралиеву, нам предоставили методы встроенного языка: ОбновитьНумерациюОбъектов, УстановитьНовыйКод и УстановитьНовыйНомер.

ОбновитьНумерациюОбъектов, согласно СП, "выполняет обновление номеров в соответствии с номерами, записанными в базе данных. После вызова данного метода все выданные, но не записанные номера, становятся невалидными, т.к. не гарантируется их уникальность." Соотнеся это описание со статьями по этой тематике и тестовыми данными, становится понятно, что в базе хранится таблица выданных номеров, которые независимо от того, существуют объекты, для которых они были записаны в таблицу или нет, повторно быть выданы уже не могут, если не осуществить "сброс". Как раз процедура ОбновитьНумерациюОбъектов и применяется для "выправления" нумерации объектов. Главное, перед запуском не забудьте удалить из базы объекты с "неправильными" номерами. Это может быть как реальное удаление, так и перезапись их с предварительным присвоением "правильных" номеров.

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

  • использовать запрос;
  • получить следующий номер, используя методы УстановитьНовыйКод или УстановитьНовыйНомер .

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

  • результат не будет содержать данные о занятых номерах, а только о записанных ;
  • сортировка не всегда выводит наверх "максимальные" с точки зрения системы номера (например, объект с номером "0_01" в результате запроса будет расположен ниже номера "0001", но при вводе нового объекта ему будет присвоен номер с префиксом "0_" ).

УстановитьНовыйКод и УстановитьНовыйНомер устанавливают код или номер соответственно и заносят это значение в таблицу номеров. При этом неважно, будет ли записан объект или нет, "максисальный номер" всё равно будет обновлён на выданный. Таким образом, если использовать эти методы для проверки, то после этого необходимо обновить нумерацию объектов.



Палитра свойств Совместимость

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С:Предприятия» (в том числе и для которых есть режим совместимости), то в местах различного вызова кода рекомендуется вначале получать текущую версию платформы и затем сравнивать ее с режимом совместимости (если это необходимо). При этом не рекомендуется проверять режим совместимости на значение НеИспользовать.

Режим совместимости мобильной платформы (см. здесь) имеет несколько отличий:

● Режим совместимости для мобильной платформы не управляется свойствами конфигурации (в том числе и свойством Режим совместимости). Однако данное свойство существует «внутри» мобильного приложения.

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

● Обновление версии мобильной платформы не приводит к обновлению значения режима совместимости.

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

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

Читайте также: