Выбор записи из регистра сведений и заполнение реквизита

1. G_112852416482418300523 07.07.24 09:22 Сейчас в теме
Всем доброго времени уток!

Проще помочь с задачей
Есть документы Заказ, в нем есть реквизит клиент - спр клиенты и менеджер - спр ссылка пользователи
Также есть Регистр Сведенный Менеджеры по Клиентам, непериодический, не подчинен регистратору
Измерения - Клиент (спр. клиенты), Менеджер (спр пользователи)
Ресурсов нет

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

У Регистра сведений созда доп. фоорму списк и назвал форма выбора.
Туда вставил код:


&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	
	ОповеститьОВыборе(ВыбраннаяСтрока);
	СтандартнаяОбработка = Ложь;	
	
КонецПроцедуры


На модуле формы заказа добавил следующий код:
&НаКлиенте
Процедура МенеджерСпрНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	Отборы = Новый Структура;
	Отборы.Вставить("Клиент", Объект.Клиент);
        ПараметрыФормы = Новый Структура;
        ПараметрыФормы.Вставить("Отбор", Отборы);
        ПараметрыФормы.Вставить("РежимВыбора", Истина);
	ПараметрыФормы.Вставить("ЗакрыватьПриВыборе", Истина);
    
    ОткрытьФорму("РегистрСведений.МенеджерыПоКлиентам.Форма.ФормаВыбора",ПараметрыФормы,ЭтаФорма);
//Открываю форму с отбором по клиенту, чтобы для выбора были доступны только менеджеры клиента из заказа		

	
КонецПроцедуры

&НаКлиенте
Процедура МенеджерОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
	
	СтандарнаяОбработка = Ложь;     
	Объект.Менеджер = ВыбранноеЗначение;
	
КонецПроцедуры
Показать



Проблем в том, что:
1. Форма регистра открывается, но значение выбранное не подставляется в заказ
2. Все равно открывается стандартная форма списка справочника пользователи......
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. WasiliyMay 8 08.07.24 08:46 Сейчас в теме
(1)Идея выбирать из регистра сведений как то не очень. Лучше сделать выбор из справочника Контрагенты, применив к нему отбор в соответствии с регистром сведений или использовать РЛС.
3. G_112852416482418300523 08.07.24 15:12 Сейчас в теме
(2)
и с регистром сведений или испо

Дело в том, что в регистре я храню менеджеров по клиенту. Менеджером может быть огромное количество. А пихать их всех в ТЧ в Элементе справочника не хочется.
В дальнейшем я планирую отбирать менеджеров по клиенту для разных целей, от заполнения документа, до расчета мотивации и эффективности менеджера
4. user2033930 08.07.24 15:46 Сейчас в теме
5. WasiliyMay 8 08.07.24 16:02 Сейчас в теме
(3) Не нужно в табличную часть пихать. Регистр так и останется. Только в заказе выбор контрагента будет не из регистра, а из справочника контрагенты. Просто на список контрагентов (там же динамический список?) накладываешь отбор в соответствии с регистром.
6. G_112852416482418300523 08.07.24 16:23 Сейчас в теме
(5) Видимо некорректно написал.
По факту в заказе ты первоначально выбираешь контрагента, затем выбирается менеджер, и в этот момент у меня открывается форма выбора (дополнительная форма списка, не основная) регистра сведений. Я пытаюсь оттуда через оповещение, получить менеджера (ссылка справочник пользователи), но почему-то передается пустой ключ записи -.-

Вообще ситуация в данный момент мега странная.
У менять есть база №1 Где все работает
Есть База №2, она полностью идентичная базе 1, но там БСП поновее (хотя в коде по факту БСП не использовалось).

И при выполнении кода в базе 1, мне передается ключ записи регистра со значениями
А в базе №2 Без ничего, и ничего собственно не работает. Вообще не понимаю что происходит (в 1С "программирую" неделю)
(Если что код в базе 1 и базе 2 идентичный, просто на скринах немного не так)
Прикрепленные файлы:
7. ddukatov 08.07.24 16:47 Сейчас в теме
вместо
Объект.Менеджер = ВыбранноеЗначение;
нужно
Объект.Менеджер = ВыбранноеЗначение.Менеджер;
8. G_112852416482418300523 08.07.24 17:01 Сейчас в теме
(7) У меня по факту, в базе №2 (выше писал), нет вообще ничего.
В базе №1 Объект.Менджере = ВыбранноеЗначение.Менеджер.Менеджер; и то что нужно, как бы выполняет.
В аналогичной базе №2 с аналогичным кодом, просто ничего не передается и выпадает ошибка Клиент не найдено. (И пытался писать ВыбранноеЗначение.Менеджер, И Менеджер.Менеджер и т.д., но так как передается по факту ничего, то ничего подставить в объект не получается )
Оставьте свое сообщение

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