Да, собираюсь проверить все существующие в боевой базе. Частая существующая ошибка - изменяется состав полей, а обработчики по переходу к новой версии формы включать забывают, в результате старые документы перестают открываться. (чаще всего происходит в режиме быстрей-быстрей отдается форма с частичным функционалом для формирования “как есть” и потом с т.з. разработчика версия одна, а в базе успевают насохранять промежуточной. )
Но дело не в этом, воспроизвел пример на тест базе из состава xUnitFor1C:
-
Простой пример: добавляю справочник, в него основную форму, в ней
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
Отказ = Истина;
ВызватьИсключение “Ой”;
КонецПроцедуры
запускаю тест открытия всех форм. Вскакивает сообщение об ошибке и тестирование останавливается пока не нажмешь ОК руками.
Это то, к чему я свел свою беду, и дальнейших вариантов улучшения не вижу.
-
Второй вариант, хуже:
Добавляем справочник, в нем две формы: основная и падающая (ФормаЭлементаДляПадения).
Код основной формы:
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
//Отказ = Истина;
Форма = ПолучитьФорму(“ФормаЭлементаДляПадения”);
Форма.Открыть();
КонецПроцедуры
Процедура ПриОткрытии()
ПодключитьОбработчикОжидания(“ЗакройМеня”,0.2, Истина);
КонецПроцедуры
Процедура Закройменя()
Закрыть();
КонецПроцедуры
Код падающей формы:
Процедура ПриОткрытии()
ВызватьИсключение "Ой";
КонецПроцедуры
При тесте открытия форм выдается сообщение об ошибке, требуется реакция пользователя, но тест проходит успешно.
Эта ситуация максимально приближена к моей исходной проблеме. Вызывать сразу из теста “падающую” форму не хорошо, так как основная форма в реальности настраивает состояние объекта отчета, но так как основная форма практически никогда не меняется, то я скопипастил код основной формы в тестовую обработку и получил проблему из пункта 1, то есть тестирование в автоматизированном, а не автоматическом режиме.
ЗЫ не нашел способа прикреплять файлы, если что-то осталось не понятным, пишите, выложу ссылку на дропбокс с конфой.