26.02.2021 Айдар Фархутдинов 120617
Отбор записей регистра сведений в 1С

Содержание:

1.       Набор записей регистра сведений

2.       Менеджер записи регистра сведений


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


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


1.       Набор записей регистра сведений


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


Создание набора записей регистра сведений

Создание набора записей регистра сведений


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


Отбор записей регистра сведений

Отбор записей регистра сведений


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


Метод чтения набора записей

Метод чтения набора записей


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


Цикл набора записей

Цикл набора записей


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


команда записи

Команда записи в регистр сведений


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


Особенность отбора в регистре сведений заключается в том, что его можно установить только на равенство, соответственно нельзя, например, установить отбор «Записи в которых поле «Количество» больше чем 4», можно использовать только «Записи в которых «Количество» равно 5».


В том случае, если необходимо выбрать записи по какому-либо другому условию, например, записи, в которых поле «количество» имеет значение больше 4, либо если нужно воспользоваться связью отличной от логического «И», например, «ИЛИ»: «Физическое лицо = ФИО» ИЛИ «Год рождения < 31.08.2000», придется написать запрос регистра сведений


запрос к регистру сведений

Запрос у регистру сведений


Результатом этого будет подобная таблица:


результат запроса к регистру сведений

Результат запроса к регистру сведений

 

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


После получения результата запроса с ним можно будет делать все что угодно, в том числе и записать снова в регистр.  


2.       Менеджер записи регистра сведений


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


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


Метод СоздатьМенеджерЗаписией()

Метод СоздатьМенеджерЗаписией()


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


Действия с записью после возвращения менеджера в регистр сведений

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


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


Действия с записью после возвращения менеджера

Действия с записью после возвращения менеджера в регистр сведений


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


Специалист компании «Кодерлайн»

Айдар Фархутдинов

 

Наши проекты

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные активы
Основные средства
Расчет зарплаты и кадровы...

ООО «Еврорадиаторы»
ООО «Еврорадиаторы»

Отрасль:
1С:ERP 2.4

Внедренное типовое решение:

Специалисты «Кодерлайн» помогли перенести базу из текущей системы «1С:ERP 2.2» в новую систему «1С:ERP 2.4». ...

ООО «Мир Аксиомы»
ООО «Мир Аксиомы»

Отрасль:
Аудиторские и консалтинговые услуги

Внедренное типовое решение:
1С:Бухгалтерия КОРП

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные активы
Расчеты с контрагентами
Регламентированная ...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Управление цепочками поставок Оптовая торговля ...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

Внедренное типовое решение:
1С:Управление строительной организацией

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад и логистика;
- Транспорт;
- Планирование расхода ГС...

Автоматизация системы учета продаж газа на базе «1С:ERP Управление предприятием 2.0»
ООО «Эйр Продактс Газ»

Отрасль:
Производство промышленных газов

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Расчеты с контрагентами;
- Производственные операции;
- Управление складскими запасами;
- Логистика адресного склада;
- Оф...

ЗАО «Инвестгеосервис»
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Объемно-календарное планирование производства Автоматизация бизнес-процессов Анализ деятельности в разрезе проектов Планирование проектов У...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в данные международного учета (ГААП) на платформе «1С:Предприятие 8»:...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

Отрасль:
Производство

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Бухгалтерский учет
- Банк и касса
- Расчеты с контрагентами
Налоговый учет ...

Автоматизация торгового учета на базе "1С:Управление торговлей"
ООО «ТЕЛЕВЕС РУСС»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складскими запасами;
- Оформление заказов покупателей;
- Планирование продаж;
- Взаиморасчеты с покупателями;
-...

ООО «Солви Пак»
ООО «Солви Пак»

Отрасль:
Торговля. Производство печати на рулонных материалах

Внедренное типовое решение:
1С:CRM+1С:Комплексная автоматизация

Управление отношениями с клиентами (CRM) ...

Внедрение блоков в 1С:Комплексная автоматизация 8
ООО «Больцен Рус»

Отрасль:
Оптовая торговля

Внедренное типовое решение:
1С:Комплексная автоматизация

- Оперативный учет...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение