Настройка синхронизации — различия между версиями
(не показано 8 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
==Общее описание== | ==Общее описание== | ||
− | + | Сервис синхронизации позволяет выгружать документы, справочники данные регистров в СБИС. | |
+ | Все потребительские настройки выведены в интерфейс обработки, здесь рассматриваются вопросы адаптации внешней обработки под нестандартные конфигурации или особые пожелания клиентов. | ||
+ | |||
+ | ===Почему возникает необходимость настройки?=== | ||
+ | Конфигурации 1С зачастую изменяются пользователями, в результате таблицы, поля, предусмотренные в типовой конфигурации, могут называться по-другому, или вообще отсутствовать. | ||
+ | |||
+ | == Дополнительные функции обработки данных (хэндлеры) == | ||
+ | Позволяют внести изменения в данные расчета по файлам настроек в случае сильно не стандартных решений и когда файлом настройки невозможно сформировать [[:Категория:SBIS_API3_Объект|нужную структуру данных]]. | ||
+ | ===before_calc=== | ||
+ | ===after_calc=== | ||
+ | Группа обработчиков handlers_after_calc вызывается .... | ||
+ | ====split_document==== | ||
+ | Формирует по указанной табличной части объекта отдельные записи в ESO. | ||
+ | |||
+ | Параметры: | ||
+ | * name_table_doc (обяз) - имя табличной части объекта, по которой происходит разбивка. | ||
+ | Алгоритм: | ||
+ | ..... | ||
+ | ====split_and_rewrite_document_overtime==== | ||
+ | Обработчик парсит входящий массив на ESO по name_table_doc и name_split_param_1/name_split_param_2. А так же подставляем значения из name_param_3/name_param_4 в итоговую структуру в зависимости от условия. Собираем финальный объект по согласованной структуре | ||
+ | # Обработчик ''handler_group_table'' | ||
+ | #* Обработчик группировки таблиц. Делает группировку по параметрам group. Допускается последовательная группировка при нескольких узлах group. Поля, не указанные в группировках group_by, group_what, group_joined отсекаются. Пример настройки можно посмотреть в синхронизации кадровых документов с 1С КАМИН расчет зарплаты 5.0. | ||
+ | #* Допустимые параметры group: | ||
+ | #*# data_get (необяз) - путь к группируемым данным. Если не указан, либо пуст то берется корень | ||
+ | #*# data_put (необяз) - куда положить новые сгруппированные данные. Если не указан, либо пуст то берётся как data_get | ||
+ | #*# group_by (обяз) - перечисление полей через "," по которым проходит группировка | ||
+ | #*# group_joined (необяз) - перечисление полей, связанных с группировками. Указанные поля добавятся в результирующую строку из первой группировки значения. Служит для уменьшения выборки поиска, в это поле рекомендуется добавить все, что завязано на группируемые поля. | ||
+ | #*# group_what (необяз) - узлы с описанием группируемых параметров. | ||
+ | #*#* Допустимые параметры: | ||
+ | #*## function (обяз) - функция группировки. Доступные функции: sum, min, max, count, count_diff | ||
+ | #*## key (необяз) - ключ данных. Если не указан, то берётся имя узла. | ||
+ | #*## type (необяз) - приведение значения к типу. Например, для суммирования числа. Доступные типы: int, str, array (если не массив, то создается массив со значением). Если не указан, то должен совпадать для всех группируемых элементов. | ||
+ | #*# group_in_table (необяз) - узлы с формированием данных в подтаблицу для каждой группируемой строки. Имя новой таблицы определяется по имени узла. | ||
+ | #*#* Допустимые параметры: | ||
+ | #*## group_by (необяз) - путь к дополнительным группируемым данным (помимо group_by основной группировки). | ||
+ | #*## group_joined, group_what алогично основной группировке таблицы. | ||
+ | # Обработчик ''handler_multiply_sub_objects'' | ||
+ | #* Обработчик клонирует указанные объекты в таблице ESO, добавляя в ID копии, значения этих подобъектов или их ID. Исходный объект при этом помечается типом "Служебный", а в данных по указанному пути, значение старого объекта меняется на новое. Пример настройки можно посмотреть в синхронизации кадровых документов с 1С КАМИН расчет зарплаты 5.0. | ||
+ | #* Допустимые параметры multiply: | ||
+ | #*# multiply_by (обяз) - путь к копируемым данным через ".". Если на пути встречается массив объектов (табличная часть), скопированы будут объекты по всем строкам. | ||
+ | #*# multiply_what(обяз) - путь к значению, по которому будет выполнено копирование через ".". В случае объекта, берётся его уникальный идентификатор. Если на пути встречается массив объектов (табличная часть), то копирование будет проведено по каждому объекту по всем строкам. | ||
+ | #* Примечание: в случае, если начальный путь в multiply_by и multiply_what какое-то время совпадает, то копирование проводится по остаточному различию в пути. Например, запись вида | ||
+ | |||
+ | [[Файл:Запись multiply.png|Алгоритм формирования XML.png]] | ||
+ | |||
+ | приведет к тому, что по каждой строке таблицы Сотрудники будет проведено копирование объекта Сотрудник с идентификатором из объекта НашаОрганизация из ''той же строки'', а не по всем записям таблицы Сотрудники. | ||
+ | * Группа обработчиков '''handlers_before_execute'''. | ||
+ | # Обработчик ''set_priority_to_hierarchy_objects'' | ||
+ | #* Обработчик устанавливает приоритет обработки для объектов, с включенным параметром "Иерархия" ("Истина") в файле настроек. В результате работы обработчика не получится ситуации, при которой потомок будет обрабатываться раньше, чем его предок. | ||
+ | #* Допустимые параметры: | ||
+ | #*# Иерархия - (необяз). Добавляется как узел "Иерархия" в основной узел "ини". Принимает значения 'Истина'/'Ложь'. Если не указан, то значение 'Ложь'. | ||
+ | * Группа обработчиков '''handlers_after_execute'''. | ||
[[Категория:1С]] | [[Категория:1С]] |
Текущая версия на 11:38, 23 января 2020
Содержание
Общее описание
Сервис синхронизации позволяет выгружать документы, справочники данные регистров в СБИС. Все потребительские настройки выведены в интерфейс обработки, здесь рассматриваются вопросы адаптации внешней обработки под нестандартные конфигурации или особые пожелания клиентов.
Почему возникает необходимость настройки?
Конфигурации 1С зачастую изменяются пользователями, в результате таблицы, поля, предусмотренные в типовой конфигурации, могут называться по-другому, или вообще отсутствовать.
Дополнительные функции обработки данных (хэндлеры)
Позволяют внести изменения в данные расчета по файлам настроек в случае сильно не стандартных решений и когда файлом настройки невозможно сформировать нужную структуру данных.
before_calc
after_calc
Группа обработчиков handlers_after_calc вызывается ....
split_document
Формирует по указанной табличной части объекта отдельные записи в ESO.
Параметры:
- name_table_doc (обяз) - имя табличной части объекта, по которой происходит разбивка.
Алгоритм: .....
split_and_rewrite_document_overtime
Обработчик парсит входящий массив на ESO по name_table_doc и name_split_param_1/name_split_param_2. А так же подставляем значения из name_param_3/name_param_4 в итоговую структуру в зависимости от условия. Собираем финальный объект по согласованной структуре
- Обработчик handler_group_table
- Обработчик группировки таблиц. Делает группировку по параметрам group. Допускается последовательная группировка при нескольких узлах group. Поля, не указанные в группировках group_by, group_what, group_joined отсекаются. Пример настройки можно посмотреть в синхронизации кадровых документов с 1С КАМИН расчет зарплаты 5.0.
- Допустимые параметры group:
- data_get (необяз) - путь к группируемым данным. Если не указан, либо пуст то берется корень
- data_put (необяз) - куда положить новые сгруппированные данные. Если не указан, либо пуст то берётся как data_get
- group_by (обяз) - перечисление полей через "," по которым проходит группировка
- group_joined (необяз) - перечисление полей, связанных с группировками. Указанные поля добавятся в результирующую строку из первой группировки значения. Служит для уменьшения выборки поиска, в это поле рекомендуется добавить все, что завязано на группируемые поля.
- group_what (необяз) - узлы с описанием группируемых параметров.
- Допустимые параметры:
- function (обяз) - функция группировки. Доступные функции: sum, min, max, count, count_diff
- key (необяз) - ключ данных. Если не указан, то берётся имя узла.
- type (необяз) - приведение значения к типу. Например, для суммирования числа. Доступные типы: int, str, array (если не массив, то создается массив со значением). Если не указан, то должен совпадать для всех группируемых элементов.
- group_in_table (необяз) - узлы с формированием данных в подтаблицу для каждой группируемой строки. Имя новой таблицы определяется по имени узла.
- Допустимые параметры:
- group_by (необяз) - путь к дополнительным группируемым данным (помимо group_by основной группировки).
- group_joined, group_what алогично основной группировке таблицы.
- Обработчик handler_multiply_sub_objects
- Обработчик клонирует указанные объекты в таблице ESO, добавляя в ID копии, значения этих подобъектов или их ID. Исходный объект при этом помечается типом "Служебный", а в данных по указанному пути, значение старого объекта меняется на новое. Пример настройки можно посмотреть в синхронизации кадровых документов с 1С КАМИН расчет зарплаты 5.0.
- Допустимые параметры multiply:
- multiply_by (обяз) - путь к копируемым данным через ".". Если на пути встречается массив объектов (табличная часть), скопированы будут объекты по всем строкам.
- multiply_what(обяз) - путь к значению, по которому будет выполнено копирование через ".". В случае объекта, берётся его уникальный идентификатор. Если на пути встречается массив объектов (табличная часть), то копирование будет проведено по каждому объекту по всем строкам.
- Примечание: в случае, если начальный путь в multiply_by и multiply_what какое-то время совпадает, то копирование проводится по остаточному различию в пути. Например, запись вида
приведет к тому, что по каждой строке таблицы Сотрудники будет проведено копирование объекта Сотрудник с идентификатором из объекта НашаОрганизация из той же строки, а не по всем записям таблицы Сотрудники.
- Группа обработчиков handlers_before_execute.
- Обработчик set_priority_to_hierarchy_objects
- Обработчик устанавливает приоритет обработки для объектов, с включенным параметром "Иерархия" ("Истина") в файле настроек. В результате работы обработчика не получится ситуации, при которой потомок будет обрабатываться раньше, чем его предок.
- Допустимые параметры:
- Иерархия - (необяз). Добавляется как узел "Иерархия" в основной узел "ини". Принимает значения 'Истина'/'Ложь'. Если не указан, то значение 'Ложь'.
- Группа обработчиков handlers_after_execute.