Часто задаваемые вопросы
Есть ли механизм кэширования при повторных выгрузках?
В Экстракторе 1С — это не кэширование, а инкрементальная выгрузка данных.
Такой формат выгрузки данных позволяет отслеживать изменения объектов 1С с помощью регистрации изменений, затем помещает их в очередь и в результате выгружает только изменённые сегменты.
Можно ли гибко конфигурировать частоту инкрементальной выгрузки?
Да, можно задать разные расписания для разных наборов данных. Оно задаётся на уровне проекта. Все источники внутри одного проекта выполняются по одному расписанию. Чтобы использовать разные расписания — нужно разнести наборы данных в отдельные проекты.
Можно ли посмотреть, какие данные попали в инкремент?
Да, посмотреть, какие данные попали в инкремент можно через очередь выгрузки.
Если включить поле «Дата выгрузки» — можно увидеть, какие сегменты перезаписаны.
Триггерные изменения фиксируются автоматически.
Как настраивается многопоточность?
Многопоточность настроена по умолчанию — 4 потока, настраивается до 12–24 потоков в зависимости от лицензии. Файловая база ограничивает число потоков до 1. Также, стоит иметь в виду, что скорость зависит от размера сегмента.
Как настроить постобработку данных (удаление дублей, маскирование, шифрование)?
Постобработка возможна при настройке вычисляемых полей.
На этом этапе можно:
подменять значения полей;
накладывать маску;
преобразовывать в хэш;
использовать пользовательские экспортные функции.
Однако рекомендуется выгружать сырые данные, а преобразования выполнять в последующем ETL-процессе.
Когда используются Bulk Insert / COPY для PostgreSQL и MS SQL?
Bulk Insert / COPY для PostgreSQL и MS SQL используются при:
больших пакетах (десятки/сотни тысяч строк);
необходимости ускорить массовую вставку.
Для мелких инкрементов лучше использовать обычные INSERT.
Также следует учитывать требования:
настроенный каталог обмена, доступный серверу 1С и серверу БД.
доступы к сетевой папке должны быть корректно настроены.
Как работает шифрование данных?
В Экстракторе 1С передача идёт по HTTPS, также возможна дополнительная маскировка/шифрование через вычисляемые поля. На уровне БД отдельные механизмы не используются.
Можно ли экспортировать схему проекта в JSON или YAML?
Экспорт схемы проекта в JSON или YAML невозможен, поддерживается только XML-шаблон.
Шаблоны можно:
сохранять из формы проекта;
выгружать все разом;
хранить в Git.
Подробную инструкцию по импорту и экспорту шаблонов проектов Экстрактора 1С Вы найдете в статье.
Как извлекать данные из текстовых файлов, загруженных в 1С?
Выгрузка самих прикреплённых файлов пока не поддерживается.
Рассматривается идея выгружать абсолютный путь до файла.
Если необходимо выгрузить внешние файлы, то это возможно при выборе соответствующего типа источника данных:
Какие регулярные выражения поддерживаются в 1С и Экстракторе?
В Экстракторе 1С поддерживаются те же регулярные выражения, что используются в языке запросов 1С.
Как определяется тип данных при выгрузке из 1С?
Тип данных при выгрузке из 1С определяется по типу и длине реквизита в конфигурации 1С.
Если тип подобран неверно, то можно вручную изменить тип поля на этапе сопоставления (например, заменить smallint → numeric) или обрезать время у дат. Ошибки в определении smallint устранены в обновлениях последних месяцев.
Что такое расширенный сегмент?
Если регулярных изменений за день становится больше установленного порога — выполняется выгрузка всего дня одним пакетом.
Как выполнить первичную загрузку всей базы, а затем перейти на инкремент?
В новом релизе реализован режим расширения параметров.
Доступны 3 вида параметров:
Инициализация — первичная загрузка (например, за неделю).
Регулярный режим — отслеживание изменений по регистратору.
Расширенный сегмент — если число изменений достигает порога, выгружается весь день целиком.
Это оптимизирует и первичную загрузку, и дальнейшую инкрементальную работу.
Можно ли выгружать историю изменений с пометкой удаления и владельцами?
Прямого механизма нет, можно реализовать «псевдо-историю» через режим добавления и отметку даты выгрузки. Полная версионность пока не поддерживается.
Обработка ошибок и ограничений типов данных
Ошибки типа «SmallInt out of range» решаются на этапе сопоставления полей вручную.
Можно корректировать типы данных в проекте.
Для некорректных значений даты можно задать fallback-значение.