1С 8 режим совместимости

Содержание

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

Как включить или отключить режим совместимости в 1С

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

  • возможность и право правки конфигурации (может быть на поддержке без права редактирования, либо вам просто запрещено вносить изменения в конфигурацию)
  • выполнить копирование базы данных (процедура обычно не тривиальная, но любые глобальные действия выполняются после резервного копирования)
  • зайти в режиме «Конфигуратор» и перейти в свойства конфигурации (правой кнопкой на конфигурации — самом верху дерева)
  • Перейти в самый низ свойств в раздел «Совместимость»

Как видите, платформа имеет два варианта поддержания совместимости:

  • интерфейса
  • синтаксиса

Ограничивать возможно как оба, так и каждый по отдельности, в независимости от выбранной версии (платформа ведет себя очень гибко)

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

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

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

Асинхронные диалоги — один из новых механизмов платформа (про ошибки связанные с этим: синхронные методы, про использование модальности).

1С:Предприятие 8.2 /
Разработчикам /
Платформа, механизмы и технологии

Подготовительный этап

Конфликт имен свойств

Конфликт имен картинок

Изменение свойств фиксированной структуры

Помещение во временное хранилище несериализуемых значений

Пересмотр работы с предопределенными элементами в РИБ

Финальный этап

Переименования методов и свойств

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

Запрос с ключевым словом ИТОГИ ПО ОБЩИЕ и выгруженный в режиме ОбходРезультатаЗапроса.ПоГруппировкам

Изменения имен классов COM-объектов

Отказ от события НачалоВыбораИзСписка для полей ввода в режиме выбора из списка

Отказ от свойства КнопкаСпискаВыбора для полей ввода

Поддержка Linux-клиента

Скрыть или отключить механизмы в Linux-клиенте, которые не рассчитаны на работу в ОС Linux

Элемент управления ПолеHTMLДокумента и поле формы вида Поле HTML документа

Задействовать возможности платформы «1С:Предприятие 8.3» по унификации работы под ОС Linux и Windows

Отказ от всех модальных окон

Пример перевода метода глобального контекста ОткрытьФормуМодально на ОткрытьФорму

Пример перевода вопроса в обработчиках ПередЗакрытием

Дополнительные сведения по работе с объектом ОписаниеОповещения

В документе приведена методика по обеспечению совместимости прикладных решений, разработанных на платформе «1С:Предприятие 8.2», с платформой «1С:Предприятие 8.3». Этот процесс условно делится на два этапа — Подготовительный и Финальный.

Подготовительный этап

Действия этого этапа рекомендуется выполнить до перехода на «1С:Предприятие 8.3» с отключенным режимом совместимости. Выполнение этих действий не нарушают обратную совместимость – конфигурация может продолжать выпускаться на «1С:Предприятии 8.2» или «1С:Предприятие 8.3» свключенным режимом совместимости с 8.2.

По каждой проблеме несовместимости дается краткая инструкция по выявлению «проблемных» мест в конфигурации и выполнению адаптации.

Конфликт имен свойств

Нельзя использовать имена переменных, совпадающие с новыми свойствами, которые появились в «1С:Предприятии 8.3»:

  • Новое свойство ЭтотОбъект в управляемых формах и общих модулях.
  • Новые свойства в управляемых формах:
    • АвтоНавигационнаяСсылка
    • НавигационнаяСсылка
    • ВертикальнаяПрокрутка
    • ОписаниеОповещенияОЗакрытии

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

Конфликт имен картинок

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

Для устранения несовместимости необходимо выявить картинки с неуникальными именами (провести реструктуризацию в версии 8.3 на копии метаданных) и переименовать их.

Изменение свойств фиксированной структуры

В «1С:Предприятии 8.3» при присвоении значений свойствам фиксированной структуры (ФиксированнаяСтруктура) возникает ошибка «Поле объекта недоступно для записи».

Для устранения несовместимости необходимо:

  • Выявить все места присваивания значений свойствам фиксированной структуры:
    • Функциональным тестированием основных сценариев работы;
    • Или поиском конструктора НовыйФиксированнаяСтруктура по модулям конфигурации и анализом на предметизменения отдельных свойств созданной структуры;
  • Вместо изменения отдельных свойств фиксированной структуры следует пересоздавать фиксированную структуру целиком или заменить ее использование на аналогичный тип Структура.

Помещение во временное хранилище несериализуемых значений

В «1С:Предприятии 8.3» при помещении во временное хранилище значений, сериализация которых не поддерживается (например, ДокументОбъект.< Имя документа> , СправочникОбъект.< Имя справочника> и пр.), возникает ошибка «Переданное значение не может быть помещено во временное хранилище».

Для устранения несовместимости необходимо:

  • Выявить все места помещения значений во временное хранилище (поиском метода глобального контекста ПоместитьВоВременноеХранилище);
  • Проверить, что возможна сериализация типов значений объектов, помещаемых во временное хранилище. Для этого необходимо свериться с синтакс-помощником, убедившись, что в группе «Доступность» явно указана фраза «Сериализуется». При этом следует отличать сериализацию от XDTO-сериализации и XML-сериализации. Например, для типов СправочникОбъект.< Имя справочника> сериализация не поддерживается, хотя поддерживается XDTO-сериализация и XML-сериализация.
  • Если во временное хранилище значений помещается несериализуемое значение, следует пересмотреть проектное решение.

Пересмотр работы с предопределенными элементами в РИБ

В «1С:Предприятии 8.3» в дочерних узлах РИБ предопределенные элементыавтоматически не создаются (и не обновляются при изменении в метаданных), а должны быть переданы из главного узла вместе с изменениями конфигурации.

Для устранения несовместимости необходимо:

a) обеспечить загрузку сообщения обмена в подчиненный узел РИБ до выполнения другого прикладного кода, который обращается к получаемым из главного узла предопределенным элементам;

