|
Каким образом получить результат из запроса и добавить определенные условия | ☑ | ||
---|---|---|---|---|
0
Aleks_set
11.01.18
✎
17:43
|
// Еще раз здравствуйте. Я не силен в 1с - только учусь, поэтому и нужен совет специалистов.
// Написал запрос, написал необходимое условие. Запрос.Текст = "ВЫБРАТЬ | СкладскиеЯчейки.Ссылка КАК Ячейка, | ТоварыВЯчейкахОстатки.ВНаличииОстаток, | ТоварыВЯчейкахОстатки.Назначение |ИЗ | Справочник.СкладскиеЯчейки КАК СкладскиеЯчейки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВЯчейках.Остатки КАК ТоварыВЯчейкахОстатки | ПО (ТоварыВЯчейкахОстатки.Ячейка = СкладскиеЯчейки.Ссылка) | |УПОРЯДОЧИТЬ ПО | СкладскиеЯчейки.Ссылка УБЫВ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СкладскиеЯчейки.Ссылка КАК Ячейка, | ТоварыВЯчейкахОстатки.ВНаличииОстаток, | ТоварыВЯчейкахОстатки.Назначение, | ТоварыВЯчейкахОстатки.Номенклатура, | НоменклатураДополнительныеРеквизиты.Свойство, | НоменклатураДополнительныеРеквизиты.Значение |ПОМЕСТИТЬ ВТ_Расчет |ИЗ | Справочник.СкладскиеЯчейки КАК СкладскиеЯчейки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВЯчейках.Остатки КАК ТоварыВЯчейкахОстатки | ПОЛНОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты | ПО Номенклатура.Ссылка = НоменклатураДополнительныеРеквизиты.Ссылка | ПО (ТоварыВЯчейкахОстатки.Номенклатура = НоменклатураДополнительныеРеквизиты.Ссылка) | ПО (ТоварыВЯчейкахОстатки.Ячейка = СкладскиеЯчейки.Ссылка) |ГДЕ | НоменклатураДополнительныеРеквизиты.Свойство = &Свойство |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВТ_Расчет.Ячейка КАК Ячейка, | ВТ_Расчет.ВНаличииОстаток, | ВТ_Расчет.Назначение, | ВТ_Расчет.Свойство, | ВТ_Расчет.Значение, | ЕСТЬNULL(ВТ_Расчет.ВНаличииОстаток, 0) * ЕСТЬNULL(ВЫРАЗИТЬ(ВТ_Расчет.Значение КАК ЧИСЛО(5, 3)), 0) КАК ВысотаОбщая |ИЗ | ВТ_Расчет КАК ВТ_Расчет |ИТОГИ | СУММА(ВысотаОбщая) |ПО | Ячейка"; Запрос.УстановитьПараметр("Свойство",ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ВысотаМатраса(Продукция)")); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл Если НовСтрока.Назначение = Результат.Назначение и Результат.Сумма(Высотаобщая)<2,5 тогда НовСтрока.Ячейка = Результат.Ячейка иначе если Результат.ВНаличии = NULL Тогда НовСтрока.Ячейка = Результат.Ячейка; конецесли; //конецесли; КонецЦикла; // мне нужно чтобы из 1 запроса пакета - брались пустые ячейки(если Результат.ВНаличии = NULL), а из 3 запроса(ВТ)Результат.Назначение и Результат.Сумма(Высотаобщая)<2,5 //ЧТо я делаю не так? где намудрил? Подскажите пожалуйста. |
|||
1
Мандалай
11.01.18
✎
17:53
|
Во первых - ВыполнитьПакет, а не Выполнить. И из получившегося массива результатов ты выбираешь нужный результат и с ним работаешь (выборки и прочее).
А во-вторых, по хорошему консоль запросов тебе в помощь. Если будешь качать с its то запускать придется в толстом клиенте (там конструктор работает), если стороннюю найдешь, то можно и в тонком. И в консолях есть кнопочка просмотра временных таблиц - вот там как раз ты и увидишь все что надо. |
|||
2
Вафель
11.01.18
✎
18:00
|
возьми для обучения задачу по проще. это пока на много уровней выше того что ты можешь
|
|||
3
Aleks_set
11.01.18
✎
19:08
|
все тему свернул. все получилось. Спасибо Мандалай.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |