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