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

1. Jane1508 4 15.07.21 11:09 Сейчас в теме
При создании отчет вылетела такая ошибка.
{ВнешнийОтчет.Форм.Форма.ФормаОтчета.Форма(65)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
Если РасчетныйЗаказ > Остаток Тогда

Помогите, пожалуйста, исправить.

РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	Продано = 0;
	Остаток = 0;
	ДнейПродажи = 0;

	РасчетныйЗаказ = 0;
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		ОбластьДанные.Параметры.Товар = ВыборкаДетальныеЗаписи.Номенклатура;
		Продано = ВыборкаДетальныеЗаписи.Количество;
		Остаток = ВыборкаДетальныеЗаписи.КоличествоОстаток;
		ДнейПродажи = ВыборкаДетальныеЗаписи.ДнейПродажи + 1;
		ОбластьДанные.Параметры.Продано = Продано;
		ОбластьДанные.Параметры.ДнейПродажи = ДнейПродажи;
		ОбластьДанные.Параметры.Остаток = Остаток;
		РасчетныйЗаказ = Продано / ДнейПродажи * СрокЗапаса;
		Если РасчетныйЗаказ > Остаток Тогда
		ОбластьДанные.Параметры.РасчетЗаказ = РасчетныйЗаказ;
		КонецЕсли;
		ИтогоПродано = ИтогоПродано + ВыборкаДетальныеЗаписи.Количество;
		ТабДок.Вывести(ОбластьДанные);	
Показать


До условия, для каждой строки Расчетный заказ выводился нормально.

Оно останавливается на значении когда Остаток = 0,ну точнее там пустое поле. Можно ли как-то сделать, чтобы пустое поле так и осталось визуально пустым, но считал он его как 0?
Найденные решения
3. sivin-alexey 509 15.07.21 11:19 Сейчас в теме
1. Эта ошибка возникает из-за того что КоличествоОстаток установлено в NULL. Используйте в запросе ЕстьNULL(КоличествоОстаток,0) КАК КоличествоОстаток

2. Число(РасчетныйЗаказ) > Число(Остаток) - не поможет, так как NULL нельзя преобразовать в число

3. Чтобы 0 визуально было пустым, используйте при выводе функцию Формат()
LessSky; bladeson; user797276; Sanario; trickster; Torin; user1448856; +7 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Torin 765 15.07.21 11:12 Сейчас в теме
(1)
Если РасчетныйЗаказ > Остаток Тогда
Если Число(РасчетныйЗаказ) > Число(Остаток) Тогда
4. Jane1508 4 15.07.21 11:20 Сейчас в теме
(2) {ВнешнийОтчет.Форм.Форма.ФормаОтчета.Форма(65)}: Преобразование значения к типу Число не может быть выполнено
Если Число(РасчетныйЗаказ) > Число(Остаток) Тогда
7. ZergKRSK 130 15.07.21 11:29 Сейчас в теме
(1)
Если ЗначениеЗаполнено(Остаток) Тогда
	Если РасчетныйЗаказ > Остаток Тогда
        	ОбластьДанные.Параметры.РасчетЗаказ = РасчетныйЗаказ;
        КонецЕсли;
КонецЕсли;
3. sivin-alexey 509 15.07.21 11:19 Сейчас в теме
1. Эта ошибка возникает из-за того что КоличествоОстаток установлено в NULL. Используйте в запросе ЕстьNULL(КоличествоОстаток,0) КАК КоличествоОстаток

2. Число(РасчетныйЗаказ) > Число(Остаток) - не поможет, так как NULL нельзя преобразовать в число

3. Чтобы 0 визуально было пустым, используйте при выводе функцию Формат()
LessSky; bladeson; user797276; Sanario; trickster; Torin; user1448856; +7 Ответить
5. Jane1508 4 15.07.21 11:27 Сейчас в теме
(3) 1- Точно...Я тормоз. Спасибо большое!!!Все получилось. Даже Формат настраивать не пришлось.
6. Andrekaa 15.07.21 11:28 Сейчас в теме
В (3) верно написано
а если сравнить строчный тип в таком виде "800" < "600" как программа это понимает?
8. daenur1301 15.07.21 11:32 Сейчас в теме
(6) будет сравнивать по сортировке, и какая строка короче, та больше
9. Andrekaa 15.07.21 11:45 Сейчас в теме
(8)так у меня по длине одинаково, а выводит результат верно
вот мне и стало не понятно
10. daenur1301 15.07.21 11:48 Сейчас в теме
(9)
"800" < "600"
по идее = ложь ... если отсортировать эти строки по возрастанию значения, то "600" < "800"
11. Andrekaa 15.07.21 11:52 Сейчас в теме
(10)это было утрированно
Если Номер < "800" Тогда
а номер это "010", "100"... "800", "800/1"...
12. daenur1301 15.07.21 11:53 Сейчас в теме
(11) всё по сортировке значений строк
13. Andrekaa 15.07.21 11:55 Сейчас в теме
14. slicem 9 19.01.23 11:19 Сейчас в теме
Оставьте свое сообщение

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