Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 сен 2021, 15:03

Ошибка в запросе

Автор dimanuga, 31 окт 2018, 05:54

0 Пользователей и 1 гость просматривают эту тему.

dimanuga

Есть Справочник.Животные с реквизитом НомерИдентификатораЖивотного,
Есть Поле НомерИдентификатораЖивотного на форме,
Необходимо проверить уникальность по значению в справочнике
Делаю так:

Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("НомерИдентификатораЖивотного", Объект.НомерИдентификатораЖивотного);
   Запрос.Текст = "
   
   |ВЫБРАТЬ
   |Животные.Ссылка
   |ИЗ
   |Справочник.Животные КАК Животные
   |ГДЕ
   |Животные.НомерИдентификатораЖивотного ПОДОБНО &НомерИдентификатораЖивотного";

   Выборка = Запрос.Выполнить().Выбрать();

   Пока Выборка.Следующий() Цикл
           //Если Выборка.Ссылка = Ссылка Тогда
            //Продолжить;
            //КонецЕсли;
        Отказ = Истина;
   КонецЦикла;
КонецПроцедуры


Ругается:
{Справочник.Животные.Форма.ФормаЭлемента.Форма(20)}: Ошибка при вызове метода контекста (Выполнить)
   Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(7, 1)}: Неверные параметры "ПОДОБНО"
<<?>>Животные.НомерИдентификатораЖивотного ПОДОБНО &НомерИдентификатораЖивотного

AIFrame

Зачем так сложно?
&НаСервереБезКонтекста
Функция ПроверитьСсылкаСуществует(НомерИдентификатораЖивотного)
    СсылкаСуществующего = Справочник.Животные.НайтиПоРеквизиту("НомерИдентификатораЖивотного", НомерИдентификатораЖивотного);
    Возврат ЗначениеЗаполнено(СсылкаСуществующего);
КонецФункции

&НаКлиенте
Процедура НомерИдентификатораЖивотногоПриИзменении(Элемент)
    УжеЕсть = ПроверитьСсылкаСуществует(Объект.НомерИдентификатораЖивотного);
    Если УжеЕсть Тогда
        Элемент.ЦветФона = WebЦвета.Красный;
    Иначе
        Элемент.ЦветФона = WebЦвета.Зеленый;
    КонецЕсли;
КонецПроцедуры

Ну а ошибка у тебя потому что ты, наверное, сравниваешь числовой тип как строковый. Даже если это строковый тип, ты не обрамляешь его в %значение%, а значит твое Животные.НомерИдентификатораЖивотного ПОДОБНО &НомерИдентификатораЖивотного ничем не отличается от Животные.НомерИдентификатораЖивотного = &НомерИдентификатораЖивотного

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск