helpf.pro
Регистрация

v8: Ошибка сравнения!

Ermak
22.01.2016 10:02Прочитано: 5244

Доброе утро! При добавлении документа выдает ошибку. Регистра сведений не заполнен.Ошибка при выполнении обработчика - 'ОбработкаПроведения'по причине:{Документ.ЗаявкаНаРемонт.МодульОбъекта(36)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)

Код 1C v 8.х
 Процедура ОбработкаПроведения(Отказ, Режим)

Фильтр = Новый Структура();     
Фильтр.Вставить("Маршрут",ЛицевойСчет.Участок);
КоличествоЗ=РегистрыСведений.ПланировщикРемонтныхЗаявок.ПолучитьПоследнее(КонецДня(Дата),Фильтр).Количество;

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

Запрос.УстановитьПараметр("Маршрут",ЛицевойСчет.Участок);
Запрос.УстановитьПараметр("АбонентскийУчасток",АбонентскийУчасток);
Запрос.УстановитьПараметр("ДатаНач",НачалоДня(Дата));
Запрос.УстановитьПараметр("ДатаКон",КонецДня(Дата));
Результат = Запрос.Выполнить().Выбрать();


Пока Результат.Следующий() Цикл              
КоличествоЗаявок=Результат.Количество;
КонецЦикла;


Если КоличествоЗаявок < КоличествоЗ или Не ЗначениеЗаполнено(КоличествоЗ) Тогда
Движение = Движения.СтатусЗаявокНаРемонт.Добавить();
Движение.Период = НачалоДня(Дата);
Движение.ДатаЗаявки=НачалоДня(Дата);
Движение.Участок=ЛицевойСчет.Участок; 
Движение.Заявка = Ссылка;
Движение.ЛицевойСчет = ЛицевойСчет;
Движение.Статус=Перечисления.СтатусЗаявки.Новая;
Иначе
Предупреждение("На этот день количество заявок закончились!"+Символы.ПС+"Выберите другую дату.");
Отказ=Истина;
КонецЕсли;

КонецПроцедуры

Yandex
Возможно, вас также заинтересует
Реклама на портале
IBReiter
22.01.2016 10:17Ответ № 1

Ошибка в 36 строке - смотрите, какое там условие, оно у вас сравнивает несравнимое

Отладчиком сделайте остановку по ошибке и увидите какие типы у сравниваемых элементов и тогда уже решайте, что с этим делать

Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.