Существует много работ, посвященных выявлению и устранению отрицательных остатков товаров на складе и отрицательных остатков на отдельных счетах. К сожалению, мне не удалось найти отчет, позволяющий выявить отрицательные значения в остатках по всем счетам. В связи с этим и были созданы эта публикация и отчет.
В качестве исходных параметров отчета необходимо задать период контроля, организацию, контролируемые показатели (БУ, НУ, ПР, ВР). (Рис. 1). Есть возможность выявить ненулевые значения показателя «Контроль» (БУ-НУ-ПР-ВР). Можно ограничить поиск выбором определенного счета.
В результате получаются таблицы по каждому показателю с указанием значений счета, субконто, остатков и даты отрицательного остатка. (Рис. 2). Работает расшифровка, предоставляющая карточку счета на дату отрицательного остатка.(Рис. 3) (спасибо автору публикации //infostart.ru/1c/articles/345249 ).
Работа реализована в виде внешнего отчета и проверялась на платформе 8.3.25.1374 и конфигурации Бухгалтерия КОРП 3.0.166.17.
На этом основное описание отчета заканчивается, а далее следует ненаучная отсебятина, а именно: принятые допущения и описание возникших проблем.
В начале работы задача казалась простой: делаем запрос к регистру бухгалтерии по остаткам и оборотам и выбираем записи с отрицательными конечными остатками. Но анализ выборки показал, что записи регламентных операций не всегда являются последними в течение дня и даже в карточке счета после строки регламентной операции встречаются строки обычных документов.
В связи с этим было решено анализировать соединение 2 виртуальных таблиц с периодичностью «Запись» и «День». Но возникла проблема, связанная с тем, что субконто может принимать значение NULL, а в запросе сравнение любого значения с типом значения NULL дает результат ЛОЖЬ. Поэтому пришлось пойти на хитрость и принять определенные допущения.
Тем не менее в выборку попадали «лишние» записи. На основании анализа этих записей был разработан алгоритм для их удаления.