Как вывести форму выбора договора при нажатии на поле Договор в таблице значений
09.08.2012
15:13
#1
Приветствую!<br> <br>1С 8.2 бухучет, толстый клиент, управляемая форма, внешняя обработка.<br> <br>В форме размещена ТаблицаЗначений (БазаИмпорта) с полями Контрагент, Договор.<br>В форме также имеется реквизит БазаИмпорта - ТаблицаЗначений <br>Данная таблица у меня заполняется корректно, но нужно добавить след. функционал:<br>1. Поле Контрагент не должно выбираться. Сейчас так и есть.<br>2. При нажатии на поле Договор, елси оно пустое, то должен открыться список договоров контрагента из соседнего поля Контрагент<br>3. При заполненном поле договора при заполнении таблицы (изначально) данное поле не должно реагировать на выбор.<br> <br>Какие типы полей мне нужно задать и какой код прописать? Подскажите пожалуйста.<br> <br>Файл обработки могу приложить.
10.08.2012
09:20
#2
Типы полей определяются теми данными, которые в этих полях хранятся. Для ограничения выбора устанавливайте связь полей по владельцу.
10.08.2012
09:31
#3
Это я в курсе. Но данная таблица заполняется динамически. А потом только пользователь может внести изменения и только в том случае, елси поле пустое.
10.08.2012
09:35
#4
В предопределенной процедуре поля "НачалоВыбора" проверяете заполненность и делаете СтандартнаяОбработка = Ложь.
10.08.2012
12:46
#5
"Вроде сделал. При нажатии на поле Лсчет у меня выводится предупреждение, затем откроется справочник Контрагенты и при выборе в поле Контрагент вставтся ссылка на выбранного контрагнета.<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)