Ребят подскажите. Имееться обработка которая выводит товар с минимальным остатком в ТЧ документа. Подскажите, как задать условие если количество товара меньше минимального остатка, чтобы этот товара(где меньше остаток) вывелся в тч
Для Каждого ЭлементОбъектНазначения Из ОбъектыНазначения Цикл
ОбъектНазначения = ЭлементОбъектНазначения.ПолучитьОбъект();
Если ИдентификаторКоманды = Команда_ЗаполнениеЗаказа Тогда
ОбъектНазначения.Товары.Очистить();
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ТоварыНаСкладахОстатки.Номенклатура.Ссылка КАК Номенклатура,
| СУММА(ВЫРАЗИТЬ(НоменклатураДополнительныеРеквизиты.Значение КАК ЧИСЛО)) КАК МинОстаток,
| ТоварыНаСкладахОстатки.Характеристика КАК Характеристика,
| ТоварыНаСкладахОстатки.Номенклатура.СтавкаНДС КАК НоменклатураСтавкаНДС,
| ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| РегистрСведений.НоменклатураПоставщиков КАК НоменклатураПоставщиков
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
| ПО ТоварыНаСкладахОстатки.Характеристика = НоменклатураДополнительныеРеквизиты.Значение
| ПО НоменклатураПоставщиков.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
|ГДЕ
| НоменклатураПоставщиков.Поставщик = &Поставщик
|
|СГРУППИРОВАТЬ ПО
| ТоварыНаСкладахОстатки.Номенклатура.Ссылка,
| ТоварыНаСкладахОстатки.Характеристика,
| ТоварыНаСкладахОстатки.Номенклатура.СтавкаНДС,
| ТоварыНаСкладахОстатки.КоличествоОстаток";
Запрос.УстановитьПараметр("Поставщик", ОбъектНазначения.Контрагент);
выборка = Запрос.Выполнить().Выбрать();
Строка = ОбъектНазначения.Товары.Добавить();
Пока выборка.Следующий() Цикл
Если выборка.МинОстаток > выборка.КоличествоОстаток Тогда
Строка.Номенклатура = Выборка.Номенклатура;
Строка.Характеристика = выборка.Характеристика;
Строка.КоличествоУпаковок = Выборка.Количество;
Строка.Количество = Выборка.Количество;
Строка.СтавкаНДС = Выборка.НоменклатураСтавкаНДС;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ОбъектНазначения.Записать();
КонецПроцедуры
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Так правильнее.
А вообще в чем трудность?
НоменклатураДополнительныеРеквизиты.Значение тут что лежит?
выборка = Запрос.Выполнить().Выбрать();
Пока выборка.Следующий() Цикл
Если выборка.МинОстаток > выборка.КоличествоОстаток Тогда
Строка = ОбъектНазначения.Товары.Добавить();
Строка.Номенклатура = Выборка.Номенклатура;
Строка.Характеристика = выборка.Характеристика;
Строка.КоличествоУпаковок = Выборка.Количество;
Строка.Количество = Выборка.Количество;
Строка.СтавкаНДС = Выборка.НоменклатураСтавкаНДС;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ПоказатьТак правильнее.
А вообще в чем трудность?
НоменклатураДополнительныеРеквизиты.Значение тут что лежит?
(2)Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
Такая ошибка при сравнении Если выборка.МинОстаток > выборка.КоличествоОстаток Тогда
НоменклатураДополнительныеРеквизиты.Значение тут что лежит? Здесь минималостаток как число
Такая ошибка при сравнении Если выборка.МинОстаток > выборка.КоличествоОстаток Тогда
НоменклатураДополнительныеРеквизиты.Значение тут что лежит? Здесь минималостаток как число
Ясно где ваша проблема....
Вы пытаетесь зеленое представить в виде числа...
Если вы не уверены, что НоменклатураДополнительныеРеквизиты.Значение - число , то как ни выражай оно числом не станет
Ибо Скажем как выразить в виде числа текст "Зеленая"
Да прав и предыдущий пост КоличествоОстаток также может быть NULL.
ВЫРАЗИТЬ(НоменклатураДополнительныеРеквизиты.Значение КАК ЧИСЛО
Вы пытаетесь зеленое представить в виде числа...
Если вы не уверены, что НоменклатураДополнительныеРеквизиты.Значение - число , то как ни выражай оно числом не станет
Ибо Скажем как выразить в виде числа текст "Зеленая"
Да прав и предыдущий пост КоличествоОстаток также может быть NULL.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот