Настройка импорта справочников

Начало  Предыдущая  Следующая

       Система учета рабочего времени TimeControl позволяет импортировать справочники из распространенных форматов: TXT (текстовый файл), XML, XLS (Excel 97-2003), DBF и 1С версии 7.7, 8.1, 8.2 и 8.3. Для этого в программе предусмотрены профили импорта данных.

 

       По умолчанию в системе настроены профили импорта справочника сотрудников, подразделений и должностей из 1С 7 и 1С 8: зарплата и кадры, а так же примеры импорта справочника должностей из текстового файла, XML, XLS и DBF.

 

       Для доступа к настройкам профилей импорта данных выберите меню "Сервис->Настройка импорта данных...".

 

ImportProfiles

Настройка импорта данных

 

Для всех профилей задаются общие настройки:

 

Название профиля - текстовый идентификатор профиля на английском. Должен иметь уникальное значение и служит для внутренних нужд системы.
Тип источника данных - формат используемый данным профилем импорта (txt, xml, dbf и т.д).
Заголовок загрузки - заголовок, который будет отображаться в справочниках в разделе импорта данных.
Идентификатор группы - очень важная настройка профиля, которая отвечает за принадлежность профиля к конкретному справочнику. На данный момент можно указать PERSON (профиль будет доступен из справочника сотрудников), DEPART (профиль будет доступен из справочника подразделений), DOLJNOST (профиль будет доступен из справочника должностей), GRAPH (профиль будет доступ из графика работ). К примеру, все профили с идентификатором группы DOLJNOST доступны из раздела "Сервис->Импорт данных..." справочника должностей.

 

DoljImport

Пример меню импорта данных справочника должностей

 

Запрос SELECT - задает SQL запрос проверки существования загружаемой записи в справочнике. К примеру, для профилей загрузки сотрудников запрос имеет вид: SELECT U.* FROM USERS U WHERE(U.USER_TYPE IS NULL OR U.USER_TYPE=0) AND (U.SNAME = :SNAME AND U.MIDNAME = :MIDNAME AND U.FIRSTNAME = :FIRSTNAME AND U.BITHDAY = :BITHDAY). Как показано в запросе, уникальность записи проверяется по фамилии, имени, отчетству и дате рождения. Тоесть, если в системе есть сотрудник с загружаемой ФИО и датой рождения, то запись будет обновлена (если другие поля были изменены), иначе запись будет добавлена.
Запрос INSERT - задает SQL запрос добавления записи в справочник (если запись считается новый и была выбрана на этапе загрузки).
Запрос UPDATE - задает SQL запрос обновления записи в справочник (если запись существует и была выбрана на этапе загрузки).
Запрос из источника - запрос данных на языке запросов 1С 8.1, 8.2, 8.3. Для загрузки из 1С 7.7 указывается название справочник. Так же в этом поле можно указать файл загрузки по умолчанию для тругих типов источника данных.
Параметры запроса источника - параметры передаваемые в запрос 1С 8.1, 8.2, 8.3. К примеру, Период=[NOW]
Разделитель текстового файла - разделитель между колонками
Кодировка текстового файла
Количество сток в заголовке - можно отступить нужно количество строк прежде чем начать загрузку

 

Список загружаемых полей:

 

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

 

Поле БД - название поля в базе данных системы. Эти поля используются в запросах INSERT и UPDATE, и в качестве параметров запроса SELECT.
Заголовок - текстовый заголовок поля в предварительной таблице загрузки.
Тип - тип загружаемого поля. Принимает следующие значения:
1."Обычное поле" - означает, что значение загрузки соответствует значению поля.
2."Выбор значений (Lookup)" - между загружаемыми данными и данными поля БД настраивается соответствие в поле "Значение LOOKUP". К примеру, поле POL (пол сотрудника) в системе TimeControl имеет значения 1 - Мужской, 2 - Женский, а в системе 1С 8 0 - Мужской, 1 - Женский. Поэтому в соответствии полей нужно указать:

                 0=1=Мужской

                 1=2=Женский        

Где каждая запись вида: "значение в базе TimeControl=значение в загружаемом источнике=отображаемое значение".        

3. "Выбор из справочника" - необходимо для поиска внутреннего идентификатора в системе TimeControl. К примеру, загружаем код должности сотрудника, нам необходимо определить внутрений идентификатор должности в системе. Для этого в поле "Запрос из справочника" указываем: SELECT ID FROM DOLJNOST WHERE CODE=:VALUE AND CODE IS NOT NULL. В параметр VALUE запроса передается текстовый код из загружаемых данных и по этому коду в справочнике должностей ищется внутренний идентификатор должности в системе.

