Имя: Пароль:
1C
1С v8
ЗУП 3.1 типовая обработка документооборот с КО
0 Роспатнюк Сергей Сер
 
01.04.19
16:05
вылетает когда запускаю а обычном приложении, Релиз 3.1.9.159
{Обработка.ДокументооборотСКонтролирующимиОрганами.Форма.КонтейнерКлиентскихМетодов.Форма(32125)}: Итератор для значения не определен
    Для Каждого ОткрытоеОкно Из ПолучитьОкна() Цикл
1 Роспатнюк Сергей Сер
 
01.04.19
16:09
+(0) можно как то без добавления кода в типовой модуль исправить это, например регламентные задания не запускать в обычном приложении ?
2 runoff_runoff
 
01.04.19
16:13
а зачем нужна резиновая кукла.. ой.. обычное приложение?..
3 Роспатнюк Сергей Сер
 
01.04.19
16:15
(2) хороший вопрос но на него у меня нет ответа, начальник(ведущий программист) дал задание убрать ошибку желательно без доработки кода.
4 runoff_runoff
 
01.04.19
16:25
не получится без доработки.. ПолучитьОкна() нет такой функции в обычном приложении..
5 Роспатнюк Сергей Сер
 
01.04.19
16:32
(4) ясн, а если с доработкой как посоветуете я вот думаю можно #Если УправляемоеПриложение Тогда, или это не самый лучший способ?
6 runoff_runoff
 
01.04.19
17:32
Вычислить("ПолучитьОкна()")
7 Роспатнюк Сергей Сер
 
01.04.19
17:50
(6) а по точнее, не совсем понимаю что он вычислит если функции нет
8 Роспатнюк Сергей Сер
 
01.04.19
17:55
сделал так, начальник сказал главное что бы управляемое не пострадало от моей доработки

&НаКлиенте
Функция ФормаРасшифровкиСообщенийОткрыта()
    
    //--- imp RSS 01.04.2019
    //--- (исправление ошибки: интератор для значения не определен, функции ПолучитьОкна() нет в обычном приложении, прерываем выполнение кода и возвращаем ложь)
    #Если ТолстыйКлиентОбычноеПриложение Тогда
        Возврат Ложь;    
    #КонецЕсли    
    //--- imp RSS 01.04.2019 (Конец)
    
    ИмяФормыСообщенийТребующихРасшифровки = ПутьКОбъекту + ".Форма.ПоказСообщенийТребующихРасшифровки";
    ИмяФормыОшибкиОтправки         = ПутьКОбъекту + ".Форма.ОшибкиОтправки";
    ИмяФормыРезультатОбмена     = ПутьКОбъекту + ".Форма.РезультатОбмена";
    ИмяФормыДлительноеДействие     = ПутьКОбъекту + ".Форма.ДлительноеДействие";
            
    // Для формы, открытой в режиме "РежимОткрытияОкнаФормы.БлокироватьОкноВладельца",
    // не выполняется поиск по уникальному идентификатору, поэтому приходится искать самим.
    Для Каждого ОткрытоеОкно Из ПолучитьОкна() Цикл
        Если ТипЗнч(ОткрытоеОкно) = Тип("ОкноКлиентскогоПриложения")
            И ОткрытоеОкно.Содержимое.Количество() = 1
            И (ОткрытоеОкно.Содержимое[0].ИмяФормы  = ИмяФормыСообщенийТребующихРасшифровки
            ИЛИ ОткрытоеОкно.Содержимое[0].ИмяФормы = ИмяФормыОшибкиОтправки
            ИЛИ ОткрытоеОкно.Содержимое[0].ИмяФормы = ИмяФормыРезультатОбмена
            ИЛИ ОткрытоеОкно.Содержимое[0].ИмяФормы = ИмяФормыДлительноеДействие) Тогда
            
            Возврат ОткрытоеОкно.Содержимое[0].Открыта();
            
        КонецЕсли;
    КонецЦикла;
    
    Возврат Ложь;
    
КонецФункции
9 runoff_runoff
 
01.04.19
19:04
функция Вычислить() есть везде
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший