Новый журнал регистрации документов в конфигураторе 1С 8.3

· 10 мин

Содержание

Новый журнал, в котором документы регистрируются и показываются одним списком, создают в конфигураторе: ветка Журналы документов → Добавить, затем на вкладке «Данные» отмечают регистрируемые документы и добавляют графы. После обновления конфигурации базы (F7) журнал заполняется уже введёнными документами и сразу готов к работе.

Задача типовая: бухгалтеру надоело открывать пять списков, чтобы увидеть все складские документы за день. Ниже — путь от постановки задачи до проверки на реальной базе, с отборами, правами и подводными камнями.

Не путайте с журналом регистрации событий (Администрирование → Журнал регистрации). Тот журнал платформа ведёт сама, создать второй нельзя. Здесь речь об объекте метаданных «Журнал документов» — его разработчик добавляет в конфигурацию, когда нужно свести разные документы в один реестр.

Подготовка: что должно попасть в новый журнал

Журнал без продуманного состава превращается в свалку. До открытия конфигуратора ответьте письменно на четыре вопроса.

  1. Какие документы регистрируются. Например, «Поступление товаров», «Реализация товаров», «Перемещение», «Списание».
  2. Какие колонки нужны пользователю. Обычно: дата, номер, вид документа, организация, контрагент, склад, сумма, ответственный.
  3. Кто будет работать с журналом. Кладовщики, бухгалтер, руководитель — от этого зависят роли.
  4. Где журнал будет в интерфейсе. В разделе «Склад», «Продажи» или в отдельной подсистеме.

Полезно сразу свести требования в таблицу «колонка журнала → реквизит каждого документа». Она мгновенно показывает дыры:

Колонка журналаПоступлениеРеализацияПеремещение
ОрганизацияОрганизацияОрганизацияОрганизация
КонтрагентКонтрагентКонтрагент—
СкладСкладСкладСкладОтправитель
СуммаСуммаДокументаСуммаДокумента—

Прочерк — нормальная ситуация. В такой графе у документа будет пусто.

⚠️ Если база типовая и стоит на поддержке, сначала решите вопрос с обновлениями. Любое изменение основной конфигурации усложнит установку новых релизов.

  • 🔒 Включение изменений: Конфигурация → Поддержка → Настройка поддержки → «Включить возможность изменения».
  • 🧩 Альтернатива — вести доработки в собственной (нетиповой) конфигурации или договориться с подрядчиком о сопровождении.

Перед любой правкой конфигурации сделайте резервную копию базы (Администрирование → Выгрузить информационную базу в конфигураторе) и проверяйте всё на копии, а не на рабочей базе.

Как создать журнал документов в конфигураторе

Откройте базу в режиме «Конфигуратор» и откройте дерево конфигурации (Конфигурация → Открыть конфигурацию).

  1. Найдите в дереве ветку Журналы документов.
  2. Щёлкните по ней правой кнопкой → Добавить. Откроется окно редактирования нового объекта.
  3. На вкладке «Основные» задайте:
    • Имя — внутреннее имя без пробелов, в стиле остальных объектов конфигурации: СкладскиеДокументы;
    • Синоним — то, что увидит пользователь: «Складские документы»;
    • Комментарий — кто и зачем добавил объект, с датой и номером задачи.
  4. Перейдите на вкладку «Данные». В списке «Регистрируемые документы» (в палитре свойств это свойство называется «Состав») отметьте флажками нужные документы.

После этого журнал уже работоспособен. Он покажет все отмеченные документы со стандартными полями: дата, номер, вид документа, признаки проведения и пометки удаления.

Документ может входить в несколько журналов одновременно. Отдельно в каждом документе ничего настраивать не нужно — связь задаётся только со стороны журнала.

Сохраните конфигурацию и выполните Конфигурация → Обновить конфигурацию базы данных (F7). Платформа создаст для журнала отдельную таблицу и заполнит её записями по уже существующим документам. На базе с миллионами документов реструктуризация займёт заметное время — планируйте её на нерабочие часы.

Графы нового журнала: колонки вместо табличной части

Частый вопрос разработчиков-новичков: как добавить журналу табличную часть? Никак. У журнала документов нет реквизитов и табличных частей в привычном смысле. Его колонки — это графы.

Каждая графа — общая колонка, которая для каждого вида документа берёт значение из своего реквизита шапки.

Как добавить графу

  1. На вкладке «Данные» в блоке «Графы» нажмите Добавить.
  2. Задайте имя графы, например Контрагент.
  3. В палитре свойств графы откройте свойство «Ссылки».
  4. Отметьте по одному реквизиту у каждого документа, откуда брать значение: Документ.ПоступлениеТоваров.Реквизит.Контрагент, Документ.РеализацияТоваров.Реквизит.Контрагент.

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

Пример набора граф для складского журнала

ГрафаПоступлениеРеализацияПеремещениеСписание
ОрганизацияОрганизацияОрганизацияОрганизацияОрганизация
СкладСкладСкладСкладОтправительСклад
КонтрагентКонтрагентКонтрагент——
ОтветственныйОтветственныйОтветственныйОтветственныйОтветственный
КомментарийКомментарийКомментарийКомментарийКомментарий

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

Если склад-получатель при перемещении тоже важен, заведите для него отдельную графу «СкладПолучатель». Не пытайтесь втиснуть два склада одного документа в одну колонку.

Что в графу поставить нельзя

  • ❌ Реквизиты табличных частей. Графа ссылается только на реквизиты шапки.
  • ❌ Вычисляемые значения. Если нужна «Сумма с НДС», а в документе такого реквизита нет — добавьте реквизит в документ и заполняйте его при записи.
  • ❌ Два реквизита одного документа в одной графе. Одна графа — один реквизит на документ.

А если очень нужны данные строк?

Тогда журнал документов — неподходящий инструмент. Варианты:

  • 📊 отчёт на системе компоновки данных с группировкой по документам;
  • 📋 отдельная форма списка с динамическим списком по произвольному запросу, где строки табличных частей соединяются с журналом;
  • 🧾 регистр сведений , который документы заполняют при проведении.

Отборы и фильтрация в журнале

Отбор нужен почти всегда: в журнале на 50 тысяч записей без фильтра по организации и периоду пользователь ничего не найдёт.

Отбор средствами платформы

В управляемом интерфейсе форма списка журнала строится на динамическом списке. Пользователь может настроить отбор сам: Ещё → Настроить список → вкладка «Отбор». Отбирать можно по любой графе и по стандартным полям, включая поле «Тип» (вид документа).

Чтобы платформа сама предлагала быстрые отборы, сделайте собственную форму списка и вынесите поля отбора в шапку формы.

Программный отбор в форме списка

Типичный пример — открыть журнал сразу с отбором по организации:

&НаСервере
Процедура УстановитьОтборПоОрганизации(Организация)

    Элемент = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Элемент.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Организация");
    Элемент.ВидСравнения   = ВидСравненияКомпоновкиДанных.Равно;
    Элемент.ПравоеЗначение = Организация;
    Элемент.Использование  = Истина;

КонецПроцедуры

В конфигурациях на Библиотеке стандартных подсистем для этого есть готовые служебные процедуры — ищите их по слову «ОтборДинамическогоСписка» через глобальный поиск (Ctrl+Shift+F).

Журнал в запросах

Журнал доступен в языке запросов как обычная таблица. Пример — все складские документы за период, кроме перемещений:

ВЫБРАТЬ
    Журнал.Дата,
    Журнал.Номер,
    Журнал.Тип,
    Журнал.Контрагент,
    Журнал.Ссылка
ИЗ
    ЖурналДокументов.СкладскиеДокументы КАК Журнал
ГДЕ
    Журнал.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И НЕ Журнал.Ссылка ССЫЛКА Документ.Перемещение
    И НЕ Журнал.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
    Журнал.Дата

Такой запрос работает быстрее, чем объединение пяти таблиц документов: данные уже лежат в одной таблице.

Журнал регистрации документов в интерфейсе и права доступа

Созданный журнал пользователь не увидит, пока вы не сделаете две вещи: включите его в подсистему и дадите права.

Формы

На вкладке «Формы» нажмите кнопку с лупой у поля «Основная форма» и создайте форму списка. Можно жить и без неё — платформа сгенерирует форму автоматически, — но собственная форма нужна для:

  • 🎨 порядка и ширины колонок;
  • 🔎 быстрых отборов в шапке;
  • 🆕 меню «Создать» с выбором вида документа.

Отдельно стоит создать форму выбора, если журнал будут использовать для подбора документа в поле ввода.

Подсистема и командный интерфейс

  1. На вкладке «Подсистемы» отметьте раздел, например «Склад».
  2. Откройте подсистему → Командный интерфейс. Найдите команду журнала и поставьте флажок видимости в нужной группе панели навигации.
  3. При необходимости перетащите команду выше, чтобы журнал стоял первым в разделе.

Открытие журнала из кода

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

&НаКлиенте
Процедура ОткрытьСкладскойЖурнал(Команда)
    ОткрытьФорму("ЖурналДокументов.СкладскиеДокументы.ФормаСписка");
КонецПроцедуры

Имя формы после последней точки должно совпадать с именем, которое вы дали форме на вкладке «Формы». Опечатка в нём — частая причина ошибки «Форма не найдена».

Права

Откройте каждую роль, которой нужен журнал (Общие → Роли), найдите журнал в списке объектов и включите права:

ПравоЗачем
ЧтениеПолучать данные журнала в запросах и формах
ПросмотрВидеть журнал в интерфейсе и открывать его

Права на журнал не заменяют права на документы. Чтобы открыть, изменить или провести документ из журнала, у пользователя должны быть права на сам этот документ. Если в базе настроены ограничения на уровне записей, проверьте их и для журнала — иначе пользователь увидит в списке чужие документы.

⚠️ Самая частая жалоба после выкладки: «журнала нет в разделе». В девяти случаях из десяти забыли включить право «Просмотр» в роль или видимость команды в подсистеме.

Тестирование и оптимизация скорости журнала

Проверку делайте на копии базы с реальным объёмом данных. На пустой демо-базе любой журнал летает.

Проверка нового журнала перед выкладкой
Выполнено: 0 / 7

Проверка под обычным пользователем

Разработчик почти всегда тестирует под полными правами — и пропускает главную ошибку. Заведите в копии базы тестового пользователя с той же ролью, что у кладовщика, и пройдите журнал его глазами:

  1. Зайдите под ним в режиме «1С:Предприятие».
  2. Откройте раздел и убедитесь, что команда журнала видна.
  3. Попробуйте открыть документ каждого вида и создать новый.
  4. Проверьте, что в списке нет документов организаций, к которым у него нет доступа.

Если что-то не так, исправьте роль и повторите — это быстрее, чем разбирать жалобы после выкладки.

Что тормозит журнал

  • 🐢 Лишние графы. Каждая графа — колонка в таблице журнала. Запись любого документа обновляет и журнал. Десять граф «на всякий случай» замедляют и запись, и открытие.
  • 🐢 Сортировка по неиндексированной графе. Если пользователи постоянно сортируют или отбирают по графе, проверьте в палитре свойств графы настройку индексирования.
  • 🐢 Отключённое динамическое считывание. В свойствах динамического списка формы оставьте «Динамическое считывание данных» включённым — тогда список подгружает записи порциями.
  • 🐢 Тяжёлые условия оформления. Условное оформление по сложным условиям выполняется на каждую строку.

Как замерить

Включите в конфигураторе Отладка → Замер производительности, откройте журнал в отладке, полистайте список, примените отбор. Замер покажет, какие строки кода формы съедают время. Если тормозит именно выборка, а не код, откройте технологический журнал или профилировщик СУБД — но это уже задача администратора.

Хороший ориентир: открытие журнала с отбором за месяц — не дольше 1–2 секунд, прокрутка — без пауз.

Если журнал документов не подходит: альтернативы

Журнал документов хорош для одного сценария: единый список однотипных документов с общими колонками. Если задача другая, выберите другой инструмент.

ЗадачаЧем решатьНужна правка конфигурации
Единый список документов разных видовЖурнал документовДа
Список с данными строк товаровФорма с динамическим списком по запросу или отчёт СКДДа / нет
Разовая выборка для анализаОтчёт «Универсальный» или консоль запросовНет
Хронология действий пользователейЖурнал регистрации событийНет

Для типовой конфигурации на поддержке разовый отчёт часто выгоднее журнала: он не мешает обновлениям.

Типичные ошибки при создании журнала

  • ❗ Графа одного смысла собрана из реквизитов разных типов. В графе «Контрагент» у одного документа контрагент, у другого — физлицо. Отборы и сортировка ведут себя странно. Разнесите в разные графы.
  • ❗ Журнал добавлен, но база не обновлена. В режиме «1С:Предприятие» объекта нет, пока не выполнено обновление конфигурации базы данных.
  • ❗ Новый документ не попадает в журнал. Его добавили в конфигурацию позже и забыли отметить в «Регистрируемых документах» старого журнала. При добавлении документа всегда проверяйте журналы, где ему место.
  • ❗ Ожидают, что журнал хранит свои данные. Журнал лишь отражает реквизиты документов. Изменить значение в журнале напрямую нельзя — только в самом документе.

Частые вопросы

Можно ли создать журнал документов без конфигуратора?
Нет. Журнал — объект метаданных, его добавляют только в конфигураторе. Без правки конфигурации похожий список можно собрать отчётом.
Сколько документов можно зарегистрировать в одном журнале?
Жёсткого практического предела нет. Ограничивает удобство: журнал на 30 видов документов с разнородными графами пользователю неудобен.
Удалится ли что-то, если удалить журнал из конфигурации?
Документы останутся. При обновлении базы удалится только таблица журнала и всё, что на неё ссылалось в коде и формах.
Как очистить журнал регистрации событий, если нужен «новый»?
Это другой журнал. Его сокращают в конфигураторе через Администрирование → Настройка журнала регистрации → «Сократить», предварительно сохранив старые записи в файл.
Попадают ли в журнал непроведённые документы?
Да. Журнал показывает все записанные документы, проведённые и нет. Отобрать только проведённые можно по полю «Проведен».