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

Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)

Автор ktu78, 04 сен 2015, 17:23

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

ktu78

Добрый день, коллеги.
При выполнении выборки запроса для проверки наличия ТМЦ на складе и в партии смотри код:

//проверка наличия ТМЦ  на складе и в партии
   Для Каждого ТекСтрока Из СписокПеремещенийТМЦ Цикл
   Запрос = ПроверкаНаличияТМЦНаСкладеВПартии(Ссылка, СкладОтправитель, ТекСтрока.Партия);
   
   Выборка=Запрос.Выполнить().Выбрать();
      
   
       Пока Выборка.Следующий() Цикл
      Если Выборка.КоличествоСклад < Выборка.КоличествоДок Тогда
         Сообщение=Новый СообщениеПользователю;
         Сообщение.Текст="Не хватает товаров на складе в размере:"+Строка(Выборка.КоличествоДок-Выборка.КоличествоСклад)+" единиц";
         Сообщение.Сообщить();
         Отказ=Истина;
      КонецЕсли;
      КонецЦикла;
   КонецЦикла;

........

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

            
   Запрос.УстановитьПараметр("Ссылка",Ссылка);
   Запрос.УстановитьПараметр("Склад",Склад);
   Запрос.УстановитьПараметр("Партия",Партия);
   
   Возврат Запрос;   
КонецФункции


При проведении документа Перемещение ТМЦ выдается ошибка:

Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.ПеремещениеТМЦ.МодульОбъекта(20)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
Если Выборка.КоличествоСклад < Выборка.КоличествоДок Тогда

помогите пожалуйста, заранее благодарен

Kironten

Даже не смешно, если честно.
Вы по каким то религиозным причинам не хотите пользоваться отладчиком?
Проверка выборки занимает меньше минуты.

MuI_I_Ika


Теги:

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

Рейтинг@Mail.ru

Поиск