Проблема с записью элемента справочника

Новая тема
Здравствуйте, коллеги! Как можно средствами языка 1С осуществить проверку на уникальность наименования или другого реквизита справочника при записи? Т.е. в случае, если такое наименование уже есть в справочнике, выдавалось бы сообщение типа "Такое наименование уже есть в справочнике".

Заранее спасибо.
Сам догадался :)) Извините за беспокойство)))
расскажи уж как? может предложат другие способы :]
"ЗАДАЧА: Есть справочник телефонных номеров, необходимо организовать контроль за вводом номеров, чтобы избежать дублей.

РЕШЕНИЕ:

1. В предопределенной процедуре формы элемента справочника ПриОткрытии() пишем:

Если ПустоеЗначение(Наименование) = 1 Тогда

 ПроверятьДубль = 1;

КонецЕсли;

Это для того, чтобы проверка не включалась в случае, если мы просто открываем существующий элемент справочника, а потом его сохраняем. Если не сделать такой проверки, то всегда при сохранении существующего элемента справочника будет выдаваться сообщение "Такой номер уже есть" и т.д.

2. В предопределенной процедуре элемента справочника ПриЗаписи() пишем:

Если ПроверятьДубль = 1 Тогда

 Если ПроверкаДублей(Наименование) = 1 Тогда

  Сообщить("Такой номер телефона уже имеется в базе");

  Наименование = """";

  СтатусВозврата(0);

 КонецЕсли;

КонецЕсли;

Ну здесь вроде все понятно без комментариев. А функция ПроверкаДублей() выглядит так:

спр = СоздатьОбъект("Справочник.ТелефонныеНомера");

спр.ВыбратьЭлементы();

Если спр.НайтиПоНаименованию(Телефон) = 1 Тогда

 Возврат 1;

Иначе

 Возврат 0;

КонецЕсли;

Ничего сложного:)) Тут есть один нюанс, но т.к. в моей задаче такой ситуации не возникнет, я не стал делать дополнительные проверки, хотя, это не совсем правильно - нужно по максимуму все предусматривать и поддерживать логическую целостность независимо от того, кто работает с программой. Обязательно допишу чуть позже. С удовольствием посмотрю любой другой способ(-ы) ;-)

Один из простейших способов - сделать номер телефона кодом, тогда будет автоматическая проверка на уникальность, но в моей задаче так не получится. Мне нужно именно наименование. Специфика такая :)))"
Читают тему
(гостей: 1)

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