При добавлении нового субконто в существующую конфигурацию 1С 7.7 (особенно если это субконто типа Документ или Справочник), разработчики часто сталкиваются с ситуацией, когда пустые значения группируются не в одну строку, а в две или более. В бухгалтерских отчетах это выглядит как «двоение» сальдо: дебетовая часть выводится отдельно от кредитовой, хотя аналитика (пустое значение) визуально кажется идентичной.
Давайте разберем, почему это происходит и как победить эту проблему, не прибегая к созданию «фейковых» элементов аналитики.
Первое, что необходимо понять: в среде 1С 7.7 «пустое значение» — это не просто отсутствие данных. Для системы это конкретный объект. Если вы добавили субконто в уже работающую базу, старые проводки могут содержать «пустоту» одного типа (например, неинициализированное поле), а новые проводки — другого (например, пустая ссылка на документ, созданная после реструктуризации метаданных).
Чтобы увидеть реальное различие, используйте метод ЗначениеВСтрокуВнутр(). Этот метод позволяет заглянуть «под капот» значения, которое хранится в субконто.
Рассмотрим, как проанализировать проблему прямо во время формирования отчета. Когда вы получаете итоги с помощью объекта БухгалтерскиеИтоги, выполните следующий код:
// Предположим, вы получили выборку по субконто
Ит.ВыбратьСубконто();
Пока Ит.ПолучитьСубконто() = 1 Цикл
ТекСубконто = Ит.Субконто(1);
// Выводим внутреннее представление для отладки
Сообщить("Значение: " + ЗначениеВСтрокуВнутр(ТекСубконто));
КонецЦикла;
Если в консоли сообщений вы видите разные строки для, казалось бы, пустых значений, значит, система видит их как разные объекты. Пока эти строки не станут идентичными, итоги никогда не схлопнутся автоматически.
Разберем основные методы приведения данных к единому знаменателю, чтобы бухгалтерские итоги корректно сворачивались.
1SENTRY (журнал проводок), необходимо массово перепровести документы за период. Система перезапишет данные, проставив актуальное «пустое» значение, соответствующее текущей конфигурации.Тестирование и исправление ИБ. Выберите пункт Пересчет итогов. Часто после изменения метаданных таблицы итогов (1SBKTTL и прочие) требуют принудительного обновления. Если данные в журнале проводок единообразны, после пересчета итогов система объединит пустые значения в одну строку.При работе с аналитикой в 1С 7.7 важно учитывать следующее:
Документ, помните, что пустая ссылка на документ одного вида может отличаться от пустой ссылки на другой вид документа. Старайтесь использовать общие типы или справочники, где это возможно.Проанализировав внутреннее представление значений с помощью ЗначениеВСтрокуВнутр(), вы сможете точно определить, является ли проблема следствием накопленных «старых» пустых значений или ошибкой типизации. В большинстве случаев выполнение Пересчета итогов в режиме Тестирования и исправления полностью снимает вопрос двоения строк в оборотно-сальдовых ведомостях.