|
Отладка "Дополнительной обработки" (формы нет) |
☑ |
0
PiotrLoginov
22.04.13
✎
08:02
|
Здравствуйте всем. Вынужден поднять тему отладки "Дополнительных" внешних обработок. Погуглил, покопался на форуме, но безрезультатно. Механизмы навроде этого: - для ВПФ; навроде этого: - для "ЗаполнениеОбъекта" или "СозданиеСвязанныхОбъектов". Просто открыть файл обработки в режиме предприятия - тоже не вариант, у нее и формы нет никакой. Делаю так: в начале серверной процедуры в модуле объекта пишу
Попытка
Ошибка = 1/0;
Исключение
КонецПопытки;
Помечаю Отладка -> останавливаться по ошибке. Запускаю отладку в толстом клиенте, добавляю обработку в список дополнительных обработок, запускаю, попадаю в конфигуратор, но не в текст темпового файла, а в общий модуль Дополнительные отчеты и обработки. :( Пробовал ставить точки останова там - тот же результат. Что делаю не так?
|
|
1
Rie
22.04.13
✎
08:06
|
(0) Выгрузи внешнюю обработку в файл, поставь точку останова в этом файле и открой обработку.
Формы нет? Ну так модуль объекта есть.
|
|
2
Godofsin
22.04.13
✎
08:06
|
(0) Сохранить как внешнюю не вариант?
|
|
3
PiotrLoginov
22.04.13
✎
08:12
|
(2) Как внешнюю отерыть не могу формы нет... Или я чего-то не понимаю?
(1) Гм. Ну вот открыл я обработку в режиме предприятия. Ничего ж не произошло. Серверная процедура в модуле сама ж не выполнится
|
|
4
PiotrLoginov
22.04.13
✎
08:12
|
* открыть
|
|
5
Wobland
22.04.13
✎
08:14
|
(3) нарисуй свою форму, положи на неё кнопку, вызывай процедуру принудительно и отлаживайся себе на здоровье
|
|
6
PiotrLoginov
22.04.13
✎
08:31
|
(5) Неужели по-другому никак? :(
Хорошо. А как обратиться к из модуля формы к процедуре в модуле объекта ? Допустим, у меня будет кнопка "Выполнить" и для нее процедура Выполнить(Команда). Что написать чтобы вызвать процедуру
&НаСервере
Процедура ВыполнитьКоманду(Коррекция) Экспорт
, которая в модуле объекта? Просто раньше я писал так:
&НаКлиенте
Процедура Выполнить(Команда)
ВыполнитьСервернуюПроцедуру();
КонецПроцедуры
Функция ВыполнитьСервернуюПроцедуру()
//Здесь собирались в кучку данные из реквизитов формы обработки
//далее обращение к процедуре в модуле объекта:
ЭтотОбъект().ВыполнитьКоманду(ЗДЕСЬ ОБЫЧНО ПАРАМЕТРЫ С ДАННЫМИ ИЗ РЕКВИЗИТОВ);
Возврат КоллекцияФорм.ВыгрузитьКолонку("ТабличныйДокумент");
КонецФункции
&НаСервере
Функция ЭтотОбъект()
Обработка = РеквизитФормыВЗначение("Объект");
Возврат Обработка;
КонецФункции
Но боюсь, такой вариант тут не прокатит.
|
|
7
Wobland
22.04.13
✎
08:50
|
помнится, была у меня какая-то беда промеж модуля обработки и модулем формы. чтоб не париться с обращением к ЭтотОтчёт (или что-то такое) скопировал всё нужное в модуль формы, нашёл ошибку, убил форму, поправил ошибку и забил
|
|
8
PiotrLoginov
22.04.13
✎
09:02
|
скопировать всё в модуль формы? ну .. попробую, спасибо.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший