Имя: Пароль:
1C
1С v8
Как получить значение поля формы?
0 ArinkaE
 
26.05.15
15:33
Подскажите пожалуйста, кто знает, как получить значение поля "Контрагенты" формы?

Процедура КонтактноеЛицоПриИзменении(Элемент)
    Контрагент = Элементы.Контрагент;
КонецПроцедуры
1 GROOVY
 
26.05.15
15:35
Если это реквизит формы, то просто "Контрагент"
2 Timon1405
 
26.05.15
15:40
Элементы.Контрагент.Значение
3 ArinkaE
 
26.05.15
15:40
Подскажите тогда пожалуйста, выходит ошибка
{Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(23)}: Ошибка при вызове метода контекста (КонтактноеЛицоПриИзмененииНаСервере)
    Контрагент = КонтактноеЛицоПриИзмененииНаСервере(КонтактноеЛицо);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ПолеФормы'

Мой код:
&НаКлиенте
Процедура КонтактноеЛицоПриИзменении(Элемент)
    КонтактноеЛицо = Элементы.КонтактноеЛицо;
    Контрагент = КонтактноеЛицоПриИзмененииНаСервере(КонтактноеЛицо);
    Элементы.Контрагент = Контрагент;
КонецПроцедуры

&НаСервереБезКонтекста
Функция КонтактноеЛицоПриИзмененииНаСервере(Ссылка)
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    КонтактныеЛица.Владелец,
        |    Контрагенты.Ссылка,
        |    КонтактныеЛица.Ссылка КАК Ссылка1
        |ИЗ
        |    Справочник.КонтактныеЛица КАК КонтактныеЛица
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
        |        ПО КонтактныеЛица.Владелец = Контрагенты.Ссылка
        |ГДЕ
        |    КонтактныеЛица.Ссылка = &Ссылка";
    
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Возврат ВыборкаДетальныеЗаписи.Ссылка;
        // Вставить обработку выборки ВыборкаДетальныеЗаписи
    КонецЦикла;
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА


    // Вставить содержимое обработчика.
КонецФункции
4 ArinkaE
 
26.05.15
15:43
Элементы.КонтактноеЛицо.Значение тоже пробовала, выходит ошибка:

{Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(22)}: Поле объекта не обнаружено (Значение)
    КонтактноеЛицо = Элементы.КонтактноеЛицо.Значение;
5 Timon1405
 
26.05.15
15:44
(3) так и пишите что управляемые формы
Контрагент=КонтактноеЛицоПриИзмененииНаСервере(Объект.КонтактноеЛицо);
6 ArinkaE
 
26.05.15
15:47
А как по аналогии с обращением к значениям таблицы формы? (Элементы.Товары.ТекущиеДанные)
Это ведь реквизит формы.
7 ArinkaE
 
26.05.15
15:59
(5) Спасибо!