Почему программно созданный документ ввода начальных остатков в 1С:Бухгалтерия 3.0 не виден в стандартном списке

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При переносе данных или программном создании документов ВводНачальныхОстатков в конфигурации 1С:Бухгалтерия предприятия 3.0 разработчики часто сталкиваются со специфическим поведением: созданный документ успешно записан, проведен и отображается в общем списке через меню «Все функции» («Функции для технического специалиста»), однако в стандартной форме списка или в обработке «Помощник ввода начальных остатков» он отсутствует.

Проанализируем детально, из-за чего возникает эта ситуация и какие параметры необходимо проверить при программном формировании документов.

1. Несовпадение даты документа с датой ввода остатков

Основная и наиболее частая причина — расхождение между датой самого документа и установленной датой ввода остатков в системе. В обработке «Помощник ввода начальных остатков» и специализированных списках действует жесткий отбор по дате ввода остатков для выбранной организации.

Как правило, остатки вводятся на конец года, предшествующего началу ведения учета (например, 31.12.2023 23:59:59). Если при программном создании указать дату на начало следующего года (01.01.2024 00:00:00) или допустить ошибку в секундах, динамический список с предустановленными параметрами скроет такой документ, хотя в общем списке через «Все функции» без отборов он будет виден.

Разберем правильное заполнение даты при создании документа в коде:


ДокументОбъект = Документы.ВводНачальныхОстатков.СоздатьДокумент();
ДокументОбъект.Дата = КонецДня(ДатаВводаОстатков); // Например, 31.12.2023 23:59:59
ДокументОбъект.Организация = ВыбраннаяОрганизация;
ДокументОбъект.РазделУчета = Перечисления.РазделыУчетаДляВводаОстатков.ОсновныеСредства;

2. Некорректное заполнение реквизита «РазделУчета» и счетов учета

Список документов в помощнике ввода остатков и специализированных формах привязан к конкретным разделам учета и счетам плана счетов Хозрасчетный. Если реквизит шапки РазделУчета не заполнен, заполнен неверно либо счета в табличной части не соответствуют выбранному значению перечисления РазделыУчетаДляВводаОстатков, документ не попадет в отбор динамического списка.

Проверим соответствие перечисления раздела учета и состава табличной части документа. Например, для раздела учета материалов должны использоваться соответствующие субсчета счета 10, а также заполняться специализированная табличная часть, предусмотренная конфигурацией для данного раздела.

3. Инициализация служебных флагов отражения в учете

При программном создании нового документа без вызова стандартной процедуры ОбработкаЗаполнения() булевы реквизиты видимости и учета могут остаться со значением Ложь:

  1. ОтражатьВБухгалтерскомУчете;
  2. ОтражатьВНалоговомУчете;
  3. ОтражатьВУСН (в зависимости от применяемой системы налогообложения).

Если эти реквизиты не установлены в Истина, стандартные формы списков с наложенными отборами по видам учета не выведут созданный документ. Рекомендуется явно вызывать процедуру заполнения либо устанавливать эти флаги вручную перед записью объекта:


ДокументОбъект.Заполнить(Неопределено);
ДокументОбъект.ОтражатьВБухгалтерскомУчете = Истина;
ДокументОбъект.ОтражатьВНалоговомУчете = Истина;

4. Влияние режима «ОбменДанными.Загрузка»

Если загрузка выполняется с установленным флагом ОбменДанными.Загрузка = Истина, в объекте отключаются стандартные обработчики событий (ПередЗаписью, ПриЗаписи, ОбработкаПроведения). В типовых конфигурациях при записи документа ввода остатков выполняются служебные расчеты и заполнение дополнительных вспомогательных реквизитов.

При необходимости загрузки через режим обмена убедимся, что все реквизиты шапки и табличных частей заполнены исчерпывающе, а проведение документа выполняется после отключения флага загрузки:


ДокументОбъект.ОбменДанными.Загрузка = Ложь;
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);

5. Пользовательские настройки и кэш динамического списка

Если все реквизиты в документе заполнены корректно, но форма списка по-прежнему пуста, проанализируем параметры динамического списка и пользовательские настройки:

  1. В форме списка нажмем Еще — Установить стандартные настройки.
  2. Проверим наличие сохраненных отборов по организациям, подразделениям или периодам, которые могли сохраниться в кэше пользователя.
  3. Через режим отладки проверим значения параметров запроса динамического списка (ДатаНачала, ДатаОкончания, Организация, РазделУчета).
← На главную