Натолкните, пожалуйста на мысль о способе реализации!

В 1С конфигурации имею два справочника. Один "Контрагенты", другой "РегионыПродаж". Справочник "РегионыПродаж" имеет табличную часть, в которую необходимо записать вручную все компании, относящиеся к данному региону продаж. Данные о компаниях берутся из справочника "Контрагенты", который привязан к реквизиту "Компания" (реквизит находится в табличной части справочника "РегионыПродаж").

Хочу осуществить контроль в табличной части справочника при создании каждого нового элемента списка (каждая Компания должна быть использована только в одном Регионе). Другими словами, чтобы табличная часть нового элемента справочника проверялась с табличными частями уже созданных элементов и если в табличной части нового справочника есть элемент, который уже находится в табличной части одного из ранее созданных элементов, то выдавалась ошибка.
---
А не лучше ли добавить в спр. Контрагенты реквизит РегионПродаж для заполнения? А в форму спр. РегионыПродаж вывести динамический список с запросом, который выводит компании региона продаж текущего открытого элемента, вместо табличной части?

Ну а если нужно проверку осуществить, описываем событие ПриИзменении реквизита Компания. Запросом отбираете все данные табличных частей справочника, ставите условие на реквизит Компания (это текущий выбранный элемент, см. свойство ТекущиеДанные). Ну а дальше, если запрос пустой, тогда позволяем программе подставить в реквизит контрагента, если содержит строку с выбранной компанией, то выводим сообщение об ошибке

Либо еще вариант форму выбора подшаманить таким образом, чтобы нельзя было выбрать компании, которые уже выбраны.
---
А не лучше ли добавить в спр. Контрагенты реквизит РегионПродаж для заполнения? А в форму спр. РегионыПродаж вывести динамический список с запросом, который выводит компании региона продаж текущего открытого элемента, вместо табличной части?

Ну а если нужно проверку осуществить, описываем событие ПриИзменении реквизита Компания. Запросом отбираете все данные табличных частей справочника, ставите условие на реквизит Компания (это текущий выбранный элемент, см. свойство ТекущиеДанные). Ну а дальше, если запрос пустой, тогда позволяем программе подставить в реквизит контрагента, если содержит строку с выбранной компанией, то выводим сообщение об ошибке

Либо еще вариант форму выбора подшаманить таким образом, чтобы нельзя было выбрать компании, которые уже выбраны.
---
На данный момент я выполняю конкретное задание в котором необходима работа только с табличной частью, все же благодарю за идею с формой!

Возникли вопросы с условием для реквизита Компания. Его же необходимо осуществлять при формировании при формировании запроса? Расскажите об этом поподробнее (если возможно, напишите данное условие, чтобы было понятно)
---
&НаКлиенте
Процедура КомпанияПриИзменении(Элемент)

КомпанияПриИзмененииНаСервере(Элементы.ИмяТабличнойЧасти.ТекущиеДанные.Компания);

КонецПроцедуры

&НаСервере
Процедура КомпанияПриИзмененииНаСервере(ПроверяемаяКомпания)

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ тч_Регионы.Компания КАК Компания
|ИЗ РегионыПродаж.ИмяТабличнойЧасти КАК тч_Регионы
|ГДЕ тч_Регионы.Компания = &Компания";

Запрос.УстановитьПараметр("Компания", ПроверяемаяКомпания);

<Обработка результата запроса>

КонецПроцедуры
---
Вы очень помогли! Благодарна вам.