b) в прикладной логике загрузки данных из главного узла (обработчик события ПриПолученииДанныхОтГлавного, правила регистрации объектов) избегать обращений к предопределенным элементам, поскольку нет гарантии, что они уже были загружены из сообщения обмена;

c) код обработчиков обновления ИБ, который обрабатывает предопределенные элементы, не должен выполняться в подчиненных узлах РИБ:

Если ПланыОбмена.ГлавныйУзел() = Неопределено Тогда // Заполнение предопределенных элементов… КонецЕсли; СОВЕТПри использовании в конфигурации подсистемы » Обмен данными » Библиотеки стандартных подсистем (БСП) версии 2.1.4 и выше требования (а) и (б) снимаются.

Финальный этап

Данную процедуру необходимо обязательно выполнять непосредственно после перевода разработки конфигурации на «1С:Предприятие 8.3» и отключением режима совместимости.

По каждой проблеме дается краткая инструкция по выявлению «проблемных» мест в конфигурации и выполнению перехода.

Переименования методов и свойств

В «1С:Предприятии 8.3» изменены имена свойств и методов некоторых объектов (см. таблицу 1).

Для перехода на версию 8.3 необходимо найти места использования этих свойств и методов, и заменить все их использования в конфигурации согласно таблице.

Таблица 1 — Переименования методов и свойств в версии 8.3

Что переименовано

Старое наименование

Новое наименование

Переименовано имя свойства управляемой формы .

ЭтаФорма (ThisForm)

ЭтотОбъект (ThisObject)

Переименовано имя типа менеджера перерасчетов регистра расчета

РегистрРасчетаПерерасчеты< Имя регистра расчета>

ПерерасчетыМенеджер< Имя регистра расчета>

Запись таблицы внешнего источника данных. Изменены только английские имена.

Набор записей внешнего источника данных. Изменены только английские имена.

Для менеджеров регистра накопления остатков и регистра бухгалтерии переименованы методы установки и получения рассчитанных итогов

ПолучитьПериодРассчитанныхИтогов (GetTotalsPeriod)

ПолучитьМаксимальныйПериодРассчитанныхИтогов (GetMaxTotalsPeriod)

УстановитьПериодРассчитанныхИтогов (SetTotalsPeriod)

УстановитьМаксимальныйПериодРассчитанныхИтогов (SetMaxTotalsPeriod)

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

Заголовок (Title)

ТекстЗаголовка (TitleText)

Изменены имена элементов системного перечисления

Линия (Line)

СлабоеВыделение (WeakSeparation)

Отступ (Margin)

ОбычноеВыделение (NormalSeparation)

РамкаГруппы (GroupBox)

СильноеВыделение (StrongSeparation)

Переименованы методы получения и установки заголовка окна клиентского приложения.

ПолучитьЗаголовокПриложения (GetapplicationCaption)

ПолучитьЗаголовокКлиентскогоПриложения (GetClientapplicationCaption),

УстановитьЗаголовокПриложения (SetapplicationCaprion)

УстановитьЗаголовокКлиентскогоПриложения (SetClientapplicationCaption)

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

В «1С:Предприятии 8.3» для работы с отборами, условным оформлением, группировками и порядком в динамических списках используется механизмы системы компоновки данных. Подробнее – см. главу «Система компоновки данных» из документации по платформе.

Отборы и элементы условного оформления, устанавливаемые в конфигураторе в редакторе настроек динамического списка (далее — «в конфигураторе «), помещаются в коллекцию КомпоновщикНастроек.Настройки, а устанавливаемые программно через свойства «.Отбор» и «.УсловноеОформление» – в коллекцию КомпоновщикНастроек.ФиксированныеНастройки. Таким образом:

  • ДинамическийСписок.Отбор соответствует свойству ДинамическийСписок.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.
  • ДинамическийСписок.УсловноеОформление соответствует свойству ДинамическийСписок.КомпоновщикНастроек.ФиксированныеНастройки.УсловноеОформление.

Например, схема работы свойства ДинамическийСписок.Отбор и настроек, выполняемых в конфигураторе :

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

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

В отличие от остальных, свойство Группировка не связано напрямую с новыми коллекциями, однако имеет аналоги: КомпоновщикНастроек.ФиксированныеНастройки.Структура и КомпоновщикНастроек.Настройки.Структура. Группировки , программно добавленные через свойство Группировка отключаются, если пользователь перенастроил состав группировок, либо если заполнено свойство КомпоновщикНастроек.Настройки.Структура.

Для перехода на версию 8.3 необходимо найти все места установки отборов, условного оформления, группировок и порядка в динамических списках, которые выполняются программно из кода и в конфигураторе с помощью редактора формы (см. Настройка списка в свойствах динамического списка).

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

  • Для отборов, условного оформления и группировок следует перенести создание настроек и работу с ними в программный код и использовать свойства динамического списка Отбор, УсловноеОформление и Группировка.
  • Для порядка следует исключить всю коллекцию из состава пользовательских настроек в конфигураторе (сняв флажок Включать в пользовательские настройки) или программно (установив пустую строку в свойстве Порядок.ИдентификаторПользовательскойНастройки).

В тех случаях, когда необходимо задать настройки динамического списка по умолчанию, которые пользователи смогут изменять при своей работе с помощью командыВсе действия — Настроить список (либо в предусмотренной группе элементов формы для редактирования пользовательских настроек):

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

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

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

Запрос с ключевым словом ИТОГИ ПО ОБЩИЕ и выгруженный в режиме ОбходРезультатаЗапроса.ПоГруппировкам

Запрос, в котором указано ключевое слово ИТОГИ ПО ОБЩИЕ и выгруженный в режиме ОбходРезультатаЗапроса.ПоГруппировкам в » 1С:Предприятии 8.3″ возвращает результат, отличающийся от версии 8.2. Узлы группировок в версии 8.2 располагались на одном уровне с общим итогом, в версии 8.3 они будут вложены в общий итог, который располагается в корне дерева значений.

Для перехода на версию 8.3 необходимо:

  • выявить все запросы с ИТОГИ ПО ОБЩИЕ и выгружаемые в режиме ОбходРезультатаЗапроса.ПоГруппировкам;
  • пересмотреть обработку дерева значений, перенеся обход строк с группировками внутрь обхода строки с общим итогом.

Пример запроса и выгрузки результата, которые потребуют пересмотра:

Запрос = Новый Запрос(» |ВЫБРАТЬ | … КАК Отвечал, | … КАК Респондент, | … |ИЗ | … | |ИТОГИ | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Респондент) |ПО | ОБЩИЕ, | Отвечал»); ДеревоРезультата = Запрос.Выполнить.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);

Изменения имен классов COM-объектов

Для устранения несовместимости необходимо заменить все вхождения старых имен на новые.

СОВЕТПри использовании «Библиотеки стандартных подсистем» рекомендуется использовать универсальную функцию ОбщегоНазначения.ИмяCOMСоединителя().

Отказ от события НачалоВыбораИзСписка для полей ввода в режиме выбора из списка

В «1С:Предприятии 8.3» у поля ввода не вызывается НачалоВыбораИзСписка. Это связано с появлением нового свойства поля ввода КнопкаВыпадающегоСписка, которое позволяет по кнопке выводить выпадающий список, формирующийся автоматически. Подробнее см. документацию по платформе.

Для устранения несовместимости необходимо найти поля ввода с обработчиком НачалоВыбораИзСписка и перенести его код в другие обработчики согласно критериям:

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

СОВЕТДля значений ссылочного типа рекомендуется заполнять свойство Представление элемента списка значений во избежание лишних серверных вызовов.

Отказ от свойства КнопкаСпискаВыбора для полей ввода

В «1С:Предприятии 8.3» у поля ввода отсутствует свойство КнопкаСпискаВыбора. Вместо него теперь следует использовать новое свойство КнопкаВыпадающегоСписка. Подробнее см. документацию по платформе.

Для устранения несовместимости необходимо при помощи приложенного отчета найти поля ввода, у которых в свойстве КнопкаСпискаВыбора было установлено значение «Да» и явно установить в свойстве КнопкаВыпадающегоСписка значение «Да» в том случае, если кнопка выпадающего списка не выводится при значении «Авто».

Поддержка Linux-клиента

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

Затем на первом этапе:

  • корректно отключить в Linux-клиенте второстепенные механизмы,
  • а для ключевых механизмов — задействовать возможности платформы 8.3 по унификации работы под ОС Linux и Windows.

На втором этапе задействовать возможности платформы 8.3 по унификации работы под ОС Linux и Windows и для второстепенных механизмов, ранее отключенных на первом этапе.

Скрыть или отключить механизмы в Linux-клиенте, которые не рассчитаны на работу в ОС Linux

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

  • Не поддерживается технология COM и весь перечень возможностей, связанных с этой технологией:
    • Не поддерживается работа с объектом COMОбъект;
    • Запуск клиента «1С: Предприятия » в режиме automation-сервера;
    • Внешние компоненты, созданные с использованием COM-технологии.
  • Не поддерживается работа с объектом Почта.
  • Не поддерживается механизм поставки конфигурации.
  • Не поддерживается использование метафайлов Windows (WMF и EMF).

Далее либо скрыть команды этих механизмов из командного интерфейса, либо (если скрыть невозможно), выводить сообщение вида «< Операция> недоступна при работе в Linux».

Например:

&НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) Информация = Новый СистемнаяИнформация; Если Информация.ТипПлатформы = ТипПлатформы.Linux_x86 Или Информация.ТипПлатформы = ТипПлатформы.Linux_x86_64 Тогда ПоказатьПредупреждение(, НСтр(«ru = ‘Печать в Microsoft Word недоступна при работе в Linux'»)); Возврат; КонецЕсли; …> КонецПроцедуры СОВЕТПри использовании «Библиотеки стандартных подсистем» рекомендуется использовать универсальную функцию ОбщегоНазначенияКлиентСервер.ЭтоLinuxКлиент().

Элемент управления ПолеHTMLДокумента и поле формы вида Поле HTML документа

Внешний вид ПоляHTMLДокумента может отличаться в зависимости от ОС, в которой запущено клиентское приложение. Это связано с тем, что в Linux вывод реализован на основе библиотеки WebKit вместо Internet Explorer.

Учесть, что внешний вид и объектная модель HTML-документа (DOM-модель), доступ к которому осуществляется с помощью свойства ПолеHTMLДокумента.Документ, могут отличаться от таковых при работе в клиентском приложении, работающего на ОС Windows.

  • Задействовать только стандартные элементы DOM-модели, которые доступны во всех вариантах работы.
  • При подготовке HTML содержимого ориентироваться на стандарты — не следует использовать специфичные для конкретного браузера методы и свойства.

Задействовать возможности платформы «1С:Предприятие 8.3» по унификации работы под ОС Linux и Windows

Аналоги COM технологии

В ряде случаев использование COM технологий можно перевести на механизмы «1С:Предприятия 8.3»:

  • Для администрирования кластера серверов «1С:Предприятия» следует использовать сервер администрирования (ras) и утилиту администрирования (rac).
  • Для получения путей к рабочим каталогам следует использовать методы глобального контекста РабочийКаталогДанныхПользователя(), КаталогДокументов(), КаталогВременныхФайлов().

В остальных случаях следует рассмотреть альтернативы COM технологии, работающие в ОС Linux, например — технологию создания внешних компонент Native aPI.

Подробнее – см. главу «Внешние компоненты» из документации по платформе.

Аналоги объекта Почта

Рассмотреть альтернативные варианты

  • По переводу механизмов, работавших с объектом Почта, на объект ИнтернетПочта;
  • По разработке внешних компонент для Linux, работающих с установленными почтовыми клиентами в Linux

Аналог метафайлов Windows

Заменить картинки в формате WMF и EMF, включенные в состав конфигурации, на растровые, например PNG или JPG.

Отказ от всех модальных окон

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

Данная процедура является обязательной после установки свойства конфигурации «Режим использования модальности» в «Не использовать».

Следует найти все вызовы модальных методов и согласно таблице 2 заменить их немодальными методами с блокированием окна владельца или всего интерфейса.

Таблица 2 – Модальные и немодальные методы в версии 8.3

Модальный метод

Немодальный метод

Глобальный контекст

Вопрос

ПоказатьВопрос

Предупреждение

ПоказатьПредупреждение

ОткрытьЗначение

ПоказатьЗначение

ВвестиДату

ПоказатьВводДаты

ВвестиЗначение

ПоказатьВводЗначения

ВвестиСтроку

ПоказатьВводСтроки

ВвестиЧисло

ПоказатьВводЧисла

УстановитьВнешнююКомпоненту

НачатьУстановкуВнешнейКомпоненты

УстановитьРасширениеРаботыСФайлами

НачатьУстановкуРасширенияРаботыСФайлами

УстановитьРасширениеРаботыСКриптографией

НачатьУстановкуРасширенияРаботыСКриптографией

ПоместитьФайл

НачатьПомещениеФайла

ОткрытьФормуМодально

ОткрытьФорму

ДиалогРедактированияСтандартногоПериода

Редактировать

Показать

КонструкторФорматнойСтроки

ОткрытьМодально

Показать

ДиалогРасписанияРегламентногоЗадания

ОткрытьМодально

Показать

ДиалогВыбораШрифта

Выбрать

Показать

ДиалогВыбораЦвета

Выбрать

Показать

ОбработкаРасшифровкиКомпоновкиДанных

ВыбратьДействие

ПоказатьВыборДействия

СписокЗначений

ОтметитьЭлементы

ПоказатьОтметкуЭлементов

ВыбратьЭлемент

ПоказатьВыборЭлемента

УправляемаяФорма

ВыбратьИзМеню

ПоказатьВыборИзМеню

ВыбратьИзСписка

ПоказатьВыборИзСписка

ОткрытьМодально

Открыть

Параметры новых немодальных методов соответствуют параметрам модальных методов, за одним исключением:

  • В состав параметров включен параметр ОписаниеОповещенияОЗавершении, указывающий, куда возвращать результат выбора.

Рассмотрим далее на примерах основные приемы, которые можно использовать для перехода к немодальным методам.

Пример перевода метода глобального контекста ОткрытьФормуМодально на ОткрытьФорму

Необходимо выявить все случаи использования метода глобального контекста ОткрытьФормуМодально. Затем выполнить замену модального метода на аналогичный ему немодальный метод ОткрытьФорму. Для этого необходимо:

  • Установить у открываемой формы свойство РежимОткрытияОкна в значение Блокировать окно владельца или Блокировать весь интерфейс.
    • Если форма подразумевает несколько сценариев открытия — и как блокирующая, и как независимая, то свойство формы РежимОткрытияОкна необходимо устанавливать в Независимый, и передавать режим открытия в параметрах методов ОткрытьФорму и Открыть.
  • Если открываемая форма возвращает результат в вызывающую форму, тогда потребуется:
    • Передавать объект ОписаниеОповещения в параметрах методов ОткрытьФорму и Открыть.
    • разделить алгоритм работы с формой логически на две части: «Подготовка к открытию формы » и «Обработка результата работы формы». Пример разделения алгоритма:

В форме-владельце (было):

&НаКлиенте Процедура ДобавитьХарактеристику(Команда) // Выбор вида характеристики ВидХарактеристики = ОткрытьФормуМодально(«ПланВидовХарактеристик.ФормаВыбора»); Если ВидХарактеристики = Неопределено Тогда Возврат; КонецЕсли; // Обработка результата выбора // … КонецПроцедуры

В форме-владельце (стало):

&НаКлиенте Процедура ДобавитьХарактеристику(Команда) // Выбор вида характеристики Обработчик = Новый ОписаниеОповещения(«ДобавитьХарактеристикуЗавершение», ЭтотОбъект); Режим = РежимОткрытияОкнаФормы.БлокироватьВеcьИнтерфейс; ОткрытьФорму(«ПланВидовХарактеристик.ВидыХарактеристик.ФормаВыбора»,,,,,, Обработчик, Режим); КонецПроцедуры &НаКлиенте Процедура ДобавитьХарактеристикуЗавершение(ВидХарактеристики, Параметры) Экспорт Если ВидХарактеристики = Неопределено Тогда Возврат; КонецЕсли; // Обработка результата выбора // … КонецПроцедуры

Исключение составляют редкие случаи, когда выполнение кода должно быть приостановлено до момента получения результата работы формы, и когда алгоритм логически нельзя разбить на две части «Подготовка к открытию формы» и «Обработка результата работы формы»:

  • Когда форма открывается модально в обработчиках глобального контекста — при запуске или завершении работы с программой.
  • Когда диалог открывается в обработчиках событий элементов формы, при этом СтандартнаяОбработка остается Истина.
  • В других случаях, когда открываемая модальная форма возвращает результат, и вызывающей формы не предусмотрено.

В таких случаях рекомендуется полностью перепроектировать взаимодействие с пользователем.

Пример перевода вопроса в обработчиках ПередЗакрытием

Необходимо выявить все случаи использования модальных методов в обработчике ПередЗакрытием управляемых форм. Затем выполнить замену модального метода на аналогичный ему немодальный метод, разделив код на две части: «До открытия диалога» и «Обработка результата редактирования». Дополнительно в коде «До открытия диалога» следует устанавливать Отказ = Истина, а в коде «Обработка результата редактирования» продолжать закрытие формы.

Пример разделения алгоритма:

Было:

&НаКлиенте Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) Если Модифицированность Тогда Ответ = Вопрос(НСтр(«ru = ‘Сохранить изменения?'»), РежимДиалогаВопрос.ДаНетОтмена); Если Ответ = КодВозвратаДиалога.Да Тогда СохранитьИзменения(); // Сохранение изменений и сброс флага Модифицированность. ИначеЕсли Ответ = КодВозвратаДиалога.Отмена Тогда Отказ = Истина; КонецЕсли; КонецЕсли; КонецПроцедуры

Стало:

&НаКлиенте Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) Если Модифицированность Тогда Отказ = Истина; ОписаниеОповещения = Новый ОписаниеОповещения(«ПередЗакрытиемЗавершение», ЭтотОбъект); ПоказатьВопрос(ОписаниеОповещения, НСтр(«ru = ‘Сохранить изменения?'»), РежимДиалогаВопрос.ДаНетОтмена); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ПередЗакрытиемЗавершение(Результат, ДополнительныеПараметры) Экспорт Если Результат = КодВозвратаДиалога.Да Тогда СохранитьИзменения(); Закрыть(); ИначеЕсли Результат = КодВозвратаДиалога.Нет Тогда Модифицированность = Ложь; Закрыть(); КонецЕсли; КонецПроцедуры

Пример перевода метода ОткрытьМодально объекта ДиалогРасписанияРегламентногоЗадания на Показать

Необходимо выявить все случаи использования метода ОткрытьМодально объекта ДиалогРасписанияРегламентногоЗадания. Затем выполнить замену модального метода на аналогичный ему немодальный метод Показать, разделив код на две части: «До открытия диалога» и «Обработка результата редактирования».

В управляемой форме (было):

&НаКлиенте Процедура ПредставлениеРасписаниеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Если РегламентныеЗаданияКлиент.ИзменитьРасписание(Расписание) Тогда ЭтаФорма.Модифицированность = Истина; ПредставлениеРасписание = Строка(Расписание); КонецЕсли; КонецПроцедуры

В управляемой форме (стало):

&НаКлиенте Процедура ПредставлениеРасписаниеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ДополнительныеПараметры = Новый Структура(«Модифицированность», Истина); ОписаниеОповещения = Новый ОписаниеОповещения(«ИзменитьРасписаниеЗавершение», ЭтотОбъект, ДополнительныеПараметры); РегламентныеЗаданияКлиент.ИзменитьРасписание(ОписаниеОповещения, Расписание); КонецПроцедуры &НаКлиенте Процедура ИзменитьРасписаниеЗавершение(Результат, ДополнительныеПараметры) Экспорт Если ТипЗнч(Результат) = Тип(«РасписаниеРегламентногоЗадания») Тогда Расписание = Результат; ПредставлениеРасписание = Строка(Расписание); ДополнительныеПараметры.Свойство(«Модифицированность», Модифицированность) КонецЕсли; КонецПроцедуры

В общем модуле (было):

Функция ИзменитьРасписание(Расписание) Экспорт ДиалогРасписания = Новый ДиалогРасписанияРегламентногоЗадания(Расписание); Если ДиалогРасписания.ОткрытьМодально() Тогда Расписание = ДиалогРасписания.Расписание; Возврат Истина; КонецЕсли; Возврат Ложь; КонецФункции

В общем модуле (стало):

Процедура ИзменитьРасписание(ОписаниеОповещения, Расписание) Экспорт ДиалогРасписания = Новый ДиалогРасписанияРегламентногоЗадания(Расписание); ДиалогРасписания.Показать(ОписаниеОповещения); КонецПроцедуры

Дополнительные сведения по работе с объектом ОписаниеОповещения

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

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

  • Метод Оповестить и обработчик события ОбработкаОповещения. Их нужно использовать только для широковещательной рассылки сообщения всем открытым формам.
  • Метод ОповеститьОВыборе и обработчик события ОбработкаВыбора. Их нужно использовать только для выбора значений применительно к полям ввода и таблицам.

В тех случаях когда необходимо передавать параметры работы кода «до вызова оповещения» в код обработчика оповещения рекомендуется использовать свойство ДополнительныеПараметры объекта ОписаниеОповещения.

Подробнее – см. документацию по платформе.

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

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

Печать (Ctrl+P)

1С: Предприятие 8.3.13 . Документация

Категория свойств «Совместимость»

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

1. Режим управления блокировкой данных

Конфигурация имеет свойство Режим управления блокировкой данных. Каждый прикладной объект конфигурации также имеет свойство Режим управления блокировкой данных.
Вариант управления блокировкой данных в транзакции (см. ).

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

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

Если же, например, операция записи объекта выполняется в транзакции, инициированной разработчиком (метод НачатьТранзакцию()), то режим управления блокировкой данных будет определяться значением параметра РежимБлокировок метода НачатьТранзакцию(), а не значением свойства объекта метаданных Режим управления блокировкой данных.

По умолчанию параметр РежимБлокировок имеет значение РежимУправленияБлокировкойДанных.Автоматический, поэтому для того, чтобы в явной транзакции использовать режим управляемых блокировок, следует указывать значение этого параметра РежимУправленияБлокировкойДанных.Управляемый.

2. Режим автонумерации объектов

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

Значение данного свойства ОсвобождатьАвтоматически используется для обеспечения режима работы нумерации, аналогичного версии «1С:Предприятие 8.0». Полученные автоматически номера и коды будут в дальнейшем использоваться, если объект, для которого они получены, не записан.

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

Если номер объекта (документа, элемента справочника, плана видов характеристик, бизнес-процесса или задачи) выделялся в транзакции, то он будет повторно использоваться даже в том случае, если установлен режим автонумерации НеОсвобождатьАвтоматически, в том числе в ситуации, когда объект в транзакции не записывался.

Режим автонумерации НеОсвобождатьАвтоматически действует только на номера, которые выданы вне транзакции. Т.е. если номер выдан вне транзакции и код не был использован (объект не был записан), то в режиме НеОсвобождатьАвтоматическиномер не будет переиспользован, а в режим ОсвобождатьАвтоматически номер будет переиспользован.

3. Режим использования модальности

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

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

Если «1С:Предприятие» запускается из конфигуратора (см. ), то параметр командной строки запуска /EnableCheckModalустанавливается принудительно, без возможности настройки такого поведения.

4. Режим использования синхронных вызовов расширений платформы и внешних компонент

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

При работе веб-клиента, под управлением веб-браузеров 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. Режим совместимости

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

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

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

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

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

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

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

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

Прежде всего необходимо знать об ограничениях, которые имеют расширения.

Ограничение на создаваемые объекты

На данный момент можно создавать:

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

Можно добавлять реквизиты в:

  • Справочники
  • Документы

Что мы имеем в итоге? Добавлять можно не все типы объектов метаданных. Самые распространенные и востребованные, но все-таки не все. Кроме того, в регистры сведений нельзя добавлять новые измерения и ресурсы. Можно только создать полностью новый регистр.

Функционал расширений зависит от режима совместимости конфигурации, к которой применяется расширение.

Режим совместимости 8.3.8 — можно менять только формы объектов и их модули, добавлять свои отчеты и обработки.

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

На данный момент в типовой УТ 11.3 стоит режим совместимости 8.3.8. В УТ 11.4 режим совместимости 8.3.10, то есть, например, для УТ, большая часть функционала расширений недоступна, включая создание объектов метаданных.

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

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

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

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

Выводы

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

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

Во первых сертификация имеет цель повысить качество программ, написанных в системе 1С:Предприятие 8, и ориентирована для пользователей. При покупке программного продукта со значком «1С:Совместимо!» покупатель может быть уверен что:

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

Проведение сертификации улучшит отношение потребителя к вашему продукту и повысит продажи продукта.

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

Сертификацию могут проходить:

  1. Предназначенные для тиражного распространения программы, взаимодействующие с программами системы «1С:Предприятие» (конфигурации, отчеты, дополнения к типовым конфигурациям, внешние компоненты, клиент-банки, ПО для обмена)
  2. Компьютеры, предназначенные для использования совместно с системой программ «1С:Предприятие 8» в качестве серверов «1С:Предприятие 8»
  3. Кассовое и другое специализированное подключаемое оборудование.
  4. Мобильные устройства предназначенные для организации работы с данными 1С:Предприятия непосредственно на мобильном устройстве.

Разработчик конфигурации должен выполнить следующие условия:

  1. Нельзя в названии конфигурации использовать слово «1С» или логотип «1С» без разрешеия фирмы 1С.
  2. Необходима письменная гарантия руководителя и печать фирмы производителя о том, что продукт не нарушает чьих либо авторских прав.
  3. Необходимо нумеровать версии конфигурации согласно Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8 . Причем выпуск новой версии должен обеспечивать переход с предыдущей с сохранением данных, а при выпуске новой редакции должен быть обеспечен переход с сохранением данных или описана процедура перехода на новую редакцию.
  4. Нельзя использовать термин «типовая конфигурация» применительно к создаваемой конфигурации.
  5. Если ваша конфигурация написана с использованием режима управляемого приложения, то это должно быть указано в документации. Так же он должен функционировать в веб и тонком клиенте. Если в веб-клиенте нельзя выполнить часть функций, то это должно быть описано в документации.
  6. Конфигурация должна уметь различать первый и последующие запуски. При первом запуске конфигурация должна производить обязательное первичное заполнение базы данных и должна иметь возможно необязательного заполнения для упрощения работы с базой данных. После первого запуска или после первого запуска новой версии конфигурация должна представить отчет об изменениях, внесенных в информационную базу.
  7. У всех объектов метаданных должен быть определен синоним
  8. Объекты метаданных верхнего уровня должны быть отсортированы по алфавиту, кроме объектов с префиксом «Удалить». Они должны быть внизу.
  9. Должна быть роль для администратора со всеми правами кроме интерактивного удаления.
  10. Если есть разделение ролей, то должно быть разделения на роли с общими для всех правами и роли в которых есть какие то другие права. Например роль «БазовыеПрава»
  11. Должна быть заполнена справочная информация основных объектов конфигурации.
  12. Необходимо использовать управляемый режим блокировок.
  13. Должны быть заполнены подсказки для всех элементов, в которые пользователем вводятся данные.
  14. Для управляемого приложения рабочий стол всегда должен быть, последний раздел должен быть разделом для администрирования.
  15. Для обычного приложения должны быть общий интерфейс и полный, а так же возможность его переключения из менюю «Сервис».
  16. Для обычного приложения все элементы формы должны быть выровнены.
  17. В коде каждая строка должна содержать только один оператор, текст кода должен быть выровнен табами, не должно быть ошибок при проверки модулей и проверки конфигурации. К функциям должны быть комментарии с описанием действия, параметров и возвращаемого результата.

В этой статье рассмотрим палитру свойств конфигурации на примере 1С Управления торговлей 11 на платформе 8.3.

Настройка свойств конфигурации 1С

Рассмотрим подробнее каждую из настроек конфигурации.

  • Основной режим запуска — может принимать значения управляемого приложения или обычного. Для каждого пользователя в дальнейшем может задаваться отдельно.
  • Вариант встроенного языка — определяет синтаксис языка программирования по умолчанию. Если его изменить, то в конфигурации модули автоматически не изменять язык.
  • Основная роль — роль в конфигурации по умолчанию. Обычно устанавливается роль с наибольшими правами.
  • Модуль управляемого (или обычного) приложения — модуль, в котором описываются глобальные переменные конфигурации и глобальные обработчики конфигурации — ПередНачаломРаботыСистемы, ПриНачалеРаботыСистемы, ПередЗавершениемРаботыСистемы, ПриЗавершенииРаботыСистемы, ОбработкаВнешнегоСобытия.
  • Модуль сеанса — обработчик, отрабатывающий при старте системы, в котором принято инициализировать .
  • Модуль внешнего соединения — модуль, доступный при внешнем соединении, содержит в себе обработчики — ПриЗавершенииРаботыСистемы, ПриНачалеРаботыСистемы.

Получите 267 видеоуроков по 1С бесплатно:

  • Основной язык — язык интерфейса по умолчанию.
  • Краткая информация, Подробная информация, Логотип, Заставка, Авторские права — информационные поля свойств для сведений о конфигурации.
  • Адрес информации о поставщике и конфигурации — свойства, где необходимо указать информацию о разработчике и страничку о данном решении.
  • Основная форма отчета, настроек отчета, варианта отчета — формы, открывающиеся по умолчанию для соответствующих объектов.
  • Поставщик — компания, которая произвела разработку.
  • Версия — версия конфигурации, свойство почти всегда должно совпадать с версией поставщика.
  • Адрес каталога обновлений — место в сети Интернет, где можно скачать свежие обновления.
  • Справочная информация — общая справочная информация о конфигурации. Галочка Включать в содержание справки добавляет текущую справочную информацию в общий список документации.
  • Режим управления блокировкой данных — выбор режима . Возможны 3 варианта — управляемый (за блокировки отвечает разработчик конфигурации), автоматический (за блокировки отвечает СУБД), автоматический и управляемый (совмещенный режим, управляется на уровне объектов).
  • Режим автонумерации объектов — возможны два варианта, освобождать автоматически и не освобождать автоматически . Первый вариант позволяет заполнить пробелы в нумерации в случае их возникновения. Не освобождать автоматически делает нумерацию непрерывной.
  • Режим совместимости — сугубо технический флаг, позволяющий включить или отключить режим совместимости со старыми версиями конфигурации — 8.1 и 8.2.13 и 8.3. Эти две версии платформы были переходными, добавлялись новые объекты метаданных, поэтому система требует переконвертации конфигурации. К этому нужно относиться очень аккуратно,

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

Получить доступ к облаку 1С:Фреш бесплатно на 30 дней!

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

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

Что такое режим совместимости в программах системы 1С:Предприятие 8

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

Как узнать версию режима совместимости конфигурации 1С:Предприятие 8

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

Выбрать пункт меню «Конфигурация» > «Открыть конфигурацию».

Откроется дерево конфигурации. На верхней строке с наименованием конфигурации нажимаем правую клавишу мыши, в выпадающем меню выбираем пункт «Свойства».

Откроется окно свойств конфигурации. Опускаемся в самый низ окна к последней группе параметров «Совместимость».

В последней строке «Режим совместимости» указан номер релиза платформы используемой в данной конфигурации.

Внимание! Важно!

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

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

Компания «Онлайн», 2018

Режим совместимости программы 1С:Предприятие, Как узнать версию режима совместимости 1С:УПП, Как узнать версию режима совместимости технологической платформы 1С:Предприятие, Как узнать режим совместимости 1С:УТ, Как узнать релиз режима совместимости программы 1С:Предприятие, Как узнать версию режима совместимости 1С:Управление торговлей, Как узнать версию версию режима совместимости в типовой конфигурации 1С:Предприятие, Как узнать режим совместимости 1С:БГУ, Как узнать версию режима совместимости 1С 8.3, Как узнать релиз режима совместимости конфигурации 1С:Предприятие, Как узнать версию режима совместимости 1С:Бухгалтерия государственного учреждения, Как в типовой конфигурации 1С:Бухгалтерии узнать версию режима совместимости платформы, Как узнать режим совместимости конфигурации 1С:Бухгалтерия редакция 3.0, Как узнать режим совместимости 1С:УПП,

Теги: Как узнать номер релиза 1С, Как узнать релиз 1С, Как узнать версию 1С, Справка о программе 1С

Стоимость работ и варианты переводов с разных релизов

Перевод 8.1 → 8.2.13 Перевод 8.2.13 → 8.2.16 Перевод 8.2.16 → 8.3.10
Цена, руб. * 54 000 ₽ 12 000 ₽ 76 800 ₽

Перед началом работ по переводу на 8.3 нужно:

Проверить режим управляемых блокировок. Если используется «Автоматический”, то при переходе на 8.3 могут потребоваться дополнительные затраты на перевод в режим управляемых блокировок.
Если используется режим совместимости с 8.2.16 и выше, то нужно проверить, выполнена ли реструктуризация таблиц
Определить, какие типы клиентов используются (тонкий, толстый, веб-клиент)
Определить, есть ли машины, которые работают под linux

Перевод конфигурации 8.1 → 8.2.13

Стоимость работ: 54 000 руб.

Перевод конфигурации 8.2.13 → 8.2.16 (включая реструктуризацию)

Ключевые изменения:
Изменен режим хранения констант и настроек регистров накопления. Для каждого объекта используется своя таблица базы данных
Переработана реализация механизма управляемых блокировок.
Для события технологического журнала «TLOCK» свойство «Txt» записывается только в режиме совместимости с версией 8.2.13
Уменьшено влияние режима отладки на скорость работы в режиме «1С:Предприятие» для тонкого клиента, толстого клиента, сервера и внешнего соединения.
Оптимизировано выполнение запроса вида «ТипЗначения(Поле1) = ТипЗначения(Поле2)», если «Поле1» и «Поле2» содержат значения ссылочного типа.
Для полей управляемой формы, отображающих реквизит составного типа, ускорено открытие списка быстрого выбора в тех случаях, когда в составной тип входят ссылочные типы с разными настройками быстрого выбора.
Для нового независимого и непериодического регистра сведений, индекс по измерениям является кластерным

Изменения, требующие изменений в конфигурациях:

При отключенном режиме совместимости, параметр «Период» метода менеджера периодического регистра сведений «Получить()» является обязательным. В режиме совместимости с версией 8.2.13 и версией 8.1 поведение не изменилось (метод можно использовать без указания параметра, но результат является неопределенным).
При одновременном использовании методов «УстановитьЗначение()» и «ИспользоватьИзИсточникаДанных()» объекта «ЭлементБлокировкиДанных» вызывается исключение. В режиме совместимости с версией 8.2.13 поведение не изменилось (приоритетным считается значение, установленное методом «ИспользоватьИзИсточникаДанных()»).
Не поддерживается помещение в хранилище значения данных, которые не поддерживают сериализацию. В режиме совместимости поведение не изменилось.
Если база файловая, то должно быть выполнено преобразование информационной базы. После начала преобразования работа с данной информационной базой предыдущими версиями платформы «1С:Предприятие 8» будет невозможна. Если разработка выполняется с использованием хранилища конфигураций, перед преобразованием информационной базы нужно обязательно сделать копию хранилища

ВАЖНО. Для получения эффекта от изменения режима совместимости надо сделать реструктуризацию через конфигуратор: «Администрирование → Тестирование и исправление → Реструктуризация таблиц информационной базы”.

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

В таком случае необходимо сделать следующее:
Установить отдельно сервер 1С версии 8.2.19 и развернуть на нем исследуемую базу
Открыть базу в конфигураторе на сервере 1С версии 8.2.19, изменить режим совместимости на «Не использовать”
Выполнить реструктуризацию таблиц информационной базы
После того как реструктуризация будет выполнена, переместить информационную базу на исходный сервер 1С версии 8.3

Стоимость работ по переводу конфигурации из режима совместимости 8.2.13 в режим 8.2.16 (режим без совместимости, при использовании платформы 8.2.16, 8.2.19 и режим совместимости 8.2.16 при использовании платформы 8.3) составляет 12 000 руб.

Шаблон договора на работы можно скачать .

Перевод конфигурации 8.2.16 → 8.3.10

В состав работ по переводу конфигурацию входят следующие доработки конфигурации:

1. Устранение конфликт имен свойств. Изменение имен переменных, совпадающие с новыми свойствами, которые появились в «1С:Предприятии 8.3».

2. Устранение конфликт имен картинок. Переименование имен картинок с именами, совпадающеми с именами из библиотеки картинок.

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

4. Замена помещения во временное хранилище несериализуемых значений, на код поддерживаемый в «1С:Предприятии 8.3».

5. Замена использования вызова метода «Показать» для реквизитов управляемой формы, на использование свойств «ТекущийЭлемент», «ТекущаяСтраница», метода «Активировать»

6. Замена имен объектов метаданных с длинной более 80 символов, на имена с длиной имени в 80 символов или меньше для объектов метаданных

7. Переименования методов и свойств, согласно методике перехода на версию 8.3.

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

9. Доработка кода для запросов с ключевым словом «ИТОГИ ПО ОБЩИЕ», выгруженный в режиме
«ОбходРезультатаЗапроса.ПоГруппировкам», с целью сохранения прежней логики работы.

10. Изменения имен классов COM-объектов. Замена имен «V82.COMConnector» на «V83.COMConnector», и «V82.Application» на «V83.Application».

11. Отказ в коде программы от события «НачалоВыбораИзСписка» для полей ввода в режиме выбора из списка

12. Отказ в коде программы от свойства «КнопкаСпискаВыбора» для полей ввода, путем установки свойства «КнопкаВыпадающегоСписка».

13. Изменение кода с учетом изменения типа значения, возвращаемого методом глобального контекста «БезопасныйРежим()»

14. Изменение кода с учетом изменение результата запроса к константам (при обращение к полю «Значение» таблицы константы, если константа хранит значение типа «ХранилищеЗначения», «УникальныйИдентификатор» или «ВнешнийИсточникДанныхТаблицаСсылка».

15. Замена свойства конфигурации «ОсновнаяРоль» на «ОсновныеРоли»

16. Отказ от свойств «Пользователь» и «Пароль» для объекта «ИнтернетПрокси» и замена на методы «Установить()», «Пользователь()», «Пароль()».

17. Доработка кода для поддержки команды «Показать в списке», согласно методике перехода на версию 8.3.

18. Доработка кода для поддержания прежней логики работы системы при изменившемся возвращаемом значении свойства СистемнаяИнформация.ВерсияОС,

19. Доработка кода для поддержания прежней логики работы системы при отказе от использования системного перечисление ВариантОткрытияОкна, которое более не доступно в версии 8.3.

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

21. Доработка кода по поддержке веб-клиента, а именно отказ от серверных вызовов и открытия окон в «ПередЗакрытием», отказ от серверных вызовов в «ПриЗакрытии».

22. Доработка кода для возможности корректного использования функции РольДоступна(), при передачи функции в качестве параметра отсутствующей роли.

23. Для управляемого приложения: начиная с версии 8.3.8 в обработчиках событий управляемого приложения ПередЗавершениемРаботыСистемы,ПриЗавершенииРаботыСистемы, а также в обработчиках событий управляемой формы, находящейся в режиме закрытия, ПередЗакрытием, ПриЗакрытии, запрещено открывать окна и выполнять любые серверные вызовы . Необходима доработка конфигурации, чтобы закрытие форм выполнялось корректно — без серверных вызовов.

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

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

Стоимость работ: 76 800 руб.

Шаблон договора на работы можно скачать .

Стоимость работ по переводу конфигурации в режим совместимости с 8.3.10 может быть увеличена , если:
В конфигурации используются управляемые формы
Необходимо отказаться от использования модальности
Нужно поддерживать работоспособность конфигурации в ОС Linux

Оставьте комментарий