При обновлении конфигурации «1С:Комплексная автоматизация» с релизов 2.5.13.98 на 2.5.14.69 (или на другие версии 2.5.14.* и 2.5.15.*) пользователи часто сталкиваются с ошибкой, которая возникает во время первого запуска пользовательского режима при выполнении обработчиков обновления. Отладка показывает, что проблема обычно проявляется в общем модуле ОбновлениеИнформационнойБазы при попытке зарегистрировать изменения в регистре накопления РасчетыСКлиентамиПланОтгрузок. Мы подробно разберем эту проблему и предложим комплексное решение, которое поможет вам успешно завершить обновление.
Важно понимать, что версии 2.5.14 и выше принесли значительные изменения в архитектуру системы взаиморасчетов, в частности, ввели режим "онлайн" взаиморасчетов и новые регистры для плановой отгрузки, такие как РаспоряженияНаОтгрузку. Эти глубокие изменения требуют внимательного подхода к процессу обновления, особенно если ваша база содержит нетиповые доработки.
Прежде чем переходить к более сложным шагам, всегда полезно выполнить ряд стандартных процедур, которые могут решить многие проблемы, связанные с обновлением или некорректной работой базы данных. Эти действия помогут исключить наиболее частые причины сбоев.
Проверка состава плана обмена ОбновлениеИнформационнойБазы:
Нередко проблемы с обновлением могут быть связаны с некорректным составом служебного плана обмена ОбновлениеИнформационнойБазы. Мы рекомендуем проверить и при необходимости скорректировать его состав:
ОбновлениеИнформационнойБазы.РасчетыСКлиентамиПланОтгрузок) и запретить ему авторегистрацию. Однако для простоты и надежности часто выбирают опцию «Включить все».После этих изменений попробуйте снова запустить обновление. Если проблема остается, переходим к следующему шагу.
Выполнение Тестирования и Исправления базы данных (ТИИ):
Повреждения логической структуры базы данных могут быть причиной множества ошибок, включая сбои при обновлении. Мы настоятельно рекомендуем выполнить полное тестирование и исправление:
ТИИ поможет выявить и исправить возможные повреждения, которые могли бы препятствовать нормальному выполнению обработчиков обновления.
Очистка кэша 1С:
Иногда устаревшие или поврежденные файлы кэша могут вызывать неожиданные ошибки в работе 1С, включая проблемы с обновлением. Очистка кэша — это быстрая и безопасная процедура:
После выполнения всех этих шагов попробуйте снова запустить обновление. Если проблема не решилась, то, скорее всего, причина кроется в более глубоких системных изменениях.
Если стандартные методы не принесли результата, наиболее вероятной причиной ошибки является конфликт, связанный с изменениями в системе взаиморасчетов и плановой отгрузки, которые были внесены в версии 2.5.14 и далее. В этих версиях появились новые регистры, такие как РаспоряженияНаОтгрузку, и произошло кардинальное изменение логики работы с остатками и отгрузками. Обработчики обновления должны переносить данные из старых регистров в новые, но этот процесс может быть нарушен наличием нетиповых регистраторов.
Давайте подробно разберем шаги по выявлению и устранению этой специфической проблемы.
Анализ изменений в системе взаиморасчетов и плановой отгрузки:
Разработчики 1С существенно переработали механизмы управления остатками, взаиморасчетами и отгрузками. В частности, был введен новый режим ведения взаиморасчетов — «онлайн», при котором распределение оплаты на отгрузки происходит не только при закрытии месяца, но и непосредственно в транзакции проведения документа или в фоновом задании сразу после его проведения. Это означает, что логика учета взаиморасчетов стала значительно сложнее. Наряду с этим, появились новые регистры накопления, например, РаспоряженияНаОтгрузку, которые предназначены для более детального учета плановой отгрузки.
Обработчики обновления, которые запускаются при переходе на новые версии, пытаются автоматически мигрировать данные из старых регистров (например, ЗаказыКлиентов) в новые (например, РаспоряженияНаОтгрузку). Именно здесь и кроется потенциальная проблема.
Идентификация нетиповых регистраторов:
Суть проблемы заключается в том, что если в вашей базе ранее были добавлены нетиповые регистраторы (документы, которые изначально не входят в состав регистраторов данного регистра в типовой конфигурации) в старые регистры, то обработчики обновления не знают, как правильно обработать движения, созданные этими нетиповыми документами, при переносе в новые регистры. В результате, попытка перенести данные для такого нетипового регистратора вызывает ошибку и сбой обновления.
Мы должны выяснить, какие нетиповые документы могли порождать движения в связанных регистрах, откуда данные переносятся в проблемный регистр РасчетыСКлиентамиПланОтгрузок (или регистр РаспоряженияНаОтгрузку, который часто является причиной ошибок обновления). Чаще всего это регистр ЗаказыКлиентов, так как именно из него дублируются движения в новый регистр РаспоряженияНаОтгрузку.
Действуем следующим образом:
ЗаказыКлиентов).ЗаказыКлиентов могли быть добавлены такие регистраторы, как документ ВнутреннееПотребление или ЧекиККМ. Эти документы являются нетиповыми для регистра ЗаказыКлиентов.РасчетыСКлиентамиПланОтгрузок, чтобы убедиться, что там нет нетиповых регистраторов.Добавление нетиповых регистраторов в новый регистр:
После того как вы идентифицировали нетиповые регистраторы в исходном регистре (например, ЗаказыКлиентов), нам необходимо сообщить системе о том, что эти документы также могут порождать движения в новом регистре, куда происходит миграция данных. В нашем случае, если проблема связана с РаспоряженияНаОтгрузку, то именно туда мы и будем добавлять найденные нетиповые регистраторы.
Выполняем следующие действия:
РаспоряженияНаОтгрузку).ВнутреннееПотребление, ЧекиККМ).После этого действия обработчики обновления при повторном запуске смогут корректно обработать движения, созданные этими нетиповыми документами, и перенести их в новый регистр без сбоев.
Повторное обновление конфигурации:
После внесения изменений в состав регистраторов, сохраните конфигурацию базы данных и повторите попытку обновления. В большинстве случаев, это действие должно решить проблему с ошибкой регистрации изменений и позволить обновлению успешно завершиться.
Учитывая масштаб изменений в версиях 2.5, мы рекомендуем принять во внимание следующие аспекты для минимизации рисков и обеспечения стабильной работы системы после обновления:
Предварительная проверка данных и подготовка базы:
Из-за большого количества нововведений переход на новые редакции может быть длительным и привести к трудноустранимым ошибкам. Мы рекомендуем подготовить базу к обновлению, завершив переход на новые системы учета, включая «Взаиморасчеты «онлайн»», если ваша текущая версия позволяет это сделать до обновления.
Перед обновлением крайне важно сверить остатки взаиморасчетов с контрагентами. Данные в отчетах ВедомостьПоРасчетамСКлиентами и ВедомостьПоРасчетамСПоставщиками должны совпадать со СводнойВедомостьюРасчетов и АктомСверкиВзаиморасчетов. Если обнаружены расхождения, их необходимо устранить до начала обновления. Также желательно свернуть развернутое сальдо, если оно имеется.
Если в прошлых периодах изменялся объект расчета в документах или договорах, могут потребоваться корректировки регистра.
Ограничения на корректировку регистров в «онлайн» режиме:
В новом режиме «онлайн» взаиморасчетов регистры взаиморасчетов (РасчетыСКлиентами и РасчетыСПоставщиками) запрещено корректировать стандартным документом КорректировкаРегистров. Для ручной корректировки и последующего запуска распределения расчетов мы рекомендуем использовать служебную обработку ЗаполнениеРегистровВзаиморасчетов. Учтите это при дальнейшей работе с обновленной базой.
Последовательность обновлений:
Всегда старайтесь не пропускать промежуточные шаги при обновлении с других версий, особенно когда речь идет о значительных изменениях. Для сложных обновлений всегда рекомендуется составлять маршрут обновления, чтобы избежать неисправимых проблем в базе данных. Если вы переходите через несколько мажорных версий, убедитесь, что каждое промежуточное обновление было выполнено корректно.
Отладка обработчиков обновления:
Если после всех предложенных действий проблема все еще возникает, мы рекомендуем вернуться к отладчику. Установите точку останова на строке, где происходит ошибка, как вы это делали изначально. При этом не забудьте включить опции «Фоновые задания» и «Клиентские и внешние соединения на сервере» в автоподключении отладчика. Это позволит отследить выполнение кода в фоновых задачах, которые часто используются при выполнении обработчиков обновления.
Применяя эти шаги и внимательно анализируя структуру ваших регистров, мы сможем успешно преодолеть сложности, возникающие при обновлении конфигурации 1С:Комплексная автоматизация до новых версий, и обеспечить стабильную работу вашей информационной системы.