Имя: Пароль:
1C
1С v8
как получить значение реквизита контрагент из формы документа ?
0 Ivan_495
 
17.09.15
15:10
Подскажите. Из  документа вызываю форму списка справочник

Процедура ПриОткрытии()
ЭтаФорма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Значение=Справочники.Контрагенты.НайтиПоКоду("000000420");здесь нужен контрагент из документа

ЭтаФорма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Использование=Истина;

КонецПроцедуры

как получить значение реквизита контрагент из формы документа ?
2 Nuobu
 
17.09.15
15:17
(0) Элементы.Контрагент.Значение.
Но, подозреваю, что контрагент есть в Объекте.
Тогда Объект.Контрагент.
3 Ivan_495
 
17.09.15
15:19
уточню
из Документа вызывается справочник, в котором нужно поставить фильтр по реквизиту документа
4 Nuobu
 
17.09.15
15:20
(3) Передай параметром и прочитай в ПараметрыЗаполнения.
5 Ivan_495
 
18.09.15
11:38
параметр вроде передаю
Процедура КонтрагентПриИзменении(Элемент)

    ОткрытьФорму("Справочник.ПунктР.ФормаСписка",Элемент);

КонецПроцедуры

а прочитать не могу
Процедура ПриОткрытии()

форма=Документы.РеализацияТоваровУслуг.ПолучитьФорму("ФормаДокумента");
????

КонецПроцедуры
6 Nuobu
 
18.09.15
11:48
(5) Понятно...

Процедура КонтрагентПриИзменении(Элемент)

Форма = ПолучитьФорму("Справочник.ПунктР.ФормаСписка", ЭтаФорма);
Форма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Значение = ЗначениеКонтрагента;
Форма.Открыть();

КонецПроцедуры;



Процедура ПриОткрытии()

//форма = Документы.РеализацияТоваровУслуг.ПолучитьФорму( "ФормаДокумента");
///????

КонецПроцедуры
7 Ivan_495
 
18.09.15
12:03
спасибо, но получается при изменении контрагента окрывается справочникР, а надо, чтобы фильтр настраивался, а справочникР открывался из своего ревизита
8 Nuobu
 
18.09.15
12:05
(7) ахаха.
Я скопировал Ваш код. Откуда хотите, оттуда и отрывайте нужный Вам справочник.

Четыре строки можно ведь вставить и в другую ф-ю.
9 Ivan_495
 
18.09.15
12:50
эт да
Процедура ПунктРИзменении(Элемент)
    // Вставить содержимое обработчика.

Форма = ПолучитьФорму("Справочник.ПунктРазгрузки.ФормаСписка");
Форма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Значение = Контрагент;
Форма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Использование=Истина;
Форма.Открыть();

    
КонецПроцедуры
10 Ivan_495
 
18.09.15
13:04
вот так вроде работает, но открывается две формы, сначала без отбора потом с отбором, как сделать чтобы открывалась только с отбором?
Процедура ПунктРНачалоВыбора(Элемент, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
Форма = ПолучитьФорму("Справочник.ПунктРазгрузки.ФормаСписка");
Форма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Значение = Контрагент;
Форма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Использование=Истина;
Форма.Открыть();

КонецПроцедуры
11 Mankubus
 
18.09.15
13:07
СтандартнаяОбработка =Ложь
12 Ivan_495
 
18.09.15
13:15
как присвоить Элемент.Значение значение выбранное из формы?

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

КонецПроцедуры
13 Mankubus
 
18.09.15
13:30
(12) форма = ПолучитьФорму(
здесь укажи владельца формы
14 Ivan_495
 
18.09.15
13:33
не срабатывает
Процедура ПунктРазгрузкиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    // Вставить содержимое обработчика.
    Элемент=ВыбранноеЗначение;

КонецПроцедуры
15 Ivan_495
 
18.09.15
13:37
исправил, элемент не выбирается
Процедура ПунктРазгрузкиНачалоВыбора(Элемент, СтандартнаяОбработка)
    // Вставить содержимое обработчика.

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

КонецПроцедуры

Процедура ПунктРазгрузкиОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

    Элемент=ВыбранноеЗначение;

КонецПроцедуры
16 Lexey_
 
18.09.15
13:47
(15) владелец - Элемент, а не ЭтаФорма и ПунктРазгрузкиОбработкаВыбора не нужна
17 Ivan_495
 
18.09.15
14:04
спасибо.

Процедура ПунктРазгрузкиНачалоВыбора(Элемент, СтандартнаяОбработка)
    // Вставить содержимое обработчика.

    СтандартнаяОбработка =Ложь;    

Форма = ПолучитьФорму("Справочник.ПунктРазгрузки.ФормаВыбора",,Элемент);
Форма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Значение = Контрагент;
Форма.ЭлементыФормы.СправочникСписок.Значение.Отбор.КОнтрагент.Использование=Истина;
Форма.Открыть();


КонецПроцедуры
Ошибка? Это не ошибка, это системная функция.