Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 06:02
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Запрос с параметром  (Прочитано 5050 раз)

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

Оффлайн Fenlou

  • *
  • Сообщений: 20
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-11
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте, помогите выгрузить результаты запроса в один столбец.
Вот, что я написал:
Процедура Кнопка1Нажатие(Элемент)
       
 Запрос = Новый Запрос;
 Запрос.Текст = "ВЫБРАТЬ
 |  Lenovo.ОперативнаяПамять,
 |  Lenovo.ОС,
 |  Lenovo.Камера,
 |  Nokia.ОперативнаяПамять КАК ОперативнаяПамять1,
 |  Nokia.ОС КАК ОС1,
 |  Nokia.Камера КАК Камера1,
 |  Samsung.ОперативнаяПамять КАК ОперативнаяПамять2,
 |  Samsung.ОС КАК ОС2,
 |  Samsung.Камера КАК Камера2
 |ИЗ
 |  Документ.Lenovo КАК Lenovo,
 |  Документ.Nokia КАК Nokia,
 |  Документ.Samsung КАК Samsung
 |ГДЕ
 |  Lenovo.ОперативнаяПамять >= &ПолеВвода2
 |  И Lenovo.ОС = &ПолеВвода3
 |  И Lenovo.Камера >= &ПолеВвода1
 |  И Nokia.ОперативнаяПамять >= &ПолеВвода2
 |  И Nokia.ОС = &ПолеВвода3
 |  И Nokia.Камера >= &ПолеВвода1
 |  И Samsung.ОперативнаяПамять >= &ПолеВвода2
 |  И Samsung.ОС = &ПолеВвода3
 |  И Samsung.Камера >= &ПолеВвода1
 |
 |СГРУППИРОВАТЬ ПО
 |  Lenovo.ОперативнаяПамять,
 |  Lenovo.ОС,
 |  Lenovo.Камера,
 |  Nokia.ОперативнаяПамять,
 |  Nokia.ОС,
 |  Nokia.Камера,
 |  Samsung.ОперативнаяПамять,
 |  Samsung.ОС,
 |  Samsung.Камера";
 
 Результат = Запрос.Выполнить();
Запрос.УстановитьПараметр("ПолеВвода2",ПолеВвода2);
Запрос.УстановитьПараметр("ПолеВвода3",ПолеВвода3); 
Запрос.УстановитьПараметр("ПолеВвода1",ПолеВвода1);
 
ЭлементыФормы.ТабличноеПоле1.Значение=Результат.Выгрузить();
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
   
КонецПроцедуры


Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
Результат.Выгрузить().ВыгрузитьКолонку(«имяколонки»)
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн Fenlou

  • *
  • Сообщений: 20
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-11
  • Сайт: 
  • Профессия: Ученик 1С
Результат.Выгрузить().ВыгрузитьКолонку(«имяколонки»)
Не получается. :wacko:
Процедура Кнопка1Нажатие(Элемент)

 Запрос = Новый Запрос;
 Запрос.Текст = "ВЫБРАТЬ
 |  Lenovo.ОперативнаяПамять,
 |  Lenovo.ОС,
 |  Lenovo.Камера,
 |  Nokia.ОперативнаяПамять КАК ОперативнаяПамять1,
 |  Nokia.ОС КАК ОС1,
 |  Nokia.Камера КАК Камера1,
 |  Samsung.ОперативнаяПамять КАК ОперативнаяПамять2,
 |  Samsung.ОС КАК ОС2,
 |  Samsung.Камера КАК Камера2
 |ИЗ
 |  Документ.Lenovo КАК Lenovo,
 |  Документ.Nokia КАК Nokia,
 |  Документ.Samsung КАК Samsung
 |ГДЕ
 |  Lenovo.ОперативнаяПамять >= &ПолеВвода2
 |  И Lenovo.ОС = &ПолеВвода3
 |  И Lenovo.Камера >= &ПолеВвода1
 |  И Nokia.ОперативнаяПамять >= &ПолеВвода2
 |  И Nokia.ОС = &ПолеВвода3
 |  И Nokia.Камера >= &ПолеВвода1
 |  И Samsung.ОперативнаяПамять >= &ПолеВвода2
 |  И Samsung.ОС = &ПолеВвода3
 |  И Samsung.Камера >= &ПолеВвода1
 |
 |СГРУППИРОВАТЬ ПО
 |  Lenovo.ОперативнаяПамять,
 |  Lenovo.ОС,
 |  Lenovo.Камера,
 |  Nokia.ОперативнаяПамять,
 |  Nokia.ОС,
 |  Nokia.Камера,
 |  Samsung.ОперативнаяПамять,
 |  Samsung.ОС,
 |  Samsung.Камера";
 
Запрос.УстановитьПараметр("ПолеВвода2",ПолеВвода2);
Запрос.УстановитьПараметр("ПолеВвода3",ПолеВвода3); 
Запрос.УстановитьПараметр("ПолеВвода1",ПолеВвода1);
Результат = Запрос.Выполнить();


ЭлементыФормы.ТабличноеПоле1.Значение=Результат.Выгрузить().ВыгрузитьКолонку(,ПолеВвода2,ПолеВвода3,ПолеВвода1);
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
   
КонецПроцедуры

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
А... Поле1, поле2,поле3 - это название колонок?
ВЫ лучше напишите нормлаьно что вы хотите. выгрузить в одну колонку - это странное желание
Добавлено: 11 Окт 2014, 12:42

ТаблицаЗначений (ValueTable)
ВыгрузитьКолонку (UnloadColumn)
Синтаксис:

ВыгрузитьКолонку(<Колонка>)
Параметры:

<Колонка> (обязательный)

Тип: Число; Строка; КолонкаТаблицыЗначений.
Колонка, значения которой необходимо выгрузить. В качестве значения параметра может выступать индекс колонки, имя колонки, сама колонка.
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн Fenlou

  • *
  • Сообщений: 20
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-11
  • Сайт: 
  • Профессия: Ученик 1С
А... Поле1, поле2,поле3 - это название колонок?
ВЫ лучше напишите нормлаьно что вы хотите. выгрузить в одну колонку - это странное желание
Добавлено: 11 Окт 2014, 12:42

ТаблицаЗначений (ValueTable)
ВыгрузитьКолонку (UnloadColumn)
Синтаксис:

ВыгрузитьКолонку(<Колонка>)
Параметры:

<Колонка> (обязательный)

Тип: Число; Строка; КолонкаТаблицыЗначений.
Колонка, значения которой необходимо выгрузить. В качестве значения параметра может выступать индекс колонки, имя колонки, сама колонка.
Просто результат этого запроса выводится в одну строку

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
Согласитесь не имея вашей конфигурации очень сложно телепатически придумать как выводится ваш запрос. А конфа не стандартная.
Ладно
Допустим мы считаем , что вам надо не в строку, а в колонку
Рез = Запрос.ВЫполнить().ВЫбрать();
Пока Рез.Следующий() Цикл
//заполняем таблитцу значения
Стр = ТЗ.Добавить();
Стр.....
КонецЦИкла;

ЭлементыФормы.ТабличноеПоле1.Значение = ТЗ;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();

Это первый вариант не самый лучший.
 Второй вариант использовать в запросе - ОБЪЕДИНИТЬ ВСЕ
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн Fenlou

  • *
  • Сообщений: 20
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-11
  • Сайт: 
  • Профессия: Ученик 1С
Согласитесь не имея вашей конфигурации очень сложно телепатически придумать как выводится ваш запрос. А конфа не стандартная.
Ладно
Допустим мы считаем , что вам надо не в строку, а в колонку
Рез = Запрос.ВЫполнить().ВЫбрать();
Пока Рез.Следующий() Цикл
//заполняем таблитцу значения
Стр = ТЗ.Добавить();
Стр.....
КонецЦИкла;

ЭлементыФормы.ТабличноеПоле1.Значение = ТЗ;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();

Это первый вариант не самый лучший.
 Второй вариант использовать в запросе - ОБЪЕДИНИТЬ ВСЕ
Добавлено: 11 Окт 2014, 13:33