Проверять - если признак включен и значение поля в системе не совпадает со значение поля в источнике, то считается, что запись изменена. В этом случае запись на этапе загрузки будет подсвечена зеленым.
Колонка - номер колонки в источнике данных, соответсвующая данному полю. Заполняется для источников данных: TXT (текстовый файл) и XLS (Excel 97-2003).
Размер - размер колонки в окне загрузки.
Порядок - порядок колонки в окне загрузки.
Функция - функция позволяет обработать данные перед загрузкой. К примеру, функция "Фамилия из ФИО" получает только фамилию из поля, в котором указано полностью ФИО.
Поле источника - название загружаемого поля в источнике данных. Заполняется для источников данных: XML, DBF, 1С 7 и 1С 8.
Значение LOOKUP - дополнительная информация для поля типа "Выбор значений (Lookup)".
Запрос из справочника - дополнительная информация для поля типа "Выбор из справочника".

 

 

Рассмотрим нюансы настройки импорта для разных источников данных:

 

Текстовый файл

       Для текстового файла в поле "запрос из источника" указывается полный путь к файлу. Если путь не указан или данный файл не существует, то на этапе загрузки будет предложено выбрать файл.

       В поле "разделитель текстового файла" необходимо указать разделитель между полями. К примеру, есть файл:

 

       0000001|Бухгалтер

       0000002|Водитель

 

каждая строка файла это новая запись, а разделителем между полями служит | .

       Если кодировка текстового файла отличается от WIN1251, то в поле "кодировка текстового файла" необходимо указать номер кодовой страницы. К примеру, для UTF8 это 65001.

 

XML файл

       Для XML файла в поле "запрос из источника" указывается полный путь к файлу. Если путь не указан или данный файл не существует, то на этапе загрузки будет предложено выбрать файл. В "поле источника" заполняются названия свойств. В примере ниже, это CODE и DOLJNAME.

 

       <?xml version="1.0"?>

          <DOLJNOST_SPRAV>

          <DOLJNOST CODE="300001" DOLJNAME="Бухгалтер"/>

          <DOLJNOST CODE="300002" DOLJNAME="Программист"/>

          </DOLJNOST_SPRAV>

 

       Если кодировка текстового файла отличается от UTF8, то в поле "кодировка текстового файла" необходимо указать номер кодовой страницы. К примеру, для WIN1251 это 1251.

 

XLS файл

       Для XLS файла в поле "запрос из источника" указывается полный путь к файлу. Если путь не указан или данный файл не существует, то на этапе загрузки будет предложено выбрать файл. В поле колонка указывается номер колонки в Excel, соответствующей полю в базе данных. Обращаем Ваше внимание, что загрузка данных идет с первого листа Excel файла.

 

DBF файл

       Для DBF файла в поле "запрос из источника" указывается полный путь к файлу. Если путь не указан или данный файл не существует, то на этапе загрузки будет предложено выбрать файл. В поле "поле источника" заполняются названия колонок DBF файла.

 

1С 7

       В поле "запрос из источника" указывается название загружаемого справочника 1С. К примеру для сотрудников, это справочник "Сотрудники". В поле "поле источника" указываются реквизиты данного справочника. К примеру, "Код" - это код записи, "Наименование" - это ФИО сотрудника. Так же, можно использовать обращения к детальным таблицам. Тоесть, если написать "Должность.Должности.Код", то мы получим код должности загружаемого сотрудника.

       Для корректного подключения системы к 1С7 необходимо установить настройки подключения в "Настройки->Сервис->1С экспорт\импорт". Нужно  указать имя 1С сервера (как правило, это V77.Application) и задать строку инициализации (/DD:\PRB\  - данная строка говорит о том, что база 1С лежит на диске D в папке PRB).

 

В полях "Имя 1С Сервера", "Имя 1С COM Connector", "Строка инициализации" можно переопределить параметры подключения к 1С для текущего профиля загрузки. Это позволяет загружать данные из разных баз 1С без смены глобальных настроек.

 

1С 8.1, 8.2, 8.3

       В поле "запрос из источника" указывается запрос на скриптовом языке 1С 8. В поле "поле источника" указываются названия полей данного запроса. Важно, чтобы поля имели названия на английском.

       Для корректного подключения системы к 1С8 необходимо установить настройки подключения в "Настройки->Сервис->1С экспорт\импорт". Нужно указать имя 1С Com Connector (как правило, это v82.COMConnector) и задать строку инициализации (File="C:\Users\Admin\Documents\1C\DemoHRM"; usr="Администратор"; pwd="";  - данная строка говорит о том, что база 1С лежит на диске C в папке C:\Users\Admin\Documents\1C\DemoHRM, подключаемый пользователь Администратор с пустым паролем).

 

       В полях профиля импорта "Имя 1С Сервера", "Имя 1С COM Connector", "Строка инициализации" можно переопределить параметры подключения к 1С для текущего профиля загрузки. Это позволяет загружать данные из разных баз 1С без смены глобальных настроек.

 

       С примерами настройки профилей можно ознакомиться в системе в меню "Сервис->Настройка импорта данных...".