Имя: Пароль:
1C
1C 7.7
v7: Открытие окна в данном режиме недоступно! как решить проблему?
0 Invzor
 
24.01.14
13:39
Функция ОткрытьФорму не работет... как отурыть форму списка подчиненного справочника Договоры...

Процедура ЧитатьШтрих()
    Сообщить("Читаю штрихкод...");
    СпрКонтр = СоздатьОбъект("Справочник.Контрагенты");
    СпрДог = создатьОбъект("Справочник.Договоры");
    СпрШтрих = СоздатьОбъект("Справочник.Идентификатор");
Если СпрШтрих.НайтиПоКоду(Число(СоСканераШтрих)) =1 тогда  
    Сообщить(СпрШтрих.Код);
Если СоСканераШтрих >= 1 тогда
    
    

    СпрКонтр.ВыбратьЭлементы();
//    Сообщить(СпрКонтр.Наименование);
    Пока СпрКонтр.ПолучитьЭлемент() = 1 Цикл
    //    Сообщить(СпрКонтр.Наименование); конецЦикла;
        Если СпрКонтр.ЭтоГруппа() = 0 Тогда                      
        СпрДог.ИспользоватьВладельца(СпрКонтр);
                                          
    
             //открыть догооры
    КонтекстФормы = "";
    ОткрытьФорму("Справочник.Договоры", КонтекстФормы);
    КонтекстФормы.ИспользоватьВладельца(СпрКонтр.ТекущийЭлемент());    

        
     СпрДог.ВыбратьЭлементы();  
    // Сообщить(СпрДОг.ИдентификаторШтриха);
     Пока СпрДог.ПолучитьЭлемент() = 1 цикл
     Если СпрДог.ИдентификаторШтриха.код = СпрШтрих.Код тогда  
         
    
    //         сообщить(СпрДог.Код);
     сообщить(СпрКонтр.Наименование);
         СпрДог.Статус = Перечисление.СтатусДоговора.Действует;
         СпрДог.Записать();
         
         
          конецЕсли;
     КонецЦИкла;  
         КонецЕсли;
     КонецЦикла;  
     СоСканераШтрих = "";  
     Сообщить("обработал");  
    
    
Иначе Сообщить("Введен нулевой ШТРИХКОД");
конецЕсли;    
    
Иначе Сообщить("Такого штрихКода нет в базе!");
конецЕсли;            

КонецПроцедуры
1 dachnik
 
24.01.14
13:45
казалось бы, при чем тут v8?
2 Invzor
 
24.01.14
13:46
сорри 1С 7.7
3 Invzor
 
24.01.14
14:13
(1) это ваш коронный совет я так понимаю? а сказать что -то по делу не вариант?
4 Invzor
 
24.01.14
14:14
закройте тему.
5 Torquader
 
24.01.14
15:51
Если открытие окна недоступно, то или создавать обработчик ожидания, который потом откроет нужное окно, или делать "ложное закрытие", чтобы можно было открыть форму из процедуры ПриЗакрытии.