Процедура Кнопка1Нажатие(Элемент)
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Lenovo.ОперативнаяПамять,
                   |    Lenovo.ОС,
                   |    Lenovo.Камера
                   |ИЗ
                   |    Документ.Lenovo КАК Lenovo,
                   |    Документ.Nokia КАК Nokia,
                   |    Документ.Samsung КАК Samsung
                   |ГДЕ
                   |    Lenovo.ОперативнаяПамять > &ПолеВвода2
                   |    И Lenovo.ОС = &ПолеВвода3
                   |    И Lenovo.Камера >= &ПолеВвода1
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    Nokia.ОперативнаяПамять,
                   |    Nokia.ОС,
                   |    Nokia.Камера
                   |ИЗ
                   |    Документ.Nokia КАК Nokia
                   |ГДЕ
                   |    Nokia.ОперативнаяПамять = &ПолеВвода2
                   |    И Nokia.ОС = &ПолеВвода3
                   |    И Nokia.Камера = &ПолеВвода1
                   |
                   |ОБЪЕДИНИТЬ ВСЕ
                   |
                   |ВЫБРАТЬ
                   |    Samsung.ОперативнаяПамять,
                   |    Samsung.ОС,
                   |    Samsung.Камера
                   |ИЗ
                   |    Документ.Samsung КАК Samsung
                   |ГДЕ
                   |    Samsung.ОперативнаяПамять = &ПолеВвода2
                   |    И Samsung.ОС = &ПолеВвода3
                   |    И Samsung.Камера = &ПолеВвода1";
   
   
       
 
Запрос.УстановитьПараметр("ПолеВвода2",ПолеВвода2);
Запрос.УстановитьПараметр("ПолеВвода3",ПолеВвода3); 
Запрос.УстановитьПараметр("ПолеВвода1",ПолеВвода1);
Результат = Запрос.Выполнить();
ЭлементыФормы.ТабличноеПоле1.Значение=Результат.Выгрузить();
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
   
КонецПроцедуры
Но запрос не правильно работает

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
эээээ?
Используйте ОБЪЕДИНИТЬ ВСЕ

Примерно так:

Запрос.Текст = "ВЫБРАТЬ
 |  Lenovo.ОперативнаяПамять,
 |  Lenovo.ОС,
 |  Lenovo.Камера
 |ИЗ докленова
| Где... условия
|Объединить все
|выбрать
 |  Nokia.ОперативнаяПамять КАК ОперативнаяПамять1,
 |  Nokia.ОС КАК ОС1,
 |  Nokia.Камера КАК Камера1,
| из донокиа
| Где... условия
|объединить все
|выбрать
 |  Samsung.ОперативнаяПамять КАК ОперативнаяПамять2,
 |  Samsung.ОС КАК ОС2,
 |  Samsung.Камера КАК Камера2
|из док самсунг
| Где... условия";
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн Fenlou

  • *
  • Сообщений: 20
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-10-11
  • Сайт: 
  • Профессия: Ученик 1С
эээээ?
Используйте ОБЪЕДИНИТЬ ВСЕ

Примерно так:

Запрос.Текст = "ВЫБРАТЬ
 |  Lenovo.ОперативнаяПамять,
 |  Lenovo.ОС,
 |  Lenovo.Камера
 |ИЗ докленова
| Где... условия
|Объединить все
|выбрать
 |  Nokia.ОперативнаяПамять КАК ОперативнаяПамять1,
 |  Nokia.ОС КАК ОС1,
 |  Nokia.Камера КАК Камера1,
| из донокиа
| Где... условия
|объединить все
|выбрать
 |  Samsung.ОперативнаяПамять КАК ОперативнаяПамять2,
 |  Samsung.ОС КАК ОС2,
 |  Samsung.Камера КАК Камера2
|из док самсунг
| Где... условия";
Я загрузил файл dt, сможете проверить?

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
не, не хочу проверять.
Могу точно сказать - работать будет!

500 рублей - проверю:)
Помог? Нажми - Спасибо :)
skype: Soprov1C


Теги:
 

Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 9327
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Запрос Параметры для "ИЗ"

Автор БерезинРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2990
Последний ответ 15 Май 2013, 23:27
от Березин
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

Автор ZeedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 977
Последний ответ 11 Июл 2016, 09:00
от vitasw
Запрос по обработке "Согласование заявок"

Автор DenielAkreedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 678
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed
8.2 Бух. Запрос с условием "комментарий содержит текст"

Автор bolobolРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 16512
Последний ответ 02 Сен 2011, 01:14
от bolobol

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 269
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal