Новый журнал регистрации документов в конфигураторе 1С 8.3
Содержание
Новый журнал, в котором документы регистрируются и показываются одним списком, создают в конфигураторе: ветка Журналы документов → Добавить, затем на вкладке «Данные» отмечают регистрируемые документы и добавляют графы. После обновления конфигурации базы (F7) журнал заполняется уже введёнными документами и сразу готов к работе.
Задача типовая: бухгалтеру надоело открывать пять списков, чтобы увидеть все складские документы за день. Ниже — путь от постановки задачи до проверки на реальной базе, с отборами, правами и подводными камнями.
Не путайте с журналом регистрации событий (Администрирование → Журнал регистрации). Тот журнал платформа ведёт сама, создать второй нельзя. Здесь речь об объекте метаданных «Журнал документов» — его разработчик добавляет в конфигурацию, когда нужно свести разные документы в один реестр.
Подготовка: что должно попасть в новый журнал
Журнал без продуманного состава превращается в свалку. До открытия конфигуратора ответьте письменно на четыре вопроса.
- Какие документы регистрируются. Например, «Поступление товаров», «Реализация товаров», «Перемещение», «Списание».
- Какие колонки нужны пользователю. Обычно: дата, номер, вид документа, организация, контрагент, склад, сумма, ответственный.
- Кто будет работать с журналом. Кладовщики, бухгалтер, руководитель — от этого зависят роли.
- Где журнал будет в интерфейсе. В разделе «Склад», «Продажи» или в отдельной подсистеме.
Полезно сразу свести требования в таблицу «колонка журнала → реквизит каждого документа». Она мгновенно показывает дыры:
| Колонка журнала | Поступление | Реализация | Перемещение |
|---|---|---|---|
| Организация | Организация | Организация | Организация |
| Контрагент | Контрагент | Контрагент | — |
| Склад | Склад | Склад | СкладОтправитель |
| Сумма | СуммаДокумента | СуммаДокумента | — |
Прочерк — нормальная ситуация. В такой графе у документа будет пусто.
⚠️ Если база типовая и стоит на поддержке, сначала решите вопрос с обновлениями. Любое изменение основной конфигурации усложнит установку новых релизов.
- 🔒 Включение изменений:
Конфигурация → Поддержка → Настройка поддержки→ «Включить возможность изменения». - 🧩 Альтернатива — вести доработки в собственной (нетиповой) конфигурации или договориться с подрядчиком о сопровождении.
Перед любой правкой конфигурации сделайте резервную копию базы
(Администрирование → Выгрузить информационную базу в конфигураторе) и проверяйте всё на копии, а не на рабочей базе.
Как создать журнал документов в конфигураторе
Откройте базу в режиме «Конфигуратор» и откройте дерево конфигурации (Конфигурация → Открыть конфигурацию).
- Найдите в дереве ветку
Журналы документов. - Щёлкните по ней правой кнопкой →
Добавить. Откроется окно редактирования нового объекта. - На вкладке «Основные» задайте:
- Имя — внутреннее имя без пробелов, в стиле остальных объектов конфигурации:
СкладскиеДокументы; - Синоним — то, что увидит пользователь: «Складские документы»;
- Комментарий — кто и зачем добавил объект, с датой и номером задачи.
- Имя — внутреннее имя без пробелов, в стиле остальных объектов конфигурации:
- Перейдите на вкладку «Данные». В списке «Регистрируемые документы» (в палитре свойств это свойство называется «Состав») отметьте флажками нужные документы.
После этого журнал уже работоспособен. Он покажет все отмеченные документы со стандартными полями: дата, номер, вид документа, признаки проведения и пометки удаления.
Документ может входить в несколько журналов одновременно. Отдельно в каждом документе ничего настраивать не нужно — связь задаётся только со стороны журнала.
Сохраните конфигурацию и выполните Конфигурация → Обновить конфигурацию базы данных (F7). Платформа создаст для журнала отдельную таблицу и заполнит её записями по уже существующим документам. На базе с миллионами документов реструктуризация займёт заметное время — планируйте её на нерабочие часы.
Графы нового журнала: колонки вместо табличной части
Частый вопрос разработчиков-новичков: как добавить журналу табличную часть? Никак. У журнала документов нет реквизитов и табличных частей в привычном смысле. Его колонки — это графы.
Каждая графа — общая колонка, которая для каждого вида документа берёт значение из своего реквизита шапки.
Как добавить графу
- На вкладке «Данные» в блоке «Графы» нажмите
Добавить. - Задайте имя графы, например
Контрагент. - В палитре свойств графы откройте свойство «Ссылки».
- Отметьте по одному реквизиту у каждого документа, откуда брать значение:
Документ.ПоступлениеТоваров.Реквизит.Контрагент,Документ.РеализацияТоваров.Реквизит.Контрагент.
Тип графы платформа выводит из отмеченных реквизитов. Поэтому разумно сводить в одну графу реквизиты одного смысла и одного типа.
Пример набора граф для складского журнала
| Графа | Поступление | Реализация | Перемещение | Списание |
|---|---|---|---|---|
| Организация | Организация | Организация | Организация | Организация |
| Склад | Склад | Склад | СкладОтправитель | Склад |
| Контрагент | Контрагент | Контрагент | — | — |
| Ответственный | Ответственный | Ответственный | Ответственный | Ответственный |
| Комментарий | Комментарий | Комментарий | Комментарий | Комментарий |
Пять граф закрывают 90% вопросов кладовщика: где, кто, от кого. Суммы в складской журнал часто не выводят вовсе — у перемещения и списания их обычно нет, и колонка выглядит наполовину пустой.
Если склад-получатель при перемещении тоже важен, заведите для него отдельную графу «СкладПолучатель». Не пытайтесь втиснуть два склада одного документа в одну колонку.
Что в графу поставить нельзя
- ❌ Реквизиты табличных частей. Графа ссылается только на реквизиты шапки.
- ❌ Вычисляемые значения. Если нужна «Сумма с НДС», а в документе такого реквизита нет — добавьте реквизит в документ и заполняйте его при записи.
- ❌ Два реквизита одного документа в одной графе. Одна графа — один реквизит на документ.
А если очень нужны данные строк?
Тогда журнал документов — неподходящий инструмент. Варианты:
- 📊 отчёт на системе компоновки данных с группировкой по документам;
- 📋 отдельная форма списка с динамическим списком по произвольному запросу, где строки табличных частей соединяются с журналом;
- 🧾 регистр сведений , который документы заполняют при проведении.
Отборы и фильтрация в журнале
Отбор нужен почти всегда: в журнале на 50 тысяч записей без фильтра по организации и периоду пользователь ничего не найдёт.
Отбор средствами платформы
В управляемом интерфейсе форма списка журнала строится на динамическом списке. Пользователь может настроить отбор
сам: Ещё → Настроить список → вкладка «Отбор». Отбирать можно по любой графе и по стандартным полям, включая поле «Тип» (вид документа).
Чтобы платформа сама предлагала быстрые отборы, сделайте собственную форму списка и вынесите поля отбора в шапку формы.
Программный отбор в форме списка
Типичный пример — открыть журнал сразу с отбором по организации:
&НаСервере
Процедура УстановитьОтборПоОрганизации(Организация)
Элемент = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Элемент.ПравоеЗначение = Организация;
Элемент.Использование = Истина;
КонецПроцедуры
В конфигурациях на Библиотеке стандартных подсистем для этого есть готовые служебные процедуры — ищите их по слову «ОтборДинамическогоСписка» через глобальный поиск (Ctrl+Shift+F).
Журнал в запросах
Журнал доступен в языке запросов как обычная таблица. Пример — все складские документы за период, кроме перемещений:
ВЫБРАТЬ
Журнал.Дата,
Журнал.Номер,
Журнал.Тип,
Журнал.Контрагент,
Журнал.Ссылка
ИЗ
ЖурналДокументов.СкладскиеДокументы КАК Журнал
ГДЕ
Журнал.Дата МЕЖДУ &НачалоПериода И &КонецПериода
И НЕ Журнал.Ссылка ССЫЛКА Документ.Перемещение
И НЕ Журнал.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
Журнал.Дата
Такой запрос работает быстрее, чем объединение пяти таблиц документов: данные уже лежат в одной таблице.
Журнал регистрации документов в интерфейсе и права доступа
Созданный журнал пользователь не увидит, пока вы не сделаете две вещи: включите его в подсистему и дадите права.
Формы
На вкладке «Формы» нажмите кнопку с лупой у поля «Основная форма» и создайте форму списка. Можно жить и без неё — платформа сгенерирует форму автоматически, — но собственная форма нужна для:
- 🎨 порядка и ширины колонок;
- 🔎 быстрых отборов в шапке;
- 🆕 меню «Создать» с выбором вида документа.
Отдельно стоит создать форму выбора, если журнал будут использовать для подбора документа в поле ввода.
Подсистема и командный интерфейс
- На вкладке «Подсистемы» отметьте раздел, например «Склад».
- Откройте подсистему →
Командный интерфейс. Найдите команду журнала и поставьте флажок видимости в нужной группе панели навигации. - При необходимости перетащите команду выше, чтобы журнал стоял первым в разделе.
Открытие журнала из кода
Если журнал должен открываться по кнопке из другой формы или из рабочего места, используйте стандартное имя формы:
&НаКлиенте
Процедура ОткрытьСкладскойЖурнал(Команда)
ОткрытьФорму("ЖурналДокументов.СкладскиеДокументы.ФормаСписка");
КонецПроцедуры
Имя формы после последней точки должно совпадать с именем, которое вы дали форме на вкладке «Формы». Опечатка в нём — частая причина ошибки «Форма не найдена».
Права
Откройте каждую роль, которой нужен журнал (Общие → Роли), найдите журнал в списке объектов и включите права:
| Право | Зачем |
|---|---|
| Чтение | Получать данные журнала в запросах и формах |
| Просмотр | Видеть журнал в интерфейсе и открывать его |
Права на журнал не заменяют права на документы. Чтобы открыть, изменить или провести документ из журнала, у пользователя должны быть права на сам этот документ. Если в базе настроены ограничения на уровне записей, проверьте их и для журнала — иначе пользователь увидит в списке чужие документы.
⚠️ Самая частая жалоба после выкладки: «журнала нет в разделе». В девяти случаях из десяти забыли включить право «Просмотр» в роль или видимость команды в подсистеме.
Тестирование и оптимизация скорости журнала
Проверку делайте на копии базы с реальным объёмом данных. На пустой демо-базе любой журнал летает.
Проверка под обычным пользователем
Разработчик почти всегда тестирует под полными правами — и пропускает главную ошибку. Заведите в копии базы тестового пользователя с той же ролью, что у кладовщика, и пройдите журнал его глазами:
- Зайдите под ним в режиме «1С:Предприятие».
- Откройте раздел и убедитесь, что команда журнала видна.
- Попробуйте открыть документ каждого вида и создать новый.
- Проверьте, что в списке нет документов организаций, к которым у него нет доступа.
Если что-то не так, исправьте роль и повторите — это быстрее, чем разбирать жалобы после выкладки.
Что тормозит журнал
- 🐢 Лишние графы. Каждая графа — колонка в таблице журнала. Запись любого документа обновляет и журнал. Десять граф «на всякий случай» замедляют и запись, и открытие.
- 🐢 Сортировка по неиндексированной графе. Если пользователи постоянно сортируют или отбирают по графе, проверьте в палитре свойств графы настройку индексирования.
- 🐢 Отключённое динамическое считывание. В свойствах динамического списка формы оставьте «Динамическое считывание данных» включённым — тогда список подгружает записи порциями.
- 🐢 Тяжёлые условия оформления. Условное оформление по сложным условиям выполняется на каждую строку.
Как замерить
Включите в конфигураторе Отладка → Замер производительности, откройте журнал в отладке, полистайте список, примените отбор. Замер покажет, какие строки кода формы съедают время. Если тормозит именно выборка, а не код, откройте технологический журнал или профилировщик СУБД — но это уже задача администратора.
Хороший ориентир: открытие журнала с отбором за месяц — не дольше 1–2 секунд, прокрутка — без пауз.
Если журнал документов не подходит: альтернативы
Журнал документов хорош для одного сценария: единый список однотипных документов с общими колонками. Если задача другая, выберите другой инструмент.
| Задача | Чем решать | Нужна правка конфигурации |
|---|---|---|
| Единый список документов разных видов | Журнал документов | Да |
| Список с данными строк товаров | Форма с динамическим списком по запросу или отчёт СКД | Да / нет |
| Разовая выборка для анализа | Отчёт «Универсальный» или консоль запросов | Нет |
| Хронология действий пользователей | Журнал регистрации событий | Нет |
Для типовой конфигурации на поддержке разовый отчёт часто выгоднее журнала: он не мешает обновлениям.
Типичные ошибки при создании журнала
- ❗ Графа одного смысла собрана из реквизитов разных типов. В графе «Контрагент» у одного документа контрагент, у другого — физлицо. Отборы и сортировка ведут себя странно. Разнесите в разные графы.
- ❗ Журнал добавлен, но база не обновлена. В режиме «1С:Предприятие» объекта нет, пока не выполнено обновление конфигурации базы данных.
- ❗ Новый документ не попадает в журнал. Его добавили в конфигурацию позже и забыли отметить в «Регистрируемых документах» старого журнала. При добавлении документа всегда проверяйте журналы, где ему место.
- ❗ Ожидают, что журнал хранит свои данные. Журнал лишь отражает реквизиты документов. Изменить значение в журнале напрямую нельзя — только в самом документе.
Частые вопросы
Можно ли создать журнал документов без конфигуратора?
Сколько документов можно зарегистрировать в одном журнале?
Удалится ли что-то, если удалить журнал из конфигурации?
Как очистить журнал регистрации событий, если нужен «новый»?
Администрирование → Настройка журнала регистрации → «Сократить», предварительно сохранив старые записи в файл.