ВыбратьПоСсылкам в 8.3.26: фирма «1С» оптимизирует выборку объектов по заданному набору ссылок

25.01.2024      1741

Официальный технологический блог фирмы «1С» сообщил о новой оптимизации, которая появится в 8.3.26. Разработчики платформы собираются ускорить массовые операции с объектами и добавить новый метод – ВыбратьПоСсылкам(<Источник>, <Колонка>).


Почему возникла идея оптимизации массовой обработки объектов по набору ссылок

Анонс новых функциональных возможностей технологической платформы 8.3.26 размещен в «Заметках из Зазеркалья». Специалисты «1С» предлагают оптимизировать массовую обработку объектов по набору ссылок для улучшения производительности.

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

Поскольку с самых ранних версий 1С 8.0 у менеджеров объектов базы данных (Справочники, Документы, ПланыВидовХарактеристик и т.д.) уже есть метод Выбрать(), позволяющий за одно обращение к базе получить выборку, содержащую данные сразу многих объектов, решено было реализовать метод ВыбратьПоСсылкам(), позволяющий получать выборки объектов по заданному набору ссылок для более быстрой пакетной обработки


Как будет работать новый метод ВыбратьПоСсылкам()

Методы ВыбратьПоСсылкам(<Источник>, <Колонка>) / SelectByRefs(<Source>, <Column>) будут добавлены в менеджеры объектов:

  • СправочникМенеджер.<Имя_справочника>;
  • ДокументМенеджер.<Имя_документа>;
  • ПланВидовХарактеристикМенеджер.<Имя_плана_видов_характеристик> и т.д.

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

Метод ВыбратьПоСсылкам() работает так же, как метод менеджера объектов Выбрать() – оба метода возвращают выборку объектов соответствующего типа.

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

Параметры метода ВыбратьПоСсылкам():

  • <Источник> – обязательный, коллекция ссылок, объекты которых должны быть получены в результате выполнения метода. Это может быть ТаблицаЗначений, РезультатЗапроса, Массив, ФиксированныйМассив.
  • <Колонка> – необязательный. Если в качестве значения первого параметра фигурирует ТаблицаЗначений или РезультатЗапроса, с помощью этого параметра можно указать колонку, содержащую ссылки. Колонка может быть задана именем (значение типа Строка) или индексом (значение типа Число). Если значение параметра не задано, используется первая колонка источника. Если значением параметра <Источник> является Массив, значение параметра <Колонка> игнорируется.

 

Пример использования Метод ВыбратьПоСсылкам. Источник: wonderland.v8.1c.ru

 

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

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

Полное описание оптимизации менеджеров объектов для пакетной обработки в 1С:Предприятие 8.3.26 в официальном технологическом блоге


Автор:
Обозреватель


Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Brawler 455 26.01.24 08:28 Сейчас в теме
Хотелось бы понять как себя ведет

Выборка. ПолучитьОбъект();


И

НекаяСсылка. ПолучитьОбъект();


Как получаются данные в первом и втором случае, когда в памяти создается объект?
user813936; +1 Ответить
2. Ujine1313 9 26.01.24 22:33 Сейчас в теме
Что то как то странно оптимизировано. Чем вся эта конструкция отличается от того что взять полученную таблицу значений из запроса и получить из нее объекты по ссылкам? В примере берут ТЗ используют ее как фильтр для всей коллекции товаров и получают выбору товаров, потом из этой выборки получают ссылки на товар и от них объекты.
Может кто то объяснит?
3. Омский Домовой 408 27.01.24 09:10 Сейчас в теме
(2) Думаю , что в таблице значений лежат просто ссылки, а при выполнении метода уже полученные объекты. Т.е. при обращении к ссылке из таблицы значений для получения некого реквизита происходит новое обращение к БД, а при обращение из выборки все реквизиты типа уже получены.
Может ошибаюсь. Это чисто мое предположение.
alest; triviumfan; +2 Ответить
4. nvv1970 27.01.24 13:50 Сейчас в теме
(3) выбрать из менеджера - никогда не получал объекты, а только ссылки обходил порциями по 25. Так ведь?
Почему новый метод получает объекты?
Если это так, то почему его не назвали нормально, ~ типа "получить объекты" по ссылкам?

Сто лет не встречал использования выборки из менеджера. Если он действительно получает сразу объекты целиком, то смысл понятен.
Но где же пакетная запись?
6. triviumfan 94 29.01.24 10:06 Сейчас в теме
(4)
Если это так, то почему его не назвали нормально, ~ типа "получить объекты" по ссылкам?

Всё логично, ведь результат будет выборка, а не объект :)
И как указано выше - это аналог метода Выбрать().
(4)
Сто лет не встречал использования выборки из менеджера

Я тоже, в 99.9% случаев это ВыборкаИзРезультатаЗапроса, почти все используют табличную модель обращения к данным.
5. kamisov 154 28.01.24 11:32 Сейчас в теме
Спасибо, уже очень давно не надо. Лучше бы JWT починили
7. 7OH 69 30.01.24 09:11 Сейчас в теме
С именем промазали так же, как и с ВызватьПаузу.
ВыбратьПоСсылкам - вообще не даёт представления о том - ЧТО на выходе - ссылки или объекты.
alest; mikeA; +2 Ответить
9. mikeA 1 01.02.24 07:25 Сейчас в теме
(7) Осталась одна сложная задача в 1С) Инвалидацию кэша вроде как побороли))
8. mikeA 1 01.02.24 07:21 Сейчас в теме
Зачем выгружать результат запроса в таблицу значений если первый параметр ВыбратьПоСсылкам может быть результатом запроса?
10. naf2000 05.02.24 08:23 Сейчас в теме
А могли бы сделать функцию возвращающую массив именно объектов (тех, которые через ПолучитьОбъект строятся). Или даже в языке запросов функцию, возвращающую поле-объект
Это была бы оптимизация, а не вот это всё
Оставьте свое сообщение

См. также

КРОК – партнер конференции «Анализ и Управление в ИТ-проектах 2024»

Новость Aнализ&Управление Мероприятия

Команда КРОК уже не в первый раз приезжает на мероприятия Инфостарт в статусе партнера. В этом году на стенде компании всех участников ждет насыщенная программа и много нетворка с экспертами.

вчера в 15:39    110    user997184    0       

1

Присоединяйтесь к курсу «1С: Библиотека стандартных подсистем для начинающих»

Новость Обучение

Обучение продлится 2 недели: первый вебинар состоялся вчера, 15 мая. Но у вас еще есть возможность присоединиться к обучению и не пропустить важное. 

вчера в 12:37    142    user997184    0       

1

Как избежать проблем с автоматическим обновлением тонкого клиента 1С на старых версиях Windows

Новость Платформа 1С v8.3 Зазеркалье ИТ-Новость

Фирма «1С» предупредила, что при установке дистрибутива тонкого клиента 1С на некоторых старых версиях клиентских и серверных операционных систем Microsoft Windows может быть выведена надпись: «Не обнаружена цифровая подпись программы доступа».

15.05.2024    273    ЕленаЧерепнева    0       

2

«СИТЕК» – партнер конференции «Анализ и Управление в ИТ-проектах 2024» 

Новость Aнализ&Управление Мероприятия

Продолжаем знакомиться с партнерами майской конференции Инфостарт для аналитиков и управленцев. На этот раз расскажем, что подготовила для нас компания «СИТЕК».

15.05.2024    276    user997184    0       

15

Аутентификация с помощью электронной почты в 1С:Предприятие 8.3.27

Новость Зазеркалье

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

14.05.2024    316    ЕленаЧерепнева    0       

1

ГК «КОРУС Консалтинг» – официальный партнер конференции «Анализ и Управление в ИТ-проектах 2024»

Новость Aнализ&Управление Мероприятия

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

14.05.2024    904    user997184    0       

16

Бухгалтерия 3.0.152: настройка выплаты зарплаты и развитие интеграции с 1С:ДО 3

Новость 1С:Бухгалтерия 3.0 Новый релиз

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

14.05.2024    243    ЕленаЧерепнева    0       

2

1С:MDM корпоративного уровня: новый продукт для управления мастер-данными

Новость

Вышел продукт «1С:MDM Управление мастер-данными КОРП». Решение позволит унифицировать НСИ для крупных распределенных компаний. Цена поставки для конечных пользователей будет зависеть от объема мастер-данных, используемых в централизованной базе.

13.05.2024    1684    ЕленаЧерепнева    1       

1

Онлайн-интенсив для новичков: быстрый старт в 1С-программировании 

Новость Обучение

4 июня стартует интенсив по 1С-программированию для новичков. Всего за 2 месяца участники курса научатся работать в самой популярной программе для автоматизации бизнеса «1С:Предприятие» и подготовятся к сдаче сертификационного экзамена 1С:Профессионал. 

13.05.2024    367    user997184    0       

1

Последний шанс купить билеты на конференцию «Анализ и Управление в ИТ-проектах 2024» со скидкой

Новость Aнализ&Управление Мероприятия

С 16 мая цены на участие в конференции «Анализ и Управление в ИТ-проектах 2024» изменятся. Если вы еще не успели купить билеты – не упустите последнюю возможность и воспользуйтесь финальной скидкой до повышения цены. 

13.05.2024    441    user997184    0       

15

Онлайн-курс «1C:Предприятие для программистов: Запросы и отчеты»: старт уже завтра

Новость Обучение Программист

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

13.05.2024    356    AnastasiaKl    0       

1

Таймлист – сервис для расшифровки и автопротоколирования совещаний и встреч получил обновления

Новость

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

08.05.2024    911    AnastasiaKl    0       

3

Рассказываем о докладах секции «Кейсы крупных компаний»

Новость Aнализ&Управление Мероприятия

Постоянная «рубрика» конференций Инфостарт – Кейсы крупных компаний. В этой секции партнеры конференции делятся практиками и инструментами, с которыми работают в своих компаниях. И все это – на примере реальных кейсов.

08.05.2024    998    user997184    0       

15

«Библиотека стандартных подсистем» – курс для начинающих 1С-программистов

Новость Обучение Программист

Онлайн-курс стартует 15 мая, а значит до начала обучения осталась всего неделя. Продолжительность курса – 2 недели, и за это время мы изучим такой универсальный инструментарий разработчика, как «1С:Библиотека стандартных подсистем».

08.05.2024    939    AnastasiaKl    0       

1

«1С:Корпорация» расширяется: новые лицензии и новые продукты в составе поставки

Новость

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

08.05.2024    663    ЕленаЧерепнева    0       

1

16 мая состоится бесплатный вебинар «Тонкости работы с Infostart Toolkit»

Новость InfostartToolkit Маркетплейс

16 мая вместе с разработчиком решения Евгением Люлюком погрузимся в тонкости работы с Infostart Toolkit. Если вы хотите знать больше о неявных возможностях решения – присоединяйтесь.

07.05.2024    819    user997184    1       

1

Новый эксперимент по маркировке: бакалейная продукция

Новость ИТ-Новость Маркировка

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

07.05.2024    710    user1915669    0       

1

Готово расписание конференции «Анализ и управление в ИТ-проектах 2024»

Новость Aнализ&Управление Мероприятия

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

06.05.2024    1030    eselyanina    0       

16

Не Документооборот, а Документооборотище: итоги форума пользователей 1С:ДО

Новость 1С:Документооборот ИТ-Новость

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

06.05.2024    742    ЕленаЧерепнева    6       

2

Abedyabka – партнер конференции «Анализ и Управление в ИТ-проектах», отвечающий за игровой досуг участников

Новость Aнализ&Управление Мероприятия

Головоломки, конструкторы, пазлы и загадки – все эти развлечения для хорошего настроения и «прокачки» мозговой активности вы найдете у стенда компании Abedyabka. Игровой ассортимент подойдет для детей и взрослых.

06.05.2024    627    AnastasiaKl    0       

1

1С:Управление образования 2.0: новые возможности и условия поддержки версии 1.0

Новость Образование

Опубликована конфигурация 1С:Управление образования 2.0. Продукт позволяет консолидировать данные об инфраструктуре подведомственных образовательных организаций и предназначен для органов управления регионального и муниципального уровня.

06.05.2024    836    ЕленаЧерепнева    0       

1

Записывайтесь на курс для 1С-программистов по разработке запросов и отчетов

Новость Обучение Программист

14 мая стартует онлайн-интенсив «1C:Предприятие для программистов: Запросы и отчеты». На курсе мы займемся изучением языка запросов, возможностей системы компоновки данных и получим практические навыки по разработке запросов и отчетов.

06.05.2024    851    AnastasiaKl    0       

15

Контекстные обсуждения в 1С 8.3.27: показать все, что скрыто

Новость Зазеркалье

Фирма «1С» в очередном анонсе будущего релиза технологической платформы 1С:Предприятие 8.2.27 пообещала реализовать поиск по контекстным обсуждениям в Системе взаимодействия. Также ожидается обновление для интеграции с WhatsApp и Linux-пользователей.

03.05.2024    1213    ЕленаЧерепнева    0       

1

1С-Отчетность: дистанционный перевыпуск сертификата УЦ ФНС и бесплатный ЛК

Новость Отчетность Сервисы ИТС

В сервисе 1С-Отчетность появилась функциональность дистанционного перевыпуска сертификата УЦ ФНС для руководителя организации. Также продлевается бесплатное использование облачного «Личного кабинета» для контроля отчетности всех инфобаз компании.

03.05.2024    1066    ЕленаЧерепнева    3       

15