Переход на платформу 1C 8.3

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

Что нового в 8.3?

Несмотря на то что со дня выхода первой версии новой платформы прошло уже более года, далеко не все клиенты 1C ее используют. В первую очередь это обусловлено тем, что новшества платформы 8.3 по большей части связаны с новым интерфейсом — «Такси». Внешний вид данного интерфейса на примере бухгалтерии 3.0 представлен на рис.

Бухгалтерия 1С в аренду

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

1с программа в аренду
Еще 1C 8.3 отличает полностью измененное внутреннее устройство серверной части. В клиент-сервере появилось:

  • Назначение двух центральных серверов кластера. При выходе из строя одного центрального сервера система может продолжить работы. Это говорит о том, что впервые в истории платформы 1C в ней появилась полноценная отказоустойчивость.
  • Автоматическое управление количеством рабочих процессов сервера исходя из количества баз и пользователей на процесс.
  • Возможность управлять назначением различных задач на разные серверы 1C.
  • Возможность задавать профили безопасности для информационных баз на сервере 1C
  • Возможность ограничивать ресурсы по памяти на процесс и на сервер.
  • Фоновое обновление информационной базы — возможность реструктуризации информационной базы в фоновом режиме, без монопольной блокировки работы системы.

Но не стоит слишком радоваться такому обилию нового и развитого функционала сервера 1 С. Большая часть его достаточно неплохо работает в системах до 10 пользователей, но в случае достаточно крупных информационных систем (200+ пользователей) существенная часть данных функций оказывается неработоспособной. Это верно для текущей на момент написания данной статьи платформы — 8.3.5.1186.

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

Чтобы описать все новое в платформе 8.3, будет недостаточно одной статьи, но в этом нет необходимости. При установке платформы 8.3 все изменения собраны в отдельном документе, как правило, располагающемся в каталоге: C:\Program Files (x86)\1cv8\8.3.5.1186\docsYu.

Но, если в платформе 1C 8.3 есть проблемы со стабильностью, а новый функционал не особо интересен, значит ли это, что на новую платформу не обязательно переходить?

Нет, к сожалению, совсем не значит. В 2014 году уже точно заканчивается поддержка бухгалтерии 2.0, как сообщается в информационном письме 1C . Последняя редакция бухгалтерии 3.0 уже разработана под платформу 8.3, более того, она разработана с интерфейсом «Такси», который появился только в платформе 8.3 и существенно отличается даже от управляемого интерфейса, не говоря уже о классическом.

Переход на 8.3

В данном случае можно отметить положительные изменения относительно перехода с 8.1 на 8.2. Видимо, после того, как пользователи испытали множество проблем при переходе на 8.2, в 1C позаботились о возможных последствиях и обеспечили обратную совместимость. Это означает что:

  • Конвертация внешних обработок не требуется.
  • Одну информационную базу можно подключить как к серверу 8.2, так и к серверу 8.3.

Последовательность действий для перехода к версии платформы 8.3 я бы рекомендовал примерно следующую:

  • Определение стабильной на момент перехода версии платформы 8.3. Сделать это проще всего опросом сообщества, коллег или просто почитав уже существующие соответствующие ветки форумов. Например, на момент написания данной статьи, стабильная версия платформы была 8.3.4.496. Выяснить это удалось в ветке форума на Infostart.
  • Полная резервная копия базы (средствами СУБД).
  • Предоставление отдельной машины и установка на нее сервера «1С:Предприятия 8.3».
  • Остановка сервера «1С:Предприятия 8.2».

Добавление информационных баз в сервер «^Предприятие 8.3». Важно! Ни в коем случае не отключайте режим совместимости у баз, пока не будете убеждены, что 8.3 у вас работает стабильно. Включение и отключение режима совместимости — это длительная операция, требующая монопольного доступа к ИБ (речь идет, конечно, о больших ИБ — 50 Гб и более).

  • Эксплуатация системы с одним сервером, для того, чтобы убедиться, что ошибок не возникает и работа пользователей системы стабильна. В случае нестабильной работы платформы 8.3 с вашей конфигурацией лучше сразу откатиться к версии 8.2 — шансов исправить ситуацию не будет.
  • Добавление серверов в кластер «1С:Предприятия 8.3» (если в этом есть необходимость).
  • Доработка конфигурации в соответствии с методикой, описанной на ИТС [4]. Надо сказать, что данной процедуры не стоит бояться. Большинство изменений касается переименования значений свойств, изменения имен картинок, переименований названий системных объектов. То есть обычная глобальная замена решает большую часть этих вопросов. Конечно, модальные окна становятся недоступными. Но к этому нас готовили уже давно, и разработчики прикладных решений на управляемом интерфейсе уже привыкли к мысли, что модальные окна — это «дурной тон», что вполне логично с учетом того, что тонким клиентом может служить и веб-браузер.
  • Отключение режима совместимости с версией 8.2.

Проблемы после перехода

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

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

  • Параметры сеанса.
  • Открытые формы.
  • Инициализированные переменные.
  • Данные пользователя.
  • Кэш значений.
  • Прочие.

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

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

  • Ошибка совместного доступа к файлу…
  • Ошибка получения неинициализированного параметра сеанса.
  • Файл… не найден.
  • Ошибка записи файла…
  • Контекст соединения… не найден.

Как правило, эти ошибки характеризуются либо сообщениями об ошибках работы с файлами, либо сообщениями о неинициализированных параметрах сеанса или прочей информации. «Лечит» от подобных ошибок использование одного сервера с одним рабочим процессом. В этом случае сеансовые данные не будут реплицироваться, и подобных ошибок удастся избежать. Один рабочий процесс можно организовать и 1C 8.3 — решается это установкой параметров «количество ИБ на процесс» и «количество соединений на процесс» в достаточно большие значения.

Вторым важным фактором, влияющим на количество ошибок, можно считать следующий: платформа намного стабильнее работает с конфигурациями только на управляемых формах. Дело в том, что последние версии 8.3, судя по всему, проходят тестирование только с конфигурациями на управляемых формах. Но если в одной конфигурации существуют и обычные и управляемые формы, то, по сути дела, это означает одновременную работу двух версий платформы, что соответственно увеличивает вероятность ошибки. Можно рекомендовать переходить полностью на управляемые формы в данном случае, но это процесс очень быстрый и не всегда возможный. Работа с управляемыми формами удобна для разработчика, но вот для пользователя нередко превращается в ухудшение удобства. А некоторые специфичные интерфейсные решения на управляемых формах реализовать не получится в принципе. Ошибки, связанные с данным фактором, найти и исключить уже сложнее. Можно рекомендовать оставить два кластера — 8.2 для «смешанных» конфигураций и 8.3 для конфигураций только на управляемых формах.

Ну и третья категория проблем связана с «зависшими», «неубиваемыми» сеансами, «зависшими» блокировками. Как правило, это сообщения об ошибках вида:

  • Объект уже заблокирован.
  • Ошибка установки блокировки объекта.
  • Ошибка установки соединения с информационной базой.

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

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

Источник: журнал «Системный администратор» №11 2014

0 ответы

Ответить

Хотите присоединиться к дискуссии?
Приглашаем поучаствовать!

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>