Как сделать отбор по дате в 1с

Обновлено: 07.07.2024

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

Срез последних можно получить несколькими способами:

  • При помощи метода СрезПоследних менеджера регистра сведений;
  • При помощи запроса;

Получить срез последних на дату при помощи метода СрезПоследних

Рассмотрим на примере получение среза на дату по регистру ЦеныНоменклатуры, по конкретной заданной номенклатуре при помощи метода СрезПоследних.

  • КонецПериода — дата на которую делается срез;
  • Отбор — структура с отбором по измерениям регистра;

Метод возвращает таблицу значений, заполненную данными найденных строк регистра.

Пример. Пусть в переменной Номенклатура хранится позиция номенклатуры по которой необходимо получить данные, а в переменной Дата хранится дата на которую необходимо получить цены. Данный пример подходит для конфигурации Бухгалтерия (ред. 2.0 / 3.0).

Получить срез последних регистра сведений запросом

Рассмотрим пример среза последних по регистру сведений в запросе. Для примера возьмем регистр ЦеныНоменклатуры из конфигурации Бухгалтерия (ред. 2.0 / 3.0). В запросе будем использовать виртуальную таблицу СрезПоследних нужного регистра. В первый параметр таблицы передается дата, на которую необходим срез, во втором можно задать произвольное условие для полей регистра.

Срез последних на каждую дату в запросе 1с

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

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

Вкратце принцип действия данного механизма следующий:

  • Выбираем все нужные нам документы, либо просто необходимые даты;
  • Присоединяем к ним регистр по нужным измерениям;
  • Также в связях указываем, что нам нужны данные регистра с периодом меньше либо равным дате документа (или просто необходимой даты);
  • При помощи группировки находим максимальную из подходящих дат;
  • Еще раз присоединяем регистр по всем нужным измерениям, но на этот раз по конкретной дате;
  • Таким образом на каждую изначальную строку с датой мы получим срез последних регистра сведений.

Если хотите подробней узнать о периодических регистрах сведений зайдите на сайт 1С:ИТС

Работая практически с любым объектом системы 1С, пользователь может воспользоваться опцией использования стандартных отборов (фильтров). Они доступны в журналах документов, в справочниках, в отчетах и т.д.

Здесь мы рассмотрим, как сделать отбор в 1С.


Настрою вашу 1С. Опыт с 2004 года. Подробнее →

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

Для наглядности работы отборов сформируем отчет без их использования. Что в итоге? Мы получаем огромную таблицу, в которую попадают данные по всем контрагентам и всем организациям.


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

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

Как уже писала выше, в шапке уже есть фильтр, который можно использовать, но если нужно отфильтровать данные по другим параметрам, сделать отбор в 1С можно нажав команду Показать настройки и выбрав вторую вкладку.


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


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

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

Так я задала следующие критерии попадания данным по задолженностям в отчет

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

 Учитываются данные только по трем организациям.

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


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


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


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

Так для примера я отбираю все документы, в которых менеджер установил комментарий, и сумма превышает 10 000 руб.


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

Неназначенных незавершенных заказов: 7 , свеженьких 1

jonik_joker --> jonik_joker


Всем привет. Ситуация в следующем : есть документ и регистр накоплений в котором он делает движения. В СКД связываю документ и регистр левым соединением. Соответственно доступны поля отбора НачалоПериода, КонецПериода, но мне нужно задать отбор по дате указанной в документе. Как это сделать?

Vofka --> Vofka


jonik_joker --> jonik_joker


мне нужно ввести 2 параметра отбора : НачалоПериода и КонецПериода только для реквизита документа Дата

Vofka --> Vofka



ВыборПериодаМесяц = Новый ДиалогРедактированияСтандартногоПериода ();
ВыборПериодаМесяц . Период = Новый СтандартныйПериод ;
ОповещениеВыбора = Новый ОписаниеОповещения ( "КнВыборПериодаКонец" , ЭтаФорма ,
Новый Структура ( "ДиалогВыборПериода" , ВыборПериодаМесяц ));
ВыборПериодаМесяц . Показать ( ОповещениеВыбора );

&НаКлиенте
Процедура КнВыборПериодаКонец ( Период , ДопПараметры ) Экспорт

ВыборПериодаМесяц = ДопПараметры . ДиалогВыборПериода ;

Если ЗначениеЗаполнено ( Период ) Тогда
ВыбранныйПериод = ВыборПериодаМесяц . Период ;
НачалоМесяца = НачалоМесяца ( ВыбранныйПериод . ДатаНачала );
КонецМесяца = КонецМесяца ( ВыбранныйПериод . ДатаОкончания );
КонецЕсли;

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