Имя: Пароль:
1C
1С v8
Как привязать СообщениеПользователю к полю допреквизита на форме?
0 ssalikoff
 
26.05.22
06:08
Здравствуйте. Кто-нибудь знает как  это сделать?
сп = Новый СообщениеПользователю;
сп.Текст = "Текст сообщения";
сп.Поле = Что здесь указывать?
сп.ПутьКДанным = "Объект";
сп.Сообщить();

Пробовал указывать так: "Объект.ДополнительныеРеквизиты["+ Индекс + "]". Не работает.

Окно сообщения позиционируется прижатым к левой части экрана посередине.
Сообщение вызывается из обработчика события "ПриИзменении" самого поля допреквизита. При этом в обработчике события попытка обращения к Элемент.ПутьКДанным вызывает исключение «свойство недоступно».
1 DrZombi
 
гуру
26.05.22
06:11
(0) Полльзуйтесь.

СообщениеПользователю (UserMessage)
Свойства:
ИдентификаторНазначения (TargetID) // Идентификатор формы, где бы вы хотели бы выводить сообщения :)
КлючДанных (DataKey)
Поле (Field)
ПутьКДанным (DataPath)
Текст (Text)
Методы:
Сообщить (Message)
УстановитьДанные (SetData)
Конструкторы:
По умолчанию
Описание:
Предназначен для хранения параметров сообщения, которые необходимо вывести пользователю.
Если сообщение еще не было показано пользователю (такое может быть при работе на стороне сервера, в фоновом задании, внешнем соединении или Web-сервисах), можно получить накопленные сообщения методом ПолучитьСообщенияПользователю.
2 DrZombi
 
гуру
26.05.22
06:13
+(0)  Указать в поле "сп.Поле = Что здесь указывать?"

сп.Поле = "<Имя доп реквизита, как она сгенерировано на форме>"; //Придется запустить отладчик и понять, как ваши реквизиты именнуются.
3 DrZombi
 
гуру
26.05.22
06:14
+(0) Вот это лишнее!!! "сп.ПутьКДанным = "Объект";"
убери :)
4 DrZombi
 
гуру
26.05.22
06:18
+ (0) Вот чтиво про доп. реквизиты.
https://its.1c.ru/db/sppr2doc#content:89:1


Они не содержатся в объекте, (справочник, документ)
Допники живут от регистра, до простого размещения в табличной части справочника, документа. Но все дело в версии конфигурации :)
5 DrZombi
 
гуру
26.05.22
06:24
+(4) Наверное тебя немного запутал, то, что вы видите доп. реквизит на форме, это не значит, что вы видите прямую ссылку на реквизит в табличной части элемента.
На форме вы имеете дело только с реквизитом на форме, который был сгенерирован системой при открытии формы элемента

Имена таких реквизитов на форме, сгенерировано по определённому правилу, и их можно получить, через отладку вы все увидите, 10 минут парсинга кода по клавише "F11" :)
6 ssalikoff
 
26.05.22
07:05
(1) Я умею пользоваться СП, не надо захламлять обсуждение
(2) ДопРеквизиты организованы в ДанныеФормыКоллекция
(5) я указывал сбп.Поле = Элемент.Имя
В моём случае имя равно "ДополнительныйРеквизитЗначение_D9A7FF4Ex8735x11E6x80C3x90FBA6EC83B6_D45A52AFxDB48x11ECx8839xA8A1595D7EAB"
не работает
7 ssalikoff
 
26.05.22
07:07
(3) А вот это помогло. Действительно, ПутьКДанным = "Объект" указывать не нужно. Теперь работает. Спасибо!