Вопрос расположения счета 000 («Вспомогательный счет») в оборотно-сальдовой ведомости (ОСВ) часто вызывает недоумение как у бухгалтеров, так и у технических специалистов. В одних конфигурациях 1С:Бухгалтерия 8.3 этот счет отображается в самом начале списка (перед счетом 01), в других — в самом конце, перед забалансовыми счетами. Разберем детально механизмы платформы, которые управляют этой логикой, и выясним, как настроить отчет под требования пользователя.
Проанализируем структуру объекта ПланСчетовСсылка.Хозрасчетный. В платформе 1С для каждого счета предусмотрен специальный реквизит Порядок. Именно это поле, а не код счета, используется стандартными отчетами (такими как ОСВ, карточка счета, анализ счета) для сортировки данных в иерархическом списке.
Важно понимать, что реквизит Порядок имеет строковый тип. Сортировка строковых значений в 1С происходит посимвольно в соответствии с кодировкой. Если в поле Порядок записано значение, начинающееся с «0» или пробела, то при сортировке по возрастанию такой счет неизбежно окажется в самом верху. В типовой конфигурации «1С:Бухгалтерия 3.0» (версия ПРОФ) часто встречается ситуация, когда у предопределенного счета 000 это поле заполнено значением 00, что и выводит его на первую строку отчета.
Рассмотрим наиболее безопасный способ изменения порядка счета без прямого вмешательства в конфигуратор. Для этого мы воспользуемся стандартной обработкой «Групповое изменение реквизитов».
Счет (План счетов хозрасчетный).Ссылка Равно 000 (Вспомогательный).Порядок. По умолчанию оно может быть скрыто. Чтобы его увидеть, нажмем кнопку Дополнительные параметры и установим флажок Показывать служебные реквизиты.Порядок введем строковое значение, которое гарантированно будет стоять после счета 99. Оптимально использовать кириллические символы «я», например: яя000 или технический код юю000.После этой манипуляции переформируем ОСВ. Система сравнит строку яя000 со строками 01, 10, 99 и, обнаружив, что по алфавиту «я» идет позже цифр, переместит счет в самый низ балансового раздела.
Если конфигурация находится на поддержке с возможностью изменения, мы можем проанализировать настройки предопределенного счета непосредственно в структуре метаданных. Посмотрим на этот процесс по шагам:
Вспомогательный (код 000).Если мы изменим значение здесь, это изменение станет «заводской» настройкой для данной базы. Однако стоит помнить, что при очередном обновлении типовой конфигурации 1С может попытаться вернуть стандартное значение реквизита Порядок, если обновление затрагивает структуру предопределенных данных Плана счетов.
Проанализируем ситуацию, описанную в сообщении (54) форума: почему в одинаковых версиях 1С счет может прыгать? Это происходит по следующим причинам:
Если нам необходимо программно выровнять порядок во множестве баз, мы можем использовать следующий фрагмент кода. Рассмотрим пример обработки, которая устанавливает правильный порядок для вспомогательного счета:
Процедура ИсправитьПорядокСчета000() Экспорт
СчетОбъект = ПланыСчетов.Хозрасчетный.Вспомогательный.ПолучитьОбъект();
Если СчетОбъект <> Неопределено Тогда
// Устанавливаем значение, которое выведет счет в конец списка
СчетОбъект.Порядок = "яя000";
Попытка
СчетОбъект.Записать();
Сообщить("Порядок счета 000 успешно изменен на 'яя000'");
Исключение
Сообщить("Ошибка при записи счета: " + ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
КонецПроцедуры
Этот код считывает объект предопределенного счета и принудительно перезаписывает его служебный реквизит. Обратите внимание, что для выполнения этой операции у пользователя должны быть права на изменение нормативно-справочной информации.
Выясним причину, по которой бухгалтеры так эмоционально реагируют на положение этого счета. Счет 000 предназначен исключительно для ввода начальных остатков. В идеальной ситуации, когда дебет равен кредиту во всех вводимых документах, сальдо на этом счете должно стать нулевым.
Рекомендация: Вместо перемещения счета вниз, правильнее будет в настройках Оборотно-сальдовой ведомости на закладке Настройки — Отбор добавить условие Сальдо не равно 0 или просто установить флажок Выводить только счета с остатками (в зависимости от релиза). Если ввод остатков завершен корректно, счет 000 просто исчезнет из отчета, не мозоля глаза ни бухгалтеру, ни аудитору.
Таким образом, мы выяснили, что управление положением счета в отчетах 1С — это работа со строковым реквизитом Порядок. Используя групповое изменение реквизитов или небольшую программную вставку, мы можем добиться любого желаемого расположения элементов в иерархии Плана счетов.