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

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

Читают тему

(гостей: 1)

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