Рассмотрим задачу, когда нужно настроить связи для полей формы Номенклатура и Характеристика номенклатуры.
Рассмотрим на примере настройки связи полей на форме записи нового добавленного регистра сведений пр_АссортиментТоваров в конфигурации УТ 11.0.7.21:
На форму записи регистра добавлены поля Номенклатура и Характеристика, после выбора Номенклатуры в поле Характеристика должны быть доступны к выбору элементы, относящиеся к Номенклатуре.
Для этого:
У реквизита Характеристика регистра сведений пр_АссортиментТоваров в свойстве Проверка заполнения устанавливаем значение Выдавать ошибку, свойство Связи параметров выбора заполняем как на рисунке:
Далее на форму записи регистра добавляем реквизит ХарактеристикиИспользуются с типом Булево:
Далее в модуль формы записи добавляем переменную:
&НаКлиенте Перем КэшированныеЗначения;
Далее добавляем обработчик события формы ПриСозданииНаСервере, текст процедуры:
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Если Запись.ИсходныйКлючЗаписи.Пустой() Тогда ХарактеристикиИспользуются = Справочники.Номенклатура.ПроверитьИспользованиеХарактеристик(Запись.Номенклатура); Элементы.Характеристика.Доступность = ХарактеристикиИспользуются; КонецЕсли; КонецПроцедуры
Далее добавляем обработчик события формы ПриЧтенииНаСервере, текст процедуры:
&НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) ХарактеристикиИспользуются = Справочники.Номенклатура.ПроверитьИспользованиеХарактеристик(Запись.Номенклатура); Элементы.Характеристика.Доступность = ХарактеристикиИспользуются; КонецПроцедуры
Далее полю Номенклатура назначаем обработчик события ПриИзменении, процедура обработчика:
&НаКлиенте Процедура НоменклатураПриИзменении(Элемент) СтруктураДействий = Новый Структура; СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", Запись.Характеристика); СтруктураСтроки = Новый Структура; СтруктураСтроки.Вставить("Номенклатура", Запись.Номенклатура); СтруктураСтроки.Вставить("Характеристика", Запись.Характеристика); СтруктураСтроки.Вставить("ХарактеристикиИспользуются", ХарактеристикиИспользуются); ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(СтруктураСтроки, СтруктураДействий, КэшированныеЗначения); ЗаполнитьЗначенияСвойств(Запись, СтруктураСтроки); ХарактеристикиИспользуются = СтруктураСтроки.ХарактеристикиИспользуются; Элементы.Характеристика.Доступность = ХарактеристикиИспользуются; КонецПроцедуры
Теперь связи полей Номенклатура и Характеристика номенклатуры в 1С УТ настроены.