Невозможно подобрать сотрудников.

1. user963942 11.10.22 16:39 Сейчас в теме
Здравствуйте. В ЗУП бухгалтер не может подобрать сотрудников (Выплаты - Ведомости в банк - Создать - Подбор). Выходит сообщение "Обнаружено дублирование ключевых значений в колонках "Ссылка". Отображение данных в списке невозможно".
По теме из базы знаний
Найденные решения
12. SlavaKron 12.10.22 10:44 Сейчас в теме
(1) Форма подбора – это Справочник.ФизическиеЛица.Форма.ФормаВыбораСотрудников. Текст запроса там переопределяется динамически. У меня, например, такой:
фактический текст запроса динамического списка
Как видно, тут участвуют регистры сведений:
ОсновныеСотрудникиФизическихЛиц
ТекущиеКадровыеДанныеСотрудников
ДанныеДляПодбораСотрудников
ВидыЗанятостиСотрудниковИнтервальный
Можно искать дубли вручную, а можно просто перезаполнить эти регистры программно, так как они являются рассчитываемыми.
Например, такой код должен перезаполнить эти регистры (используйте на свой страх и риск):
&НаСервереБезКонтекста
Процедура ПерезаполнитьРегистрыНаСервере()
	
	НаборЗаписей = РегистрыСведений.ОсновныеСотрудникиФизическихЛиц.СоздатьНаборЗаписей();
	НаборЗаписей.ОбменДанными.Загрузка = Истина;
	НаборЗаписей.Записать();
	
	НаборЗаписей = РегистрыСведений.ТекущиеКадровыеДанныеСотрудников.СоздатьНаборЗаписей();
	НаборЗаписей.ОбменДанными.Загрузка = Истина;
	НаборЗаписей.Записать();
	
	НаборЗаписей = РегистрыСведений.ДанныеДляПодбораСотрудников.СоздатьНаборЗаписей();
	НаборЗаписей.ОбменДанными.Загрузка = Истина;
	НаборЗаписей.Записать();
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	Сотрудники.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.Сотрудники КАК Сотрудники");
	МассивСотрудников = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(0);
	
	// ОсновныеСотрудникиФизическихЛиц
	КадровыйУчет.ОбновитьОсновныхСотрудниковФизическихЛицПоСотрудникам(МассивСотрудников);
	КадровыйУчет.ОбновитьОсновныхСотрудниковФизическихЛицСотрудниковПоДоговор­амГПХ(МассивСотрудников);
	КадровыйУчет.ОбновитьОсновныхСотрудниковФизическихЛицПоТрудовымДоговорам(МассивСотрудников);
	
	// ТекущиеКадровыеДанныеСотрудников
	КадровыйУчет.ОбновитьТекущиеКадровыеДанныеСпискаСотрудников(МассивСотрудников, Новый Массив);
	
	// ДанныеДляПодбораСотрудников
	КадровыйУчетРасширенный.ЗаполнитьДанныеДляПодбораСотрудников();
	
	// Интервальные регистры
	ЗарплатаКадрыПериодическиеРегистрыРасширенный.ЗаполнитьЗависимыеДанныеПослеСозданияНовогоУзла(Неопределено);
	
КонецПроцедуры
Показать
user963942; Prikum; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user856012 14 11.10.22 16:43 Сейчас в теме
(1)
В ЗУП бухгалтер не может подобрать сотрудников
А на Инфостарте автор не может пользоваться поиском: https://forum.infostart.ru/forum86/topic287499/
3. user963942 11.10.22 16:51 Сейчас в теме
(2)
(2)
на Инфостарте автор не может пользоваться поиск

Могу. Мне хотелось услышать мнение ОПЫТНЫХ специалистов.
4. Prikum 3 11.10.22 16:58 Сейчас в теме
(3)
Мне хотелось услышать мнение ОПЫТНЫХ специалистов.
Т.е. совет запустить запрос в консоли и определить где идет дублирование Вы не считаете мнением опытных специалистов?
5. user963942 11.10.22 17:11 Сейчас в теме
(4) Я не сказал что это совет неопытного специалиста, я хотел услышать совет в этой ветке, но дали ссылку, спасибо и на этом.
6. Prikum 3 11.10.22 17:13 Сейчас в теме
(5)
я хотел услышать совет в этой ветке,
т.е. предлагаете снова написать в этой ветке?
7. user963942 11.10.22 17:15 Сейчас в теме
9. user856012 14 11.10.22 18:47 Сейчас в теме
(5)
спасибо и на этом
Ну и ладно - хоть не обматерили, всего-то назвали "неопытным".

"спасибо и на этом" (с)
10. user963942 11.10.22 18:56 Сейчас в теме
(9) На этом форуме порой язвительность лезет через край...
11. user856012 14 11.10.22 19:11 Сейчас в теме
(10)
На этом форуме
Поищите форум получше - не?
порой язвительность лезет через край...
"Каждый волен писать что сочтет нужным" (с) чей?
12. SlavaKron 12.10.22 10:44 Сейчас в теме
(1) Форма подбора – это Справочник.ФизическиеЛица.Форма.ФормаВыбораСотрудников. Текст запроса там переопределяется динамически. У меня, например, такой:
фактический текст запроса динамического списка
Как видно, тут участвуют регистры сведений:
ОсновныеСотрудникиФизическихЛиц
ТекущиеКадровыеДанныеСотрудников
ДанныеДляПодбораСотрудников
ВидыЗанятостиСотрудниковИнтервальный
Можно искать дубли вручную, а можно просто перезаполнить эти регистры программно, так как они являются рассчитываемыми.
Например, такой код должен перезаполнить эти регистры (используйте на свой страх и риск):
&НаСервереБезКонтекста
Процедура ПерезаполнитьРегистрыНаСервере()
	
	НаборЗаписей = РегистрыСведений.ОсновныеСотрудникиФизическихЛиц.СоздатьНаборЗаписей();
	НаборЗаписей.ОбменДанными.Загрузка = Истина;
	НаборЗаписей.Записать();
	
	НаборЗаписей = РегистрыСведений.ТекущиеКадровыеДанныеСотрудников.СоздатьНаборЗаписей();
	НаборЗаписей.ОбменДанными.Загрузка = Истина;
	НаборЗаписей.Записать();
	
	НаборЗаписей = РегистрыСведений.ДанныеДляПодбораСотрудников.СоздатьНаборЗаписей();
	НаборЗаписей.ОбменДанными.Загрузка = Истина;
	НаборЗаписей.Записать();
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	Сотрудники.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.Сотрудники КАК Сотрудники");
	МассивСотрудников = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(0);
	
	// ОсновныеСотрудникиФизическихЛиц
	КадровыйУчет.ОбновитьОсновныхСотрудниковФизическихЛицПоСотрудникам(МассивСотрудников);
	КадровыйУчет.ОбновитьОсновныхСотрудниковФизическихЛицСотрудниковПоДоговор­амГПХ(МассивСотрудников);
	КадровыйУчет.ОбновитьОсновныхСотрудниковФизическихЛицПоТрудовымДоговорам(МассивСотрудников);
	
	// ТекущиеКадровыеДанныеСотрудников
	КадровыйУчет.ОбновитьТекущиеКадровыеДанныеСпискаСотрудников(МассивСотрудников, Новый Массив);
	
	// ДанныеДляПодбораСотрудников
	КадровыйУчетРасширенный.ЗаполнитьДанныеДляПодбораСотрудников();
	
	// Интервальные регистры
	ЗарплатаКадрыПериодическиеРегистрыРасширенный.ЗаполнитьЗависимыеДанныеПослеСозданияНовогоУзла(Неопределено);
	
КонецПроцедуры
Показать
user963942; Prikum; +2 Ответить
13. user963942 13.10.22 06:34 Сейчас в теме
(12) Проблему исправил удалением дубля из регистра сведений "ОсновныеСотрудникиФизическихЛиц". Подскажите пожалуйста, как понять переопределяется динамически? Как его получить?
14. heseh 103 13.10.22 07:39 Сейчас в теме
(13)
переопределяется динамически

Список сотрудников - это динамический список, список который выводится на основании запроса при обращении к данным программы. Данные обновятся, обновится и динамический список.
15. SlavaKron 13.10.22 09:16 Сейчас в теме
(13) При создании на сервере в форме подбора программно заменяется текст запроса, поэтому недостаточно было просто посмотреть текст запроса в реквизите список, так как он не соответствует фактическому. На первом скрине видно, что в конфигураторе задан один текст запроса (попроще), а на втором – место в коде, где он переопределяется.
Прикрепленные файлы:
16. user963942 14.10.22 07:49 Сейчас в теме
8. user963942 11.10.22 17:18 Сейчас в теме
(6)
Каждый волен писать что сочтет нужным.
Оставьте свое сообщение

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