Перевод конфигураций с платформы «1С предприятие 8.1» на платформу «1С предприятие 8.2»

Начну с ответа на вопрос «Зачем вообще надо переводить на новую платформу 8.2»?

1. Возможность использования различных клиентов:

  • Тонкий клиент. Позволяет работать по тонким каналам связям как по протоколу http, так и по протоколу tcp. При использование тонкого клиента можно отказаться от использования терминального сервера windows.
  • web-клиент. Данный клиент позволяет использовать 1с предприятие на компьютерах под управлениям операционных систем Linux (RedHat, Ubuntu) и MacOs.

2. Использование управляемого интерфейса. Что по моему мнению должно улучшить юзабилити пользователей.

3. Быстродействие. В новой платформе переработаны многие алгоритмы и поэтому даже  просто переход в режиме совместимости ускорит быстродействие системы.

4. Использование платформы «1С предприятие 8.2» является более перспективным решением. По последним данным развитие платформу 8.2 движется в сторону облачных технологий.

А сейчас о самом переходе.

Я выделю два способа перехода:

1. Конвертация конфигурации на платформу «1С предприятие 8.2» в режиме «Совместимость с «1С предприятие 8.1», редактирование алгоритмов для работы в новой платформе и перевод в режим «Без совместимости«.

2. Адаптация алгоритмов к работе в платформе «1С предприятие 8.1» и затем сразу перевод на платформу «1С предприятие 8.2» в режиме «Без совместимости«.

Если используется типовая конфигурация последней версии, то она уже адаптирована к переходу на платформу «1С предприятие 8.2», если же конфигурация давно не обновлялась или самописная, то потребуется адаптация алгоритмов.

Рассмотрим ключевые моменты адаптации алгоритмов платформы «1С предприятие 8.1» к работе в новой платформе «1С предприятие 8.2»

Запрос с ключевым словом РАЗЛИЧНЫЕ

Запрос, в котором указано ключевое слово РАЗЛИЧНЫЕ, а в предложении УПОРЯДОЧИТЬ ПО указано выражение, отсутствующее в списке выборки,
считается некорректным. При исполнении такого запроса в 1С:Предприятии 8.2 будет выдана ошибка.
Для устранения несовместимости необходимо:

  • выявить все запросы с РАЗЛИЧНЫЕ и УПОРЯДОЧИТЬ ПО с помощью обработки «ПроверкаКонфигурацииДляПереводаНа82.epf«, которая есть на диске ИТС;
  • дополнить список выражений в ВЫБРАТЬ выражениями из раздела УПОРЯДОЧИТЬ ПО, если требуется;
  • тем самым получим тот же результат, который был в 1С:Предприятии 8.1, но при этом запрос станет синтаксически правильным.

Например, запрос
ВЫБРАТЬ РАЗЛИЧНЫЕ
     Сотрудник,
     ВидРасчета …
УПОРЯДОЧИТЬ ПО
     Сотрудник.Наименование,
     Сотрудник.ДатаРождения,
     ВидРасчета.Код

верен, так как УПОРЯДОЧИТЬ ПО выполняется по полям ссылок Сотрудник и ВидРасчета, а такие ссылки в ВЫБРАТЬ уже есть.

Анализа типа параметра обработчика ОбработкаЗаполнения

В 1С:Предприятии 8.2 обработчик ОбработкаЗаполнения требует анализа типа, приходящего в качестве параметра значения.
Для устранения несовместимости необходимо:

  • выявить все обработчики ОбработкаЗаполнения (поможет вышеуказанная обработка);
  • убедиться в том, что в коде обработчика есть анализ типа параметра;
  • если нет – вставить в код условие вида
    Если ТипЗнч(Основание) = Тип(«…»),
    где Основание – параметр обработчика ОбработкаЗаполнения.

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

  • перечисления ГруппировкаКолонок и ОтображениеКнопки;
  • метод ПроверитьЗаполнение у объектов, манипулирующих данными (СправочникОбъект, НаборЗаписей и т. п.)
  • новые методы глобального контекста:
    • ПредопределенноеЗначение(),
    • СмещениеЛетнегоВремени(),
    • ЗаблокироватьДанныеДляРедактирования(),
    • РазблокироватьДанныеДляРедактирования(),
    • ПолучитьЗначенияОтбораЖурналаРегистрации(),
    • УстановитьПривилегированныйРежим(),
    • ПривилегированныйРежим().

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

  • НастройкиОтчета,
  • Форма,
  • ХранилищеНастроек,
  • АктивныеПользователи,
  • ЖурналРегистрации,
  • ЖурналРегистрацииПоПользователю,
  • ПоказатьДанные,
  • Свойства.

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

Изменение поведения операции языка запросов ВЫРАЗИТЬ

В 1С:Предприятии 8.2 операция языка запросов ВЫРАЗИТЬ возвращает строку переменной длины (без концевых пробелов) при приведении к типу
СТРОКА. Для устранения несовместимости необходимо:

  • найти запросы с ВЫРАЗИТЬ;
  • проанализировать, является ли получаемое выражение результатом выборки (находится в ВЫБРАТЬ);
  • проверить, как обрабатывается соответствующее поле результата запроса – нет ли там кода, опирающегося на то, что длина получаемой строки равна
    заданной в запросе.

Изменение имен идентификаторов групп полей настройки СКД
В 1С:Предприятии 8.2 идентификаторы групп полей настройки СКД были изменены на русскоязычные:

  • «SystemFields» -> «СистемныеПоля»;
  • «SerialNumber» -> «НомерПоПорядку»;
  • «GroupSerialNumber» -> «НомерПоПорядкуВГруппировке»;
  • «Level» -> «Уровень»;
  • «LevelInGroup» -> «УровеньВГруппировке»;
  • «GroupPercent» -> «ПроцентВГруппе»;
  • «OverallPercent» -> «ПроцентОбщий»;
  • «DataParameters» -> «ПараметрыДанных»;
  • «UserFields» -> «ПользовательскиеПоля».

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

Если ДоступноеПоле.Поле <> Новый ПолеКомпоновкиДанных(«SystemFields») Тогда
заменить на
Если ДоступноеПоле.Поле <> Новый ПолеКомпоновкиДанных(«СистемныеПоля») Тогда

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

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

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

  • Выявить все формы элементов объектов, в которых реквизит Наименование не редактируется (отсутствует на форме).
  • Убедиться, что реквизиту Наименование устанавливается значение перед записью в форме. Если реквизит Наименование не редактируется
    пользователем, то его следует заполнить из кода на встроенном языке.

Удаление некоторых свойств табличного документа
В 1С:Предприятии 8.2 удалены свойства ЦветФонаГруппировки, ЦветТекстаГруппировки, ЦветФонаЗаголовков и ЦветТекстаЗаголовков
табличного документа. Для устранения несовместимости необходимо:

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

Изменения имени класса COM-соединителя
В 1С:Предприятии 8.2 изменено имя класса COM-соединителя – вместо «V81.COMConnector» используется «V82.COMConnector».
Для устранения несовместимости необходимо выявить все вхождения «V81.COMConnector» и заменить их на вызов функции, получающей имя COM-
соединителя универсально:
// Вернуть имя COM-класса для работы с 1С:Предприятием 8 через COM-соединение.
Функция ИмяCOMСоединителя() Экспорт
       СисИнфо = Новый СистемнаяИнформация;
      ПодстрокиВерсии = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок    (СисИнфо.ВерсияПриложения, «.»);
      Возврат «v» + ПодстрокиВерсии[0] + ПодстрокиВерсии[1] + «.COMConnector»;
КонецФункции

Изменение поведения метода «Заблокировать» объекта «БлокировкаДанных»
В 1С:Предприятии 8.2 изменено поведения метода Заблокировать() объекта БлокировкаДанных. Если объект БлокировкаДанных был неправильно
проинициализирован, то возникает ошибка о неверном типе устанавливаемого значения. Ранее в 1С:Предприятии 8.1 в этом случае ошибка не возникала, и
установка управляемой блокировки не производилась.
Например, если блокировка по типу МоментВремени для реквизитов типа Дата ранее игнорировалась, то теперь приводит к ошибке
C релиза 8.2.15 в блокировках запрещено одновременное использование методов «УстановитьЗначение» и «ИспользоватьЗначение»

Изменение поведения свойств «Вывод» и «ОриентацияСтраницы» табличного документа
В 1С:Предприятии 8.2 попытка присвоить некорректные значения свойствам Вывод и ОриентацияСтраницы табличного документа приводит к ошибке.
Ранее в 1С:Предприятии 8.1 в этом случае ошибка не возникала, а некорректное присваивание игнорировалось.

Рассмотрим переход на новую платформу «1С предприятие 8.2»

Способ №1. Конвертация конфигурации на платформу «1С предприятие 8.2» в режиме «Совместимость с «1С предприятие 8.1», редактирование алгоритмов для работы в новой платформе и перевод в режим «Без совместимости»

  1. Конвертируем тестовую базу в режиме совместимости с платформой «1С предприятие 8.1».
  2. Тестируем основные алгоритмы работы. Т.е. те документы на которые приходится большая часть работы пользователей.
  3. Если во время тестирования были доработки, их необходимо перенести в основную базу.
  4. Определяем день перехода. Перед конвертацией необходимо сделать резервную копию, т.к. обратно конвертировать не получится. Конвертируем основную базу.
  5. С помощью обработки «КонвертацияВнешнихОбработок82 .epf«, которая есть на диске ИТС, конвертируем внешние обработки и обработки, которые находятся в справочнике «Внешние обработки«. Если переход проводился на копии, то необходимо не забыть перенести файлы журнала регистрации.
  6. Если используются распределенные базы данных, то необходимо:
  • Отключить все обмены,
  • Конвертировать все узлы на платформу «1С предприятие 8.2»
  • Включить режим обмена.

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

На этом переход состоялся.

7.  Далее по мере возможности дорабатываем алгоритмы по выше указанным моментам. Когда все будет исправлено можно переводить конфигурацию в режим «Без совместимости» и пользоваться все новыми преимуществами платформы «1С предприятие 8.2»

Способ №2.  Адаптация алгоритмов к работе в платформе «1С предприятие 8.1» и затем сразу перевод на платформу «1С предприятие 8.2» в режиме «Без совместимости».

Способ №2 практически идентичен способу№1, только пункт №7 переносится в пункт №1. Т.е. сначала адаптируем алгоритмы, затем тестируем на копии уже на платформе «1С предприятие 8.2» и только потом переводим основную базу на платформу «1С предприятие 8.2» сразу в режиме «Без совместимости».

Хотелось бы рассмотреть еще один момент. «Одновременное использование 1С предприятие 8.1 и 1С предприятие 8.2»

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

Если же используется клиент-серверный вариант, то здесь присутствует один момент. При установке сервера «1С предприятие 8.2» по умолчанию он ставится на основной порт 1541. На этом порту так же может работать сервер «1С предприятие 8.1», если же это не так, то дальше ничего делать не надо. Но если все таки сервер 1с 8.1 и сервер 1с 8.2 работают на одном порту, то их необходимо разделить по разным портам.

Проще всего менять порт сервера через реестр. Необходимо найти в реестре строку запуска сервиса «Агент сервера 1С:Предприятия 8.2» и там откорректировать порты.

Популярность: 11%

Запись опубликована в рубрике Настройка и оптимизация, Платформа 1С с метками , , , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.