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

25.01.2024      1710

Официальный технологический блог фирмы «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 93 29.01.24 10:06 Сейчас в теме
(4)
Если это так, то почему его не назвали нормально, ~ типа "получить объекты" по ссылкам?

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

Я тоже, в 99.9% случаев это ВыборкаИзРезультатаЗапроса, почти все используют табличную модель обращения к данным.
5. kamisov 153 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 Сейчас в теме
А могли бы сделать функцию возвращающую массив именно объектов (тех, которые через ПолучитьОбъект строятся). Или даже в языке запросов функцию, возвращающую поле-объект
Это была бы оптимизация, а не вот это всё
Оставьте свое сообщение

См. также

Онлайн-курс «Автоматизированное тестирование в 1С»: старт 6 мая

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

До старта курса по автоматизированному тестированию в 1С осталось 4 дня. Количество мест на тариф с обратной связью от преподавателя – ограничено. Успейте записаться!

сегодня в 12:00    47    AnastasiaKl    0       

0

MAKER: экономьте время на составлении ТЗ и визуализации интерфейса при разработке в 1С «с нуля»

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

MAKER – это первый онлайн-сервис для прототипирования, разработанный специально для 1С. Позволяет быстро создать прототип будущей системы или её отдельной функции. Попробуйте сервис MAKER для прототипирования и генерации ТЗ бесплатно

сегодня в 09:24    144    vikad    0       

2

Купите участие в конференции «Анализ и Управление в ИТ-проектах 2024» до повышения цен

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

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

28.04.2024    677    user997184    0       

16

Новый комплект для сметчиков и проектировщиков – «1С:Смета и Renga Professional»

Новость Строительство

Фирма «1С» выпустила новый комплект решений с расширенной функциональностью для выпуска и хранения сметной документации, а также автоматизации составления и расчета сметы на основе цифровой информационной модели (ЦИМ) объекта.

27.04.2024    499    ЕленаЧерепнева    0       

3

Разработка прикладных решений с помощью Библиотеки стандартных подсистем: курс по 1С-программированию

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

15 мая стартует онлайн-курс «1С: Библиотека стандартных подсистем для начинающих». На курсе мы будем изучать инструментарий разработчика и создавать прикладные решения на основе Библиотеки стандартных подсистем (БСП).

24.04.2024    2238    AnastasiaKl    0       

16

Знакомимся с модератором секции «Открытый микрофон» и продолжаем прием заявок

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

Секция «Открытый микрофон» обрела своего модератора – им стала постоянный докладчик конференций Инфостарт, Елена Дуюн. Знакомимся с Еленой поближе и напоминаем, как подать заявку на доклад для «Открытого микрофона», если вы еще этого не сделали.

23.04.2024    719    user997184    0       

16

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

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

14 мая на Инфостарт начнется обширный онлайн-курс по запросам и возможностям системы компоновки данных в 1С:Предприятии.

23.04.2024    871    user997184    1       

16

Вышла 1С:Предприятие 8.3.25: в новом релизе платформы 55 доработок и 9 оптимизаций

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

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

23.04.2024    6671    ЕленаЧерепнева    2       

4

3 главных причины участвовать в конференции «Анализ и Управление в ИТ-проектах» по VIP-пакету

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

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

22.04.2024    1024    user997184    0       

17

Конференция «Анализ и Управление в ИТ-проектах»: что нас ждет на вечеринке

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

Конференция для аналитиков и управленцев пройдет в Санкт-Петербурге и продлится три дня. Традиционное развлекательное мероприятие для всех участников конференции Инфостарт – афтепати в первый вечер мероприятия. Рассказываем, что будет на вечеринке.

22.04.2024    811    AnastasiaKl    0       

15

1С:Предприятие 8.3.26: обновление стандарта ЕСИА и поддержка присоединенной ЭП

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

Фирма «1С» анонсировала дополнительные возможности для работы с электронной подписью в технологической платформе 8.3.26. И сообщила о поддержке нового стандарта 3.34 для Единой системы идентификации и аутентификации (ЕСИА).

22.04.2024    952    ЕленаЧерепнева    0       

3

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

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

Сегодня подводим итоги 2 тура голосования и публикуем список докладов и других активностей, вошедших в финальную программу конференции «Анализ и управление в ИТ-проектах».

19.04.2024    1310    eselyanina    0       

16

Выпуск новой редакции 1С:PLM 5 и начало продаж модуля PLM для 1С:ERP

Новость 1С:ERP Управление предприятием 2

Фирма «1С» сообщила об обновлении линейки решений 1С:PLM для автоматизации управления жизненным циклом изделия и инженерными данными. А также предупредила о снятии с продаж устаревших версий и скором прекращении их поддержки.

19.04.2024    1022    ЕленаЧерепнева    0       

2

Новинка на Инфостарт: онлайн-курс «Автоматизированное тестирование в 1С»

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

6 мая запускаем новый курс от Инфостарт, где мы научимся пользоваться самым популярным и открытым фреймворком тестирования для платформы 1С:Предприятие 8 – Vanessa Automation.

19.04.2024    1284    AnastasiaKl    5       

17

Продлеваем прием заявок на конкурс «Современные возможности 1С: нетиповые интеграции и доработки»

Новость Сообщество

Заявки с вашими нетиповыми интеграциями продолжают поступать, поэтому мы ненадолго продлеваем прием. Теперь «заявиться» на конкурс можно до 20 апреля включительно.

17.04.2024    919    user997184    1       

2

Как использовать SmartWay в 1С для планирования командировок

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

Smartway – решение для планирования и организации командировок, разработанный на базе российского ПО. Просто задайте направления и даты, а Smartway сравнит цены на билеты или гостиницы в режиме реального времени, предложит выгодные варианты

17.04.2024    1254    user997184    0       

17

Расширяем возможности типового 1С-ЭПД: автозаполнение электронной транспортной накладной для нескольких реализаций

Новость Маркетплейс ЭДО

Из документа «Транспортная накладная», входящего в состав расширения «Мастер ТТН», теперь можно отправлять ЭТрН через типовую подсистему 1С-ЭДО, расширяя ее возможности автозаполнением всех требуемых реквизитов.

16.04.2024    1018    Olga_Amelchenkova    0       

4

Приглашаем на первый бесплатный вебинар Комплексного курса по управлению ИТ-проектами

Новость Обучение Руководитель проекта

17 апреля стартует Комплексный курс по управлению ИТ-проектами. Курс начнется с бесплатного welcome-вебинара, где мы поговорим о компетенциях современного руководителя и расскажем подробно о программе курса.

16.04.2024    987    AnastasiaKl    1       

14

Обновлены материалы для подготовки к сертификации по 1С:ERP

Новость 1С:ERP Управление предприятием 2

Фирма «1С» доработала материалы для подготовки к тестированиям 1С:Профессионал и 1С:Специалист-консультант по конфигурации 1С:ERP Управление предприятием 2. С 26 апреля тестирование будет проводиться по обновленному комплекту вопросов.

16.04.2024    744    ЕленаЧерепнева    0       

1

Фирма «1С» возглавила ежегодный рейтинг франшиз по версии РБК

Новость ИТ-Новость

РБК ежегодно составляет рейтинг наиболее популярных российских франшиз. На протяжении многих лет фирма «1С» лидирует среди прочих предложений на рынке франчайзинга.

15.04.2024    748    ЕленаЧерепнева    0       

2

Фирма «1С» дополнила перечень продуктов, которые подорожают с 1 июля 2024 года

Новость

Обновление прайс-листа 1С на типовые и отраслевые лицензии в этом году проводится в два этапа – с 1 апреля и 1 июля. В список конфигураций, которые подорожают летом, добавлено еще несколько позиций.

15.04.2024    1931    ЕленаЧерепнева    0       

1

Сегодня, в 12:00, стартует бесплатный вебинар Марии Темчиной по разбору ошибок в управлении ИТ-проектами

Новость Обучение Руководитель проекта

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

15.04.2024    1317    AnastasiaKl    0       

2

Обновление «1С:Документооборот КОРП 3.014»: очень много приятных мелочей

Новость

В релиз «1С:Документооборот КОРП 3.014» вошли улучшенные интеграции с 1С-сервисами: они расширяют возможности конфигурации. Улучшена функциональность самого продукта – разработчики добавили новые инструменты для работы с документами и файлами.

12.04.2024    2027    ЕленаЧерепнева    0       

2

Бесплатный онлайн-вебинар «1С:Аналитика – BI-система на платформе 1С»

Новость

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

11.04.2024    2109    AnastasiaKl    1       

15

Отвечаем на вопрос: зачем публиковать свои решения в Базе знаний Инфостарт

Новость Сообщество

Если вы еще сомневаетесь, вливаться ли в наше сообщество, обязательно прочитайте эту статью.

11.04.2024    1246    Sofya_Sukur    6       

26