При обмене между базами ГоловнойСотрудник = Объект не найден

1. user593586_fdaimond 24.11.22 08:52 Сейчас в теме
Добрый день!
До обновления самой базы ЗУП правила обмена между ЗУП и ERP работали нормально (обменом передается ряд кадровых документов).
Когда обновили базу ЗУП до релиза 3.1.23.165, то оказалось, что при создании сотрудника (переноса) 1С не заполняет реквизит "Головной сотрудник" (<Объект не найден>) в самом справочнике "Сотрудники". Причем сам сотрудник создается без проблем, как и физическое лицо, переносятся личные данные.
Из-за этого возникает ряд других проблем:
- в регистре "Кадровая история сотрудников" головной сотрудник некорректно заполняется и не устанавливается флажок "Это головной сотрудник";
- в регистре "Данные для подбора сотрудника" не устанавливаются галочки "Это основной сотрудник";
- так как имеются ошибки в регистре "Данные для подбора сотрудника", то и сотрудник не отображается в списке сотрудников.
Через "Загрузить описание конфигурации" я обновила для базы ЗУП (приемника) структуру. В самих ПКО не возникло никаких покраснений.
Что в итоге произошло и как решить данную проблему?
Головной сотрудник ведь должен ссылаться сам на себя. Значит, проблема в переносе самой ссылки?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. nomad_irk 76 24.11.22 11:03 Сейчас в теме
(1)попробуйте включить поиск по ГоловнойСотрудник.

Если не поможет, то в ДополнительныеСвойства.СсылкаНового необходимо передавать ссылку на самого сотрудника, потому что в модуле объекта, в ПередЗаписью есть такой код:

ЗаписьНовогоСотрудника = ЭтоНовый();
	
	Если ЗаписьНовогоСотрудника Тогда
		ДополнительныеСвойства.Вставить("ЗаписьНовогоСотрудника", Истина);
	КонецЕсли;
	
	Если ЗаписьНовогоСотрудника Или Не ЗначениеЗаполнено(ГоловнойСотрудник) Тогда
		
		СсылкаОбъекта = Неопределено;
		Если ДополнительныеСвойства.Свойство("СсылкаНового") Тогда
			СсылкаОбъекта = ДополнительныеСвойства.СсылкаНового;
			УстановитьСсылкуНового(СсылкаОбъекта);
		ИначеЕсли ЗначениеЗаполнено(Ссылка) Тогда
			СсылкаОбъекта = Ссылка;
		Иначе
			СсылкаОбъекта = Справочники.Сотрудники.ПолучитьСсылку();
			УстановитьСсылкуНового(СсылкаОбъекта);
		КонецЕсли;
		
		Если Не ЗначениеЗаполнено(ГоловнойСотрудник) Тогда
			ГоловнойСотрудник = СсылкаОбъекта;
		КонецЕсли;
		
	Иначе
		СсылкаОбъекта = Ссылка;
	КонецЕсли;
Показать
2. beldieff 24.11.22 10:11 Сейчас в теме
Убрать галку "не замещать" сотрудник создастся и потом уже вернуть ее на место. "объект не найден" значит ссылка есть но она битая, получается она не замещается по правилам и остается прежней.

Ну или какой нибудь обработкой восстановить ссылку по этой строке.
3. user593586_fdaimond 24.11.22 10:56 Сейчас в теме
(2)

Убрать галку "не замещать" сотрудник создастся и потом уже вернуть ее на место

Такой вариант не будет работать, если уже имеется в базе такой сотрудник. Например, сотрудник на основное место работы был принят 14.09.2022, а 22.11.2022 оформляется совместительство. На каждый прием должен быть свой сотрудник, а физическое лицо одно. В таком случае второй прием прицепится к уже имеющемуся сотруднику вместо того, чтобы создать новый.

"объект не найден" значит ссылка есть но она битая

Это я знаю, но я не понимаю, почему вдруг она перестала замещаться после обновления. Ошибок на несоответствия каких-то полей нет.
Прикрепленные файлы:
5. beldieff 24.11.22 11:17 Сейчас в теме
(3)
не понимаю, почему вдруг она перестала замещаться после обновления
галка не замещать
Такой вариант не будет работать, если уже имеется в базе такой сотрудник. Например, сотрудник на основное место работы был принят 14.09.2022, а 22.11.2022 оформляется совместительство.

ничего не понял, но на это есть ответ из моего предыдущего поста
Ну или какой нибудь обработкой восстановить ссылку по этой строке.
где ее взять поможет гугл
6. user593586_fdaimond 24.11.22 11:41 Сейчас в теме
(5)
Ну или какой нибудь обработкой восстановить ссылку по этой строке.

но это же временное решение?

Правила не менялись и не корректировались.
7. user856012 14 24.11.22 12:27 Сейчас в теме
(6)
но это же временное решение?
Для "Сельского хозяйства и рыболовства" - нормальное: там все временно или, по крайней мере, сезонно.

P.S. По оформлению ветки всеми мыслимыми тегами можно предположить, что в жизни автор выглядит примерно так:
Прикрепленные файлы:
8. beldieff 24.11.22 13:55 Сейчас в теме
(6)
но это же временное решение?
нет, ссылка восстановится, появится элемент справочника который заполните как надо. и если его не удалять ссылка останется на месте.
9. user593586_fdaimond 24.11.22 16:21 Сейчас в теме
На поле Сотрудник ссылка не переносится, а создается новая ._.
Решила посмотреть идентификаторы.
Слева - ЗУП, справа ERP.
Прикрепленные файлы:
10. nomad_irk 76 24.11.22 16:36 Сейчас в теме
(9)вы сообщение (4) вообще читали?
11. user593586_fdaimond 24.11.22 17:06 Сейчас в теме
(10) Угу

Пробовала включить поиск по полю ГоловнойСотрудник, но уже по некоторым сотрудникам, которые перенеслись с новой ссылкой, такой вариант не подходит.

в ДополнительныеСвойства.СсылкаНового необходимо передавать ссылку на самого сотрудника

Здесь вы имели в виду код смотреть или в КД передавать туда ссылку?
12. nomad_irk 76 24.11.22 18:39 Сейчас в теме
(11)В правилах дописать передачу.
13. Dobryak19 15.03.23 18:22 Сейчас в теме
14. nomad_irk 76 15.03.23 18:59 Сейчас в теме
(13)Решение: ДополнительныеСвойства.СсылкаНового необходимо передавать ссылку на самого сотрудника
15. Dobryak19 16.03.23 07:06 Сейчас в теме
(14)в обработчике «после загрузки»?
Как передать ссылку на самого сотрудника, если ссылки ещё нет? Это же новый элемент.
16. nomad_irk 76 16.03.23 07:44 Сейчас в теме
(15)передавать строковое значение ссылки в параметр.
В "после загрузки" восстанавливать ссылку по значению параметра объекта
17. Dobryak19 16.03.23 11:10 Сейчас в теме
(16) Не понимаю, объясните, пожалуйста. Как передать строковое значение ссылки и как его восстановить?
18. nomad_irk 76 16.03.23 11:26 Сейчас в теме
(17)Вот так
Прикрепленные файлы:
Dobryak19; +1 Ответить
19. Dobryak19 16.03.23 11:40 Сейчас в теме
20. Dobryak19 16.03.23 17:08 Сейчас в теме
(18)Не выполняется код в обработчике "После записи" при синхронизации через план обмена. Что может быть?
Т.е. в процедуру ПередЗаписью модуля объекта справочника Сотрудники приходит объект с пустыми ДополнительныеСвойствами.
21. nomad_irk 76 16.03.23 19:15 Сейчас в теме
(20)Для нового объекта так происходит?
22. Dobryak19 17.03.23 09:59 Сейчас в теме
(21)Да. Причём не разобрался почему при выгрузке просто элемента справочника Сотрудники код срабатывает, а если новый сотрудник тянется по ссылке из документа, то не срабатывает.
23. nomad_irk 76 17.03.23 10:27 Сейчас в теме
(22)значит разные ПКО используются
Оставьте свое сообщение

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