При переходе с версии 1С:Управление торговлей 11.4 на 11.5 многие пользователи и администраторы сталкиваются с неприятной технической ошибкой при выполнении регламентной операции «Расчет предварительной себестоимости товаров». Система прерывает работу, выдавая сообщение о том, что при выполнении подзапроса СуммыРасходов не найдена временная таблица ВтОВЗ. Давайте подробно разберем, почему это происходит и как устранить проблему с помощью программных правок или настроек системы.
Разберем ситуацию: ошибка возникает в общем модуле РасчетСебестоимостиПрикладныеАгоритмы или РасчетСебестоимостиРешениеСЛУ. Техническая причина кроется в архитектурных изменениях движка расчета себестоимости. В версии 11.5 был внедрен новый механизм — СЛУ 2.0 (Система Линейных Уравнений). Этот механизм более строгий к структуре запросов.
Проблема заключается в том, что в алгоритме распределения дополнительных (постатейных) расходов система пытается выполнить левое соединение с таблицей ВтОВЗ (Обесценение Внеоборотных Запасов / Объекты Взаимозачетов). Однако при расчете именно предварительной себестоимости инициализация этой таблицы в определенной ветке кода была пропущена разработчиками «1С». Это официально признанная ошибка с кодом 00-00486487.
Если вы не хотите ждать выхода очередного обновления или патча, мы можем исправить ошибку самостоятельно. Наиболее правильным методом будет использование механизма расширений конфигурации, чтобы не снимать основную программу с поддержки.
Нам необходимо найти процедуру РассчитатьПредварительнуюСебестоимость в общем модуле РасчетСебестоимости. Проанализируем, в какой момент происходит сбой. Ошибка случается при вызове распределения дополнительных расходов. Для исправления нужно принудительно инициализировать недостающую таблицу. Найдем в коде строку:
РасчетСебестоимостиПостатейныеЗатраты.РаспределениеДопРасходовМеждуПартиямиИТоварами(ПараметрыРасчета);
И перед ней добавим вызов метода инициализации. В расширении это будет выглядеть следующим образом:
&После("РассчитатьПредварительнуюСебестоимость")
Процедура Ипс_РассчитатьПредварительнуюСебестоимость(ПараметрыРасчета)
// Инициализируем таблицу ОВЗ, отсутствие которой вызывает ошибку в подзапросах
РасчетСебестоимостиПостатейныеЗатраты.ИнициализироватьТаблицуОВЗ(ПараметрыРасчета);
КонецПроцедуры
После применения данного расширения система перестанет «падать» на подзапросе СуммыРасходов, так как временная таблица будет создана в памяти до начала основного расчета.
Фирма «1С» выпустила официальное исправление для этой проблемы. Если ваша конфигурация подключена к интернет-поддержке, мы рекомендуем проверить наличие патча с идентификатором EF_00_00486487. Рассмотрим, как это сделать:
Важный нюанс: в самых последних релизах линейки 11.5 (начиная с 11.5.12 и выше) данная ошибка уже исправлена в типовом коде. Если вы все еще на старом релизе 11.5, обновление до актуальной версии будет самым надежным долгосрочным решением.
Многие пользователи замечают, что после перехода на 11.5 отчет по валовой прибыли перестает показывать данные в реальном времени, если не сделано закрытие месяца. Рассмотрим, почему так происходит. В версии 11.4 система могла подтягивать оценочную себестоимость по оперативным данным. В 11.5 для корректного формирования финансовых результатов обязательно наличие проведенного документа РасчетСебестоимостиТоваров.
Проанализируем ситуацию: делать полное закрытие месяца каждые 15 минут невозможно, так как это ресурсоемкая операция. Выясним, как автоматизировать этот процесс:
Это позволит системе в фоновом режиме актуализировать данные, и отчет по валовой прибыли будет показывать корректные цифры без ручного запуска закрытия месяца.
Посмотрим на ситуацию, когда в базе ведется учет по нескольким организациям. Если товар закуплен на одну организацию, а продан от лица другой, то предварительный расчет может не показать себестоимость в отчете. Это происходит потому, что документы Передача товаров между организациями обычно формируются только при итоговом закрытии месяца.
Рассмотрим рекомендации по настройке расписания:
Таким образом, сочетание исправления программной ошибки (через расширение или патч) и правильной настройки регламентных заданий позволит вам вернуть стабильную работу системы и актуальность управленческих отчетов в 1С:Управление торговлей 11.5.