Синхронизация 1C с UNA HR

Last modified by Mihail Opinca on 2026/02/02 17:12

Вернуться назад: Для администраторов, внедренцев, разработчиков

Синхронизация 1C с UNA HR

Модуль управления персональными данными в подразделениях

Модуль управления персоналом

Модуль управления персональными данными в подразделениях является важным компонентом системы. Модуль позволяет собирать полные и актуальные данные о персонале. Управление персоналом включает в себя как сбор регистрируемых данных, так и автоматическое управление конкретными потоками:

  • Набор персонала на уровне подразделения
  • Перевод персонала
  • Записи в реестре персонала

Способ, которым персонал, нанятый в подразделении, в конечном итоге попадает в базу данных на уровне подразделения – UNA.md – обеспечивается хорошо отлаженным механизмом синхронизации.

Механизм синхронизации — это самая базовая процедура переноса данных из системы учета в автоматизированную систему учета UNA.md, например, из 1C в UNA.md.

В автоматизированной системе учета UNA.md реализованы два метода синхронизации данных из модуля HR, а именно:

  1. Файловый метод — необходимая информация загружается из системы учета в один или несколько XML-файлов. С помощью утилиты, разработанной командой Unisim-Soft, данные извлекаются из XML-файла или файлов. После обработки данных создаются таблицы миграции и формируются необходимые скрипты для корректного заполнения информации в модуле «Управление персоналом». Весь этот процесс выполняется в 2 клика.

2. Метод драйвера ODBC — в системе учета создается автоматизированная процедура, которая «передаёт» данные в базу данных Oracle, откуда UNA.md получает их для заполнения документов и номенклатуры, необходимых для модуля «Управление персоналом».

Долгожданные пользователями UNA.md механизмы синхронизации были успешно внедрены в нескольких подразделениях, где сотрудникам приходилось вести учет в двух системах. Из системы с меньшим потенциалом для регистрации и ведения учета был применен механизм синхронизации данных между 1C и Oracle, откуда UNA.md переняла данные, разместив все необходимое в документах для модуля управления персоналом.

1C – Механизм синхронизации Oracle

 FILE1.png  Файловый метод
 FILE2.png  1. Запуск обработки в 1C: загрузка объектов в формате XML
 FILE3.png  2. Запуск приложения, созданного Unisim-Soft
 FILE4.png  3. Подключение к базе данных Oracle
 FILE5.png  3. Подключение к базе данных Oracle. Создание необходимых таблиц
 FILE6.png  4. Передача данных в таблицы
 FILE7.png  5. Создание документов и номенклатур в UNA

Механизм синхронизации 1C – Oracle: Метод через драйвер ODBC

  1. Установка драйвера ODBC для Oracle

Перед началом установки драйвера ODBC для Oracle необходимо проверить наличие в системе драйвера Microsoft — MSDAORA или другого драйвера Oracle — OraOLEDB.

Для этого создадим текстовый файл, в котором изменим расширение с .txt на .udl. При открытии файла появится следующее изображение:

FILE8.png

Перейдём на вкладку «Поставщик данных», где находится весь список драйверов в системе.

Примечание: Если необходимый драйвер Microsoft — MSDAORA или Oracle — OraOLEDB отсутствует, то установим его.

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

FILE9.png

Мы нажимаем кнопку «Проверить соединение». Если соединение установлено успешно, то открываем файл .udl с помощью блокнота. Файл должен содержать следующий текст:

Provider=MSDAORA.1;Password=uppr;User ID=uppr;Data Source=clouddev;Persist Security Info=True

2. Создание процедуры в рамках обработки 1C

FILE10.png

FILE11.png

FILE12.png

FILE13.png

FILE14.png

В конфигураторе 1C мы создаем обработку предназначен для загрузки данных из 1C в Oracle.

В процедуре "Выполнить" мы пишем строку и функцию для подключения к провайдеру:

стрПодключения="Provider=MSDAORA.1;Пароль=uppr;Идентификатор пользователя=uppr;Источник данных=clouddev;Постоянная информация о безопасности=True";
ADODBConnect = Новый COMОбъект("ADODB.Connection");
ADODBConnect.Open(стрПодключения);
ADODBConnect.Закрыть();

Создайте запрос, необходимый для синхронизации. Ниже приведен пример синхронизации номенклатуры.

ЗапросВ = Новый Запрос;
ЗапросВ.Текст = "ВЫБРАТЬ
|        Номенклатура.Код как Код ,
|        Номенклатура.ВидНоменклатура КАК Артикул,
|        Номенклатура.Наименование как Наименование
|ИЗ
|        Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|        Номенклатура.ПометкаУдаления = ЛОЖЬ
|        И Номенклатура. ЭтоГруппа = ЛОЖЬ
|        И Номенклатура.Наименование ПОДОБНО ""Nillkin Frosted OnePlus Case%"""
;
Результат = ЗапросВ.Выпонний();
ОбходОбъектов = result.Выбрать();

Мы создаем цикл для результата запроса.

Пока ОбходОбъектов.Следующий() Цикл
КонецЦикла;

Указываем необходимые переменные, в которых будут храниться данные запроса.

NGROUP_TV6 = ОбходОбъектов.Наименование;
COD_ARTIC = ОбходОбъектов.Артикул;
EDIN_IZMER = ОбходОбъектов.Код;

И наконец код, который будет передавать данные через драйвер ODBC в таблицу синхронизации данных между 1С и Oracle.

ADODBConnect.Execute("Insert into STORAGE_TOVAR(NOMENKLATURA_CODE,ARTIKUL,NOMENKLATURA_NAME) values ????("+EDIN_IZMER+" ,"+COD_ARTIC+" ,"+NGROUP_TV6+")");

3. Подключение к базе данных Oracle

4. Создание таблиц для синхронизации в Oracle

Для того чтобы данные из 1C успешно передавались в Oracle, будут созданы таблицы для миграции. Таблицы должны содержать поля с типами данных, предназначенными для данных из 1C. Пример:

CREATE TABLE A1C_SYNCRONIZODBC
(
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.

FILE15.png

FILE16.png

-

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