Имя: Пароль:
1C
1С v8
УФ. как сообщить пользователю в отдельном окне
0 vde69
 
25.01.13
08:42
сделал подписку на событие "проведение" в модуле (серверный) анализирую документ и вывожу дополнительные сообщение, но проблемма что вывод идет в окно сообщений привязаных к документу, и если пользователь нажал кнопку "Провести и закрыть" то мое окно только мелькает и все...

сейчас код такой:

Если СтрокаСообщения <> "" Тогда
   Сообщение = Новый СообщениеПользователю();
   Сообщение.Текст = "=> " + "
                       |" + СтрокаСообщения;
   Сообщение.Поле = "";
   Сообщение.УстановитьДанные(ДокументОбьект);
   Сообщение.Сообщить();
КонецЕсли;
1 vde69
 
25.01.13
09:37
ап
2 Wobland
 
25.01.13
09:39
#Если Не Сервер Тогда
Предепреждение?
3 Cube
 
25.01.13
09:42
(0)
Если СтрокаСообщения <> "" Тогда
   Сообщение = Новый СообщениеПользователю();
   Сообщение.Текст = "=> " + "
                       |" + СтрокаСообщения;
   Сообщение.Поле = "";
   Сообщение.УстановитьДанные(ДокументОбьект);
   Сообщение.Сообщить();
   Отказ = Истина;
КонецЕсли;

Если Отказ Тогда
   //Не проводить
КонецЕсли;
4 vmv
 
25.01.13
09:43
что-то делаем на сервере в транзакциях и тп.
...
мСообщения.Довавить("=> " + Символы.ПС + СтрокаСообщения)
что-то делаем на сервере в транзакциях и тп.
...
мСообщения.Довавить("=> " + Символы.ПС + СтрокаСообщения)

Возврат мСообщения;

....

уже на клиенте выводим сообщения куда хочь, тоть в окно с роликом с конями
5 vde69
 
25.01.13
09:44
(2) предупреждение не пойдет, транзакция :)
(3) мне отказывать не нужно! это просто дополнительные сведения для пользователя
6 vde69
 
25.01.13
09:45
(4) все должно отрабатывать в подписке на событие, менять обьекты нельзя
7 Cube
 
25.01.13
09:48
(6) Ну так укажи другой объект для привязки сообщений
8 ptiz
 
25.01.13
09:48
(6) ТабДок.Показать()
9 Cube
 
25.01.13
09:50
(8) Ага, на сервере... :)
10 kosts
 
25.01.13
09:51
Это на обычных формах, ищи что-то подобное для управляемых...


Если МассивСообщений.Количество() > 0 Тогда
       #Если ТолстыйКлиентОбычноеПриложение Тогда
           ОбработкаКомментариев = глЗначениеПеременной("глОбработкаСообщений");
           ОбработкаКомментариев.УдалитьСообщения();
           ОбработкаКомментариев.ДобавитьСообщение(Заголовок, Перечисления.ВидыСообщений.Раздел);
           Для каждого ЭлементМассива Из МассивСообщений Цикл
               ОбработкаКомментариев.ДобавитьСообщение(ЭлементМассива.ТекстСообщения, ЭлементМассива.ВидСообщения, ЭлементМассива.РасшифровкаСообщения);
           КонецЦикла;
           ОбработкаКомментариев.ПоказатьСообщения();
       #Иначе
           Для каждого ЭлементМассива Из МассивСообщений Цикл
               ОбщегоНазначения.СообщитьОбОшибке(ЭлементМассива.ТекстСообщения, Отказ, Заголовок);
           КонецЦикла;
       #КонецЕсли
   КонецЕсли;
11 vmv
 
25.01.13
09:54
(6) У объекта есть Дополнительные свойства, создаеещь там свойство с ключом "СтруктураСообщений" и все - даже возращать ничего не надо - туда сваливай всякие "чмоки, оки и ура"

потом выводи на клиенте прочитав из допсвойств объекта эту структуру

так делают правильные чуваки, гении выбират более дурацкий способ
12 vde69
 
25.01.13
09:56
(11) как вывести на клиенте из доп свойст если нельзя код обьекта и формы менять?
13 ssh2006
 
25.01.13
09:56
(11) не взлетит
14 Cube
 
25.01.13
09:56
(11) На клиенте нет доп. свойств уже... Они затираются...
15 Wobland
 
25.01.13
09:57
(5) в качестве бреда. пишешь своё сообщение в какую=нибудь общедоступную строку, в конце проверяешь на заполненность и показываешь
16 vmv
 
25.01.13
09:59
(11) тогда возврат Объект.ДополнительныеСвойства.СтруктураСообщений

и все

а сами допсвойства нужны чтобы не думать где и в каких объектах бродит объект, там где нодо прессуем ссобщения.

я так 100 раз делал, а то и флаг на своих формах ставлю - "Выводить сообщени". Они сообираться, но есть выбор читать или не читать, если там нет с признаком ВАжное
17 vmv
 
25.01.13
10:00
(15) это именно бред)
18 Cube
 
25.01.13
10:00
(15) Не взлетит. "в конце" - это на клиенте, а "нельзя код обьекта и формы менять"...
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший