[РЕШЕНО] Проверка уникальности наименования

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем alexander4321, 16 июн 2016.

  1. TopicStarter Overlay
    alexander4321
    Offline

    alexander4321

    Регистрация:
    19 мар 2013
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Добрый день! Есть справочник Бренд. Нужно запретить менеджерам записывать дубли. В данный момент перед записью выполняется только удаление лишних символов.
    В модуле формы
    Код:
    &НаКлиенте
    Процедура НаименованиеПриИзменении(Элемент)
    Объект.Наименование = ПроверитьНаименованиеБренда (Объект.Наименование)
    КонецПроцедуры
    
    В общем модуле:
    Код:
    Функция ПроверитьНаименованиеБренда (НомНаим) Экспорт
    Наим = НомНаим;
    Наим = СтрЗаменить(Наим,"¶","");
    Наим = СокрЛП (Наим);
    Возврат Наим;
    КонецФункции
    
    Мне нужно запретить запись дублей брендов в справочник Бренды.
    Вот что есть сейчас:
    Код:
    &НаКлиенте
    Процедура НаименованиеСоздание(Элемент, СтандартнаяОбработка)
       НаименованиеСозданиеНаСервере(Объект.Наименование);
    КонецПроцедуры
    
    
    Код:
    &НаСервере
    Процедура НаименованиеСозданиеНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
       Запрос = Новый Запрос;
      Запрос.Текст = "ВЫБРАТЬ
      |  Бренд.Наименование
      |ИЗ
      |  Справочник.Бренд КАК Бренд
      |ГДЕ
      |  Бренд.Наименование = &Наименование";
       
      ИсходнаяСтрока=Объект.Наименование;
       
       //Запрос.УстановитьПараметр("Наименование",ФункцияНаименование.УдалениеНезначимыхСимволов(ИсходнаяСтрока));
       Запрос.УстановитьПараметр("Наименование",ИсходнаяСтрока);
       Результат=Запрос.Выполнить().Выбрать();
       
      Если Результат.Количество()>0 тогда
      Отказ=Истина;
      Сообщить("Бренд с таким названием уже существует");
      Иначе
      Отказ=Ложь;
      КонецЕсли;  
    КонецПроцедуры
    
    
    Мне уже объяснили, что количество параметров, передаваемых с клиента и ожидаемых на сервере, разное. Что сюда дописать?
    Код:
    НаименованиеСозданиеНаСервере(Объект.Наименование);
    Или отсюда убрать?
    Код:
    НаименованиеСозданиеНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
    Спасибо!
  2. TopicStarter Overlay
    alexander4321
    Offline

    alexander4321

    Регистрация:
    19 мар 2013
    Сообщения:
    43
    Симпатии:
    0
    Баллы:
    1
    Все, вопрос решил.

Поделиться этой страницей