Обмен данными. ЗУП(3.1.14.555)->БП(3.0.95.24)

1. LeoKeyn 51 17.08.21 10:11 Сейчас в теме +2 $m
Добрый день. Я новичок в конвертациях, подскажите, пожалуйста, более сведущие коллеги, как решить следующую проблему:
В обмене (указан в теме) типовом не перегружаются физические лица. Регистрация объектов идет как нужно, но именно в выгрузку они не попадают.
Причем если перезаписать существующий прием на работу(физ лица регистрируются при записи приема на работу - дописка конфигурации зуп) с сотрудником, уже существующем в БП, то он попадает в файл обмена. Если это же проделать с новым физ лицом, то его в файле нет(хотя на обмен он регистрируется).
Раньше все работало нормально, сломался обмен после обновления(вел раньше и обновлял не я, ко мне пришли уже с проблемой)

Заранее большое спасибо всем кто сможет помочь.

Процедура ОбменЗарплата3Бухгалтерия3ПередЗаписью(Источник, Отказ) Экспорт
    
    Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПриемНаРаботу") Тогда
        
        ФизическоеЛицо = ?(НЕ ЗначениеЗаполнено(Источник.ФизическоеЛицо), ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.Сотрудник, "ФизическоеЛицо"), Источник.ФизическоеЛицо);
        
        Если НЕ ЗначениеЗаполнено(ФизическоеЛицо) Тогда
            Возврат;
        КонецЕсли;
        
        РегистрацияНаВсехУзлах(ФизическоеЛицо);
        
        Если ЗарплатаКадры.ОтключитьБизнесЛогикуПриЗаписи(Источник) Тогда
            Возврат;
        КонецЕсли;
    
    КонецЕсли;
    
КонецПроцедуры

Процедура РегистрацияНаВсехУзлах(РегистрируемаяСсылка)
    
    Если НЕ РегистрируемаяСсылка.Пустая() Тогда
        
        Узлы = ОбменДаннымиСобытия.ВсеУзлыПланаОбмена("ОбменЗарплата3Бухгалтерия3");
        
        ПланыОбмена.ЗарегистрироватьИзменения(Узлы, РегистрируемаяСсылка);
        
    КонецЕсли;
    
КонецПроцедуры
Показать

Добавлю код регистрации объектов(добавленный). Может в нем что то не так

<ДанныеПоОбмену ВерсияОтправителя="3.1.14.555" УдалитьРегистрациюИзменений="true" НомерВходящегоСообщения="2567" НомерИсходящегоСообщения="1975" ОтКого="ЗК" Кому="БП" ПланОбмена="ОбменЗарплата3Бухгалтерия3"/>

<УдалениеОбъекта УникальныйИдентификатор="924cf338-ef8c-11eb-8d59-00090ffe0001" ТипИсточника="СправочникСсылка.ФизическиеЛица" ТипПриемника="СправочникСсылка.ФизическиеЛица"/>

<УдалениеОбъекта УникальныйИдентификатор="9e72dbe2-f515-11eb-95c0-1c1b0d3cc92a" ТипИсточника="СправочникСсылка.ФизическиеЛица" ТипПриемника="СправочникСсылка.ФизическиеЛица"/>

Это в файле обмена на месте, где должны быть данные по физ лицу. Если поискать по ГУИД, то это как раз то самое физ лицо, которое у меня должно перейти в БП. Почему он хочет его удалить?
Вознаграждение за ответ
Показать полностью
Найденные решения
7. LeoKeyn 51 17.08.21 12:55 Сейчас в теме +1 $m
Процедура ОбменЗарплата3Бухгалтерия3ПередЗаписью(Источник, Отказ) Экспорт
	
	Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПриемНаРаботу") Тогда
		
		ФизическоеЛицо = ?(НЕ ЗначениеЗаполнено(Источник.ФизическоеЛицо), ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.Сотрудник, "ФизическоеЛицо"), Источник.ФизическоеЛицо);
		
		Если НЕ ЗначениеЗаполнено(ФизическоеЛицо) Тогда
			Возврат;
		КонецЕсли;
		
		РегистрацияНаВсехУзлах(ФизическоеЛицо);
		
		Если ЗарплатаКадры.ОтключитьБизнесЛогикуПриЗаписи(Источник) Тогда
			Возврат;
		КонецЕсли;
	
	КонецЕсли;
	
КонецПроцедуры

Процедура РегистрацияНаВсехУзлах(РегистрируемаяСсылка)
	
	Если НЕ РегистрируемаяСсылка.Пустая() Тогда
		
		Узлы = ОбменДаннымиСобытия.ВсеУзлыПланаОбмена("ОбменЗарплата3Бухгалтерия3");
		
		
		//ПланыОбмена.ЗарегистрироватьИзменения(Узлы, РегистрируемаяСсылка);
		Для Каждого Узел Из Узлы Цикл
			ОбменДаннымиСобытия.ЗарегистрироватьИзмененияДанных(Узел, РегистрируемаяСсылка, Ложь);
		КонецЦикла;
		

	КонецЕсли;
	
КонецПроцедуры
Показать

Решение!
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. laperuz 46 17.08.21 10:15 Сейчас в теме
Насколько я помню, чтобы в БП выгружались физлица, должно быть соблюдено 2 условия:
1. В настройках обмена стоит выгрузка по физлицам, а не сводно.
2. Физлицо есть в документе Отражение зарплаты в бухучете.
VAAngelov; +1 Ответить
3. LeoKeyn 51 17.08.21 10:17 Сейчас в теме
(2)Да, оно перегружается из документа "Отражение зарплаты в бухучете". Но мне нужно, чтобы оно выгружалось и при записи "ПриемНаРаботу". Физ лицо регистрируется на обмен. И даже старые физ лица(которые переносились раньше) переносятся нормально, но вот новые ставятся на удаление в файл
4. LeoKeyn 51 17.08.21 10:21 Сейчас в теме
(2)Настройка тоже стоит верно
Прикрепленные файлы:
5. Birby 88 17.08.21 10:49 Сейчас в теме
Я же правильно понимаю, что у вас обмен еще по КД2 настроен? Если да, то почему не попробовать через КД3 (т.е. через enterprise data)? С настройкой там лучше дела обстоят.
6. LeoKeyn 51 17.08.21 10:54 Сейчас в теме
(5) потому что задача стоит исправить именно этот обмен. Поняли правильно да
7. LeoKeyn 51 17.08.21 12:55 Сейчас в теме +1 $m
Процедура ОбменЗарплата3Бухгалтерия3ПередЗаписью(Источник, Отказ) Экспорт
	
	Если ТипЗнч(Источник) = Тип("ДокументОбъект.ПриемНаРаботу") Тогда
		
		ФизическоеЛицо = ?(НЕ ЗначениеЗаполнено(Источник.ФизическоеЛицо), ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.Сотрудник, "ФизическоеЛицо"), Источник.ФизическоеЛицо);
		
		Если НЕ ЗначениеЗаполнено(ФизическоеЛицо) Тогда
			Возврат;
		КонецЕсли;
		
		РегистрацияНаВсехУзлах(ФизическоеЛицо);
		
		Если ЗарплатаКадры.ОтключитьБизнесЛогикуПриЗаписи(Источник) Тогда
			Возврат;
		КонецЕсли;
	
	КонецЕсли;
	
КонецПроцедуры

Процедура РегистрацияНаВсехУзлах(РегистрируемаяСсылка)
	
	Если НЕ РегистрируемаяСсылка.Пустая() Тогда
		
		Узлы = ОбменДаннымиСобытия.ВсеУзлыПланаОбмена("ОбменЗарплата3Бухгалтерия3");
		
		
		//ПланыОбмена.ЗарегистрироватьИзменения(Узлы, РегистрируемаяСсылка);
		Для Каждого Узел Из Узлы Цикл
			ОбменДаннымиСобытия.ЗарегистрироватьИзмененияДанных(Узел, РегистрируемаяСсылка, Ложь);
		КонецЦикла;
		

	КонецЕсли;
	
КонецПроцедуры
Показать

Решение!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот