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

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

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

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

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


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

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

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

3. Чтобы 0 визуально было пустым, используйте при выводе функцию Формат()
LessSky; bladeson; user797276; Sanario; trickster; Torin; user1448856; +7 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Torin 741 15.07.21 11:12 Сейчас в теме
(1)
Если РасчетныйЗаказ > Остаток Тогда
Если Число(РасчетныйЗаказ) > Число(Остаток) Тогда
4. Jane1508 4 15.07.21 11:20 Сейчас в теме
(2) {ВнешнийОтчет.Форм.Форма.ФормаОтчета.Форма(65)}: Преобразование значения к типу Число не может быть выполнено
Если Число(РасчетныйЗаказ) > Число(Остаток) Тогда
7. ZergKRSK 129 15.07.21 11:29 Сейчас в теме
(1)
Если ЗначениеЗаполнено(Остаток) Тогда
	Если РасчетныйЗаказ > Остаток Тогда
        	ОбластьДанные.Параметры.РасчетЗаказ = РасчетныйЗаказ;
        КонецЕсли;
КонецЕсли;
3. sivin-alexey 506 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 Сейчас в теме
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день