Передача данных по трудовым договорам из ЗУП 1.0 в ЗУП 3.1
Добрый день. Есть вопрос по конвертации данных 2.1. и ЗУП.
Имеются 2 конфигурации - ЗУП 1.0 (очень старая редакция, но рабочая, все пользователи в ней работают), не типовая но близкая к ней, и ЗУП 3.1.1, типовая. Необходимо передать данные по трудовым договорам из ЗУП 1.0 в ЗУП 3.1. Проблема состоит в том, что при передаче документа "Увольнение из организации" в ЗУП и проведении, в системе некорректно увольняются внутренние совместители, вместо совместителя увольняется основной работник, т.к. в запросе в обработчике "после загрузки" нельзя задать табельный номер, дату приёма и вид занятости работника (код приведён ниже), надо сначала их получить из входящих данных. В источнике в документе "Увольнение из организации", есть поле "Приказ", это ссылка на документ "Приём на работу в организацию", которая и содержит все необходимые реквизиты в табличной части "Работники организации": дату приёма, вид занятости и табельный номер сотрудника. А в приёмнике в документе «Увольнение списком» только поле «Сотрудник», в ЗУП 1.0 вообще нет справочника «Сотрудники» и создавать сотрудника приходится программно, в обработчике ПКО перед загрузкой. Начал делать через Входящие данные и застопорился на моменте, когда нужно передавать данные. Запутался. Через параметр мне точно не подойдёт, параметр надо задавать вручную перед выгрузкой в обработке.
Конкретно по моему случаю, когда при увольнении надо определить табельный номер сотрудника и известно только физлицо и в источнике нет табельного номера, информации в интернете нет.
Мой код перед выгрузкой в ПКО такой, не могу определиться с типом исходящих данных - таблица значений или просто структура, пока этот код не передает исходящие данные:
После загрузки в том же ПКО код следующий (он работает, но некорректно, как описано выше):
Имеются 2 конфигурации - ЗУП 1.0 (очень старая редакция, но рабочая, все пользователи в ней работают), не типовая но близкая к ней, и ЗУП 3.1.1, типовая. Необходимо передать данные по трудовым договорам из ЗУП 1.0 в ЗУП 3.1. Проблема состоит в том, что при передаче документа "Увольнение из организации" в ЗУП и проведении, в системе некорректно увольняются внутренние совместители, вместо совместителя увольняется основной работник, т.к. в запросе в обработчике "после загрузки" нельзя задать табельный номер, дату приёма и вид занятости работника (код приведён ниже), надо сначала их получить из входящих данных. В источнике в документе "Увольнение из организации", есть поле "Приказ", это ссылка на документ "Приём на работу в организацию", которая и содержит все необходимые реквизиты в табличной части "Работники организации": дату приёма, вид занятости и табельный номер сотрудника. А в приёмнике в документе «Увольнение списком» только поле «Сотрудник», в ЗУП 1.0 вообще нет справочника «Сотрудники» и создавать сотрудника приходится программно, в обработчике ПКО перед загрузкой. Начал делать через Входящие данные и застопорился на моменте, когда нужно передавать данные. Запутался. Через параметр мне точно не подойдёт, параметр надо задавать вручную перед выгрузкой в обработке.
Конкретно по моему случаю, когда при увольнении надо определить табельный номер сотрудника и известно только физлицо и в источнике нет табельного номера, информации в интернете нет.
Мой код перед выгрузкой в ПКО такой, не могу определиться с типом исходящих данных - таблица значений или просто структура, пока этот код не передает исходящие данные:
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| УвольнениеИзОрганизацийРаботникиОрганизации.Приказ,
| ПриемНаРаботуВОрганизациюРаботникиОрганизации.ТабельныйНомер,
| ПриемНаРаботуВОрганизациюРаботникиОрганизации.ФизЛицо
|ИЗ
| Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК УвольнениеИзОрганизацийРаботникиОрганизации
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизациюРаботникиОрганизации
| ПО УвольнениеИзОрганизацийРаботникиОрганизации.Приказ = ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка
| И УвольнениеИзОрганизацийРаботникиОрганизации.Физлицо = ПриемНаРаботуВОрганизациюРаботникиОрганизации.ФизЛицо
|ГДЕ
| УвольнениеИзОрганизацийРаботникиОрганизации.Ссылка = &Ссылка
| И УвольнениеИзОрганизацийРаботникиОрганизации.Физлицо = &Физлицо
|";
ИсходящиеДанные=Новый Структура;
Для каждого СтрРаб из Источник.РаботникиОрганизации Цикл
Запрос.УстановитьПараметр("Физлицо", СтрРаб.Физлицо);
Запрос.УстановитьПараметр("Ссылка", Источник);
Результат = Запрос.Выполнить();
Результат = Результат.Выбрать();
Если Результат.Следующий() Тогда
ИсходящиеДанные.Вставить("ТабельныйНомер",Выборка.ТабельныйНомер);
ИсходящиеДанные.Вставить("ФизЛицо",Выборка.ФизЛицо);
КонецЕсли;
КонецЕсли;
ПоказатьПосле загрузки в том же ПКО код следующий (он работает, но некорректно, как описано выше):
Для Каждого Строка из Объект.Сотрудники Цикл
Если Строка.Сотрудник = Справочники.Сотрудники.ПустаяСсылка() Тогда
ЗапросПоДокументу = Новый Запрос;
ЗапросПоДокументу.Текст = "ВЫБРАТЬ
| ПриемНаРаботу.Сотрудник
| ИЗ
| Документ.ПриемНаРаботу КАК ПриемНаРаботу
| ГДЕ
| ПриемНаРаботу.ФизическоеЛицо = &ФизЛицо //и ПриемНаРаботу.Сотрудник.Код=&ТабНомер и
| //ПриемНаРаботу.Сотрудник.ДатаПриема=&ДатаПриема
| ";
ЗапросПоДокументу.УстановитьПараметр("ФизЛицо", Строка.ФизическоеЛицо);
//ЗапросПоДокументу.УстановитьПараметр("ДатаПриема", ВходящиеДанные.ДатаПриема);//Необходимо получить дату приема этого совместителя из источника, поля "Приказ"
//ЗапросПоДокументу.УстановитьПараметр("ТабНомер", ВходящиеДанные.ТабНомер );//Необходимо получить табельный номер из источника, поля "Приказ"
ВыборкаПоДокументу = ЗапросПоДокументу.Выполнить().Выбрать();
Если ВыборкаПоДокументу.Следующий() Тогда
Сотрудник = ВыборкаПоДокументу.Сотрудник;
Строка.Сотрудник = Сотрудник.Ссылка;
КонецЕсли;
//ПереданныеПараметры=ЗначениеИзСтрокиВнутр(ПараметрыОбъекта["ПриказОПриеме"]);
//Сообщить(ТипЗнч(ПереданныеПараметры));
КонецЕсли;
КонецЦикла;
ПоказатьПо теме из базы знаний
- Внешние печатные формы для Бухгалтерии предприятия 3.0
- Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке
- Внешние печатные формы для 1С:Зарплата и управление персоналом 2.5 / 3.1
- Внешние печатные формы для УНФ (Управление нашей фирмой) 1.6
- Обновление конфигураций Бухгалтерия 2, КА 1.1, ЗУП 2.5
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот