|
УТ11: внеш.обраб.заполнения и Сообщить() | ☑ | ||
|---|---|---|---|---|
|
0
andrewks
12.08.12
✎
13:35
|
имеется внешняя обработка заполнения объекта (заказ клиента)
в модуле обработки отрабатывает команда, идёт проверка на заполненность поля, если не заполнено - надо вывести сообщение, привязанное к соотв. полю
а теперь - внимание, вопрос: почему сообщение не привязывается к открытой форме объекта? |
|||
|
1
andrewks
12.08.12
✎
13:59
|
^
|
|||
|
2
lavryshev
12.08.12
✎
14:06
|
Контрагент - реквизит обработки?
|
|||
|
3
andrewks
12.08.12
✎
14:12
|
(2) реквизит документа
|
|||
|
4
lavryshev
12.08.12
✎
14:30
|
Если НЕ ЗначениеЗаполнено(ТекОбъект.Контрагент) Тогда
Сообщ=Новый СообщениеПользователю; Сообщ.Текст="Не заполнено поле ""Контрагент""!"; Сообщ.КлючДанных=ТекОбъектСсылка; Сообщ.Поле="Контрагент"; Сообщ.Сообщить(); Возврат; КонецЕсли; |
|||
|
5
andrewks
12.08.12
✎
14:34
|
(4) так я тоже пробовал, эффект одинаковый.
сообщения прикрепляются к окошку "Команды заполнения объектов", и закрываются вместе с ним |
|||
|
6
andrewks
12.08.12
✎
23:05
|
короче, взлетело только так: заменил вызов на клиентский, там сначала определяю гуид формы документа, пихаю его в реквизит формы, затем делаю редирект в первоначальный серверный метод в модуле обработки, и там уже юзаю этот гуид, пихая его в атрибут ИдентификаторНазначения
|
|||
|
7
эцп
12.08.12
✎
23:28
|
(0) Если располагать в модуле объекта, например, в процедуре "ОбработкаПроверкиЗаполнения", то стоит написать так:
Если НЕ ЗначениеЗаполнено(ТекОбъект.Контрагент) Тогда Сообщ=Новый СообщениеПользователю; Сообщ.Текст="Не заполнено поле ""Контрагент""!"; Сообщ.УстановитьДанные(ТекОбъект); Сообщ.Поле="Контрагент"; Сообщ.Сообщить(); Возврат; КонецЕсли; |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |