Экстрактор данных 1С в ClickHouseDB, PostgreSQL, MySQL и REST

Обработка для выгрузки данных из подготовленных СКД в фоновом режиме в базу ClickHouseDB, PostgreSQL, MySQL и REST. Это дополнительная подключаемая обработка.

Арт.: 1970328

Лицензии

12000 руб.

Техподдержка и обновления

6000 руб.

5000 руб.

Область применения

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

Чтобы выгружать данные из информационной системы во внешнюю базу данных для дальнейшего анализа и создания BI дэшбордов, например в Yandex DataLens.

Совместимо с обычными формами (для фоновых заданий, требуется доработка вашей конфигурации).

Технические требования

Для работы с PostgreSQL требуется:

  • Windows 7 / Linux Ubuntu 20. и старше
  • Python 3.8 и старше (лучше устанавливать для всех пользователей)
  • psycopg2 версии 2.8.4 и старше (pip install psycopg2==2.8.4)

Для работы с MySQL (БЕТА) требуется:

  • Windows 7 / Linux Ubuntu 20. и старше
  • Python 3.8 и старше (лучше устанавливать для всех пользователей)
  • mysql-connector-python-rf (pip install mysql-connector-python-rf

Решение протестировано на конфигурациях:

  • 1С:Управление торговлей 11.5.17.122
  • 1С:Бухгалтерия предприятия от 3.0.157.32
  • 1С:Зарплата и управление персоналом 3.1.30.35
  • 1С:Розница 3.0.10.178
  • 1C:Комплексная автоматизация 2.5.20.91
  • 1С:Управление производственным предприятием, редакция 1.3.122.2 (для фоновых заданий, требуется доработка вашей конфигурации 6 часов)

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

Код открыт.

Создание виртуальной машины с базой данных

Создаем свой виртуальный или физических сервер (#VM, #VDS, #VDI и др.)

Для своей VDS вам понадобиться 1-2 ядра, 4Gb RAM, 15-20 GB SSD/HDD.

У которого есть ай пи адрес и порт снаружи.

Адрес

<адрес вашей ВМ, где лежит база данных>

порт по умолчанию

8123

  • Подготовить логин и пароль  для пользователя БД.

<имя пользователя>

<пароль пользователя с правами на вставку данных и создание таблиц>

  • Настроить свои фаерволлы, кому ходить можно, а кому нельзя
  • Зайти на веб морду базы

Подготовка

  • Создать базу данных ClickHouseDB или PostgreSQL или MySQL

    • CREATE DATABASE db_1c_test COMMENT 'The 1C Test Metrics database';

  • выдать на нее права определенному пользователю

    • GRANT SELECT ON <db_name>.* TO <user_name>; (ClickHouseDB)

    • psql -c "GRANT ALL PRIVILEGES ON DATABASE <db_name> to <user_name>;" (PostgreSQL)

Проверка

Для ClickHouseDB проверяем http:// <адрес вашей ВМ, где лежит база данных>:8123/play

Для PostgreSQL проверяем через pgAdmin

Для MySQL проверяем через phpMyAdmin

Для обеих баз можно использовать утилиту DBeaver.

 

Что нужно сделать в своей информационной базе

  • Открыть обработку в информационной базе, например тестовую или демо базу
  • Включите использование дополнительных и внешних обработок для своей конфигурации
  • Предоставьте своего пользователю права на открытие внешних обработок
  • Ввести все данные во вкладке параметры
  • Указать имя таблицы, например «Test»
  • Закрыть и открыть, убедиться, что параметры сохраняются
  • Вставить запрос из конструктора, взять срез последних любого регистра
  • Переименовать поле «Период» в «ПериодРегистратор»
  • Выставить свои даты в поля стандартного периода
  • Ограничить запрос датами «Дата1» и «Дата2»
  • Выставить глубину смещения дат назад
  • Отправить свой запрос

Чтобы ваша обработка запускалась в фоново в файловом варианте базы, то вам понадобиться создать еще одного пользователя, например «exchange» и создать задание в планировщике Windows или Cron на запуск программы без интерфейса.

Как проверить что отправилось в БД

Проверяем свой запрос в базе:

  • select * from db_1c_test.Test;

Чтобы проверить какие ключи и типы полей создались используем:

  • SHOW CREATE TABLE db_1c_test.Test;

Чтобы уничтожить таблицу, пишем:

  • DROP TABLE db_1c_test.Test;

Чтобы просто очистить:

  • TRUNCATE TABLE db_1c_test.Test;

или если хотите с условием что-то удалить:

  • DELETE FROM db_1c_test.Test where date_record > '2023-11-24 12:00:00';

Какие тонкие настройки можно сделать через конфигуратор обработки

Чтобы более тонко настроить ключи, ресурсы и реквизиты, то открываем обработку через конфигуратор:

  • Добавляем свой новый макет компоновки данных
  • В своей СКД создаем свой запрос, а в полях, все что ключи не ставим никакой тип данных
  • Все, что ресурсы указываем числовые
  • Все, что ресурсы, строки или дата, или булево. Все остальное будет конвертироваться в строку или 0.
  • В полях не допускается поле "Периода", поэтому переименовываем в «ПериодРегистратор».
  • Или не указываем вовсе, поле "Период" подставится автоматически исходя из вашего запроса и параметров.

Можно не лезть в конфигуратор для нескольких выгрузок?

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

Просто, если разбираетесь, то можно сделать несколько схем и команд в одной обработке и ее одну администрировать.

Создание #BI дэшборда в #Yandex #DataLens и что может получится

На картинках представлены примеры из Демо базы 1С Управление торговлей 11.5.17.122.

Представлены картинки из мобильной версии DataLens.

Техническая поддержка и обновления

Бесплатный период техподдержки составляет 1 месяц со дня покупки.

Также после приобретения вы получаете 1 месяц бесплатных обновлений.

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

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

Задать вопрос по программе можно по кнопке "Техподдержка" на странице описания.

При создании тикета необходимо предоставить:

  1. Номер заказа
  2. Описание вопроса. Если это ошибки - напишите порядок ваших действий с программой, которые к ней привели (приложите видео/скриншоты/отчеты об ошибке)
  3. Точную конфигурацию 1С, и версию платформы, на которой используете купленное решение (наименование и версию 1С можно взять из раздела "О программе"), версию купленной программы.

К созданной заявке подключается специалист. Дальнейшее обсуждение проблемы будет проходить в тикете техподдержки. Стандартный срок реакции - 24 часа в рабочие дни с момента обращения.

Описание интерфейса

Описание интерфейса обработки

Параметры обработки

В момент установки обработки в вашу конфигурацию будут доступны команды:

  • Синхронизация из 1С в ClickHouseDB, PostgreSQL, и MySQL ручное

  • Фоновая выгрузка (все настройки)

  • Фоновая выгрузка №1 ... №10

  • Фоновая по умолчанию

 

Синхронизация из 1С в ClickHouseDB, PostgreSQL, и MySQL ручное

Запустится основная форма обработки.

Фоновая выгрузка (все настройки)

Задаются настройки расписания для фонового исполнения всех запросов из таблицы запросов в основной форме.

Фоновая выгрузка №1 ... №10

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

Фоновая по умолчанию

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

Основая форма обработки

Вкладка "Настройки"

На этой вкладке задаются параметры подключения к базе данных (ClickhouseDB, PostgreSQL, MySQL) или к сервису приема сообщение API REST.

Имя базы - имя базы данных.

Тип - тип подключения, какая база данных или REST. Подключение к ClickHouseDB осуществляется нативно. Подключение к PostgreSQL и MySQL происходит через Python. Требуется установка на сервер предприятия или на ПК, где запускается обработка версии не менее 3.8. Через консоль Python требуется установить библиотеку подключения к определенной базе данных.

SSL - используется ли защищенное соединение или нет.

Порт - какой порт подключения к базе данных или REST.

Путь до сертификата - сертификат CA который используется для подключения по SSL. Указывается абсолютный путь, куда есть доступ у службы приложений 1С на сервере или на клиенте, если файловый вариант.

Пароль - пароль для авторизации.

Включить параметры запроса REST - вложить ли в строку подключения ? и & параметры исполнения обработки: индекс запроса, индекс итерации, индекс строки итераций, количество передаваемых строк.

Абсолютный путь Python - задается путь, где исполняемый файл Python для запуска скриптов. Можно задать значение python, если задан корректно параметр операционной системы PATH / sbin

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

Сохранить настройки обработки в файл - Кнопка сохранения настроек обработки в формате JSON.

Загрузить настройки обработки из файла - Кнопка загрузки настроек из сохраненного файла настроек в формате JSON.

 

Вкладка "Текущий запрос"

Имя таблицы - наименование таблицы на русском или латинице в подключаемой базе данных или REST. Наименование на кириллице будет переведено в латиницу через транслит.

Проверять? - опция в разработке

Период - период за который требуется выгрузка данных.

Эта текущая дата - опция, если включено, то заданный "Период" игнорируется, а рассчитывается с помощью "Количество дней назад": Дата начала = Текущая дата минус "Количество дней назад", Дата окончания = Текущая дата.

Вызвать конструктор - кнопка вызова стандартного конструктора запросов на языке 1С.

Отправить запрос - кнопка запускается процедуру отправки данных, которые доступны по заданному тексту запроса немедленно.

Поле - Текст запроса

Количество дней назад - сколько дней вычесть из текущей даты для расчета Даты начала.

Количество в портиции - сколько строк из табличной части отправлять в базу данных или REST

Одним файлом - опция, если включено, то отправляется файлом состоящим из строк в портиции. Если выключена, то отправляется построчно.

Использовать период в ключе - опция, если включено, то при создании таблицы в базе данных, добавится поле "Период" и будет использовано в качестве ключа в таблице базы данных. Если выключено, то поле "Период" не будет. В запросе нельзя использовать свое поле "Период", требуется переименовать в "ПериодРегистратор".

Использовать дополнительные ключи - опция, использовать или нет дополнительные ключи в таблице базы данных. В данный момент используются предустановленные ключи: "База", "НомерГТД", "Серия", "НомерСтроки", "СсылкаGUID", "РасчетныйСчет", "Валюта".

Периодичность - список опций: "День", "Месяц". Используется при формирования запроса и установке параметров Дата начала и Дата окончания. Если установлен "День", то при формировании запроса используется дневной интервал для всего запроса, т.е. выгрузка за каждый день и в поле Период подставляется Дата начала. Если "Месяц", то аналогично дню, только месячный интервал. Если поле "ПолеРегистратор" есть, то поле "Период" перезаписывается значением из поля "ПолеРегистратор".

Вкладка "Настройки запросов"

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

 

Форма "Конструктор запросов"

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

Вкладка "Таблицы и поля"

Метаданные объектов доступные для использования в запросе в качестве полей.

Здесь также можно задать параметры для виртуальных таблиц: Дата начала и окончания.

Вкладка "Группировка"

Какие поля группировать, а какие суммировать или усреднять.

Вкладка "Условия"

Задаются условия отбора данных запроса.

Вкладка "Дополнительно"

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

Вкладка "Объединения/псевдонимы"

Задаем наименование полей запроса. Также можно выполнить и объединить несколько однотипных запросов в одном пакете.

Вкладка "Порядок"

Задаются параметры сортировки данных по полям и их порядок.

Вкладка "Пакет запросов"

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

 

Техподдержка
 

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.157.32
  • Управление торговлей, редакция 11, релизы 11.5.17.122
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.30.35
  • Розница, редакция 3.0, релизы 3.0.10.178
  • 1С:Комплексная автоматизация 2, релизы 2.5.20.91
  • Управление производственным предприятием, редакция 1.3, релизы 1.3.122.2
1. JohnyDeath 23.08.24 11:27 Сейчас в теме
Как отслеживаются и отправляются измененные записи?
Например, пользователь что-то исправил задним числом (прошлый месяц/квартал)
3. Техподдержка 23.08.24 12:25
(1)
Спасибо за ваш вопрос.
Это экстрактор (выборка) по вашему запросу из информационной базы, а не иструмент отслеживания.
"Как отслеживаются"
-никак
"и отправляются измененные записи?"
-все что будет запрошено вашим запрос будет отправлено. Записи с одинаковым ключем заменят предыдущие.
-вы можете выставить глубину данных, чтобы обработка выгружала нужный период заново
"Например, пользователь что-то исправил задним числом (прошлый месяц/квартал)"
-если изменения пользователя попадают в "глубину" дней, то ресурс (сумма документа) с одинаковым ключем заменится на новое значение.
-по умолчанию, все числовые данные, это ресурсы

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

Вы также можете обратиться с этим вопросом через менеджера, чтобы подготовить свое уникальное ТЗ под вашу задачу. И она будет решена.
2. Техподдержка 23.08.24 12:17
Спасибо за ваш вопрос.
Это экстрактор (выборка) по вашему запросу из информационной базы, а не иструмент отслеживания.
"Как отслеживаются"
-никак
"и отправляются измененные записи?"
-все что будет запрошено вашим запрос будет отправлено. Записи с одинаковым ключем заменят предыдущие.
-вы можете выставить глубину данных, чтобы обработка выгружала нужный период заново
"Например, пользователь что-то исправил задним числом (прошлый месяц/квартал)"
-если изменения пользователя попадают в "глубину" дней, то ресурс (сумма документа) с одинаковым ключем заменится на новое значение.
-по умолчанию, все числовые данные, это ресурсы

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

Вы также можете обратиться с этим вопросом через менеджера, чтобы подготовить свое уникальное ТЗ под вашу задачу. И она будет решена.
4. SQV0 14.05.25 12:36 Сейчас в теме
Похоже на попытку сплагиатить название оригинальной разработки: Экстрактор данных 1С в BI
https://infostart.ru/marketplace/1755776/

Оставьте свое сообщение

См. также

Загрузка данных из F3 TAIL 3 (еФарма 2) в 1С:БП 3.0 базовая, ПРОФ, КОРП, ФРЕШ

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП, ФРЕШ).

13200 руб.

Экстрактор данных 1С в BI

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациям...

28500 руб.

Загрузка спецификаций в 1С:УНФ из Базис-Мебельщик

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

10200 руб.

IIKO: интеграция. Выгрузка номенклатуры из 1С.

Быстро и легко. Выгрузка всех элементов и групп номенклатуры (с их иерархией), кроме помеченных на удаление. Без использования COM-объектов.

4800 руб.

Загрузка в БГУ из УРМ "Криста"

Обработки для загрузки данных из УРМ "Криста" в бухгалтерию государственного учреждения редакция 2.0. Есть Демо доступ на вкладке Бесплатные файлы на 1 месяц со дня получения демонстрационного ключа регистрации. Поддерживает ПО ...

4800 руб.

Загрузка данных из ПО R-keeper 7 UCS в 1С:Бухгалтерию 3.0

Внешняя обработка для загрузки номенклатуры и документов продаж из базы данных SQL программы R-keeper 7 фирмы UCS в 1с Бухгалтерию 8.3. С возможностью загрузки за период и синхронизации справочников.

9000 руб.