Встречаются ситуации, которые могут поставить в тупик даже опытного разработчика. Представим, что в самописной конфигурации 1С для счета учета основных средств (или любого другого) вы включили количественный учет. После этого вы корректно перепровели все документы, убедились, что в движениях регистра и в отчете "Карточка счета" количество отображается правильно. Но при формировании стандартной оборотно-сальдовой ведомости (ОСВ) или простого отчета на СКД происходит странное: в детальных записях по субконто колонка "Количество" пуста, однако в итоговой строке по счету общее количество показывается верно. Давайте вместе разберемся, в чем может быть причина такого поведения системы и как это исправить.
Давайте проанализируем исходные данные проблемы. У нас есть несколько ключевых фактов, которые помогают сузить круг поиска:
Попытки удалить и заново добавить виды субконто к счету в конфигураторе, а также технологический анализ базы (ТИИ) в таких случаях обычно не приносят результата. Проблема кроется не в целостности данных, а в их метаданных и настройках.
Ключевая ошибка в рассуждениях часто заключается в том, что всех настроек достаточно в Конфигураторе. Однако это не всегда так. Установка флага Количественный на счете — это лишь общее разрешение для системы вести количественный учет. Но чтобы система знала, по какому именно аналитическому разрезу (субконто) нужно вести этот учет, требуется дополнительная настройка.
Эта настройка часто находится не в Конфигураторе, а в режиме "1С:Предприятие" в свойствах самого Вида субконто.
Рассмотрим пошаговое решение:
Почему это работает? Виртуальные таблицы регистров бухгалтерии, такие как ОстаткиИОбороты, на которых строятся почти все бухгалтерские отчеты, при формировании данных анализируют не только свойства счета, но и свойства его субконто. Если у вида субконто не установлен признак количественного учета, то при запросе данных в разрезе этого субконто виртуальная таблица не будет возвращать количественные показатели для детальных записей, хотя и сможет посчитать их для общего итога по счету.
Если после настройки вида субконто проблема не ушла, стоит провести более глубокую диагностику. Рассмотрим несколько возможных причин.
Если вы имеете дело с отчетом, построенным на Системе компоновки данных (СКД), проблема может быть в его настройках.
КоличествоНачальныйОстаток, КоличествоКонечныйОстаток, КоличествоОборотДт, КоличествоОборотКт), добавлены в список ресурсов. Для них должно быть указано выражение для агрегатной функции, как правило, Сумма(). Если поле не является ресурсом, СКД может не выводить его в детальных записях при наличии группировок.Важно на 100% убедиться, что данные в регистр попадают корректно. Лучший способ — посмотреть на них напрямую, минуя отчеты.
Количество, КоличествоДт, КоличествоКт). Убедитесь, что они заполнены нужными числовыми значениями, а не NULL или 0.Консоль запросов — мощнейший инструмент разработчика для проверки гипотез. Он позволяет обратиться к данным напрямую и понять, отдает ли их база данных в нужном виде.
Сформируйте простой запрос к виртуальной таблице остатков и оборотов регистра бухгалтерии. Это позволит понять, проблема в данных или в их представлении (отчете).
Пример запроса:
ВЫБРАТЬ
ОстаткиИОбороты.Субконто1 КАК ОсновноеСредство,
ОстаткиИОбороты.КоличествоНачальныйОстаток,
ОстаткиИОбороты.КоличествоОборотДт,
ОстаткиИОбороты.КоличествоОборотКт,
ОстаткиИОбороты.КоличествоКонечныйОстаток
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(
&НачалоПериода,
&КонецПериода,
,
,
Счет = &Счет,
ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ПустаяСсылка),
) КАК ОстаткиИОбороты
Укажите в параметрах ваш период и счет. Если в результате выполнения этого запроса вы увидите записи с заполненными полями количества, то проблема однозначно находится в настройках вашего отчета (СКД). Если же и здесь в детальных записях количества нет, значит, проблема в настройках учета (счет, вид субконто) или в данных, которые записывают документы.
Не стоит забывать и о базовых процедурах. После любых изменений в Конфигураторе, связанных со структурой данных (изменение свойств счета, состава субконто), необходимо не просто сохранить конфигурацию (F5), а обновить конфигурацию базы данных (F7). Без этого изменения не вступят в силу.
В редких случаях причиной странного поведения могут быть "застрявшие" данные в кэше метаданных. Полная очистка локального кэша 1С на компьютере пользователя может решить проблему.
Подводя итог, можно сказать, что "магия" с количеством, которое есть в итогах, но отсутствует в деталях, почти всегда связана с тем, что система не понимает, по какой аналитике этот количественный учет нужно детализировать. И указание на это находится в свойствах вида субконто в режиме "Предприятие".