:: Вопросы по 1С
Контроль уникальности записи по наименованию
yury mikitchuk
Автор

Сообщений: 7
Откуда: Гродно
Дата регистрации: 03.10.2005
Добрый день.
Как в 1С 8.1 в справочнике сделать так, чтобы контролировалась уникальность наименования? В настоящее время используется следующая процедура проверки:
Процедура ПередЗаписью(Отказ)
Если ПустаяСтрока(Наименование) Тогда
Сообщить("Не заполнено ключевое поле 'Наименование'.", СтатусСообщения.Важное);
Отказ = Истина;
Иначе
ТекущийСправочник = Справочники.ЕдиницыИзмерения;
НайденнаяСсылка = ТекущийСправочник.НайтиПоНаименованию(Наименование, Истина);
Если НайденнаяСсылка <> ТекущийСправочник.ПустаяСсылка() И НайденнаяСсылка.Код <> Код Тогда
Сообщить("Справочник уже содержит запись с наименованием '" + НайденнаяСсылка + "'.", СтатусСообщения.Важное);
Отказ = Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Хотелось бы обеспечить уникальность наименования без проверки кода записи, например, как в VFP:
nRecno = RECNO()
SEEK ThisForm.txtNaim.Value
IF NOT FOUND() OR RECNO() = nRecno
...
Ratings: 0 negative/0 positive
Re: Контроль уникальности записи по наименованию
oleg_km

Сообщений: 487
Откуда: СПб
Дата регистрации: 02.12.2002
Придется все равно делать через запрос, так как НайтиПоНаименованию(Наименование, Истина); вернет первое попавшееся вхождение, например, которое сохраняется, а в базе есть уже другое. В данном случае придется смириться, что код будет многострочным.
Ratings: 0 negative/0 positive
Re: Контроль уникальности записи по наименованию
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
В VFP, равно как и в любой другой адекватной СУБД, контроль уникальности осуществляется декларативно - при помощи уникальных индексов, или констрейнов (ограничений), не процедурным способом.


------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 3 (Гостей: 3)

© 2000-2024 Fox Club 
Яндекс.Метрика