Как вывести форму выбора договора при нажатии на поле Договор в таблице значений

Новая тема
Приветствую!

1С 8.2 бухучет, толстый клиент, управляемая форма, внешняя обработка.

В форме размещена ТаблицаЗначений (БазаИмпорта) с полями Контрагент, Договор.
В форме также имеется реквизит  БазаИмпорта - ТаблицаЗначений
Данная таблица у меня заполняется корректно, но нужно добавить след. функционал:
1. Поле Контрагент не должно выбираться. Сейчас так и есть.
2. При нажатии на поле Договор, елси оно пустое, то должен открыться список договоров контрагента из соседнего поля Контрагент
3. При заполненном поле договора при заполнении таблицы (изначально) данное поле не должно реагировать на выбор.

Какие типы полей мне нужно задать и какой код прописать? Подскажите пожалуйста.

Файл обработки могу приложить.
Типы полей определяются теми данными, которые в этих полях хранятся. Для ограничения выбора устанавливайте связь полей по владельцу.
Это я в курсе. Но данная таблица заполняется динамически. А потом только пользователь может внести изменения и только в том случае, елси поле пустое.
В предопределенной процедуре поля "НачалоВыбора" проверяете заполненность и делаете СтандартнаяОбработка = Ложь.
"Вроде сделал. При нажатии на поле Лсчет у меня выводится предупреждение, затем откроется справочник Контрагенты и при выборе в поле Контрагент вставтся ссылка на выбранного контрагнета.

Но есть вопрос еще. В таблице есть поле Договор, тип СправочникСсылка.ДоговорыКонтрагентов, связь по владельцу ЭлементыФормы.БазаИмпорта.ТекущиеДанные.Контрагент.

Вопрос, как открыть справочник ДоговорыКонтрагента после выбора контрагента?


Процедура БазаИмпортаВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
Перем Ответ;
Если Колонка.Имя="Лсчет" Тогда
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Вы уверены, что хотите выбрать другого Контрагента?" + Символы.ПС
+ "Будьте осторожны! Изменится Контрагент и Договор!", Режим, 0);
Если Ответ = КодВозвратаДиалога.Да  Тогда
СтандартнаяОбработка = Ложь;
ФормаСписка= СпрКонт.ПолучитьФормуВыбора(, Элемент);
Если Не ФормаСписка.Открыта() Тогда
ФормаСписка.ЭлементыФормы.СправочникДерево.ТекущаяСтрока = КонтрРодитель;
ФормаСписка.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Истина;
ФормаСписка.ЭлементыФормы.СправочникСписок.ТекущийРодитель = КонтрРодитель;
    ВыбранныйКонтрагент = ФормаСписка.ОткрытьМодально();
ВыбраннаяСтрока.Контрагент = ВыбранныйКонтрагент;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
"
Если это БП, то посмотрите пример выбора в форме документа "Поступление товаров и услуг".
Читают тему
(гостей: 1)

Быстрый переход