Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Каким образом получить результат из запроса и добавить определенные условия

Каким образом получить результат из запроса и добавить определенные условия
Я
   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
возьми для обучения задачу по проще. это пока на много уровней выше того что ты можешь
   Aleks_set
 
3 - 11.01.18 - 19:08
все тему свернул. все получилось. Спасибо Мандалай.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует