Имя: Пароль:
1C
1С v8
Получить данные элемента формы
0 Aldnepr
 
05.01.17
20:44
УТП 8,3 . В Документ.ПлатежноеПоручениеВходящее есть Элемент формы в поле "Данные" у которого записано такое : ЭлементыФормы.РасшифровкаПлатежа.ТекущиеДанные.ДокументРасчетовСКонтрагентом
Необходимо взять Номер ДокументаРасчетов и по его номеру найти в другой базе соответствующий  документ. Пытаюсь так вытянуть, не выходит

ФормаОб=ПлатВх.ПолучитьФорму("ФормаДокумента");
Нстр=ФормаОб.ЭлементыФормы.РасшифровкаПлатежа.ТекущиеДанные.ДокументРасчетовСКонтрагентом;
1 Cool_Profi
 
05.01.17
20:45
ПлатВх.РасшифровкаПлатежа[0].ДокументРасчетовСКонтрагентом
2 Aldnepr
 
06.01.17
14:39
(1) Да, получилось спасибо. Но это получился доступ к элементам в таблЧасти (РасшифровкаПлатежа) насколько я понял. А есть Элементы которые находятся на самой форме- например Переключатель Список (тип данных булево). Нужно сделать условие
Если ПлатВх.ЭлементыФормы.Список= истина тогда
3 youalex
 
06.01.17
16:00
(2) Посмотри что указано в свойстве Данные - этого элемента. Связан ли он с данными(реквизитами Объекта), или является реквизитом формы (закладка Реквизиты для ОФ)
Если реквизит формы, значит, возможно заполняется динамически, например в событии ПриОткрытии() формы
4 Aldnepr
 
06.01.17
16:23
(3) Данные Список, явл. реквизитом формы
5 youalex
 
06.01.17
16:31
(4) смотри в коде формы, где оно устанавливается/меняется
6 Aldnepr
 
06.01.17
17:30
(5) Это обошел уже. Теперь надо выставить условие, если ДокументРасчетов не выбран (пустое поле0 тогда...

Если ПлатВх.РасшифровкаПлатежа[0].ДокументРасчетовСКонтрагентом.Пустая()=Ложь тогда

Сообщает "Значение не является значением объектного типа (Пустая)"
7 youalex
 
06.01.17
17:36
(6) потому что там, скорее всего, составной тип, значение по умолчанию которого = Неопределено.

Т.е. полностью условие будет как-то так:

Если ПлатВх.РасшифровкаПлатежа.Количество() > 0
И ПлатВх.РасшифровкаПлатежа.ДокументРасчетовСКонтрагентом <> Неопределено
И НЕ ПлатВх.РасшифровкаПлатежа.ДокументРасчетовСКонтрагентом.Пустая()

Или, можно проще, через ЗначениеЗаполнено()
8 youalex
 
06.01.17
17:37
(7) upd РасшифровкаПлатежа[0].ДокументРасчетовСКонтрагентом
конечно
9 Aldnepr
 
06.01.17
17:57
(8) Да, это проще и оказалось. Спасибо и с наступающим! Пора заканчивать трудиться)