Регистр сведений настройки системы налогообложения срез последних

Опубликовано: 16.05.2024

Не в первый раз стакиваюсь с ситуацией, когда в запросе требуется найти остатки не на фиксированную дату (параметр - один на весь отчет), а на произвольную, (когда дата остатков в каждой строке своя). Нашел статью, которая оказалась весьма полезна для меня, жаль что поздно, так как первый вариант пришлось придумать самому.
[spoiler]
Скопипастил с: http://www.kb.mista.ru/article.php?id=92

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

Примечание apas:
Для получения остатков регистра накопления в первом варианте используем реальную таблицу регистра накопления и агрегатную функцию сумма(приход-расход) (требуется условие по виду движения)
Второй вариант может быть полезен и в других случаях, когда виртуальная таблица задается только параметром и никак иначе (например виртуальная таблица "критерии отбора")

Существует несколько способов получить нужные данные.

1.Непосредственно в запросе (через реальную таблицу регистра)

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

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

Для общего развития:
Что есть срез последних в платформе?

В зависимости от периодичности регистра (по времени, по позизии регистратора) ВТ разворачивается в следующий запрос:
1. По времени (год, месяц, . секунда)

2. По позиции регистратора
В данном случае нужно еще раз обернуть выборку

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

2.Система компоновки данных (передача набора значений одной таблицы в параметр виртуальной таблицы)

Данный способ подходит для отчетов. Из очевидных плюсов - если курс (или другие данные) не нужны для построения отчета, то СКД не будет их получать. Однако быстродействие такого отчета может оказаться и несколько ниже, чем в первом способе.

Для примера сделаем отчет - список заказов покупателей.

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

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

Для того, чтобы получить информацию о курсах валют, добавим второй набор данных-запрос, "Курсы валют":

В этом запросе имеются 2 параметра: "Дата" и "Валюта". Эти параметры будут установлены СКД при соединении наборов. Кроме того, параметр "Дата" указан в выбранных полях - это нужно для соединения таблиц.
Для ненужный полей "Дата" и "Валюта" также устанавливаем флажки ограничений, чтобы они не появлялись в доступных полях.

Перейдем к соединению наборов. На странице "Связи наборов данных" добавим 2 связи:
1. Источник связи - набор "Документы", приемник - набор "Курсы валют". Выражение источник - "Дата", выражение приемник - "Дата", Параметр - "Дата"
2. Источник связи - набор "Документы", приемник - набор "Курсы валют". Выражение источник - "ВалютаДокумента", выражение приемник - "Валюта", Параметр - "Валюта"

Главное здесь - параметры связи. При соединении наборов данных, если указан параметр, СКД передает в подчиненный набор (в нашем случае - запрос "Курсы валют") параметры, указанные в соединении. Значениями параметров будут значения соответствующих полей набора-источника.

Перейдем к вычисляемым полям. Добавим вычисляемое поле "СуммаВВалютеУпрУчета". Выражение поля - "СуммаДокумента * Курс / Кратность".

Также укажем поля "СуммаДокумента" и "СуммаВВалютеУпрУчета" как ресурсы

Настроим отчет.
Добавим одну группировку "Детальные записи", в выбранных полях укажем "ЗаказПолкупателя", "Курс" и "Кратность". Добавим ресурсы "СуммаДокумента" и "СуммаВВалютеУпрУчета"

Можно формировать отчет

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

Разберем на примере демо-базы УТ11, найдем последние документы прихода номенклатуры по регистру "ТоварыНаСкладе". Под последним документом в контексте данной задачи может пониматься как документ с наибольшей датой документа, так и последний документ, введенный пользователем.

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


Без автоупорядочивания сортировка произойдет без учета даты документа, по уникальному идентификатору. В этом случае, документы введенные позже приходного ордера ЦУ-33 задним числом встанут в начало выборки. Уберем "АВТОУПОРЯДОЧИВАНИЕ" из запроса и посмотрим результат.


Если воспользоваться методом получения даты создания объекта из GUID, то в первом случае 3339428b-6656-11e0-af2a-0015e9b8c48d создан 14.04.2011, во втором b2c7cfa2-6ca9-11e0-af30-0015e9b8c48d - 22.04.2011. То есть второй способ можно применять, если нужно определить последний документ прихода, введенный пользователем.

В случае, когда нужно определить последние документы для перечня номенклатуры конструкция "ВЫБРАТЬ ПЕРВЫЕ" нам уже не подходит. Поэтому, чтобы свернуть выборку по регистратору, будем использовать функцию МАКСИМУМ.


Как видно из результата, функция МАКСИМУМ сворачивает выборку по GUID объекта. То есть, этот способ не подходит для случая, когда нам нужно получить последний документ, исходя из даты документа. Получать перечень номенклатуры и потом в цикле для каждой позиции получать последний документ тоже не наш вариант, замедляется быстродействие. Поэтому перепишем запрос, добавим временную таблицу, в которой свернем выборку по максимуму даты регистратора. Эту дату и будем использовать для соединения с основной выборкой. В последнем запросе так же сворачиваем выборку по максимуму регистратора, но теперь мы получим последний введенный документ с учетом последней даты документа.


UPD: как правильно заметили в комментариях, механизм генерации ГУИД обеспечивает только уникальность, но не возрастающую последовательность. На момент написания статьи проведенные тесты давали необходимый результат. Но гарантии, что выявленная закономерность сохранится в последующих версиях платформы, нет. Поэтому, если необходимо фиксировать момент создания документов, то лучше реализовать свой механизм. Например, с использованием регистра сведений.


12 комментариев:

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

Почему нет? В последнем запросе в случае, когда встретится два и более документа с одинаковым датой/временем, возьмется только один по МАКСИМУМ(ТоварыНаСкладахОбороты.Регистратор), иначе говоря последний введенный документ поступления на эту дату/время.

Получается МАКСИМУМ() выбирает максимальный уникальный идентификатор, который икрементально строится на основании даты создания ссылки ?

В общих чертах, да. По результатам, МАКСИМУМ по ссылке дает ссылку (он же УИД) на последний введенный объект.

Этот комментарий был удален автором.

Михаил Андрияшкин, объекты зачастую мигрируют из одних баз в другие и выгружаются по ссылке, поэтому "МАКСИМУМ по ссылке дает ссылку" не верно.

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

Этот комментарий был удален автором.

Спасибо, полдня мучался пока не нашел этот пост. Вот что получилось у меня под мою задачу

ВЫБРАТЬ
ТоварыОрганизацийОбороты.Организация КАК Организация,
ТоварыОрганизацийОбороты.АналитикаУчетаНоменклатуры.Склад КАК Склад,
ТоварыОрганизацийОбороты.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
ТоварыОрганизацийОбороты.АналитикаУчетаНоменклатуры.Характеристика КАК Характеристика,
МАКСИМУМ(ТоварыОрганизацийОбороты.Регистратор.Дата) КАК ДатаПоступления
ПОМЕСТИТЬ ВТ_ДатыПоступлений
ИЗ
РегистрНакопления.ТоварыОрганизаций.Обороты(, &КонецПериода, Регистратор, АналитикаУчетаНоменклатуры.Склад В ИЕРАРХИИ (&ГруппаСкладов)) КАК ТоварыОрганизацийОбороты
ГДЕ
ТоварыОрганизацийОбороты.Регистратор ССЫЛКА Документ.ПриобретениеТоваровУслуг

СГРУППИРОВАТЬ ПО
ТоварыОрганизацийОбороты.Организация,
ТоварыОрганизацийОбороты.АналитикаУчетаНоменклатуры.Склад,
ТоварыОрганизацийОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ТоварыОрганизацийОбороты.АналитикаУчетаНоменклатуры.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_ДатыПоступлений.Организация КАК Организация,
ВТ_ДатыПоступлений.Склад КАК Склад,
ВТ_ДатыПоступлений.Номенклатура КАК Номенклатура,
ВТ_ДатыПоступлений.Характеристика КАК Характеристика,
ВТ_ДатыПоступлений.ДатаПоступления КАК ДатаПоступления,
МАКСИМУМ(ТоварыОрганизацийОбороты.Регистратор) КАК Поступление
ИЗ
ВТ_ДатыПоступлений КАК ВТ_ДатыПоступлений
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыОрганизаций.Обороты(, &КонецПериода, Регистратор, АналитикаУчетаНоменклатуры.Склад В ИЕРАРХИИ (&ГруппаСкладов)) КАК ТоварыОрганизацийОбороты
ПО ВТ_ДатыПоступлений.ДатаПоступления = ТоварыОрганизацийОбороты.Регистратор.Дата
ГДЕ
ТоварыОрганизацийОбороты.Регистратор ССЫЛКА Документ.ПриобретениеТоваровУслуг

СГРУППИРОВАТЬ ПО
ВТ_ДатыПоступлений.Организация,
ВТ_ДатыПоступлений.Склад,
ВТ_ДатыПоступлений.Номенклатура,
ВТ_ДатыПоступлений.Характеристика,
ВТ_ДатыПоступлений.ДатаПоступления

УПОРЯДОЧИТЬ ПО
Организация,
Склад,
Номенклатура,
Характеристика,
ДатаПоступления УБЫВ,
Поступление УБЫВ

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

Запрос явно не оптимален. Выборка из оборотного регистра с периодичностью по регистратору будет всегда читать данные из таблицы движений. В вашем случае все движения регистра по дату окончания. Так же есть связь по полю от составного типа (ПО ВТ_ДатыПоступлений.ДатаПоступления = ТоварыОрганизацийОбороты.Регистратор.Дата) и прочие неоптимальности. Я рекомендую разработать отдельный регистр с подходящей структурой метаданных для ваших целей. Навскиду, это периодический регистр сведений, измерения: Склад / Номенклатура / Характеристика, ресурс - Документ.ПриобретениеТоваровУслуг. В этом случае срез последних по всем измерениям с отбором по складам как раз даст вам последние документы. Если планируется получать данные по большей части на текущую дату, можно еще включить у регистра сведений итоги по срезу последних.

also Что-то вроде FAQ Отзывов (29) Favorite
В закладки

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

Первый набор данных:

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

Создадим набор данных-запрос “ПродажиОбороты”:


Рис. 1 Вкладка ресурсы набора данных ПродажиОбороты


Рис. 2 Настройки отчета

Сейчас наш отчет будет иметь следующий вид:


Рис. 3 Формирование отчета с одним набором данных

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

Второй набор данных:

Добавим второй набор данных-запрос “Цены”, цены будем брать для фиксированного типа цен:

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

Соединения наборов:

Приступим к основной “фишке” данного метода – соединениям наборов:


Рис. 4 Соединение наборов данных

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

Далее добавим поле цена в ресурсы и в выбранные поля.


Рис. 5 Вкладка ресурсы


Рис. 6 Выбранные поля

Результат:

Теперь можно формировать отчет. Проверим правильность работы отчета на примере “Дивана для отдыха”.


Рис. 7 Итоговый отчет

В запросе:

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

Данный пакетный запрос содержит три подзапроса. Рассмотрим их подробнее.

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

Во втором подзапросе мы соединяем временную таблицу с регистром сведений “ЦеныНоменклатуры” при этом из регистра сведений мы выбираем МАКСИМАЛЬНУЮ дату из меньших или равных дат. Результат этого подзапроса также помещаем во временную таблицу (втМаксПериод). Посмотрим, какие данные попадают в эту таблицу:


Рис. 8 Временная таблица втМаксПериод

В последнем запросе пакета, мы еще раз соединяем временную таблицу с таблицей цен номенклатуры. На этот мы соединяем таблице по номенклатуре и периоду.

Итоговый результат запроса:


Рис. 9 Итоговый результат запроса

Как мы видим результаты вывода цен в обоих случаях (через СКД и через запрос) оказались одинаковы.

Что представляет из себя регистр сведений в 1С? Для чего и как он используется? Рассматриваем подробно и с примерами, чтобы дать нашим читателям как можно более полное представление!

Регистр сведений – это прикладной объект конфигурации. Он хранит информацию в определенных измерениях.

регистры сведений в 1С

В 1С множество регистров сведений, для примера возьмём регистр «ЦеныНоменклатуры». Рассмотрим основные вкладки регистра сведений.

Вкладка «Основные»

Регистры сведений в 1С

В поле «Имя» вносится уникальное имя регистра, в поле «Синоним» — название, которое будет видно пользователям.

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

Поле «Режим записи» имеет два значения «Независимый» или «Подчинён регистратору». Значение «Подчинён регистратору» означает использование стандартного реквизита «Регистратор» — документа который добавил запись в регистр.

Вкладка «Подсистемы»

Регистры сведений в 1С

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

Вкладка «Функциональные опции»

Регистры сведений в 1С

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

Вкладка «Данные»

Регистры сведений в 1С

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

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

Ресурсы чаще всего бывают числового типа данных, но другие типы так же не запрещены. По сути ресурсы представляют собой данные которые содержит регистр, его основную информацию. Наш регистр содержит информацию о «Ценах», «Упаковке» и «Валюте».

Реквизиты – дополняющая информация. В нашем примере нет реквизитов, но можно было бы добавить, например, реквизит «Артикул». Для регистра сведений он не несёт никакой важно информации и никак не повлияет на его записи, но может быть полезен в качестве справочной информации.

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

Регистры сведений в 1С

Вкладка «Регистраторы»

Регистры сведений в 1С

На данной вкладке можно отметить документы, которые будет добавлять записи в наш регистр, ссылка на документ-регистратор будет записываться в реквизит «Регистратор».

Вкладка «Формы»

Регистры сведений в 1С

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

Вкладка «Права»

Регистры сведений в 1С

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

Вкладка «Прочее»

Регистры сведений в 1С

На данной вкладке стандартно располагаются кнопки доступа к «Модулям». Стоит обратить внимание на флаги «Разрешить итоги: срез первых» и «Разрешить итоги: срез последних». Они доступны только для периодических регистров сведений и позволяет с помощью запроса получать информацию о «первых» или «последних» записях на определенную дату.

Для добавления записи в регистры подчинённые регистратору следует использовать вкладку «Движения» соответствующего документа-регистратора, для удобства на вкладке так же можно вызвать «Конструктор движений».

Регистры сведений в 1С

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

Программное добавление записи в регистр сведений возможно двумя способами: с помощью менеджера записи (используется для добавление одной записи) или с использованием наборов записей. Подробные примеры кода для данных способов представлены в Синтакс-помощнике.

Как оптимизировать работу с 1С?

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

Почему это выгодно?

  • Не нужно принимать человека в штат. Забудьте о подготовке очередного рабочего места и тратах на больничные и отпускные.
  • Не зависите от одного. Наши сотрудники тоже болеют и отдыхают, но это не ваши проблемы! Их тут же заменяют другие сотрудники и работа продолжается.
  • Дополнительный уровень проверки. Всегда ли у руководителя достаточно знаний для того, чтобы оценить качество выполненной работы? А вот в специализированных компаниях всегда есть вышестоящий проверяющий.

Мы приглашаем вас обращаться за внедрением, сопровождением и разработкой под 1С к нам, в компанию «ПРОГРАММЫ 93». Позвоните по номеру, указанному на сайте или заполните форму обратной связи и наши сотрудники сориентируют вас по стоимости услуг, помогут подобрать подходящее решение и расскажут, как начать сотрудничество.

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

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


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

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


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

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

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

Добавление записей

Программно добавить записи в регистр сведений можно при помощи:

  • объекта НаборЗаписей ;
  • объекта МенеджерЗаписи .

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

Общая схема добавления записей в регистр сведений при помощи объекта НаборЗаписей выглядит так:

  • создание объекта НаборЗаписей ;
  • наложение отборов на измерения, период (если регистр периодический) и регистратора (если регистр подчинен регистратору);
  • добавление и заполнение значений полей записей;
  • запись набора записей.

Общая схема добавления записей в регистр сведений при помощи объекта МенеджерЗаписи выглядит так:

  • создание объекта МенеджерЗаписи ;
  • заполнение значений полей записи;
  • запись записи.

Изменение записей

Изменять существующие записи регистров сведений возможно при помощи объектов НаборЗаписей и МенеджерЗаписи . Ограничения объекта МенеджерЗаписи были описаны выше.

Общая схема редактирования записей регистров сведений:

  • создание объекта НаборЗаписей или МенеджерЗаписи ;
  • наложение отборов;
  • чтение записей базы данных, соответствующих наложенным отборам;
  • редактирование прочитанных записей;
  • запись отредактированных записей.

Чтение записей

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

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

Кроме чтения запросом возможно использование методов объектной модели.

Для непериодических регистров сведений:

  • Выбрать(Отбор, Порядок) — выбирает записи с указанным отбором;
  • ВыбратьПоРегистратору(Регистратор) — выбирает все записи указанного регистратора;
  • Получить(Отбор) — получает ресурсы записи с отбором по всем измерениям.

Для периодических регистров сведений:

  • Выбрать(НачалоИнтервала, КонецИнтервала, Отбор, Порядок) — выбирает записи с указанным отбором, у которых период находится между НачалоИнтервала и КонецИнтервала ;
  • ВыбратьПоРегистратору(Регистратор) — выбирает все записи указанного регистратора;
  • Получить(Период, Отбор) — получает ресурсы записи с отбором по всем измерениям и периоду;
  • ПолучитьПервое(НачалоПериода, Отбор) — получает ресурсы наиболее ранней записи, соответствующей указанным периоду и отбору;
  • ПолучитьПоследнее(КонецПериода, Отбор) — получает ресурсы наиболее поздней записи, соответствующей указанным периоду и отбору;
  • СрезПервых(НачалоПериода, Отбор) — получает таблицу наиболее ранних записей, соответствующую указанным периоду и отбору;
  • СрезПоследних(КонецПериода, Отбор) — получает таблицу наиболее поздних записей, соответствующую указанным периоду и отбору.

Удаление записей

Для удаления записи (записей) в независимом регистре сведений необходимо:

  • создать набор записей;
  • наложить требуемые отборы на измерения и период (если регистр периодический);
  • записать набор записей без предварительного чтения.
  • Для удаления записей в подчиненном регистре сведений необходимо:

    • создать набор записей;
    • наложить отбор на регистратора;
    • записать набор записей без предварительного чтения.

    Очистка регистра сведений

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

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

    • получить перечень ссылок всех регистраторов регистра сведений;
    • последовательно записать пустой набор записей с отбором по регистраторам из первого пункта.

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