Ограничение выбора данных

Michail

Участник
Добрый день. Имеется документ в котором есть табличная часть, состоящая из нескольких реквизитов. Тип некоторых из этих реквизитов имеют ссылки на справочники. Необходимо сделать так, что если какой - либо значение реквизита выбрано, его нельзя было выбрать повторно. Как это сделать. С уважением Осипов Михаил Юрьевич
 

Владимир Владимирович

Известная личность
Добрый день. Имеется документ в котором есть табличная часть, состоящая из нескольких реквизитов. Тип некоторых из этих реквизитов имеют ссылки на справочники. Необходимо сделать так, что если какой - либо значение реквизита выбрано, его нельзя было выбрать повторно. Как это сделать. С уважением Осипов Михаил Юрьевич

Если не УФ, то в модуль формы кинуть переменную, определить ее как массив, изменить обработчик ОбработкаВыбора для нужного поля ввода табличной части с отказом, если при проверке массива найдено введенное значение, в противном случае с добавлением в массив выбранного значения.
 

Michail

Участник
Добрый день. Имеется документ в котором есть табличная часть, состоящая из нескольких реквизитов. Тип некоторых из этих реквизитов имеют ссылки на справочники. Необходимо сделать так, что если какой - либо значение реквизита выбрано, его нельзя было выбрать повторно. Как это сделать. С уважением Осипов Михаил Юрьевич

Если не УФ, то в модуль формы кинуть переменную, определить ее как массив, изменить обработчик ОбработкаВыбора для нужного поля ввода табличной части с отказом, если при проверке массива найдено введенное значение, в противном случае с добавлением в массив выбранного значения.
Приведите пример кода, как это делается, а то, что то я не соображу.
 

Владимир Владимирович

Известная личность
Добрый день. Имеется документ в котором есть табличная часть, состоящая из нескольких реквизитов. Тип некоторых из этих реквизитов имеют ссылки на справочники. Необходимо сделать так, что если какой - либо значение реквизита выбрано, его нельзя было выбрать повторно. Как это сделать. С уважением Осипов Михаил Юрьевич

Если не УФ, то в модуль формы кинуть переменную, определить ее как массив, изменить обработчик ОбработкаВыбора для нужного поля ввода табличной части с отказом, если при проверке массива найдено введенное значение, в противном случае с добавлением в массив выбранного значения.
Приведите пример кода, как это делается, а то, что то я не соображу.

Примерно так:

Код:
// вначале модуля
Перем МассивВыбранныхСсылок;

Процедура ТабличнаяЧасть1Реквизит1ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
    Если МассивВыбранныхСсылок.Найти(ВыбранноеЗначение)=Неопределено Тогда
        МассивВыбранныхСсылок.Добавить(ВыбранноеЗначение);
    Иначе
        СтандартнаяОбработка=Ложь;
    КонецЕсли;
КонецПроцедуры

 // в конце модуля
МассивВыбранныхСсылок=Новый Массив;
 
Верх