Имя: Пароль:
1C
1С v8
Как Сообщить при проведении документа - УФ БП 3.0
0 Industrial
 
16.06.14
13:39
Начинал с 7.7, наконец-то начал серьёзно работать с управляемыми формами и попал в засаду. Пожалуйста, подкиньте идею. Хочу при проведении документа выводить сообщение пользователю. В "неуправляемых формах" достаточно было вызвать сообщить("тест") или
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст="Тест1";
Сообщение.Сообщить();
В УФ, когда я открываю форму документа, нажимаю провести и закрыть - сообщения выводятся в окошке, привязанном к форме, форма закрывается и окошко с сообщениями тоже, ничего не видно. Когда провожу документ из списка документов, то сообщения остаются. Т.е. мне надо или 1) привязать сообщение к какой-то родительской форме, или 2) после проведения открывать какую-то форму, где выводить результаты проведения. Если вариант 1) нельзя сделать из-за ограничения платформы, какие стандартные функции есть в конфе "Бухгалтерия предприятия 3.0.33.19" для вывода результатов проведения.
1 Cube
 
16.06.14
13:47
СП:

СообщениеПользователю (UserMessage)
ИдентификаторНазначения (TargetID)

Использование:
Чтение и запись.

Описание:
Тип: УникальныйИдентификатор.
Позволяет точно указать, к какой форме должно быть "привязано" сообщение. Если сообщение не имеет идентификатора назначения, тогда оно выводится и привязывается к активному окну, как и ранее.

Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
2 Industrial
 
16.06.14
14:17
(1) Это конечно наглость с моей стороны, но как получить на сервере идентификатор формы рабочего стола или списка документов?
3 Поpyчик-4
 
16.06.14
14:18
(2) Никак.
4 Industrial
 
16.06.14
14:24
(0) Оказывается, это уже баян. Нашёл чудный код, но он мне очень не подходит, т.к. он выполняется на клиенте и придётся уродовать конфу
    Окна = ПолучитьОкна();
    Для Каждого Ок Из Окна Цикл
        Если Ок.Основное Тогда
            Ок.Активизировать();
            Сообщилка();
        КонецЕсли;
    КонецЦикла;


Какие стандартные функции есть в конфе "Бухгалтерия предприятия 3.0.33.19" для вывода результатов проведения в отдельной форме?
5 mikecool
 
16.06.14
14:26
(4) создал макет, вывел в него
6 VRednaia
 
16.06.14
14:35
(4) "Если сообщение не имеет идентификатора назначения, тогда оно выводится и привязывается к активному окну, как и ранее. "
7 D3O
 
16.06.14
14:44
(4) а ты при старте сеанса получи главное окно, запомни его в ПараметрСеанса и при проведении документа указывай из параметра. Скорее всего есть точка в базовом функционале СтандартныхПодсистем куда без проблем можно воткнуться.
вот сюда, например: ОбщегоНазначенияКлиентПереопределяемый.ПриНачалеРаботыСистемы
8 VRednaia
 
16.06.14
14:45
(7) Потом он откроет пять окон, последнее словит ошибку и выведет ее в главное окно, которое погребено под открытыми формами.
9 D3O
 
16.06.14
14:48
(8) ошибка - это что-то нештатное и будет выводиться по-умолчанию в активное окно. а вот "свои" сообщения уже куда хочется выводить. вот только нужно еще придумать как отследить вариант проведения с закрытием ;)
10 Industrial
 
16.06.14
16:14
(0) Всем спасибо, решил не извращаться и сделать через сообщить("111"); , попытаюсь впарить клиенту как есть, если что, буду рассказывать об особенностях платформы, облачных технологиях и о том, что в 1С для ифона невозможно сделать нормальное окно сообщений как в 7.7 и 8.1, поэтому в тонком клиенте для windows его тоже не будет. Традиционно, посылаю лучи поноса ребятам на селезнёвской 21, стал их уважать ещё больше.