![]() |
![]() |
![]() |
|
Не выводится окно сообщение во внешшней обработке | ☑ | ||
---|---|---|---|---|
0
ArtVC
07.04.13
✎
09:17
|
Здравствуйте. ИБ ЗУП.
В конфигурации в общем модуле есть такой код: ОбработкаКомментариев = глЗначениеПеременной("глОбработкаСообщений"); ТекстСообщения = "Внимание! |У этих сотрудников первая половина месяца отработана не полностью. |При необходимости уточните сумму планового аванса."; ЗаголовокСообщения = ОбработкаКомментариев.ДобавитьСообщение(ТекстСообщения,Перечисления.ВидыСообщений.ВажнаяИнформация); Для каждого СтрокаТЗ Из МассивСтрок Цикл ОбработкаКомментариев.ДобавитьСообщение(СтрокаТЗ.ФизлицоНаименование, Перечисления.ВидыСообщений.Информация, , ЗаголовокСообщения); КонецЦикла; Вставил функцию с этим кодом в свою обработку табличной части документа - в дебагере интерпретатор заходит в эту секцию, добавляет строки в цикле в "ОбработкаКомментариев" но не выводит содержимое; а при выполнении этого кода, когда он вызывается из самого документа-объекта, т.к. в конфигурации, содержимое выводится. Подскажите, почему не выводятся эти сообщения, да и как они вообще могут выводиться? В конфигурации всего кроме вышеприведённого кода ничего не нашёл, а кажется, что должен быть где-то вызван метод "Вывести" или его подобие, чтобы показать окно с сообщениями. Что мне искать? |
|||
1
Has
07.04.13
✎
12:40
|
встал курсором на глЗначениеПеременной
нажимаю F12 -> переход в глоб. модуль Функция глЗначениеПеременной(ИмяПеременной) Экспорт встал на ПолучитьЗначениеПеременной нажимаю F12 -> переход в общ. модуль РаботаСОбщимимиПеременными Функция ПолучитьЗначениеПеременной(Имя) Экспорт ищу текст глОбработкаСообщений нахожу код НайденноеЗначение = Обработки.СообщенияВыполняемыхДействий.Создать(); вывод ОбработкаКомментариев это экземпляр обработки СообщенияВыполняемыхДействий в общем, как говорится, отладчик в зубы и вперед F11 |
|||
2
ArtVC
07.04.13
✎
13:28
|
У меня версия ИБ 2.5.61.1, так что модули немного отличаются:
РаботаСОбщимимиПеременными - это у меня "ОбщегоНазначения" а процедура в нём: Функция ПолучитьЗначениеПеременной(ИмяПараметра, Кэш = Неопределено, КэшИзменен = Ложь) Экспорт Прошёл дебагером весь процесс заполнения табличной части - отличий от своего кода (от пути выполнения в своей обработки) не нашёл. Вообще код, который я приводил в первом посте, находится в общем модуле ЗарплатаКВыплатеОрганизацийПереопределяемый в экспортной процедуре. Не знаю, как я раньше этого не заметил, но т.к. процедура в нём экспортная, то решил просто вызвать её из этого модуля, и опять же ничего не изменилось. Мне интересен именно механизм вывода окна с сообщением (думаю, ОбработкаКомментариев - это оно и есть, раз в него добавляются строки текста, и у него по идее я бы вызывал метод в c++)- в какой момент производится его вывод, вы не могли бы мне подсказать? Какая строка кода показывает это окно? |
|||
3
Has
08.04.13
✎
09:55
|
глобальным поиском нашел
ОбработкаКомментариев.ПоказатьСообщения(); следующий код во внешней обработке работает (выдает сообщения)
|
|||
4
ArtVC
08.04.13
✎
14:11
|
Да, спасибо, это дело работает. Но в моём случае ОбработкаКомментариев.ПоказатьСообщения();
пишется в процедуре, которая завершается, передаёт управление наверх; и по какой-то причине окно с сообщениями очищается, становится просто пустым. Ставил точку останова сразу после строки ОбработкаКомментариев.ПоказатьСообщения(); - в предприятии выводятся сообщения, как и должны выводиться, а затем исчезают. Кроме использования глобальной переменной ОбработкаКомментариев нет идей? ) |
|||
5
Has
08.04.13
✎
15:12
|
поискать выше по коду процедуру
ОчиститьСообщения(); |
|||
6
ArtVC
08.04.13
✎
20:32
|
Ещё раз прошёлся дебагером, не нашёл. Но выяснил, что окно очищается не сразу при выходе из процедуры вышеприведённым кодом, а при выполнении строки
ДокОбъект.Записать(РежимЗаписи); в вышестоящей процедуре. Что такое ДокОбъект: ДокОбъект = СсылкаНаОбъект.ПолучитьОбъект(); где СсылкаНаОбъект говорит сама за себя. |
|||
7
ArtVC
09.04.13
✎
07:57
|
Проблема была в том, что я записывал документ методом .Записать(), в котором очищались сообщения. Спасибо за поддержку.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |