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

1. user593586_fdaimond 24.11.22 08:52 Сейчас в теме
Добрый день!
До обновления самой базы ЗУП правила обмена между ЗУП и ERP работали нормально (обменом передается ряд кадровых документов).
Когда обновили базу ЗУП до релиза 3.1.23.165, то оказалось, что при создании сотрудника (переноса) 1С не заполняет реквизит "Головной сотрудник" (<Объект не найден>) в самом справочнике "Сотрудники". Причем сам сотрудник создается без проблем, как и физическое лицо, переносятся личные данные.
Из-за этого возникает ряд других проблем:
- в регистре "Кадровая история сотрудников" головной сотрудник некорректно заполняется и не устанавливается флажок "Это головной сотрудник";
- в регистре "Данные для подбора сотрудника" не устанавливаются галочки "Это основной сотрудник";
- так как имеются ошибки в регистре "Данные для подбора сотрудника", то и сотрудник не отображается в списке сотрудников.
Через "Загрузить описание конфигурации" я обновила для базы ЗУП (приемника) структуру. В самих ПКО не возникло никаких покраснений.
Что в итоге произошло и как решить данную проблему?
Головной сотрудник ведь должен ссылаться сам на себя. Значит, проблема в переносе самой ссылки?
Прикрепленные файлы:
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. nomad_irk 72 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 13 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 72 24.11.22 16:36 Сейчас в теме
(9)вы сообщение (4) вообще читали?
+
11. user593586_fdaimond 24.11.22 17:06 Сейчас в теме
(10) Угу

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

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

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

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