Имя: Пароль:
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, стал их уважать ещё больше.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн