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