очистка инструкций

This commit is contained in:
2023-06-01 16:42:11 +05:00
parent 36c0897c92
commit b738481a1f
1732 changed files with 1010 additions and 7240 deletions

View File

@ -0,0 +1,8 @@
- [Вкладка "Входящие документы"](Вкладка Входящие документы.md)
- [Вкладка "Исходящие документы"](Вкладка Исходящие документы.md)
- [Вкладка "Произвольные выборки"](Вкладка Произвольные выборки.md)
- [Вкладка "Соответствие справочников"](Вкладка Соответствие справочников.md)
- [Вкладка "Справочники"](Вкладка Справочники.md)
- [Настройка интеграции с форматом JSON](Настройка интеграции с форматом JSON.md)
- [Настройка интеграция справочников и документов](Настройка интеграция справочников и документов.md)
- [Описание работы с Postman](Описание работы с Postman.md)

View File

@ -0,0 +1,82 @@
# Вкладка «Входящие документы»
Для настройки нужно выбрать в меню *группу Администрирование -> Система -> Настройка параметров обмена с 1С*.<br>
![Рисунок 1 Настройка параметров обмена с 1С](./media/Настройка_параметров_обмена_с_1С.png)<br>
Данная вкладка предназначена для описания настроек по документам, забираемым из 1С, например: «Документ на подписание», «Документ в Лексеме» .<br>
При первом входе в документ, табличная часть вкладки «Входящие документы» будет пред заполнена.<br>
В зависимости от того, на каком «Типе» строк вызывается справочник для выбора будет соответствующий набор данных. <br>
Например, для Подтипа документа на подписание будут подтипы из «Конструктора документов» с типом «Документ на подписание»:<br>
![Рисунок 1 Подтипы_на_подписание](./media/Подтипы_на_подписание.png){: .zoom} <br>
![Рисунок 2 Входящие1](./media/Входящие1.png){: .zoom} <br>
Для документов на подписание, с одной сущностью 1С, например Дополнительный отпуск (компенсация) и учебный отпуск прошу настроена загрузка в разные подтипы документов:
![Рисунок 3 Одна сущность 2 приказа](./media/Одна сущность 2 приказа.PNG){: .zoom} <br>
В параметр для запроса сущности в 1С при этом пишем идентификатор, который отличит эти типы документов, например, <br>
?$filter=ДополнительныеОтпуска/ВидОтпуска_Key eq guid'cf447156-eb49-11e8-5f86-005056ab6485' and Date gt datetime'2022-07-01T00:00:00' <br>
В документы на подписание также можно забирать печатные формы, прикрепляемые к документу "Сотрудники" в 1С:
![Рисунок 4 Сотрудники_отчеты](./media/Сотрудники_отчеты.PNG){: .zoom} <br>
Для этого в поле **"Условие наличия отчета в 1С"** пишем название отчета, который является признаком готовности забрать <br> комплект печатных форм, описанных в колонке **"Наименование отчетов в 1С для загрузки"** во вложения к документу.<br>
Например, <br>
**"Условие наличия отчета в 1С"** = Комплект документов при приеме<br>
**"Наименование отчетов в 1С для загрузки"** = Комплект документов при приеме;Личная карточка (Т-2) <br>
Для указания параметров загрузки документов и вложений с типом «Дата» введены следующие переменные:
- {{LastDay}} переменная для определения количества дней, за которое нужно выбрать данные для загрузки. Значение задается в настройках учетной политики в константе **"ЗаСколькоПоследнихДнейЗагружатьДокументыИз1С"**.
Например, `?$filter=Date gt datetime'{{LastDay}}'` со значением константы 10 за последние 10 дней будут загружаться данные
- {{FirstDayMonth}} переменная для определения даты, до которой нужно загружать документы прошлого месяца. Значение задается в настройках учетной политики в константе **оКакогоЧислаЗагружатьДокументыИз1С_ЗаПрошлыйМесяц"**.
Например, `?$filter=Date gt datetime'{{ FirstDayMonth }}'` со значением константы 15 до 15.12.22 будут загружаться данные с 01.12.22
- {{YesterDay}} переменная, обозначающая предыдущий день от текущего.
Например, `?$filter=ДатаСоздания ge datetime'{{YesterDay}}'` если сегодня 15.12.22, то документы для загрузки будут выбраны за 14.12.22
Столбец **"Дата начала проверки отчетов по кодам (guid-ам)"**. В нужной строке указывается дата и документы с заданными сущностями и параметрами, отчеты которых будут загружаться каждый раз, когда в 1С будут вкладывать новые отчеты. Без отчетов такие документы грузиться не будут, даже если "Условие наличия отчета" - пусто.
В случае если необходимо в один документ на подписание вложить два отчета, то необходимо в столбец **"Наименования отчетов в 1С для для загрузки во вложения к документу"** то через двоеточие указывать название второго отчета. Если в данном столбце указано одно либо несколько наименований отчета, то при выгрузке из 1С данный документ будет отмечен как главный документ. Если указаны несколько наименований отчетов, но в 1С отсутствует отчет с первым названием, но присутствуют другие, то "главным" проставляется тот отчет, у которого наименьшая датой создания. Такое же правильно распространяется в случае если данное поле незаполнено никакими наименованиями. [Главный документ](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%A1%D0%AD%D0%94/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%20%D1%81%D0%BE%20%D0%B2%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%20%D1%81%D0%BE%20%D0%B2%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8/#%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D1%8B%D0%B9_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82), согласно определению Минтруда, указывает на основной электронный документ и помогает определить все остальные файлы как пояснительные документы.
В случае если необходимо загружать только документы для сотрудников с датой перехода на КЭДО, необходимо для таких видов проставить галку в столбце **"Загружать только для сотрудников с датой перехода на КЭДО"**.
## Документ на подписание
Документ на подписание может быть создан в СЭД из Заявления сотрудников, либо быть не связанным с Заявлением документом, для которого необходимо пройти процедуру согласования в СЭД. <br>
Поле **«Наименование документа»** должно быть одинаковым на вкладках «Исходящие документы» и «Входящие документы», относящимся к одной сущности 1С, в том случае, если *необходимо забирать из 1С документы, которые созданы на основании Заявлений из СЭД*. <br>
Если же необходимо забирать *документы указанной сущности 1С, не связанных с Заявлениями из СЭД*, то в строке «Подтип документа на подписание» на вкладке «Входящие документы» необходимо указать «Наименование документа», отличное от закладки «Исходящие документы».<br>
Для каждого документа на подписание, обмен которыми планируется между системами, необходимо создать «Подтип документа» и оформить для него карточку «Конструктора документов».<br>
![Рисунок 1 Документ_на_подписаниеонструктор](./media/Документ_на_подписаниеонструктор.png){: .zoom} <br>
![Рисунок 2 Докумет_на_подписание2](./media/Докумет_на_подписание2.png){: .zoom} <br>
**Справочник в Лексеме** подтип из Конструктора документов для типа «Документ на подписание», который указан в поле Наименование документа.<br>
**Наименование документа** наименование документа, с которым будет происходить обмен данными. <br>
**Сущность в 1С** сущность на стороне 1С для обмена данными. В этих строчках указываются параметры для передачи документов на подписание в 1С.<br>
**Параметры** - условия для загрузки документа в СЭД , например, для документа «Отпуск» - это { "ПредоставитьОсновнойОтпуск": true, "ДокументРассчитан": true }, так как данный вид сущности должен быть рассчитан . А для отпуска без сохранения оплаты параметры будут заполнены следующим образом: {"ВидОтпуска_Key":"7601b82e-8584-11e2-9371-001b11b25590"}. Определение параметров выполняется исходя из анализа сущности 1С.<br>
**Наименование отчета в 1С** наименование отчета в 1С, присоединенного к документу, наличие которого является обязательным условием для импорта документа из 1С в СЭД.<br>
Например, для документа «Отпуск» во вложении анализируется наличие Приказа о предоставлении отпуска (Т-6). Если еще нет вложения, то приказ считается не удовлетворяющим условиям загрузки и не попадет в СЭД. Если в настройках наименование отчета не указано, то для импорта этого документа наличие какого-либо отчета не является необходимым условием и этот документ будет импортирован даже без единого отчета. При этом при импорте документов всегда забираются все вложения прикрепленные в 1С.<br>
**Сущность вложения** наименование сущности 1С, в которую необходимо передавать данные. Содержит перечень файлов наименование, расширение, связка с документом в 1С, например, *Catalog_ОтпускПрисоединенныеФайлы*<br>
**Сущность файла** InformationRegister_ДвоичныеДанныеФайлов, сущность, в которой хранятся все файлы в двоичном представлении.<br>
Существует два вида условий для выбора документов в 1С для формирования «Документа на подписание» в СЭД:<br>
• наличие во вложении отчета с определенным наименованием (например, для отпуска - это отчет «Приказ о предоставлении отпуска (Т-6…». ) <br>
• условия из поля «Параметры» (например, для отпуска, статус ДокументРассчитан).<br>
## Документ в Лексеме
Для настройки нужно выбрать в меню *группу Администрирование -> Система -> Настройка параметров обмена с 1С*.<br>
![Рисунок 1 Настройка параметров обмена с 1С](./media/Настройка_параметров_обмена_с_1С.png)<br>
Для загрузки документов 1С в документы, отличные от Документов на подписание, то есть физические документы СЭД предусмотрен блок настроек с типом «Документ в Лексеме».<br>
Отличием настроек от предыдущих документов является поле *«Порядок выполнения»* и *«Наименование документа»*.<br>
**Порядок выполнения** указывается по документам, для загрузки которых важна хронология этапов. Например, для документа «График отпусков» - сначала необходимо загрузить *«График отпусков»*, затем *«Перенос отпуска»*:<br>
![Рисунок 1 Документ_в_Лексеме](./media/Документ_в_Лексеме.png){: .zoom} <br>
**Наименование документа** форма СЭД, например, «RP_VacationForm».<br>
**Сущность 1С** наименование метаданных для загрузки в СЭД, например, Document_ГрафикОтпусков<br>
**Параметры** не заполняются, так как данные не передаются в 1С.<br>
**Сущность вложения** - сущность вложений файлов в 1С, из которой забираем данные. В ней хранится перечень файлов наименование, расширение, связка с документом в 1С, например, Catalog_ ГрафикОтпусковПрисоединенныеФайлы<br>
**Сущность файла** InformationRegister_ДвоичныеДанныеФайлов, сущность 1С, в которой хранятся все файлы в двоичном представлении. <br>

View File

@ -0,0 +1,152 @@
# Вкладка "Исходящие документы"
Для настройки нужно выбрать в меню *группу Администрирование -> Система -> Настройка параметров обмена с 1С*.<br>
![Рисунок 1 Настройка параметров обмена с 1С](./media/Настройка_параметров_обмена_с_1С.png)<br>
Данная вкладка предназначена для описания настроек по документам, отправляемым в 1С. <br>
При первом входе в документ, табличная часть вкладки «Исходящие документы» будет пред заполнена.<br>
![Рисунок 1 Вкладкасходящиеокументы](./media/Вкладкасходящиеокументы.png){: .zoom} <br>
Необходимо заполнить столбец «Справочник в Лексеме» в строках с «Типами»: <br>
• Заявление от сотрудника<br>
• Реквизиты заявлений от сотрудников<br>
• Служебная записка на командировку<br>
В зависимости от того, на каком «Типе» строк вызывается справочник для выбора будет соответствующий набор данных. <br>
## Заявления от сотрудников
Для «Типа» строк «Заявления от сотрудников» необходимо заполнить следующие поля:
**Справочник в Лексеме** подтип из документа «Конструктор документов» с типом «Заявление от сотрудника»:
![Рисунок 1 Справочник_для_заявлений](./media/Справочник_для_заявлений.png){: .zoom}<br>
![Рисунок 1 Конструктор_Заявления](./media/Конструктор_Заявления.png){: .zoom}<br>
**Наименование документа** наименование документа, в который будут передаваться данные. <br>
**Сущность в 1С** наименование метаданных для обмена данными с 1С. Для заявлений указываются параметры для передачи. Например, Document_Отпуск.<br>
**Параметр** #- шаблон json передачи данных в 1С для создания приказа, указанного в столбцах "Наименование документа" и "Сущность в 1С".<br>
Например, при формировании запроса, на основании строки шаблона "Сотрудник_Key": "" из таблицы соответствия по данным заявления подбирается код сотрудника и строка будет иметь вид:<br>
*"Сотрудник_Key": "d3533108-6e8a-11dc-827a-000bcdf174e3"*<br>
При первоначальной настройке необходимо для документов типа "Отпуск" указать guid видов отпуска, в тэгах "ВидОтпуска_Key":,
"ВидРасчета_Key": <br>
**Параметр для повторяющей части** заполняется, например, для Заявлений на доп. отпуска, потому что заявление обычно составляет один сотрудник, а для доп. отпусков запись в 1С производится в табличную часть. Для того, чтобы значение данного поля учлось при формировании параметра, в поле *Параметр* указывается служебное слово **%parametrDetail%** <br>
**Например**,<br>
*Параметр*<br>
{"ФизическоеЛицо_Key": "",<br>
"Сотрудник_Key": "",<br>
................<br>
"НачалоОтпуска": "0001-01-01T00:00:00",<br>
"ОкончаниеОтпуска": "0001-01-01T00:00:00",<br>
%parametrDetail% --Это часть про дополнительные отпуска<br>
}<br>
*Параметр для повторяющей части*<br>
"ДополнительныеОтпуска": [<br>
{<br>
"Ref_Key": "00000000-0000-0000-0000-000000000000",<br>
.....<br>
}<br>
]<br>
**Сущность вложения** - сущность на стороне 1С, в которую передаются вложения (файлы) из документа «Заявления от сотрудника». В ней хранится перечень файлов наименование, расширение, связка с документом в 1С, например, Catalog_ОтпускПрисоединенныеФайлы<br>
**Сущность файла** InformationRegister_ДвоичныеДанныеФайлов, сущность, в которой хранятся все файлы в двоичном представлении.<br>
**Шаблон json вложения** шаблон для передачи вложения в 1С. Имеет одинаковый формат для всех типов документов.<br>
**Шаблон json файлов** шаблон для передачи вложения в 1С. Имеет одинаковый формат для всех типов документов.<br>
{"Файл": "", "Файл_Type": "StandardODATA.Catalog_ОтпускПрисоединенныеФайлы", здесь сущность вложения будет подставлена та, которая указана по строке
"ДвоичныеДанныеФайла_Type": "application/octet-stream",
" ": ""
}<br>
При появлении нового типа заявления, обмен которыми необходим между системами, нужно внести вручную новые строчки с типом и заполнить все необходимые данные. В первую очередь внести данный подтип заявления в «Конструктор документов» и указать код созданного подтипа в поле «Справочник в Лексеме | Выбор».<br>
Для параметров, которые должны быть заполнены из СЭД, оставляем строчку пустой ": ""
Это реквизиты заявлений, а также поля: ФизическоеЛицо_Key,Сотрудник_Key,ОсновнойСотрудник_Key,ПериодРегистрации,Date,Организация_Key,Основание,Комментарий.<br>
Дату документа "Date": "", совсем убираем из шаблона, если нужно чтобы дата создаваемого в 1С документа устанавливалась текущей датой, если будет данная строчка в шаблоне возьмется дата заявления <br>
Значения, которые передавать не надо, заполняем нулевыми значениями, н-р, “Руководитель_Key” : "00000000-0000-0000-0000-000000000000".<br>
**Например**,<br>
"Ref_Key": "00000000-0000-0000-0000-000000000000", --заполняем нули, так как поле типа quid и не передаем из СЭД<br>
"DataVersion": "AAACsQAAAAA=",<br>
"DeletionMark": false,<br>
"Number": "",<br>
"Posted": true,<br>
"Организация_Key": "", --не заполняем, так как поле передается из СЭД<br>
"ФизическоеЛицо_Key": "", --не заполняем, так как поле передается из СЭД <br>
"ПериодРасчетаСреднегоЗаработкаНачало": "0001-01-01T00:00:00", --поле типа дата, не передаем из СЭД, поэтому заполняем нулевым значением <br>
........<br>
## Реквизиты заявления от сотрудников
Для формирования файла обмена по Заявлению от сотрудников необходимы соответствия данных в 1с и СЭД. <br>
**Справочник в Лексеме** атрибут документа «Конструктор документов», из которого берутся значения для составления файла обмена передачи документа.<br>
![Рисунок 1 Справочник_для_реквизитов ](./media/Справочник_для_реквизитов.png){: .zoom} <br>
![Рисунок 2 Атрибуты_конструктора](./media/Атрибуты_конструктора.png){: .zoom} <br>
При выборе соответсвующего справочника в документе отображается его наименование.
![Рисунок 3 Наименование_справочника](./media/Наименование_справочника.png){: .zoom} <br>
**Наименование документа** наименование документа, в который будут передаваться данные. <br>
**Сущность в 1С** сущность на стороне 1С, в которую передаются данные. В этих строчках указываются параметры для передачи заявления от сотрудника в 1С.<br>
**Параметры** имя реквизита в 1С, которое будет подставлено в шаблон выгрузки заявления.<br>
Например, в шаблоне для заявления указана строка *"ДатаНачалаОсновногоОтпуска"*: "",<br>
*ДатаНачалаОсновногоОтпуска* по этому реквизиту будет найдена строчка с описанием реквизита, по коду реквизита из документа Заявление от сотрудника найдется значение и итоговая строчка будет иметь вид: *"ДатаНачалаОсновногоОтпуска"*:*"01.12.2021"*<br>
## Служебная записка на командировку для интеграции с 1С
Настройки похожи на тип «Заявления от сотрудника», но создается другой тип документа - «Служебная записка на командировку». Документ не делится по подтипам, поэтому нет необходимости указывать подтип в поле «Справочник в Лексеме | Выбор».<br>
**Параметр для повторяющей части** в СЗ на командировку может быть указано несколько сотрудников в табличной части документа. В этом поле указывается шаблон json для формирования файла обмена по табличной части документа.<br>
Остальные поля заполняются аналогично типу [«Заявления от сотрудника»](#заявления-от-сотрудников)
## Уведомления Lexema
Из подписанных работником Уведомлений, сформированных по графику отпусков, есть возможность создавать приказ на отпуск в 1С.
Для этого в конструкторе документов должен быть создан документ со служебным наименованием NotificationLexema:<br>
![Рисунок 1 Уведомление конструктор](./media/Уведомление конструктор.PNG){: .zoom} <br>
Настройки похожи на тип «Заявления от сотрудника». Документ не делится по подтипам, поэтому нет необходимости указывать подтип в поле «Справочник в Лексеме | Выбор».<br>
![Рисунок 2 Уведомления Lexema](./media/Уведомление.PNG){: .zoom} <br>
Остальные поля заполняются аналогично типу [«Заявления от сотрудника»](#заявления-от-сотрудников)
Данные передаются в сущность Document_Отпуск.
## Дополнительная настройка для документа "Работа в выходные и праздники"
В случае если на проекте используется документ "Работа в выходные и праздники", то необходимо выполнить следующее дополнительное условие:
* При создании [конструктор документа](../../Конструктор документов/Конструктор документов.md) для данного подтипа документа, также необходимо создать [пользовательские атрибуты](../../Пользовательские%20типы%20атрибутов%20документов/Пользовательские%20типы%20атрибутов%20документов.md), с наименованиями **Повышенная Оплата** и **Отгул** для данного конструктора.
!!! warning
Наименования пользовательских атрибут связаны с параметрами, которые передаются в 1С. Если наименования будут отличаться в этом случае интеграция данного типа документа с системой 1С не произойдет.
## Дополнительная настройка для определения подписанта кадровых документов
На проекте возможно настроить чтобы в документ "Отпуск" в системе 1С автоматически заполнялся подписант. Для этого необходимо выполнить следующие дополнительные условия:
* в документе **"Виды ответственных лиц"** должна быть запись об ответственном сотруднике. Поле **"Должность"** заполняется в произвольной форме. Поле **"Служебное наименование"** заполняется сервисной функцией ["Service.ListOf.COrg_HR_Doc_Sign"](../../Настройка%20шаблонов%20маршрутов/Настройка%20шаблонов%20маршрутов.md#сервисныеункции).
![Виды ответственных лиц](media/typesOfResponsiblePersons.png)
* в настройках учетной политики, во вкладке "Ответственные лица" должно быть назначено должностное лицо.
![Ответственное лицо](media/ResponsiblePerson.png)
* в поле **"Параметр"**, для того типа заявления в котором необходимо заполнение подписанта, должен быть реквизит **"Руководитель_Key"**:
`
"Руководитель_Key": ""
`
или
`
"Руководитель_Key": "00000000-0000-0000-0000-000000000000"
`
![Параметр](media/parametr.png)

View File

@ -0,0 +1,100 @@
## Произвольные выборки из 1С.
Для настройки нужно выбрать в меню *группу Администрирование -> Система -> Настройка параметров обмена с 1С*.
![Рисунок 1 Настройка параметров обмена с 1С](./media/Настройка_параметров_обмена_с_1С.png)
Для загрузки сущностей, не относящих к справочникам и документам, есть возможность загрузить данные в произвольном виде в физическую таблицу СЭД.
![Рисунок 1 Закладка Произв выборки](./media/Закладка Произв выборки.PNG){: .zoom}
Например, создаем таблицы `odata."ManagementStructure"`, `odata."ManagementStructureDetail"` для хранения справочника / руководителей Управленческой структуры 1С. Для загрузки данных в них, пишем название сущности,
**Catalog_нп_СтруктурныеЕдиницыКомпании**
Указываем поля для выборки:
`$select=Ref_Key,Parent_Key,Code,Description,Сформировано,ДатаСоздания,Расформировано,ДатаРасформирования,Руководитель_Key, Сотрудники/ФизическоеЛицо_Key,Сотрудники/LineNumber`
А также саму функцию, которая заберет данные из указанной сущности:
функцию `select odata."LoadManagementStructure"("_body_") as "resultText"`
## Порядок загрузки
В столбце **"Порядок загрузки"** указывается порядок выполнения операции выгрузки произвольных выборок.
## Переменные для типа "Дата"
Для указания параметров загрузки документов и вложений с типом «Дата» введены следующие переменные:
{{LastDay}} переменная для определения количества дней, за которое нужно выбрать данные для загрузки. Значение задается в настройках учетной политики в константе "ЗаСколькоПоследнихДнейЗагружатьДокументыИз1С". Например, ?$filter=Date gt datetime'{{LastDay}}' со значением константы 10 за последние 10 дней будут загружаться данные
{{FirstDayMonth}} переменная для определения даты, до которой нужно загружать документы прошлого месяца. Значение задается в настройках учетной политики в константе "ДоКакогоЧислаЗагружатьДокументыИз1С_ЗаПрошлыйМесяц". Например, ?$filter=Date gt datetime'{{ FirstDayMonth }}' со значением константы 15 до 15.12.22 будут загружаться данные с 01.12.22
{{YesterDay}} переменная, обозначающая предыдущий день от текущего. Например, ?$filter=ДатаСоздания ge datetime'{{YesterDay}}' если сегодня 15.12.22, то документы для загрузки будут выбраны за 14.12.22
## Внесение данных в документ "Исключения для рассылок"
Для загрузки данных в документ [«Исключения для рассылок»](https://ecm-user-manuals.readthedocs.io/ru/latest/User%20manuals/%D0%9A%D0%AD%D0%94%D0%9E/%D0%98%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B8%D0%B7%20%D1%80%D0%B0%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8/%D0%98%D1%81%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B8%D0%B7%20%D1%80%D0%B0%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8/) сотрудников, например, находящихся в декретном отпуске необходимо настроить произвольные выборки в следующей очередности выполнения:
![Больничные](media/bolnicnye.png)
1. _Выгрузка Больничных по беременности и родам_
Выбирается сущность в 1С **Document_БольничныйЛист**
В параметр для запроса сущности в 1С указывается: `?$filter=ДатаНачала le datetime'{{ToDay}}' and ДатаОкончания ge datetime'{{ToDay}}' and ПричинаНетрудоспособности eq 'ПоБеременностиИРодам' and DeletionMark eq false and ДокументРассчитан eq true&$format=json&$select=Ref_Key,Сотрудник_Key,ДатаНачала,ДатаОкончания`
где:
**?$filter** - Фильтр отбирает записи, в которых Дата начала меньше, чем Сегодняшний день, а Дата окончания больше.
**Причина нетрудоспособности = 'ПоБеременностиИРодам'**, документ не помечен на удаление, рассчитан
**&$select** - Поля мы выбираем только `Ref_Key,Сотрудник_Key,ДатаНачала,ДатаОкончания` для уменьшения времени обращения к данным.
2. _Выгрузка Отпусков по уходу_
Выбирается сущность сущность в 1С **Document_ОтпускПоУходуЗаРебенком**
В параметр для запроса сущности в 1С указывается: `?$filter=DeletionMark eq false&$select=Ref_Key,Сотрудник_Key,ОсновнойСотрудник_Key,ДатаНачала,ДатаОкончания,Начисления/Ref_Key,Начисления/РабочееМесто_Key`
где:
**?$filter** Фильтр отбирает все документы не помеченные на удаление
**&$select** Поля мы выбираем только `Ref_Key,Сотрудник_Key,ОсновнойСотрудник_Key,ДатаНачала,ДатаОкончания,Начисления/Ref_Key,Начисления/РабочееМесто_Key` для уменьшения времени обращения к данным
**Начисления/РабочееМесто_Key** здесь также хранится код сотрудника, в случае если в шапке документа указан основной сотрудник, а в табличной части - совместитель
3. _Выгрузка возврат из отпуска по уходу_
Выбирается сущность сущность в 1С **Document_ВозвратИзОтпускаПоУходуЗаРебенком**
В параметр для запроса сущности в 1С указывается: `?$select=Ref_Key,ДатаВозврата,Сотрудник_Key,ОсновнойСотрудник_Key,Начисления/Ref_Key,Начисления/РабочееМесто_Key`
где:
**&$select** Поля мы выбираем только Ref_Key,ДатаВозврата,Сотрудник_Key,ОсновнойСотрудник_Key,Начисления/Ref_Key,Начисления/РабочееМесто_Key для уменьшения времени обращения к данным
**Начисления/РабочееМесто_Key** здесь также хранится код сотрудника, в случае если в шапке документа указан основной сотрудник, а в табличной части - совместитель
4. _Выгрузка изменений оплаты - возврат до 1,5_
Выбирается сущность сущность в 1С **Document_ИзменениеУсловийОплатыОтпускаПоУходуЗаРебенком**
В параметр для запроса сущности в 1С указывается: `?$filter=Posted eq true and ДатаИзменения le datetime'{{ToDay}}' and ДатаОкончанияПособияДоПолутораЛет ge datetime'{{ToDay}}'&$select=Ref_Key,ДатаИзменения,Сотрудник_Key,ОсновнойСотрудник_Key,ПрименениеПлановыхНачислений/Ref_Key,ПрименениеПлановыхНачислений/РабочееМесто_Key,ПрименениеПлановыхНачислений/Применение`
где:
**?$filter** Фильтр отбирает проведенные документы, у которых Дата изменения меньше, чем Сегодняшний день и Дата Окончания пособия до полутора лет больше, чем Сегодняшний день
**&$select** Поля мы выбираем только Ref_Key,ДатаИзменения,Сотрудник_Key,ОсновнойСотрудник_Key,ПрименениеПлановыхНачислений/Ref_Key,ПрименениеПлановыхНачислений/РабочееМесто_Key,ПрименениеПлановыхНачислений/Применение
для уменьшения времени обращения к данным
**ПрименениеПлановыхНачислений/РабочееМесто_Key** здесь также хранится код сотрудника, в случае если в шапке документа указан основной сотрудник, а в табличной части - совместитель
Для всех выше указан сущностей в столбец **"Функция для обработки ответа от 1С"** указывается функция, которая заберет данные из указанной сущности:
`select * from odata."loadReadListExceptions" ("_body_")`

View File

@ -0,0 +1,16 @@
# Вкладка "Соответствие справочников"
Для настройки нужно выбрать в меню *группу Администрирование -> Система -> Настройка параметров обмена с 1С*.<br>
![Рисунок 1 Настройка параметров обмена с 1С](./media/Настройка_параметров_обмена_с_1С.png)<br>
На вкладке «Соответствие справочников» необходимо сопоставить вручную соответствия, значения которых не нашлись автоматически. Автоматически соответствие проставляется только по виду документов физических лиц. <br>
Выбор виртуальное поле для выбора соответствующего справочника в Лексеме, например, для Филиалов будет набор данных из Своих организаций, для контактной информации справочники модуля по учету персонала и т.д. <br>
![Рисунок 1 Спр_в_Лексеме](./media/Спр_в_Лексеме.png){: .zoom} <br>
Выбранное значение сохраняется в физическом поле «Справочник в Лексеме».<br>
![Рисунок 2 Вкладка_Основная](./media/Вкладка_Соответствие_справочников.png){: .zoom} <br>
В случае доменной авторизации обязательно нужно установить соответствие по типу справочника Вид контактной информации Email рабочий - справочнику в Лексеме, для загрузки соответсвующих данных в справочник физических лиц на закладку "Контакты"
![Рисунок 3 email](./media/email.png){: .zoom} <br>
Это важно для поиска физического лица при автоматическом создании пользователя из Active Directory.

View File

@ -0,0 +1,84 @@
# Вкладка "Справочники"
Для настройки соответсвия справочников нужно выбрть в меню *группу Администрирование -> Система -> Настройка параметров обмена с 1С*.<br>
![Рисунок 1 Настройка параметров обмена с 1С](./media/Настройка_параметров_обмена_с_1С.png)<br>
Откроется форма документа:<br>
![Рисунок 2 Настройка параметров обмена с 1С форма](./media/Настройка_параметров_обмена_с_1Сорма.png)<br>
На вкладке «Справочники» будут представлены основные справочники, необходимые для обмена данными с 1С::<br>
Справочник своих организаций - Catalog_Организации<br>
Справочник видов документов физических лиц - Catalog_ВидыДокументовФизическихЛиц<br>
Справочник видов контактной информации - Catalog_ВидыКонтактнойИнформации<br>
Справочник физических лиц - Catalog_ФизическиеЛица<br>
Справочник должностей - Catalog_Должности<br>
Справочник подразделений - Catalog_ПодразделенияОрганизаций<br>
Документы физических лиц - InformationRegister_ДокументыФизическихЛиц<br>
Справочник сотрудников - Catalog_Сотрудники<br>
Кадровые данные сотрудников - InformationRegister_КадроваяИсторияСотрудников<br>
Для них должны быть указаны сущности 1С, например: <br>
![Рисунок 1 Каталог_Организации](./media/Каталог_Организации.png){: .zoom}
Если настроить константу "Папка для вставки импортируемых из 1С подразделений", то на каждом филиале подразделения будут загружаться к нужному корневому подразделению , иначе по умолчанию в корень папки Подразделения с кодом из константы "вершина_справочника_подразделений".
Кроме сущности 1С для запроса соответствующего справочника можно указать в поле **"Параметр"** поля и фильтры для выборки из 1С,<br> например, для сущности «Catalog_ФизическиеЛица»:<br>
"?$select=Ref_Key,Description,Фамилия,Имя,Отчество,ДатаРождения,КонтактнаяИнформация/Тип,КонтактнаяИнформация/Представление,КонтактнаяИнформация/Вид_Key".<br>
"value": [{<br>
"Ref_Key": "6289c32e-b7f0-11e8-80e3-00505692bbd5",<br>
"Code": "00-0000749",<br>
"Description": "ФАМИЛИЯ ИМЯ ОТЧЕСТВО",<br>
"ДатаРождения": "ДАТА РОЖДЕНИЯ",<br>
"Пол": "ПОЛ",<br>
"ИНН": "ИНН",<br>
"СтраховойНомерПФР": " СНИЛС",<br>
"МестоРождения": "0,город Ленинград,,,",<br>
"ИмеетНаучныеТруды": false,<br>
"ИмеетИзобретения": false,<br>
"ФИО": " ФАМИЛИЯ ИМЯ ОТЧЕСТВО",<br>
"УточнениеНаименования": "",<br>
"ДатаРегистрации": "0001-01-01T00:00:00",<br>
"НаименованиеСлужебное": " ФАМИЛИЯ ИМЯ ОТЧЕСТВО ",<br>
"ЛьготаПриНачисленииПособий": "",<br>
"ОтношениеКОсобойЗоне": "",<br>
"ВидОсобойЗоны": "",<br>
остоянноПроживалВКрыму18Марта2014Года": false,<br>
"Фамилия": " ФАМИЛИЯ",<br>
"Имя": "ИМЯ",<br>
"КонтактнаяИнформация": [<br>
{<br>
"Ref_Key": "6289c32e-b7f0-11e8-80e3-00505692bbd5",<br>
"LineNumber": "1",<br>
"Тип": "Адрес",<br>
"Вид_Key": "dfae44d5-1d84-11e8-80e0-00505692f865",<br>
"Представление": "РОССИЯ, 143090, Московская обл, Краснознаменск г, Победы ул, дом № 32, квартира 3",<br>
"Значение": "{\r\n\"value\": \"РОССИЯ, 143090, Московская обл, Краснознаменск г, Победы ул, дом № 32, квартира 3\",\r\n\"type\": \"Адрес\",\r\n\"Country\": \"РОССИЯ\",\r\n\"addressType\": \"Административно-территориальный\",\r\n\"CountryCode\": \"643\",\r\n\"ZIPcode\": \"143090\",\r\n\"area\": \"Московская\",\r\n\"areaType\": \"обл\",\r\n\"city\": \"Краснознаменск\",\r\n\"cityType\": \"г\",\r\n\"street\": \"Победы\",\r\n\"streetType\": \"ул\",\r\n\"houseType\": \"Дом\",\r\n\"houseNumber\": \"32\",\r\n\"apartments\": [\r\n{\r\n\"type\": \"Квартира\",\r\n\"number\": \"3\"\r\n}\r\n],\r\n\"oktmo\": \"46706000001\"\r\n}",<br>
"ЗначенияПолей": "<КонтактнаяИнформация xmlns=\"http://www.v8.1c.ru/ssl/contactinfo\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Представление=\"РОССИЯ, 143090, Московская обл, Краснознаменск г, Победы ул, дом 32, квартира 3\"><Комментарий/><Состав xsi:type=\"Адрес\" Страна=\"РОССИЯ\"><Состав xsi:type=\"АдресРФ\"><СубъектРФ>Московская обл</СубъектРФ><Город>Краснознаменск г</Город><Улица>Победы ул</Улица><ОКТМО>46706000001</ОКТМО><ДопАдрЭл><Номер Тип=\"2010\" Значение=\"3\"/></ДопАдрЭл><ДопАдрЭл><Номер Тип=\"1010\" Значение=\"32\"/></ДопАдрЭл><ДопАдрЭл ТипАдрЭл=\"10100000\" Значение=\"143090\"/></Состав></Состав></КонтактнаяИнформация>",<br>
"Страна": "РОССИЯ",<br>
"Регион": "Московская обл",<br>
"Город": "Краснознаменск г",<br>
"АдресЭП": "",<br>
"ДоменноеИмяСервера": "",<br>
"НомерТелефона": "",<br>
"НомерТелефонаБезКодов": "",<br>
"ВидДляСписка_Key": "dfae44d5-1d84-11e8-80e0-00505692f865"<br>
},<br>
Для загрузки кадровых данных сотрудников должно быть заполнено поле **Сущность 1С** - InformationRegister_КадроваяИсторияСотрудников. Из этой сущности берем последние значения подразделения и занимаемой должности и загружаем в таблицу перемещений в Лексеме.<br>
**Справочник в Лексеме** - реквизиты для сопоставления со справочником физических лиц<br>
![Рисунок 2 Справочник физ лиц](./media/Справочник физ лиц.PNG){: .zoom}
**Загружать в пакете справочников** - галочка, означающая, что данная сущность будет загружена по задаче - ["Загрузка справочников"](../../sheduler/TaskSheduler.md) <br>
![Рисунок 3 НастройкаСпрПараметры](./media/НастройкаСпрПараметры.PNG){: .zoom}
**Способ загрузки**<br>
- По одному физ.лицу из списка сотрудников - означает, что сущность физические лица будет загружаться по одному физическому лицу только по тем сотрудникам, которые работают на момент загрузки <br>
- Всех за один запрос - означает, что сущность физические лица будет загружаться целиком<br>
**Филиалы** - список филиалов, для которых действует данная строчка

View File

@ -0,0 +1,33 @@
# Настройка интеграции с форматом JSON
По REST API можно загружать данные не только из сущностей 1С, но также из данных в формате JSON.
Например, для загрузки такого формата данных:
![Формат json](media/Формат json.png){: .zoom}
необходимо описать раздел файла production.js следующего вида:
odata: { </br>
protocol: 'protocol', </br>
host: 'host', </br>
port: port, </br>
route: '/api/v2.0/odata', </br>
script: 'ecosoft-lexema8-odata-service', </br>
connections: { </br>
"1С ЗУП": { </br>
"login": "login1", </br>
"password": "password1", </br>
"path": "путь к данным в формате json", </br>
"type": 'diall' -- именно 'diall' для формата json </br>
} </br>
} </br>
}, </br>
В Настройке параметров обмена с 1С необходимо указать следующие параметры как на рисунке ниже:
Тип, сущность в 1С Structure, Параметр.
![Формат json2](media/Формат json2.png){: .zoom}
Данные могут быть загружены либо вручную через документ Обмен данными с 1С, либо по планировщику задач «Загрузка справочников в Лексему из сторонней БД».

View File

@ -0,0 +1,32 @@
# Настройка параметров обмена с 1С
## Общее описание
Для обмена данными с 1С:ЗУП нужно настроить параметры в документе **"Настройка параметров обмена с 1С"**. Чтобы открыть документ, нужно в меню перейти в *группу Администрирование -> Система -> Настройка параметров обмена с 1С*.
![Рисунок 1 Настройка параметров обмена с 1С](./media/Настройка_параметров_обмена_с_1С.png)
Откроется форма документа:
![Рисунок 2 Настройка параметров обмена с 1С форма](./media/Настройка_параметров_обмена_с_1Сорма.png)<br>
При первом входе в документ необходимо заполнить поле «Инстанция 1С» имя соединения с сервером 1С (для возможности подключения к разным серверам 1С при обмене для разных компаний СЭД), соответствует названию инстанции из файла **production.json** проекта.<br>
В шапке документа поля :<br>
* Код (guid) организации в 1С <br>
* Наименование организации в 1С <br>
заполняться при нажатии кнопки «Загрузить справочные данные» <br>
![Рисунок 3 Загрузить_спранные](./media/Загрузить_спранные.png)<br>
Табличная часть документа на вкладках «Справочники», «Исходящие документы», «Входящие документы» будет пред заполнена, данное действие выполняется при установке библиотеки до первого входа в документ. <br>
Если при выгрузке данных необходимо хранить изменения полей: Должность, ФИО, дата приема, дата увольнения, подразделение, в столбце **"Способ загрузки"** выберите **"Всё движение сотрудников"**.
Если выбрать **"Последнее состояние сотрудников"** тогда в систему из 1С будут выгружаться только данные по приему и последнему переводу на месту работы.
Также, в результате нажатия на кнопку «Загрузить справочные данные», на вкладку «Соответствие справочников» загрузятся данные справочников:<br>
* Справочник своих организаций<br>
* Справочник видов документов физических лиц<br>
* Справочник видов контактной информации<br>

View File

@ -0,0 +1,57 @@
# Postman
**Postman** — это HTTP-клиент для тестирования API. В рамках этого руководства - для тестирования обмена данными с 1С. <br>
Для того, чтобы настроить обмен по новому типу документа необходимо узнать сущность 1С, в которой хранятся его данные. <br>
Сделать это можно по кнопке внутри документа <br>
![Рисунок 1 Получить ссылку](./media/Получить ссылку.PNG){: .zoom} <br>
Ссылка будет выглядеть следующим образом: <br>
![Рисунок 2 Ссылка](./media/Ссылка.PNG){: .zoom} <br>
Подставив вместо слова *«Документ.»* значение *Document_*, а вместо слова *«Справочник.»*- *Catalog_* [получаем название сущности](../Описание протокола OData/Обращение к ресурсам.md). <br>
Зная название сущности, можем посмотреть ее содержимое при помощи программы *Postman*. <br>
Для выборки данных содержимого сущностей необходимо создать *Get* обращение к 1С как на рисунке ниже: <br>
![Рисунок 3 Главное окно](./media/Главное окно.PNG){: .zoom} <br>
Для обращения необходимо настроить закладки Params, Autorization, Body. <br>
На закладке Params можно задать формат, в котором предпрочтительно вывести запрашиваемые <br>данные ($format), перечислить поля для выборки ($select), а также наложить фильтры ($filter). <br>Язык для написания параметров Odata, подробнее можно почитать по ссылке <br>https://docs.microsoft.com/ru-ru/azure/search/search-query-odata-filter. <br>
На закладке Авторизация необходимо указать данные учетной записи: <br>
![Рисунок 4 Авторизация](./media/Авторизация.PNG){: .zoom} <br>
На закладке Body по кнопке «Send» программа выдаст содержимое сущности по указанным параметрам: <br>
![Рисунок 5 Авторизация](./media/GetBody.PNG){: .zoom} <br>
Полученное содержимое необходимо проанализировать на предмет наличия полей в конструкторе передаваемого заявления и отредактировав, вставить в колонку ***«Параметры»*** в документе [«Настройка параметров обмена с 1С»](Вкладка Исходящие документы.md#заявления_от_сотрудников) <br>
Здесь важно понимать, что значения, которые передавать не надо, заполняем нулевыми значениями, н-р, “Руководитель_Key” : "00000000-0000-0000-0000-000000000000".<br>
Есть поля, которые автоматически заполняются из СЭД(полный перечень можно посмотреть в функции getEmployeeStatement): <br>
"Организация_Key": "", - не заполняем, так как поле передается из СЭД<br>
"ФизическоеЛицо_Key": "", - не заполняем, так как поле передается из СЭД <br>
Сотрудник_Key, ОсновнойСотрудник_Key, ПериодРегистрации, Date, Основание, Комментарий.
Если поле заполняется из конструктора заявлений, то его значение оставляем пустым:
Например, для Ежегодного отпуска, ДатаНачалаОсновногоОтпуска будет выглядеть в параметре так:
"ДатаНачалаОсновногоОтпуска": "",
![Рисунок 6 ДатаНачалаОснОтп](./media/ДатаНачалаОснОтп.PNG){: .zoom} <br>
После настройки параметров обмена проверяем отправку документа в 1С. При отправке могут быть ошибки следующего типа:
![Рисунок 7 EmployeeError](./media/EmployeeError.PNG){: .zoom} <br>
Для удобства понимания ошибки можно создать *POST* обращение в программе Postman, указав в качестве Body текст, выданный функцией в момент ошибки:
![Рисунок 8 BodyConsole](./media/BodyConsole.PNG){: .zoom} <br>
Либо запустив функцию odata.getEmployeeStatement по интересуемому коду документа.
В Postman обращение оформляется следующим образом:
![Рисунок 9 PostBody](./media/PostBody.PNG){: .zoom} <br>
Ошибки как правило двух видов не распознан ключ, не распознана дата, ошибка будет расшифрована следующим образом:
-на дату
![Рисунок 10 PostBodyErrorData](./media/PostBodyErrorData.PNG){: .zoom} <br>
-на ключ
![Рисунок 11 PostBodyErrorGuid](./media/PostBodyErrorGuid.PNG){: .zoom} <br>
Далее ищем по телу обращения - какие поля остались без значения похожими по названию на дату или _key (все должны быть заполнены или нулями или значениями из передаваемого документа).

View File

@ -0,0 +1,8 @@
- [Документы для загрузки в СЭД](Документы для загрузки в СЭД.md)
- [Документы из 1С для создания в Лексеме](Документы из 1С для создания в Лексеме.md)
- [Документы из СЭД](Документы из СЭД.md)
- [Обмен данными с 1С](Обмен данными с 1С.md)
- [Обработанные документы на подписание](Обработанные документы на подписание.md)
- [Объединение физических лиц](Объединение физических лиц.md)
- [Сотрудники](Сотрудники.md)
- [Справочники](Справочники.md)

Some files were not shown because too many files have changed in this diff Show More