Восстанавливаем синхронизацию в 1С:Предприятие при проблемах с расширениями (патчами)

  • Автор:

1cv83-sync-rib-cfe-repair-000.png

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

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

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

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

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

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

Для расширений можно указать область применения: только центральная база или вся распределенная сеть. Вот здесь и начинается самое интересное.

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

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

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

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

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

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

1cv83-sync-rib-cfe-repair-001.pngПри входе с полными правами предлагается выполнить повторную синхронизацию с центральным узлом, но она завершается неудачей.

1cv83-sync-rib-cfe-repair-002.pngВ этом случае нажимаем Продолжить и входим в обычный режим работы 1С. Дальнейшие действия могут несколько различаться, в зависимости от конфигурации, а нашем примере это будет 1С:Розница 2.3. Переходим в Администрирование - Синхронизация данных - Настройки синхронизации данных и выбрав узел обмена (а он там будет один - центральный), нажимаем ссылку Синхронизация по расписанию.

1cv83-sync-rib-cfe-repair-003.png

Затем выберите сценарий синхронизации и в меню правой кнопки мыши выберите Выполнить сценарий, обычно это не займет много времени.

1cv83-sync-rib-cfe-repair-004.png

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

1cv83-sync-rib-cfe-repair-005.pngНо бывает все гораздо хуже, после установки обновлений база снова просит повторную синхронизацию и все продолжается по кругу. В этом случае нам ничего не остается, как изучить Журнал регистрации, находим там ближайшую ошибку обмена и внимательно ее изучаем. Как правило там будет явно фигурировать проблемное расширение.

1cv83-sync-rib-cfe-repair-006.pngА теперь немного отвлечемся, на портале обновлений 1С можно найти описание всех патчей и внимательно изучить их. А потом крепко подумать и сделать выводы. Большинство исправлений устраняют ошибки, с которыми вы вряд ли бы столкнулись, поэтому необходимость их автоматической установки исчезающе мала. Правильным действием будет ручная установка патчей, по мере выявления проблем.

1cv83-sync-rib-cfe-repair-007.pngДалее переходим в центральную базу и загружаем ее в режиме Конфигуратора, переходим в Конфигурация - Расширения конфигурации и получаем полный список всех установленных расширений и патчей. После чего находим проблемное расширение и думаем. В некоторых случаях оно может устранять ошибку, которая существенна для центрального узла, но совершенно не влияет на периферию. В таком случае снимаем флаг Используется в РИБ, в остальных случаях просто удаляем расширение и выполняем синхронизацию с нужным узлом.

1cv83-sync-rib-cfe-repair-008.pngЗатем заново выполните синхронизацию в периферийном узле, но не спешите устанавливать обновление, снова выполните сценарий, как мы делали в начале этой статьи. Не забывайте, что после каждого сеанса синхронизации в узле РИБ нужно выполнять синхронизацию в центральной базе.

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

1cv83-sync-rib-cfe-repair-009.pngНу наконец-то! Можно идти пить кофе и отправлять пользователей работать. Но тут нас может ждать еще один сюрприз - пользователи снова не могут зайти, только текст ошибки немного иной.

1cv83-sync-rib-cfe-repair-010.pngВ чем здесь нельзя сомневаться, так в том, что за подробностями они все обратятся и администратору вряд-ли это понравится. В чем же дело? А в том, что современная 1С - сложная система и восстановив синхронизацию мы все еще не завершили процессы обновления информационной базы. Поэтому снова запускаем базу с полными правами и выполняем повторную синхронизацию.

1cv83-sync-rib-cfe-repair-011.pngПосле чего нормальная работа базы данных будет восстановлена.

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments