|
v8: работа с запросом | ☑ | ||
---|---|---|---|---|
0
iQwerty
28.06.13
✎
20:06
|
создал запрос в консоле запросов, переношу в модуль не могу установить параметр помогите
Запрос = Новый Запрос; запрос.УстановитьПараметр("ДатаНачалаПериода", ДатаНачалаПериода); запрос.УстановитьПараметр("ДатаКонецПериода", ДатаКонецПериода); запрос.УстановитьПараметр("Гарантия",ПланыВидовХарактеристик.СвойстваОбъектов.Выбрать("Гарантия")); запрос.УстановитьПараметр("Бесплатная",ПланыВидовХарактеристик.СвойстваОбъектов.Выбрать("Бесплатная")); запрос.УстановитьПараметр("Доукомплектация",ПланыВидовХарактеристик.СвойстваОбъектов.Выбрать("Доукомплектация")); запрос.УстановитьПараметр("Гарантийная", Регистрысведений.ЗначенияСвойствОбъектов.Выбрать("Гарантийная")); запрос.УстановитьПараметр("Бесплатная1", Регистрысведений.ЗначенияСвойствОбъектов.Выбрать("Бесплатная")); запрос.УстановитьПараметр("Доукомплектация1", Регистрысведений.ЗначенияСвойствОбъектов.Выбрать("Доукомплектация")); Запрос.текст= "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоступлениеТоваровУслугТовары.Ссылка, | ПоступлениеТоваровУслугТовары.Номенклатура, | ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры, | ПоступлениеТоваровУслуг.Дата |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг | ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка | ПО ЗначенияСвойствОбъектов.Объект = ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры |ГДЕ | (ЗначенияСвойствОбъектов.Свойство В (&Гарантия, &Бесплатная, &Доукомплектация) | ИЛИ ЗначенияСвойствОбъектов.Значение В (&Гарантийная, &Бесплатная1, &Доукомплектация1) | И (ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНачалаПериода И &ДатаКонецПериода))"; // Результат=Запрос.Выполнить(); // // ТЗ = Результат.Выгрузить(); ТЗ=Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("ссылка"); ТЗ.Колонки.Добавить("номенклатура"); ТЗ.Колонки.Добавить("Характеристика"); ТЗ.Колонки.Добавить("Дата"); Результат=Запрос.Выполнить(); ТЗ = Результат.Выгрузить(); |
|||
1
exwill
28.06.13
✎
20:10
|
Колонки в ТЗ добавлять не надо, сами добавятся.
Установить параметр в запросе: УстановитьПараметр(<Имя>, <Значение>) Неожидано, правда? |
|||
2
iQwerty
28.06.13
✎
20:11
|
(1)я так же устанавливал параметры же, разве нет
|
|||
3
iQwerty
28.06.13
✎
20:14
|
вот ошибка
{Обработка.Обработка1.Форма.Форма.Форма(9)}: Ошибка при вызове метода контекста (Выбрать) запрос.УстановитьПараметр("Гарантийная", Регистрысведений.ЗначенияСвойствОбъектов.Выбрать("Гарантийная")); по причине: Несоответствие типов (параметр номер '1') |
|||
4
Dionis Sergeevich
28.06.13
✎
20:14
|
Точку останова после установки параметров и смотри установились или нет
|
|||
5
exwill
28.06.13
✎
20:14
|
"Гарантия" и пр. предопределенные элементы?
|
|||
6
Dionis Sergeevich
28.06.13
✎
20:15
|
(3) Регистрысведений.ЗначенияСвойствОбъектов.Выбрать("Гарантийная") что возвращает глянь. мб неопределено
|
|||
7
iQwerty
28.06.13
✎
20:15
|
(5) да
|
|||
8
exwill
28.06.13
✎
20:17
|
(7) Тогда:
ПланыВидовХарактеристик.СвойстваОбъектов.Гарантия а что касается: Регистрысведений.ЗначенияСвойствОбъектов.Выбрать("Гарантийная") что ты собрался выбрать? убери все эти параметры нафиг. |
|||
9
iQwerty
28.06.13
✎
20:20
|
(8) так мне нужно это! и вговорю же в кансоле запросов отработало верно
|
|||
10
iQwerty
28.06.13
✎
20:21
|
проблемы тут
запрос.УстановитьПараметр("Гарантийная", Регистрысведений.ЗначенияСвойствОбъектов.Выбрать("Гарантийная")); запрос.УстановитьПараметр("Бесплатная1", Регистрысведений.ЗначенияСвойствОбъектов.Выбрать("Бесплатная")); запрос.УстановитьПараметр("Доукомплектация1", Регистрысведений.ЗначенияСвойствОбъектов.Выбрать("Доукомплектация")); |
|||
11
iQwerty
28.06.13
✎
20:26
|
все разобрался, всем спасибо
|
|||
12
vicof
28.06.13
✎
20:41
|
(0) По-русски писать совсем не умеем?
|
|||
13
zippygrill
28.06.13
✎
21:16
|
у тебя 2 переменные: "Запрос" и "запрос"! Определись какой будешь использовать.
|
|||
14
Asmody
28.06.13
✎
21:19
|
(13) это одна переменная. В 1С регистр в идентификаторах не имеет значения
|
|||
15
iQwerty
28.06.13
✎
21:46
|
Оказывается не все так гладко, ТабличноеПоле1 не заполняется((( думаю чтото не то в установке параметра
Запрос = Новый Запрос; запрос.УстановитьПараметр("ДатаНачалаПериода", ДатаНачалаПериода); запрос.УстановитьПараметр("ДатаКонецПериода", ДатаКонецПериода); запрос.УстановитьПараметр("Гарантия",ПланыВидовХарактеристик.СвойстваОбъектов.Выбрать().Наименование="Гарантия"); запрос.УстановитьПараметр("Бесплатная",ПланыВидовХарактеристик.СвойстваОбъектов.Выбрать().Наименование="Бесплатная"); запрос.УстановитьПараметр("Доукомплектация",ПланыВидовХарактеристик.СвойстваОбъектов.Выбрать().Наименование="Доукомплектация"); запрос.УстановитьПараметр("Гарантийная", Справочники.ЗначенияСвойствОбъектов.Выбрать().Наименование="Гарантийная"); запрос.УстановитьПараметр("Бесплатная1", Справочники.ЗначенияСвойствОбъектов.Выбрать().Наименование="Бесплатная"); запрос.УстановитьПараметр("Доукомплектация1", Справочники.ЗначенияСвойствОбъектов.Выбрать().Наименование="Доукомплектация"); Запрос.текст= "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоступлениеТоваровУслугТовары.Ссылка, | ПоступлениеТоваровУслугТовары.Номенклатура, | ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры, | ПоступлениеТоваровУслуг.Дата |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг | ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка | ПО ЗначенияСвойствОбъектов.Объект = ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры |ГДЕ | (ЗначенияСвойствОбъектов.Свойство В (&Гарантия, &Бесплатная, &Доукомплектация) | ИЛИ ЗначенияСвойствОбъектов.Значение В (&Гарантийная, &Бесплатная1, &Доукомплектация1) | И (ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНачалаПериода И &ДатаКонецПериода))"; // Результат=Запрос.Выполнить(); // // ТЗ = Результат.Выгрузить(); ТЗ=Новый ТаблицаЗначений; //ТЗ.Колонки.Добавить("ссылка"); //ТЗ.Колонки.Добавить("номенклатура"); //ТЗ.Колонки.Добавить("Характеристика"); //ТЗ.Колонки.Добавить("Дата"); Результат=Запрос.Выполнить(); ТЗ = Результат.Выгрузить(); ЭлементыФормы.ТабличноеПоле1.Значение=ТЗ; ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки(); ЭлементыФормы.ТабличноеПоле1.Значение=ТЗ; |
|||
16
iQwerty
28.06.13
✎
21:50
|
я конечно понимаю что в пятницу вечером тема OFF: Опять проблемы в Московском метр куда интереснее, но я тоже уже очень хочу в метро чтобы доехать до дому
|
|||
17
skiller3000
28.06.13
✎
21:51
|
убери последнюю строку
|
|||
18
iQwerty
28.06.13
✎
21:52
|
как то я написал это неверно, будто мне вы мне что то должны) (16)
|
|||
19
iQwerty
28.06.13
✎
21:52
|
(17) все так же
|
|||
20
skiller3000
28.06.13
✎
21:52
|
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
ЭлементыФормы.ТабличноеПоле1.ОбновитьСтроки() - еще можно приписать для верности |
|||
21
iQwerty
28.06.13
✎
21:54
|
(20) что то точно в установитьпараметр связь нужно правильную понять с отбором, что то я уже овощь
|
|||
22
iQwerty
28.06.13
✎
21:56
|
Господа не проходите мимо) заранее очень благодарен!
|
|||
23
skiller3000
28.06.13
✎
21:58
|
лови, запрос тоже не очень правильный, но ты пока с этим разберись.
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ДатаНачалаПериода", началодня(ДатаНачалаПериода)); Запрос.УстановитьПараметр("ДатаКонецПериода", Конецдня(ДатаКонецПериода)); Запрос.УстановитьПараметр("Гарантия",ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Гарантия")); Запрос.УстановитьПараметр("Бесплатная",ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Бесплатная")); Запрос.УстановитьПараметр("Доукомплектация",ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Доукомплектация")); Запрос.УстановитьПараметр("Гарантийная", Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Гарантийная")); Запрос.УстановитьПараметр("Бесплатная1", Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Бесплатная")); Запрос.УстановитьПараметр("Доукомплектация1", Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("Доукомплектация")); Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | ПоступлениеТоваровУслугТовары.Ссылка, | ПоступлениеТоваровУслугТовары.Номенклатура, | ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры, | ПоступлениеТоваровУслуг.Дата |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары |ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг |ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка | ПО ЗначенияСвойствОбъектов.Объект = ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры |ГДЕ | (ЗначенияСвойствОбъектов.Свойство В (&Гарантия, &Бесплатная, &Доукомплектация) |ИЛИ ЗначенияСвойствОбъектов.Значение В (&Гарантийная, &Бесплатная1, &Доукомплектация1) | И (ПоступлениеТоваровУслуг.Дата МЕЖДУ &ДатаНачалаПериода И &ДатаКонецПериода))"; Результат=Запрос.Выполнить(); ТЗ = Результат.Выгрузить(); ЭлементыФормы.ТабличноеПоле1.Значение = ТЗ; ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки(); ЭлементыФормы.ТабличноеПоле1.ОбновитьСтроки(); |
|||
24
iQwerty
28.06.13
✎
21:59
|
(23)спасибо! ты изменил только строки с запрос.установитьпараметр?
|
|||
25
skiller3000
28.06.13
✎
22:00
|
строки и помещение результата запроса в таблицу значений на форме
|
|||
26
skiller3000
28.06.13
✎
22:11
|
я сегодня добрый:
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | Товары.Ссылка КАК Ссылка, | Товары.Номенклатура КАК Номенклатура, | Товары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры |ПОМЕСТИТЬ ВТТовары |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК Товары |ГДЕ | Товары.Ссылка.Дата МЕЖДУ &ДатаНачалаПериода И &ДатаКонецПериода |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ЗначенияСвойствОбъектов.Объект КАК Номенклатура |ПОМЕСТИТЬ ВТОтобраннаяНоменклатура |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ | Товары.Номенклатура КАК Номенклатура | ИЗ | ВТТовары КАК Товары) КАК Товары | ПО (ЗначенияСвойствОбъектов.Объект ССЫЛКА Справочник.Номенклатура) | И ЗначенияСвойствОбъектов.Объект = Товары.Номенклатура | И (ЗначенияСвойствОбъектов.Свойство В (&Гарантия, &Бесплатная, &Доукомплектация) | ИЛИ ЗначенияСвойствОбъектов.Значение В (&Гарантийная, &Бесплатная1, &Доукомплектация1)) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Товары.Ссылка КАК Ссылка, | Товары.Номенклатура КАК Номенклатура, | Товары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры |ИЗ | ВТТовары КАК Товары | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТОтобраннаяНоменклатура КАК ОтобраннаяНоменклатура | ПО Товары.Номенклатура = ОтобраннаяНоменклатура.Номенклатура | |УПОРЯДОЧИТЬ ПО | Ссылка, | Номенклатура |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
27
iQwerty
28.06.13
✎
22:13
|
(26) работало и безэтого спасибо!)))) огромное, а в запросе что не так?
|
|||
28
skiller3000
28.06.13
✎
22:14
|
(27) все напихано в 1 запрос, я разнес по временным таблицам и убрал лишнее.
|
|||
29
iQwerty
28.06.13
✎
22:19
|
(28) ты про чтоли?)
|
|||
30
iQwerty
28.06.13
✎
22:23
|
(28) СТРАННО: характеристика номенклатуры в ТабличноеПоле1 стало перечислением
|
|||
31
skiller3000
29.06.13
✎
05:14
|
(30) я твою хрень к человеческому виду привел. разбирайся сам. тебе платят за это.
|
|||
32
hhhh
29.06.13
✎
08:30
|
(31) объект там - это характеристика, потому
И ЗначенияСвойствОбъектов.Объект = Товары.Номенклатура никогда не сравнится. |
|||
33
skiller3000
29.06.13
✎
08:43
|
(32) да, косяк - не заметил что у него Характеристики в объектах. там немного поправить надо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |