Имя: Пароль:
1C
 
СообщениеПользователю - привязать к полю ТЧ которое не в ТЧ
0 badboychik
 
29.06.16
10:53
в типовых формах ERP есть такая фича как расшифровка платежа "Без разбиения" и "Списком". В первом варианте все поля просто имеют привязку к текущей строке ТЧ, а не реквизиту шапки, т.е. свойство Данные у них равно например "Элементы.РасшифровкаПлатежа.ТекущиеДанные.Партнер"

Как вывести сообщение с привязкой к полю ТЧ, когда ТЧ скрыта? Т.е. я делаю СообщитьПользователю с полем "РасшифровкаПлатежа[0].Комментарий" и сообщение вылазит непонятно где. А если установить режим ТЧ "списком" и она станет видима, то все ОК.
1 FIXXXL
 
29.06.16
10:59
(0) тебе привязывать надо к тому полю формы, которое на экране в данный момент
в зависимости от переключателя: Без разбиения - к полю в шапке, Списком - к полю в строке
2 badboychik
 
29.06.16
11:33
(1) везде пишут как раз то, что привязка идет не к полю формы а к имени реквизита объекта
3 FIXXXL
 
29.06.16
12:17
(2)
СообщениеПользователю (UserMessage)
Поле (Field)
Использование:

Чтение и запись.
Описание:

Тип: Строка.
Содержит путь к реквизиту формы, для которого было выведено сообщение, или к данным объекта.

и так и сяк СП разрешает :)
4 badboychik
 
29.06.16
12:38
Что значит "к данным объекта" ? Пишу туда имя элемента управления - не работает. В СП нет примера для данных объекта
5 Cyberhawk
 
29.06.16
12:39
(4) Это то, что в свойстве "Путь к данным" у ЭУ
6 Cyberhawk
 
29.06.16
12:40
Ну или по-другому: это путь к нужному свойству реквизита формы , для которого на форме размещен ЭУ
7 aleks_default
 
29.06.16
12:41
Да не будет оно нормально работать для текущей строки. Оставь так как есть.
8 badboychik
 
29.06.16
12:50
НАШЕЛ!
Везде пишут что в "ПутьКДанным" надо писать "Объект", но я попробовал написать "Элементы", а в "Поле" - путь к данным - и получилось!
Вот так работает:

сообщение = Новый СообщениеПользователю;
сообщение.ПутьКДанным = "Элементы";
сообщение.Поле = "РасшифровкаПлатежа.ТекущиеДанные.Комментарий";
сообщение.Текст = "Не заполнен комментарий";
сообщение.Сообщить();

Или для ERP так:
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не заполнен комментарий",,"РасшифровкаПлатежа.ТекущиеДанные.Комментарий","Элементы");
9 aleks_default
 
29.06.16
12:51
О как! Не знал.
2 + 2 = 3.9999999999999999999999999999999...