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

12000,00 

Категория:

Описание

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

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

Чтобы выгружать данные из информационной системы во внешнюю базу данных для дальнейшего анализа и создания 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.