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

12000,00 

Описание

Онлайн доставка заказа после оплаты.

Скачать можно будет только один раз, ссылка разовая.

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

Внимание!

С 01.09.2025 повышение цены до 18 000 рублей.

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

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

Чтобы выгружать данные из информационной системы во внешнюю базу данных для дальнейшего анализа и создания 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 часов)
  • 1С-Рарус: Альфа-Авто: Автосалон+Автосервис+Автозапчасти Корп. Редакция 6 (6.1.17.09) / АА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С в 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С.

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

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

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

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

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

Вкладка “Условия”

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

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

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

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

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

Вкладка “Порядок”

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

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

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