|
Не работает СообщениеПользователю в расширении | ☑ | ||
---|---|---|---|---|
0
СделатьВсе Хорошо
29.07.20
✎
19:11
|
Комрады, всех приветствую, а кто-нибудь делал так?:
1. расширение 2. новый объект документ 3. в модуле объекта некая проверка. 4. хочу обматерить пользователя со ссылкой на определенную строку таб. части Итог: сообщение выводится только внизу к строке и ячейке не крепится, хотя в разных ресурсах интернета пишут что я все сделал правильно. Может дело в том что в расширении эта фича сообщений не работает? код таков: Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "В строка " + Выборка.НомерСтроки + " бла бла бла "; Сообщение.Поле = "Документы[" + Строка(Выборка.НомерСтроки - 1) + "].Заказ"; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); |
|||
1
AlvlSpb
29.07.20
✎
21:50
|
(0) Документы - это имя ТЧ? И почему тип значения индекс у тебя строка?
|
|||
2
lodger
29.07.20
✎
22:17
|
думаю, что косяк в
\\ Сообщение.УстановитьДанные(ЭтотОбъект); в примере описано следующее Сообщение.Поле = "Номенклатура[10].Количество"; // Привязка объекта к реквизиту формы произойдет за счет // установленного выше по стеку соответствия методом // УстановитьСоответствиеОбъектаИРеквизитаФормы Сообщение.УстановитьДанные(ОбъектДанных); // Теперь у сообщения заполнено поле ПутьКДанным (установлено имя реквизита формы, до этого была пустая строка), // и свойство КлючДанных (установлена ссылка на документ, до этого было Неопределено) либо // Привязка объекта к реквизиту формы "вручную" Сообщение.КлючДанных = ОбъектДанных.Ссылка; Сообщение.ПутьКДанным = "Объект"; |
|||
3
СделатьВсе Хорошо
29.07.20
✎
22:23
|
(1) ТЧ кончено.
А какого ему быть типа, если я в строковый реквизит "поле" присваиваю значение? |
|||
4
AlvlSpb
29.07.20
✎
23:16
|
(3) А если так? Для УФ
Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "В строка " + Выборка.НомерСтроки + " бла бла бла "; Сообщение.Поле = "Объект.Документы[" + Выборка.НомерСтроки - 1 + "].Заказ"; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); |
|||
5
СделатьВсе Хорошо
30.07.20
✎
14:43
|
(4) Пробовал, тоже не взлетело
|
|||
6
СделатьВсе Хорошо
30.07.20
✎
14:59
|
(2) И так не работает
Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "В строка " + Выборка.НомерСтроки + " бла бла бла "; Сообщение.Поле = "Объект.Документы[" + Выборка.НомерСтроки - 1 + "].Заказ"; Сообщение.КлючДанных = ЭтотОбъект.Ссылка; Сообщение.ПутьКДанным = "Объект"; Сообщение.Сообщить(); мне кажется все дело или в расширениях или в совместимости базы... я уже помоему все варианты перепробовал |
|||
7
lodger
30.07.20
✎
15:24
|
(6) вернись на шаг назад и перечитай с моего примера.
|
|||
8
AlvlSpb
30.07.20
✎
16:49
|
(6) Вставил код
Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "В строка " + " " + " бла бла бла "; Сообщение.Поле = "Объект.Запасы[" + (1 - 1) + "].Номенклатура"; Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); в расширении в ПриОткрытии ЗаказаПокупателя в демо УНФ, отлично сработало Уверен, что есть данные номера строки в выборке? Проверяй на орфографию имя ТЧ (букву пропустил или поменял местами). Где-то дурацкая мелкая ошибочка. |
|||
9
СделатьВсе Хорошо
30.07.20
✎
18:24
|
(8) при открытии формы, то хорошо, там вопросов нет.
У меня вопрос именно из модуля объекта. Орфография не может быть все реквизиты скопированы. |
|||
10
AlvlSpb
30.07.20
✎
18:57
|
(9) Проверил из модуля объекта - все работает. Единственное НЕ Объект.Документы, а просто Документы. Переименнуй ТЧ, Документы - это все же обращение к метаданным, назови по другому
|
|||
11
СделатьВсе Хорошо
30.07.20
✎
18:59
|
(10) ять, вот это правда 100% решение. он точно к метаданным лезет вместо ТЧ.
спс. сейчас попробую. |
|||
12
Timon1405
30.07.20
✎
19:02
|
(4) такой код сломается на 1001 строке
|
|||
13
СделатьВсе Хорошо
30.07.20
✎
20:13
|
(12) почему?
|
|||
14
СделатьВсе Хорошо
30.07.20
✎
20:26
|
В общем итог: грабли те же, уже ходили, но жизнь не учит, оставлю тут напоминание...
(10) это конечно ценное замечание, но дело было не в этом. Косяк был в том, что процедура проверки вызывалась в ОбработкаПроведения, а там это не работает. Перенес как положено в ОбработкаПроверкиЗаполнения и все взлетело. |
|||
15
lodger
31.07.20
✎
00:30
|
(13) потому, что 1001 будет неявно сконвертировано в 1 001. пробел в индексе строки поломает адресацию пузырька сообщения.
|
|||
16
СделатьВсе Хорошо
31.07.20
✎
09:42
|
(15) и это орден шелкового умника!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |