Имя: Пароль:
1C
1C 7.7
v7: Из формы списка справочника надо вызвать форму элемента
0 Absurdus
 
29.10.14
13:05
В форме списка справочника VIPСкидки сканируем карту клиента. Если не найдена, то открыть форму нового элемента этого же справочника. Почему то не открывается...

Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
      
    ВипСкидки = СоздатьОбъект("Справочник.VIPСкидки");
        
    Если Событие = "BarCodeValue" Тогда      
    
        Если ВИПСкидки.НайтиПоКоду(СокрЛП(Данные)) = 1 Тогда  
            АктивизироватьОбъект(ВИПСкидки.ТекущийЭлемент());
        иначе
            Сигнал();
            Если Вопрос("Карта с кодом " + СокрЛП(Данные) + " не найдена. Ввести?","Да+Нет") = "Да" Тогда
                КонтекстФормы = СокрЛП(Данные); сообщить(Данные);
                ОткрытьФормуМодально("Элемент.VIPСкидки",КонтекстФормы,,,Владелец);
            КонецЕсли;
        КонецЕсли;
                
        глСканерПосылкаДанных(1);
    КонецЕсли;    
                
КонецПроцедуры
1 Ёпрст
 
29.10.14
13:07
Ну, смотри в ПриОткрытии и в ВвводНового в форме элемента справочника.
2 Ёпрст
 
29.10.14
13:07
чего написано/напихано
3 Absurdus
 
29.10.14
13:11
Напихано. Форма не открывается сама  
        
Процедура ВводНового()
              
    сообщить("Открыта форма нового");
    
КонецПроцедуры
          
Процедура ПриОткрытии()
        
    сообщить("Форма открыта");
    
    Если ПустоеЗначение(Форма.Параметр) <> 0 Тогда  
        Код = СокрЛП(Строка(Форма.Параметр));
    КонецЕсли;
    
КонецПроцедуры
4 Ёпрст
 
29.10.14
13:13
до строки ОткрытьФормуМодально хоть доходит код ?
5 Absurdus
 
29.10.14
13:14
Да, сообщить(Данные); сообщает
6 Ёпрст
 
29.10.14
13:15
Ну и это, вот так, для начала:

ОткрытьФормуМодально("Элемент.VIPСкидки",КонтекстФормы,,,ИспользоватьВладельца());
7 Absurdus
 
29.10.14
13:18
Ох ё... Сработало!
8 Absurdus
 
29.10.14
13:19
Спасибо!
9 Ёпрст
 
29.10.14
13:21
(7) на будущее
для получения владельца:
в форме списка - это ИспользоватьВладельца()
в форме элемента - это Владелец

аналогично с родителем
Программист всегда исправляет последнюю ошибку.