При переходе с версии ПРОФ на КОРП бухгалтеры и администраторы нередко сталкиваются с ситуацией, когда складские документы перестают проводиться, выдавая сообщение об отсутствии остатков, хотя в оборотно-сальдовой ведомости остатки числятся. Разберем, почему это происходит и как вернуть работоспособность учета.
Основная причина кроется в различиях механизмов учета аналитики. Версия КОРП более требовательна к заполнению разрезов учета, таких как Подразделения. Если при миграции базы регистры накопления были сформированы без учета этих разрезов, система при попытке списания материалов видит NULL или пустую аналитику там, где ожидает конкретное значение. Простым перепроведением документов эту проблему удается решить не всегда, так как алгоритм проведения требует корректного совпадения аналитики прихода и расхода.
Прежде чем приступать к глубокому анализу кода, необходимо убедиться, что настройки системы соответствуют требованиям учета. Рассмотрим подробнее функциональные опции:
10.06.Если настройки верны, но списание не происходит, необходимо проанализировать данные в регистрах. Типичная ошибка — наличие NULL в аналитике Подразделение. Для диагностики выполните следующие действия:
Воспользуйтесь инструментом Функции для технического специалиста. Откройте регистр накопления Хозрасчетный. Отфильтруйте записи по счету 10.06 и посмотрите, заполнены ли поля аналитики. Если вы видите пустые значения там, где должны быть подразделения, значит, движения сформированы некорректно.
Если обнаружена некорректная аналитика, проблему нужно решать принудительной перезаписью движений. Рассмотрим алгоритм действий:
Если проблема сохраняется, разберем, как отловить причину через отладчик. Выясним, на каком этапе система блокирует проведение:
Поставьте точку останова в модуле менеджера документа списания (например, Требование-накладная) в процедуре ОбработкаПроведения. Проанализируйте запрос, который выбирает остатки из регистра Хозрасчетный:
ВЫБРАТЬ
ХозрасчетныйОстатки.Счет,
ХозрасчетныйОстатки.Подразделение КАК Подразделение
ИЗ
РегистрНакопления.Хозрасчетный.Остатки(&МоментВремени, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
Если в условиях отбора отсутствует ваше подразделение, или оно передается как пустая ссылка, система не найдет остаток. Убедитесь, что параметры запроса (&Подразделение) передаются корректно из табличной части документа. Часто при переходе на КОРП ссылки на подразделения справочника Подразделения могут быть повреждены или переназначены, что приводит к несовпадению типов данных.
Помните, что чудес не бывает. Если система КОРП «не видит» остатки, значит, аналитика в регистрах не совпадает с аналитикой, указанной в документе списания. Внимательно проверьте справочник Подразделения и убедитесь, что все документы прихода были перепроведены после перехода на новую редакцию. В случае, если ручные методы не приносят результата, рассмотрите возможность перезаполнения табличных частей документов с помощью типовой обработки Групповая обработка справочников и документов.