|
Как в отладчике отследить работу внешней печатной формы? | ☑ | ||
---|---|---|---|---|
0
AlexandrV
15.11.22
✎
15:25
|
Подскажите кто знает, как в отладчике отследить работу внешней печатной формы?
|
|||
1
mikecool
15.11.22
✎
16:00
|
УниверсальныеМеханизмы.НапечататьВнешнююПечатнуюФорму
по крайней мере - в ОФ было так а фообще - форма с объектом печати и вызов функции |
|||
2
Ал_Ив
15.11.22
✎
19:52
|
||||
3
TormozIT
гуру
15.11.22
✎
21:09
|
||||
4
AlvlSpb
15.11.22
✎
21:30
|
||||
5
DJ Anthon
16.11.22
✎
10:46
|
я ставил исключение в нужном месте и ловил выполнение ошибки
|
|||
6
evorle145
16.11.22
✎
10:55
|
рекомендую эту https://infostart.ru/public/916110/
работает 100% , отладка и печатных форм и обработок. |
|||
7
denk
16.11.22
✎
11:10
|
1. Создаешь у обработки форму.
2. На форме добавляешь реквизиты СсылкаНаОбъект и МакетДляОтладки (тип Строка). У элемента формы МакетДляОтладки включаешь свойство РежимВыбораИзСписка. 3. На форме создаешь команду (кнопку) Сформировать. 4. В модуле формы пишешь следующие обработчики и процедуры: &НаКлиенте Процедура Сформировать(Команда) // Вставить содержимое обработчика. Если МакетДляОтладки = "" Или МакетДляОтладки = Неопределено Тогда Сообщить("Не выбрана команда для отладки"); Возврат; КонецЕсли; Результат = ОтладкаНаСервере(); Если Не Результат.ТабличныйДокумент = Неопределено Тогда Результат.ТабличныйДокумент.Показать(); Иначе Сообщить(Результат.ТекстОшибки); КонецЕсли; КонецПроцедуры &НаСервере Функция ОтладкаНаСервере() Результат = Новый Структура(); Результат.Вставить("ПризнакОшибки",Ложь); Результат.Вставить("ТекстОшибки","Неизвестная ошибка"); Результат.Вставить("ТабличныйДокумент",Неопределено); ОбъектОбработка = РеквизитФормыВЗначение("Объект"); МассивОбъектов = Новый Массив; МассивОбъектов.Добавить(СсылкаНаОбъект); ОбъектыПечати = Новый СписокЗначений; ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода(); КоллекцияПечатныхФорм = ПодготовитьКоллекциюПечатныхФорм(МакетДляОтладки); ОбъектОбработка.Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); Попытка Результат.ТабличныйДокумент = КоллекцияПечатныхФорм[0].ТабличныйДокумент; Исключение Результат.ПризнакОшибки = Истина; Результат.ТекстОшибки = "Исключение при получении результата из колекции печатных форм"; КонецПопытки; Возврат Результат; КонецФункции Функция ПодготовитьКоллекциюПечатныхФорм(Знач Идентификаторы) Результат = Новый ТаблицаЗначений; Для Каждого ИмяКолонки Из УправлениеПечатьюКлиентСервер.ИменаПолейКоллекцииПечатныхФорм() Цикл Результат.Колонки.Добавить(ИмяКолонки); КонецЦикла; Если ТипЗнч(Идентификаторы) = Тип("Строка") Тогда Идентификаторы = СтрРазделить(Идентификаторы, ","); КонецЕсли; Для Каждого Идентификатор Из Идентификаторы Цикл ПечатнаяФорма = Результат.Найти(Идентификатор, "ИмяМакета"); Если ПечатнаяФорма = Неопределено Тогда ПечатнаяФорма = Результат.Добавить(); ПечатнаяФорма.ИмяМакета = Идентификатор; ПечатнаяФорма.ИмяВРЕГ = ВРег(Идентификатор); ПечатнаяФорма.Экземпляров = 1; Иначе ПечатнаяФорма.Экземпляров = ПечатнаяФорма.Экземпляров + 1; КонецЕсли; КонецЦикла; Результат.Индексы.Добавить("ИмяВРЕГ"); Возврат Результат; КонецФункции &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) //Вставить содержимое обработчика ОбъектОбработка = РеквизитФормыВЗначение("Объект"); ТаблицаКоманд = ОбъектОбработка.СведенияОВнешнейОбработке().Команды; Для Каждого Команда Из ТаблицаКоманд Цикл Этаформа.Элементы.МакетДляОтладки.СписокВыбора.Добавить(Команда.Идентификатор); КонецЦикла; МакетДляОтладки = Этаформа.Элементы.МакетДляОтладки.СписокВыбора[0].Значение; КонецПроцедуры 5. Становишься в отладке на обработчик команды Сформировать и вперед. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |