1с добавить отбор в журнале

Обновлено: 08.07.2024

Работа с журналами документов

В данном разделе будут рассмотрены особенности работы с журналами документов и даны некоторые рекомендации по их разработке.

Журнал документов как вторичные данные

Основной особенностью журналов документов в 1С:Предприятии 8.1 является то, что журналы - вторичные данные не несущие никакой первичной информации и представляющие собой не более чем еще одно представление списка документов. Эта особенность журналов документов и определяет их поведение.

При реструктуризации

Таблица журнала документов имеет следующий состав полей:

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

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

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

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

Случаи 4 и 5 возникают при манипуляциях с документами, включенными в журнал и тоже вполне объяснимы.

Реструктуризация журнала из-за добавления в него нового для данной конфигурации документа (т.е. такого, по которому пока еще нет данных) на первый взгляд не нужна и требует некоторого комментария. Действительно, изменения данных в журнале документов при таких обстоятельствах не требуется, но следует учитывать влияние каждого включенного в журнал документа на тип поля "Номер", тип поля "Ссылка" и, возможно, тип полей, соответствующих графам журнала.

Например, даже включение в журнал документа, который не отображается в графах журнала, может привести к тому, что поля граф журнала теперь должны поддерживать тип Неопределено . Если в журнале отображался только один вид документов, то добавление в него еще одного документа также приведет к необходимости реструктуризации, даже если типы полей, соответствующих графам журнала и тип поля "Номер" при этом не изменились. Это связано с тем, что поле "Ссылка" ранее имевшее тип ДокументСсылка.<имя> теперь должно поддерживать хранение ссылок на документы разного вида.

При тестировании и исправлении информационной базы

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

При записи документов

При записи документов в одной транзакции с записью документов выполняется запись строк во всех журналах, в которых документ регистрируется. Такая регистрация в журналах выполняется:

при записи документов, у которых есть любые изменения в реквизитах самого документа (изменения в табличных частях не приводят к необходимости "перерегистрации" в журналах документов).

Кроме того, к изменениям реквизитов документа можно отнести:

Во всех этих случаях также выполняется "перерегистрация" во всех журналах документов, в которых регистрируется документ.

Удаление документов, разумеется, также будет выполняться с удалением в той же транзакции соответствующих записей журналов документов.

Рекомендации по конфигурированию

Число документов, регистрируемых в одном журнале, не ограничено. В одном из журналов документов могут регистрироваться даже все документы конфигурации. Но, при принятии решения о числе видов документов, регистрируемых в журнале, следует помнить о зависимости такой характеристики, как параллельность работы пользователей, от наличия в ней таких журналов, которые охватывают все или большую часть видов документов. Особенно это касается работы в файловом варианте информационной базы. Необходимость заблокировать при записи документа таблицы всех журналов, в которых он регистрируется, приводит к последовательной записи таких документов. Можно сказать, что создание журналов документов, регистрирующих все или большую часть видов документов, допустимо только для конфигураций, которые заведомо рассчитаны на небольшое число одновременно работающих пользователей.

Число журналов, в которых может регистрироваться один вид документа, также не ограничено. Тем не менее, не рекомендуется злоупотреблять этой возможностью и не регистрировать документы в большом числе журналов. Такая регистрация несколько "утяжеляет" процедуру записи и удаления документа. Для документов, которые не имеют табличных частей, накладные расходы на регистрацию документа в журналах могут быть сопоставимы с расходами на собственно запись документа, и даже превышать их.

Оптимизация отбора по графам журнала

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

Описанные в данном разделе особенности имеют отношение к реализации журналов документов в версии программы 8.0.10 и более поздних версиях.

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

Факт получения оригинала также можно отметить и через журнал. Это имеет свои преимущества:

  • в документе выставить флажок Оригинал получен можно в только открытом периоде;
  • в журнале флажок Оригинал можно ставить и в закрытом периоде.


Флажок ставится только при вводе данных с оригинала. Если ввод был с копии, а оригинал получен позднее, то работать нужно только через журнал. Выставляется в этом случает отметка о получении оригинала через кнопку Еще –Оригинал – Оригинал получен .

Но проблема состоит в том, что не все реквизиты документов сразу видны в журнале документов, если по умолчанию установлены стандартные настройки.

Например, в стандартной настройке журнала Поступление (акты, накладные) отсутствует графа Оригинал .


Для удобства проверки наличия оригиналов накладных от поставщиков, добавим в общий список документов поступления поле Оригинал , которое отсутствует в стандартном виде журнала.

Шаг 1. Вызов формы настройки изменения формы

Для решения поставленной задачи откройте список документов поступления: раздел Покупки –Покупки – Поступление (акты, накладные) .

Вызовите настройку изменения формы по кнопке Еще – Изменить форму .


Шаг 2. Настройка изменения формы

В открывшейся настройке формы выставьте флажок у поля Оригинал .


После сохранения изменений по кнопке ОК поле Оригинал будет отображаться в общем списке документов поступления.


Таким образом можно добавлять любые нужные поля в любых списках документов. Очень удобно!

Отбор данных по заданным полям

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

И это тоже можно настроить!

Для этого воспользуемся настройкой списка документов.

Шаг 1. Вызов формы настройки списка

Вызовите настройку изменения формы по кнопке Еще – Настроить список .


Шаг 2. Настройка списка формы

В открывшейся настройке формы выставьте условия отбора как показано на рисунке.


Указанные условия отобразятся в шапке списка документов поступления.

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

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


Теперь бухгалтер может получать отдельно списки документов поступления с полученными и не полученными оригиналами накладных.

Сохранение выполненной настройки

По кнопке Еще- Сохранить настройки можно сохранить выполненную настройку в программе, например, под именем Список Оригинал.


Теперь всегда можно будет вернуться к созданной настройке по кнопке Еще – Выбрать настройки .


В открывшейся форме списка настроек нужно выбрать нужную и нажать на кнопку Выбрать .


Вывод реестра документов на печать

Вывести на печать реестр документов можно двумя способами:

По кнопке Печать


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


По команде Вывести список

По команде Вывести список пользователь сам решает какие именно поля ему вывести в реестр документов.

Выведем на печать список документов, по которым не получены оригиналы накладных.

По условию Оригинал – Нет отобразите список документов, по которым еще не получены оригиналы.



Выставите флажки у тех полей, которые будут в таблице.


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


Полученную таблицу можно вывести на печать по кнопке Главное меню – Файл –Печать или нажав комбинацию клавиш CTRL + P


Сохранение информации в файл

Сохранение информации в файл происходит по кнопке Главное меню – Файл – Сохранить как .


В форме сохранения в файл необходимо указать:

  • имя файла;
  • тип файла;
  • место сохранения файла.


После этого нажать на кнопку Сохранить . Информация будет сохранена на диск компьютера.

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Похожие публикации

Карточка публикации

(3 оценок, среднее: 5,00 из 5)

Анна Викулина

В статье будут рассмотрены варианты установки отбора в управляемых формах 1С 8.3. Отбор для динамического списка может быть установлен статически или динамически, в пользовательском интерфейсе или конфигураторе. Все варианты отборов мы рассмотрим ниже.

  • Установка отбора в пользовательском режиме
  • Установка отбора в конфигураторе
    • Фиксированный отбор
    • Динамический (программный) отбор

    Установка отбора в пользовательском режиме

    Динамический список в отличие от таблицы или дерева значений – более подходящее решение для реализации форм содержащих какие-либо списки, т.к. динамический список предоставляет наиболее широкий набор инструментов для работы с отбором, группировкой полей, сортировкой. Данный отбор можно установить при работе в пользовательском режиме или конфигураторе, принцип одинаков.

    Для установки отбора в режиме предприятия необходимо вызвать команду «Настроить список».

    На вкладке «отбор» представлен список полей, который есть в текущем списке. Выбираем поля списка, по которым будем фильтровать. Сделать это можно двойным кликом или используя drag and drop.

    Задаем вид сравнения и значение, жмем «Завершить редактирование», отбор установлен.

    Отбор также можно группировать по логическим условиям «И», «ИЛИ».

    Рис.4 Отбор также можно группировать по логическим условиям «И», «ИЛИ»

    Рис.4 Отбор также можно группировать по логическим условиям «И», «ИЛИ»

    При установке отбора в режиме предприятия на форме списка автоматически создаются поля так называемых быстрых отборов.

    Чтобы платформа 1С автоматически создавала поля быстрых отборов, при разработке формы в конфигураторе необходимо указать группу пользовательских настроек.

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

    Установка отбора в конфигураторе

    Работая в конфигураторе, мы можем устанавливать отбор динамического списка двух видов – фиксированный и динамический. Фиксированный отбор настраивается один раз, динамический или программный – можно устанавливать в зависимости от каких-либо данных в системе.

    Фиксированный отбор

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

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

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

    Динамический (программный) отбор

    Зачастую возникает необходимость устанавливать отбор программно, например, при открытии формы выбора, когда нам необходимо открыть управляемую форму с отбором. В форму передается параметр и по этому параметру устанавливается отбор. Частый пример этого – отбор элементов справочника по владельцу.

    Методы

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

    Сигнатура данного метода:

    ДинамическийСписок Тип: ДинамическийСписок – Список, в котором требуется установить отбор.

    ИмяПоля Тип: Строка – Поле, по которому необходимо установить отбор.

    ПравоеЗначение Тип: Произвольный – Значение отбора (Необязательный. Значение по умолчанию: Неопределено. Внимание! Если передать Неопределено, то значение не будет изменено).

    ВидСравнения Тип: ВидСравненияКомпоновкиДанных – Условие отбора.

    Представление Тип: Строка – Представление элемента компоновки данных (Необязательный. Значение по умолчанию: Неопределено. Если указано, то выводится только флажок использования с указанным представлением (значение не выводится). Для очистки, чтобы значение снова выводилось, следует передать пустую строку).

    Использование Тип: Булево – Флажок использования этого отбора (Необязательный. Значение по умолчанию: Неопределено).

    РежимОтображения Тип: РежимОтображенияЭлементаНастройкиКомпоновкиДанных – Способ отображения этого отбора пользователю. Возможные значения:

    • РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ – В группе быстрых настроек над списком.
    • РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный – В настройка списка (в подменю Еще).
    • РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный – Запретить пользователю менять этот отбор.

    ИдентификаторПользовательскойНастройки Тип: Строка – Уникальный идентификатор этого отбора (Используется для связи с пользовательскими настройками).

    Для удаления какого-то значения отбора необходимо воспользоваться типовым методом:

    Сигнатура данного метода:

    ДинамическийСписок Тип: ДинамическийСписок – реквизит формы, для которого требуется установить отбор.

    ИмяПоля Тип: Строка – имя поля компоновки (не используется для групп).

    Представление Тип: Строка – представление поля компоновки.

    В случае отсутствие в системе БСП отбор можно установить самостоятельно, используя объект ПолеКомпоновкиДанных.

    Данный отбор отберет строки, в которых значение «ФИО» = «Иванов».

    Для использования логических «И», «ИЛИ», «НЕ» предназначен тип данных ГруппаЭлементовОтбораКомпоновкиДанных

    Данный отбор отберет строки, в которых значение «ФИО» = «Иванов» или «Петров».

    Отбор в динамическом списке также можно производить через изменение текста запроса динамического списка. Этот вариант работает, когда динамический список сделан через «произвольный запрос».

    Для этого к тексту запроса добавляем условие «ГДЕ Истина»…

    Как видно, такой подход более компактный с точки зрения написания кода. Чем сложнее условия отбора в табличной части мы хотим установить, тем более громоздким будет вариант с использованием отбора через ЭлементОтбораКомпоновкиДанных. Однако у примера с изменением текста запроса есть свои недостатки – эта реализация не устойчива к изменениям кода. Например, вы сделали такую реализацию и забыли, но если в будущем вы захотите модифицировать текст запроса, добавив в него какой-либо оператор после ГДЕ (УПОРЯДОЧИТЬ, СГРУППИРОВАТЬ), вам нужно не забыть про то, что в программном коде есть:

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

    ГДЕ (НЕ &ОтборУстановлен ИЛИ СправочникПользователи.ФИО В (&РазрешенныеФИО))

    Тут ФИО – массив.

    Ка видно, 2 строчки кода против 10. Какой из способов выбрать, зависит от конкретной прикладной задачи.

    Анна Викулина

    Критерии отбора 1С – это объект метаданных, позволяющий осуществить отбор информации в базе 1С по заданным условиям. Это, своего рода, предопределенные правила, по которым в пользовательском режиме в списках осуществляется отбор информации по какому-либо значению. Например, установив отбор по контрагенту, можно найти любые документы (или справочники), в которых фигурирует указанный контрагент.

    Отбор в журнале по полю «Контрагент»:

    Этот прием используется и при формировании структуры подчиненности, которую можно увидеть, воспользовавшись кнопкой на панели инструментов «Перейти к иерархическому списку связанных документов».

    Разберем, что представляют собой связанные критерии отбора 1С на примере 1С:Бухгалтерия предприятия версии 3.0.

    Откроем программу в режиме «Конфигуратор» и, сделав это, найдем в дереве метаданных нужный раздел критериев.

    Настройки

    В «Данных» задается «Тип» – это тип значения для отбора, по которому и будет осуществляться поиск. К примеру, «ДокументыПоКонтрагенту» имеет тип СправочникСсылка.Контрагенты, а «ДокументыСотрудников», имеют тип СправочникСсылка.ФизическиеЛица.

    При этом можно задать любой тип из стандартных или определить объект из дерева конфигурации, указав любую ссылку.

    Мы указываем тот тип, по которому будет производиться отбор. Преимущество критерия отбора заключается в том, что он может использовать также реквизиты табличных частей. Так, например, мы можем выбрать все документы с определенной номенклатурой в табличной части.

    На закладке «Состав» отображаются те элементы, в которых содержатся данные указанного типа. В этом окне необходимо установить галочки для тех элементов, по которым будет осуществляться отбор. Только после определения этого списка, критерий отбора будет выполнять свою функцию.

    Критериев отбора можно создавать множество, но для работы с ними нужно создавать формы, которые можно размещать и на панели инструментов, и в пользовательском меню. Критерии будут доступны по кнопке «Еще» во всех отмеченных объектах.

    Пример создания критерия отбора

    Создадим «ДокументыПоНоменклатуре», нажав правой кнопкой мышки и выбрав команду «Добавить».

    На «Данных» укажем для него тип «СправочникСсылка.Номенклатура».

    На закладке «Состав» пересмотрим все документы и в нужных нам установим галочку «Номенклатура», т.е. это тот элемент, по которому у нас определен отбор. Например, если нам достаточно формировать отбор только по счетам, то мы можем указать только этот вид документа.

    Чтобы в режиме «1С:Предприятие» наше новшество работало, его необходимо включить в интерфейс пользователя, где мы хотим его видеть. Найдем в дереве метаданных справочник «Номенклатура», откроем ее форму элемента. На закладке «Командный интерфейс», прокрутив вниз, в разделе «Перейти» мы видим строку «Документы по номенклатуре (Объект.Ссылка)». Установим там галочку.

    Далее выполняем команду «Обновить конфигурацию базу данных» (пункт меню «Конфигурация») и проверяем наш результат. Откроем любой элемент справочника «Номенклатура» и, нажав на гиперссылку «Еще», мы увидим пункт «Документы по номенклатуре».

    Нажимаем на эту ссылку и получаем список документов, где была задействована эта позиция.

    Рис.14 Список документов, где была задействована эта позиция

    Рис.14 Список документов, где была задействована эта позиция

    Таким образом, программа формирует запрос поиска, используя данные тех таблиц, которые указаны в критерии отбора, имеющие реквизит заданного типа, по которому осуществляется отбор (в нашем примере элемент справочника «Номенклатура»). Критерий отбора позволяет динамически произвести отбор, отображая все найденные данные, указанные в критерии отбора, что нельзя получить ни в других отборах, ни используя список, так как поиск осуществляется из разных таблиц. Чтобы выборка была эффективной, не надо задавать слишком много критериев отбора, иначе не будет смысла в таком отборе.

    Связанные документы

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

    Рис.15 Перейти к иерархическому списку связанных документов

    Рис.15 Перейти к иерархическому списку связанных документов

    Для того чтобы эту связь увидел пользователь, в настройках критерия отбора «СвязанныеДокументы» (на закладке «Данные») определяется список возможных связанных документов, а в «Составе» – тех, которые могут служить основанием для других документов.

    Механизм критериев дает связанные элементы и отображает их список для пользователя. При этом, описав критерии выборки, автоматом создаются все нужные запросы и индексы. Это облегчает возможность создания любого критерия отбора для реализации автоматической выборки по заданным параметрам, но если у вас остались вопросы, обращайтесь к нашим специалистам по обслуживанию программ 1С, написав нам на сайте или позвонив по телефону. Мы с радостью вам поможем!

    Читайте также: