|
Вывод сообщений пользователю из внешней обработки создания связанных объектов | ☑ | ||
---|---|---|---|---|
0
cons24
10.12.18
✎
11:33
|
Задача: добавить ввод комплектации на основании ПТУ.
Сделал внешку, документы создает и проводит как надо. Но еще надо чтоб выводился список созданных документов и ошибок. Вижу есть параметр "СозданныеОбъекты", но он нигде явно не обрабатывается. |
|||
1
Очевидно
10.12.18
✎
11:37
|
После создания документа :
Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "Создан : "+ЗаказНаПроизводствоОбъект.Ссылка; Сообщение.КлючДанных = ЗаказНаПроизводствоОбъект.Ссылка; Сообщение.УстановитьДанные(ЗаказНаПроизводствоОбъект.Ссылка); Сообщение.Сообщить(); |
|||
2
cons24
10.12.18
✎
11:50
|
(1) не фурычит. Как и прежде совсем ничего не выводит.
|
|||
3
Очевидно
10.12.18
✎
12:01
|
(2) УФ или Обычные формы ?
|
|||
4
Очевидно
10.12.18
✎
12:04
|
(2) из СП :
СообщениеПользователю (UserMessage) Описание: Предназначен для хранения параметров сообщения, которые необходимо вывести пользователю. Если сообщение еще не было показано пользователю (такое может быть при работе на стороне сервера, в фоновом задании, внешнем соединении или Web-сервисах), можно получить накопленные сообщения методом ПолучитьСообщенияПользователю. |
|||
5
cons24
10.12.18
✎
12:05
|
УФ
|
|||
6
Очевидно
10.12.18
✎
12:07
|
(5) См: (4)
|
|||
7
cons24
10.12.18
✎
12:08
|
БСП. Некуда тут вставлять ПолучитьСообщенияПользователю()
Функция СведенияОВнешнейОбработке() Экспорт лМетаданные = Метаданные(); ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(); ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиСозданиеСвязанныхОбъектов(); ПараметрыРегистрации.Назначение.Добавить("Документ.ПоступлениеТоваровУслуг"); ПараметрыРегистрации.Наименование = лМетаданные.Синоним; НоваяКоманда = ПараметрыРегистрации.Команды.Добавить(); НоваяКоманда.Представление = ПараметрыРегистрации.Наименование; НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(); НоваяКоманда.Идентификатор = ПараметрыРегистрации.Наименование + НоваяКоманда.Использование; НоваяКоманда.ПоказыватьОповещение = Истина; Возврат ПараметрыРегистрации; КонецФункции Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты, ПараметрыВыполнения=Неопределено) Экспорт Для Каждого ПТУ из ОбъектыНазначения Цикл ОбработатьПТУ(ПТУ,СозданныеОбъекты); КонецЦикла; КонецПроцедуры Процедура ОбработатьПТУ(СсылкаПТУ,СозданныеОбъекты) // КонецПроцедуры |
|||
8
cons24
10.12.18
✎
12:08
|
Думаю причина в ТипКомандыВызовСерверногоМетода().
|
|||
9
Очевидно
10.12.18
✎
12:25
|
(8) да, ты прав ...
Меняешь его на "ТипКомандыВызовКлиентскогоМетода()" Создаёшь форму обработке и там пишешь: &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, СозданныеОбъекты, ПараметрыВыполнения=Неопределено) Экспорт Для Каждого ПТУ из ОбъектыНазначения Цикл ОбработатьПТУ(ПТУ,СозданныеОбъекты); КонецЦикла; Для Каждого СозданныйОбъект из СозданныеОбъекты Цикл Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "Создан : "+СозданныйОбъект; Сообщение.КлючДанных = СозданныйОбъект; Сообщение.УстановитьДанные(СозданныйОбъект); Сообщение.Сообщить(); КонецЦикла; КонецПроцедуры &НаСервереБезКонтекста Процедура ОбработатьПТУ(СсылкаПТУ,СозданныеОбъекты) // НовыйДокумент = СсылкаПТУ.ПолучитьОбъект().Скопировать(); НовыйДокумент.Записать(); СозданныеОбъекты.Добавить(НовыйДокумент.Ссылка); КонецПроцедуры |
|||
10
Очевидно
10.12.18
✎
12:26
|
(9) + По двойному клику на сообщение - открывается новый документа
|
|||
11
Очевидно
10.12.18
✎
12:26
|
*Документ
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |