Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
06 дек 2022, 18:16

В обработке проведения ошибка Преобразование значения к типу Число не может быть

Автор Oxford, 15 июн 2022, 09:08

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

Oxford

В условии (Если Выборка.Количество - Выборка.КоличествоОстаток < 0 Тогда) возникает ошибка:
Ошибка: Преобразование значения к типу Число не может быть выполнено
Как исправить?

Процедура ОбработкаПроведения(Отказ, Режим)   
Движения.ОстаткиТоваровНаСкладе.Записывать = Истина;
Движения.СтоимостьТоваров.Записывать = Истина;

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


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

        КонецЕсли;
Движение = Движения.СтоимостьТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Номенклатура = Выборка.Номенклатура;
Движение.Количество = Выборка.Количество;
Движение.Стоимость = Выборка.Количество;
КонецЦикла;
КонецПроцедуры

alexandr_ll

Oxford, Проверьте, какие значения присваиваются переменным Выборка.Количество и Выборка.КоличествоОстаток

wise

(0) ИНТЕРЕСНОЕ соединение у Вас в запросе...  :(
Вы его в консоли запросов посмотрите.  :befhbt:
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

Теги: 1c 

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

Рейтинг@Mail.ru Rambler's Top100

Поиск