Этап 3: Настройки параметров отбора для распараллеливания выгрузки

Экстрактор 1С позволяет настроить параметры отбора для распараллеливания выгрузки.

Объект

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

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

Пример для лучшего понимания настроек:

Представьте себе, что мы сформировали такую настройку набора параметров, как на картинке выше.

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

Какие сегменты к выгрузке будут формироваться? Опишем их человекочитаемым языком:

  • Сегмент 1: «Дата находится в месяце Декабрь 2023 И Склад = Склад №1»

  • Сегмент 2: «Дата находится в месяце Декабрь 2023 И Склад = Склад №2»

  • Сегмент 3: «Дата находится в месяце Январь 2024 И Склад = Склад №1»

  • Сегмент 4: «Дата находится в месяце Январь 2024 И Склад = Склад №2»

  • Сегмент 5: «Дата находится в месяце Февраль 2024 И Склад = Склад №1»

  • Сегмент 6: «Дата находится в месяце Февраль 2024 И Склад = Склад №2»

То есть для формирования каждой порции параллельно выгружаемых данных на набор данных будут накладываться одновременно два условия:

Условие на вхождение даты в указанный месяц и условие на конкретное значение склада.

Начиная с версии 3.8.4.70 Экстрактора 1С, был добавлен режим расширения параметров. Этот функционал позволяет оптимизировать выгрузку данных. Чтобы использовать данный функционал необходимо воспользоваться переключателем «Режим расширения параметров», а затем, для настройки расширенных возможностей сегментирования объекта указать вид параметра, который будет определять использование сегмента:

  • Параметр инициализации — это группа параметров, которая используется при инициализации проекта (по кнопке «Сформировать очередь»), например период в месяц.

  • Регулярный параметр — это основной вид параметров, которые используются при выгрузке (при отсутствии вида параметра является значением по умолчанию), примером могут служить период длиною в день, ссылка или регистратор.

  • Расширенный параметр — это группа параметров, которая заменяет регулярные параметры, если число записей в очереди по регулярному сегменту (например, по регистратору) в рамках одного расширенного сегмента (например, дня, в который входят эти регистраторы), превышает установленное значение настройки «Количество записей очереди для расширения параметров».

Как это работает?

Например, мы регистрируем изменения по 1000 документам, все они входят в 2 дня. При этом регулярный параметр (сегмент) — это сам документ (ссылка), а расширенный — это ДатаДокумента(День). Если выгружать как раньше, по регулярному параметру (сегменту) всегда, то 1 сегмент будет равен 1 документу, и надо будет 1000 раз выполнить запросы, необходимые для выгрузки. При установке настройки , что при превышении, например, 100 уникальных записей очереди (устанавливается с помощью настройки «Количество записей очереди для расширения параметров»), входящих в один расширенный сегмент (один день) за сегмент берется целый день и выполняется всего несколько необходимых для выгрузки 1 сегмента запросов, выгружая весь день за 1 раз, а не за 1000 раз подокументно.

Подробные примеры проектов выгрузки с использованием данного функционала рассмотрен в статьях данного раздела.

Примечание:

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

О том, как подобрать размер сегмента в Экстракторе 1С, который подойдет именно в Вашем случае читайте в статье.

Проверка параметров после настройки помощником

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

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

Запрос

Для источника данных «Запрос» настройка параметров делается в самом запросе.

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

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

Обработчик

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

CSV или Excel

Сегментирование невозможно.