1С Язык запросов УТ 10.3

1. _7445_ 21.02.19 17:24 Сейчас в теме
Здравствуйте. Я плохо знаю русский. Извините за этого. Я еще новичок в 1С программирование. Запрос написал с пакетами. Каждый из них работает но в результате выдают ошибку - {Документ.РеализацияТоваровУслуг.МодульОбъекта(6018)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
Если Выборка.Остаток < Выборка.Минимум Тогда

С окладчикам посмотрел, Остаток показывает значение NULL. Но не могла изменить это. Проблема и по-моему там. Можете дать подсказку для решение или объяснение ошибку? Документ.Реализация Товаров Услуг.МодульОбъекта.ОбработкаПроведения
Спасибо всем за ранее.
Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	Номенклатура.Ссылка,
	               |	Номенклатура.Мин КАК Минимум
	               |ПОМЕСТИТЬ втМинимум
	               |ИЗ
	               |	Справочник.Номенклатура КАК Номенклатура
	               |ГДЕ
	               |	Номенклатура.Ссылка.ЭтоГруппа = ЛОЖЬ
	               |	И Номенклатура.Ссылка = &Номенклатура
	               |;
	               |
	               |////////////////////////////////////////////////////////////­////////////////////
	               |ВЫБРАТЬ
	               |	ТоварыНаСкладахОстатки.Номенклатура,
	               |	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток
	               |ПОМЕСТИТЬ втОстаток
	               |ИЗ
	               |	РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
	               |ГДЕ
	               |	ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
	               |;
	               |
	               |////////////////////////////////////////////////////////////­////////////////////
	               |ВЫБРАТЬ
	               |	втМинимум.Ссылка,
	               |	ЕСТЬNULL(втМинимум.Минимум, 0) КАК Минимум,
	               |	ВЫРАЗИТЬ(втОстаток.КоличествоОстаток КАК ЧИСЛО(15, 2)) КАК Остаток
	               |ИЗ
	               |	втМинимум КАК втМинимум
	               |		ЛЕВОЕ СОЕДИНЕНИЕ втОстаток КАК втОстаток
	               |		ПО втМинимум.Ссылка = втОстаток.Номенклатура";
	
    Стр = ЭтотОбъект.ПолучитьФорму("ФормаДокумента").ЭлементыФормы.Товары.ТекущиеДанные.Номенклатура;
	Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата()));
	Запрос.УстановитьПараметр("Номенклатура", Стр); 
	Выборка = Запрос.Выполнить().Выбрать();	
	Пока Выборка.Следующий() Цикл
			Если Выборка.Остаток < Выборка.Минимум Тогда
			//ПоказатьОповещениеПользователя("Информация",,"Siz qalıq sayını keçdiniz. " + Стр.Номенклатура + "Minimum say - " + Выборка.Остаток,,СтатусОповещенияПользователя.Информация,);
			Сообщить("Siz minimum sayı keçdiniz. Say = " + Выборка.Остаток, СтатусСообщения.Информация);
		Иначе
		КонецЕсли;
		КонецЦикла;
Показать
По теме из базы знаний
Найденные решения
3. MaxxiMiliSan 254 21.02.19 17:32 Сейчас в теме
вместо
| ВЫРАЗИТЬ(втОстаток.КоличествоОстаток КАК ЧИСЛО(15,2)) КАК Остаток

нужно

| ЕСТЬNULL(ВЫРАЗИТЬ(втОстаток.КоличествоОстаток КАК ЧИСЛО(15,2)),0) КАК Остаток
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. MaxxiMiliSan 254 21.02.19 17:31 Сейчас в теме
не сделана проверка на ЕСТЬNULL()
4. _7445_ 21.02.19 17:33 Сейчас в теме
(2)
Я код изменил. Ошибка в остатках но значению не могу изменят.
Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	Номенклатура.Ссылка,
	               |	Номенклатура.Мин КАК Минимум
	               |ПОМЕСТИТЬ втМинимум
	               |ИЗ
	               |	Справочник.Номенклатура КАК Номенклатура
	               |ГДЕ
	               |	Номенклатура.Ссылка.ЭтоГруппа = ЛОЖЬ
	               |	И Номенклатура.Ссылка = &Номенклатура
	               |;
	               |
	               |////////////////////////////////////////////////////////////­////////////////////
	               |ВЫБРАТЬ
	               |	ТоварыНаСкладахОстатки.Номенклатура,
	               |	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток
	               |ПОМЕСТИТЬ втОстаток
	               |ИЗ
	               |	РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
	               |ГДЕ
	               |	ТоварыНаСкладахОстатки.Номенклатура = &Номенклатура
	               |;
	               |
	               |////////////////////////////////////////////////////////////­////////////////////
	               |ВЫБРАТЬ
	               |	втМинимум.Ссылка,
	               |	ЕСТЬNULL(втМинимум.Минимум, 0) КАК Минимум,
	               |	ВЫРАЗИТЬ(втОстаток.КоличествоОстаток КАК ЧИСЛО(15, 2)) КАК Остаток
	               |ИЗ
	               |	втМинимум КАК втМинимум
	               |		ЛЕВОЕ СОЕДИНЕНИЕ втОстаток КАК втОстаток
	               |		ПО втМинимум.Ссылка = втОстаток.Номенклатура";
	
    Стр = ЭтотОбъект.ПолучитьФорму("ФормаДокумента").ЭлементыФормы.Товары.ТекущиеДанные.Номенклатура;
	Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата()));
	Запрос.УстановитьПараметр("Номенклатура", Стр); 
	Выборка = Запрос.Выполнить().Выбрать();	
	Пока Выборка.Следующий() Цикл
			Если Выборка.Остаток < Выборка.Минимум Тогда
			//ПоказатьОповещениеПользователя("Информация",,"Siz qalıq sayını keçdiniz. " + Стр.Номенклатура + "Minimum say - " + Выборка.Остаток,,СтатусОповещенияПользователя.Информация,);
			Сообщить("Siz minimum sayı keçdiniz. Say = " + Выборка.Остаток, СтатусСообщения.Информация);
		Иначе
		КонецЕсли;
		КонецЦикла;
Показать
3. MaxxiMiliSan 254 21.02.19 17:32 Сейчас в теме
вместо
| ВЫРАЗИТЬ(втОстаток.КоличествоОстаток КАК ЧИСЛО(15,2)) КАК Остаток

нужно

| ЕСТЬNULL(ВЫРАЗИТЬ(втОстаток.КоличествоОстаток КАК ЧИСЛО(15,2)),0) КАК Остаток
5. _7445_ 21.02.19 17:34 Сейчас в теме
(3)
Спасибо вам большое. Забыл про него.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот