Синхронизация 1C с UNA HR
Вернуться назад: Для администраторов, внедренцев, разработчиков
Синхронизация 1C с UNA HR
Модуль управления персональными данными в подразделениях
Модуль управления персоналом
Модуль управления персональными данными в подразделениях является важным компонентом системы. Модуль позволяет собирать полные и актуальные данные о персонале. Управление персоналом включает в себя как сбор регистрируемых данных, так и автоматическое управление конкретными потоками:
- Набор персонала на уровне подразделения
- Перевод персонала
- Записи в реестре персонала
Способ, которым персонал, нанятый в подразделении, в конечном итоге попадает в базу данных на уровне подразделения – UNA.md – обеспечивается хорошо отлаженным механизмом синхронизации.
Механизм синхронизации — это самая базовая процедура переноса данных из системы учета в автоматизированную систему учета UNA.md, например, из 1C в UNA.md.
В автоматизированной системе учета UNA.md реализованы два метода синхронизации данных из модуля HR, а именно:
- Файловый метод — необходимая информация загружается из системы учета в один или несколько XML-файлов. С помощью утилиты, разработанной командой Unisim-Soft, данные извлекаются из XML-файла или файлов. После обработки данных создаются таблицы миграции и формируются необходимые скрипты для корректного заполнения информации в модуле «Управление персоналом». Весь этот процесс выполняется в 2 клика.
2. Метод драйвера ODBC — в системе учета создается автоматизированная процедура, которая «передаёт» данные в базу данных Oracle, откуда UNA.md получает их для заполнения документов и номенклатуры, необходимых для модуля «Управление персоналом».
Долгожданные пользователями UNA.md механизмы синхронизации были успешно внедрены в нескольких подразделениях, где сотрудникам приходилось вести учет в двух системах. Из системы с меньшим потенциалом для регистрации и ведения учета был применен механизм синхронизации данных между 1C и Oracle, откуда UNA.md переняла данные, разместив все необходимое в документах для модуля управления персоналом.
1C – Механизм синхронизации Oracle
| Файловый метод |
|---|---|
| 1. Запуск обработки в 1C: загрузка объектов в формате XML |
| 2. Запуск приложения, созданного Unisim-Soft |
|---|---|
| 3. Подключение к базе данных Oracle |
| 3. Подключение к базе данных Oracle. Создание необходимых таблиц |
|---|---|
| 4. Передача данных в таблицы |
| 5. Создание документов и номенклатур в UNA |
Механизм синхронизации 1C – Oracle: Метод через драйвер ODBC
- Установка драйвера ODBC для Oracle
Перед началом установки драйвера ODBC для Oracle необходимо проверить наличие в системе драйвера Microsoft — MSDAORA или другого драйвера Oracle — OraOLEDB.
Для этого создадим текстовый файл, в котором изменим расширение с .txt на .udl. При открытии файла появится следующее изображение:

Перейдём на вкладку «Поставщик данных», где находится весь список драйверов в системе.
Примечание: Если необходимый драйвер Microsoft — MSDAORA или Oracle — OraOLEDB отсутствует, то установим его.
Чтобы не ошибиться с подключением, можно воспроизвести его, используя файл .udl. На вкладке «Поставщик данных» выберем необходимый поставщик, перейдём на вкладку «Подключение», заполним необходимые поля в соответствии с назначением.

Мы нажимаем кнопку «Проверить соединение». Если соединение установлено успешно, то открываем файл .udl с помощью блокнота. Файл должен содержать следующий текст:
Provider=MSDAORA.1;Password=uppr;User ID=uppr;Data Source=clouddev;Persist Security Info=True
2. Создание процедуры в рамках обработки 1C





В конфигураторе 1C мы создаем обработку предназначен для загрузки данных из 1C в Oracle.
В процедуре "Выполнить" мы пишем строку и функцию для подключения к провайдеру:
ADODBConnect = Новый COMОбъект("ADODB.Connection");
ADODBConnect.Open(стрПодключения);
ADODBConnect.Закрыть();
Создайте запрос, необходимый для синхронизации. Ниже приведен пример синхронизации номенклатуры.
ЗапросВ.Текст = "ВЫБРАТЬ
| Номенклатура.Код как Код ,
| Номенклатура.ВидНоменклатура КАК Артикул,
| Номенклатура.Наименование как Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ПометкаУдаления = ЛОЖЬ
| И Номенклатура. ЭтоГруппа = ЛОЖЬ
| И Номенклатура.Наименование ПОДОБНО ""Nillkin Frosted OnePlus Case%""";
Результат = ЗапросВ.Выпонний();
ОбходОбъектов = result.Выбрать();
Мы создаем цикл для результата запроса.
КонецЦикла;
Указываем необходимые переменные, в которых будут храниться данные запроса.
COD_ARTIC = ОбходОбъектов.Артикул;
EDIN_IZMER = ОбходОбъектов.Код;
И наконец код, который будет передавать данные через драйвер ODBC в таблицу синхронизации данных между 1С и Oracle.
3. Подключение к базе данных Oracle
4. Создание таблиц для синхронизации в Oracle
Для того чтобы данные из 1C успешно передавались в Oracle, будут созданы таблицы для миграции. Таблицы должны содержать поля с типами данных, предназначенными для данных из 1C. Пример:
(
NRDOC NUMBER,
NRDOC1 NUMBER,
PROVIDEN VARCHAR2(25 BYTE),
NUMBER_DOC VARCHAR2(25 BYTE),
DATA1C VARCHAR2(50 BYTE),
NUMBER_NACLAID VARCHAR2(50 BYTE),
NUMBER_SCHEDULE VARCHAR2(25 BYTE),
SCLAD VARCHAR2(200 BYTE),
CONTRACT_NUMBER VARCHAR2(25 BYTE),
CONTAGENT VARCHAR2(250 BYTE),
COMMODITY_CODE VARCHAR2(25 BYTE),
STRIHCOD_TOV VARCHAR2(50 BYTE),
GOODS VARCHAR2(250 BYTE),
KOL_VO NUMBER(15,4),
TENA NUMBER(15,4),
SUM NUMBER(15,4),
SUMA_DOCUM NUMBER(15,4),
KOLVO_ZAKAZ NUMBER(15,4),
SERIA VARCHAR2(25 BYTE),
STATUS VARCHAR2(100 BYTE),
PROVEDEN VARCHAR2(25 BYTE),
CTNUM7 NUMBER
)
5. Создание документов, номенклатур. Проверка документов в UNA.md
Будут созданы процедуры и скрипты, которые будут включены в задание. Задание предназначено для автоматического извлечения данных из 1C в UNA.


-
Этот механизм синхронизации исключает необходимость двойного ввода данных и обеспечивает согласованность информации между файлами 1C и UNA.md. Файловый метод проще и чаще используется, а метод ODBC рекомендуется для полной автоматизации и непрерывной интеграции.