Имя: Пароль:
1C
1С v8
Как получить значение из формы выбора.
0 hastar
 
26.05.17
09:52
Необходимо открыть форму с отбором, не получается получить значение выбранного значения.
Процедура Расш2_ДокументСверкиВзаиморасчетовОбработкаВыбораПеред(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
        // Вставить содержимое обработчика.
    КонтрагентДокумента = Объект.Контрагент;
    Если ВыбранноеЗначение = Тип("ДокументСсылка.РасходнаяНакладная") Тогда
        
        СтандартнаяОбработка=Ложь;
        Если ЗначениеЗаполнено(КонтрагентДокумента) Тогда
            
ФормаВыбора=ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаВыбора");

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

        Иначе
            Сообщить("Не выбран контрагент!!!");
          Возврат;
        КонецЕсли;
    КонецЕсли;    
    
    
КонецПроцедуры
1 bodri
 
26.05.17
10:01
в форме выбора оповещение о выборе и вроде бы всё
2 yzimin
 
26.05.17
10:03
3 hastar
 
26.05.17
11:12
Добавил оповещение
ФормаВыбора=ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаВыбора",,Элемент, ,,,Новый ОписаниеОповещения("Расш2_ВыборЗавершение", Элемент),РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

Пишет ошибку: не найден экспортируемый метод Расш2_ВыборЗавершение

Хотя я процедуру добавил

Процедура Расш2_ВыборЗавершение(РезультатЗакрытия, ДополнительныеПараметры) Экспорт
    
    Если РезультатЗакрытия = Неопределено Тогда
        
        Сообщить("Ничего не выбрано.");
        
    Иначе
        
        Сообщить("Выбран элемент : " + РезультатЗакрытия);
        
    КонецЕсли;
    
КонецПроцедуры
4 aleks_default
 
26.05.17
11:17
#НаКлиенте
5 hastar
 
26.05.17
11:24
Такая же ошибка. Я работаю в расширении конфигурации, может в этом проблема?
6 h-sp
 
26.05.17
11:26
(5) Новый ОписаниеОповещения("Расш2_ВыборЗавершение", Элемент)

странное слово "Элемент". Может из-за него?
7 hastar
 
26.05.17
11:29
Элемент это ,куда должно попадать значение.
8 hastar
 
26.05.17
11:38
Поменял
ФормаВыбора=ОткрытьФорму("Документ.РасходнаяНакладная.Форма.ФормаВыбора",,, ,,,Новый ОписаниеОповещения( "Расш2_ВыборЗавершение", ЭтотОбъект),РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
ошибка не выходит.
Данные перешли в форму. Всем большое спасибо.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.