|
Запрос, менеджер временых таблиц | ☑ | ||
---|---|---|---|---|
0
НуВотКак
30.11.11
✎
16:55
|
добавил реквизит = ПоЗаказуПокупателя в ТабличнуюЧастьРаботы, как мне его в результат запроса вытащить?
Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | ЗаказНарядРаботы.НомерСтроки КАК НомерСтроки, | ЗаказНарядРаботы.Ссылка.Дата КАК Период, | ЗаказНарядРаботы.Ссылка.Финиш, | &Организация КАК Организация, | ЗаказНарядРаботы.Ссылка.СтруктурнаяЕдиницаПродажи КАК СтруктурнаяЕдиница, | ЗаказНарядРаботы.Ссылка.Ответственный КАК Ответственный, | ЗНАЧЕНИЕ(Справочник.ПериодыПланирования.Фактический) КАК ПериодПланирования, | ЗаказНарядРаботы.Номенклатура.СчетУчетаЗатрат КАК СчетУчета, | ЗаказНарядРаботы.Номенклатура КАК Номенклатура, +======== | ЗаказНарядРаботы.ПоЗаказуПокупателя КАК ПоЗаказуПокупателя, ============== | ВЫБОР | КОГДА &ИспользоватьХарактеристики | ТОГДА ЗаказНарядРаботы.Характеристика | ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) | КОНЕЦ КАК Характеристика, | ЗНАЧЕНИЕ(Справочник.ПартииНоменклатуры.ПустаяСсылка) КАК Партия, | ЗаказНарядРаботы.Ссылка КАК ЗаказПокупателя, | ЗаказНарядРаботы.Ссылка КАК Документ, | ЗаказНарядРаботы.Ссылка.Контрагент КАК Контрагент, | ЗаказНарядРаботы.Ссылка.Контрагент.СчетУчетаРасчетовСПокупателем КАК СчетУчетаРасчетовСПокупателем, | ЗаказНарядРаботы.Ссылка.Договор.ВалютаРасчетов КАК ВалютаРасчетов, | ЗаказНарядРаботы.Ссылка.Договор КАК Договор, | ЗаказНарядРаботы.Ссылка.СтруктурнаяЕдиницаПродажи КАК ПодразделениеПродажи, | ЗаказНарядРаботы.Номенклатура.НаправлениеДеятельности КАК НаправлениеДеятельностиПродажи, | ЗаказНарядРаботы.Номенклатура.НаправлениеДеятельности.СчетУчетаВыручкиОтПродаж КАК СчетУчетаПродажи, | ЗаказНарядРаботы.Номенклатура.НаправлениеДеятельности.СчетУчетаСебестоимостиПродаж КАК СчетУчетаСебестоимость, | ЗаказНарядРаботы.Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры, | ЗаказНарядРаботы.Количество * ЗаказНарядРаботы.Коэффициент * ЗаказНарядРаботы.Кратность КАК Количество, | ЗаказНарядРаботы.СтавкаНДС КАК СтавкаНДС, | ВЫРАЗИТЬ(ВЫБОР | КОГДА ЗаказНарядРаботы.Ссылка.ВалютаДокумента = ЗНАЧЕНИЕ(Справочник.Валюты.НациональнаяВалюта) | ТОГДА ЗаказНарядРаботы.Всего * КурсыРегВалюты.Курс * КурсыУпрВалюты.Кратность / (КурсыУпрВалюты.Курс * КурсыРегВалюты.Кратность) | ИНАЧЕ ЗаказНарядРаботы.Всего * ЗаказНарядРаботы.Ссылка.Курс * КурсыУпрВалюты.Кратность / (КурсыУпрВалюты.Курс * ЗаказНарядРаботы.Ссылка.Кратность) | КОНЕЦ КАК ЧИСЛО(15, 2)) КАК Сумма, | ВЫРАЗИТЬ(ВЫБОР | КОГДА ЗаказНарядРаботы.Ссылка.НДСВключатьВСтоимость | ТОГДА 0 | ИНАЧЕ ВЫБОР | КОГДА ЗаказНарядРаботы.Ссылка.ВалютаДокумента = ЗНАЧЕНИЕ(Справочник.Валюты.НациональнаяВалюта) | ТОГДА ЗаказНарядРаботы.СуммаНДС * КурсыРегВалюты.Курс * КурсыУпрВалюты.Кратность / (КурсыУпрВалюты.Курс * КурсыРегВалюты.Кратность) | ИНАЧЕ ЗаказНарядРаботы.СуммаНДС * ЗаказНарядРаботы.Ссылка.Курс * КурсыУпрВалюты.Кратность / (КурсыУпрВалюты.Курс * ЗаказНарядРаботы.Ссылка.Кратность) | КОНЕЦ | КОНЕЦ КАК ЧИСЛО(15, 2)) КАК СуммаНДС, | ВЫРАЗИТЬ(ВЫБОР | КОГДА ЗаказНарядРаботы.Ссылка.ВалютаДокумента = ЗНАЧЕНИЕ(Справочник.Валюты.НациональнаяВалюта) | ТОГДА ЗаказНарядРаботы.СуммаНДС * КурсыРегВалюты.Курс * КурсыУпрВалюты.Кратность / (КурсыУпрВалюты.Курс * КурсыРегВалюты.Кратность) | ИНАЧЕ ЗаказНарядРаботы.СуммаНДС * ЗаказНарядРаботы.Ссылка.Курс * КурсыУпрВалюты.Кратность / (КурсыУпрВалюты.Курс * ЗаказНарядРаботы.Ссылка.Кратность) | КОНЕЦ КАК ЧИСЛО(15, 2)) КАК СуммаНДСПродажи, | ВЫРАЗИТЬ(ВЫБОР | КОГДА ЗаказНарядРаботы.Ссылка.НДСВключатьВСтоимость | ТОГДА 0 | ИНАЧЕ ВЫБОР | КОГДА ЗаказНарядРаботы.Ссылка.ВалютаДокумента = ЗНАЧЕНИЕ(Справочник.Валюты.НациональнаяВалюта) | ТОГДА ЗаказНарядРаботы.СуммаНДС * КурсыРегВалюты.Курс * ЗаказНарядРаботы.Ссылка.Кратность / (ЗаказНарядРаботы.Ссылка.Курс * КурсыРегВалюты.Кратность) | ИНАЧЕ ЗаказНарядРаботы.СуммаНДС | КОНЕЦ | КОНЕЦ КАК ЧИСЛО(15, 2)) КАК СуммаНДСВал, | ВЫРАЗИТЬ(ВЫБОР | КОГДА ЗаказНарядРаботы.Ссылка.ВалютаДокумента = ЗНАЧЕНИЕ(Справочник.Валюты.НациональнаяВалюта) | ТОГДА ЗаказНарядРаботы.Всего * КурсыРегВалюты.Курс * ЗаказНарядРаботы.Ссылка.Кратность / (ЗаказНарядРаботы.Ссылка.Курс * КурсыРегВалюты.Кратность) | ИНАЧЕ ЗаказНарядРаботы.Всего | КОНЕЦ КАК ЧИСЛО(15, 2)) КАК СуммаВал, | ЗаказНарядРаботы.Количество * ЗаказНарядРаботы.Коэффициент * ЗаказНарядРаботы.Кратность КАК КоличествоПлан, | ЗаказНарядРаботы.Ссылка.СостояниеЗаказа.СтатусЗаказа КАК СтатусЗаказа, | ЗаказНарядРаботы.Ссылка.Закрыт КАК Закрыт, | ЗаказНарядРаботы.Спецификация |ПОМЕСТИТЬ ВременнаяТаблицаРаботы |ИЗ | Документ.ЗаказПокупателя.Работы КАК ЗаказНарядРаботы | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних( | &МоментВремени, | Валюта В | (ВЫБРАТЬ | Константы.ВалютаУчета | ИЗ | Константы КАК Константы)) КАК КурсыУпрВалюты | ПО (ИСТИНА) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&МоментВремени, Валюта = ЗНАЧЕНИЕ(Справочник.Валюты.НациональнаяВалюта)) КАК КурсыРегВалюты | ПО (ИСТИНА) |ГДЕ | ЗаказНарядРаботы.Ссылка = &Ссылка | И ЗаказНарядРаботы.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.ЗаказНаряд) | И (НЕ ЗаказНарядРаботы.Ссылка.СостояниеЗаказа.СтатусЗаказа = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказов.Открыт)) | И (НЕ(ЗаказНарядРаботы.Ссылка.СостояниеЗаказа.СтатусЗаказа = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказов.ВРаботе) | И ЗаказНарядРаботы.Ссылка.Закрыт)) |"; Запрос.ВыполнитьПакет(); Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ | МИНИМУМ(ТаблицаЗаказыПокупателей.НомерСтроки), | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения, | ТаблицаЗаказыПокупателей.Финиш Как Период, | ТаблицаЗаказыПокупателей.Организация КАК Организация, | ТаблицаЗаказыПокупателей.Номенклатура КАК Номенклатура, | ТаблицаЗаказыПокупателей.Характеристика КАК Характеристика, | ТаблицаЗаказыПокупателей.ЗаказПокупателя КАК ЗаказПокупателя, | СУММА(ТаблицаЗаказыПокупателей.Количество) Как Количество |ИЗ | ВременнаяТаблицаРаботы КАК ТаблицаЗаказыПокупателей |ГДЕ | ТаблицаЗаказыПокупателей.СтатусЗаказа = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказов.Выполнен) | |СГРУППИРОВАТЬ ПО | ТаблицаЗаказыПокупателей.Финиш, | ТаблицаЗаказыПокупателей.Организация, | ТаблицаЗаказыПокупателей.Номенклатура, | ТаблицаЗаказыПокупателей.Характеристика, | ТаблицаЗаказыПокупателей.ЗаказПокупателя |"; |
|||
1
НуВотКак
30.11.11
✎
16:57
|
Я с трудом нашел как это собирается, но вклинится в это не могу, три часа парюсь
|
|||
2
ChAlex
30.11.11
✎
17:00
|
А нафиг так запутанно и что данная конструкция дает интересного?
Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц; А не проще ли? Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц |
|||
3
ChAlex
30.11.11
✎
17:01
|
А потом, причем тут менеджер временных таблиц и сама проблема? Не доезжаю
|
|||
4
Defender aka LINN
30.11.11
✎
17:03
|
(2) СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц может уже содержать таблицы.
|
|||
5
НуВотКак
30.11.11
✎
17:03
|
Я в душе не епу что это дает, это типовой маленького кусочка сбора инфы для проведения, и мне надо подменить "документоснование"
|
|||
6
ChAlex
30.11.11
✎
17:04
|
Аль влом поставить ЗаказНарядРаботы.ПоЗаказуПокупателя КАК ПоЗаказуПокупателя допустим второй строчкой запроса?
|
|||
7
Griffin
30.11.11
✎
17:04
|
ТаблицаЗаказыПокупателей.ПоЗаказуПокупателя КАК ПоЗаказуПокупателя добавить в выборку
|
|||
8
НуВотКак
30.11.11
✎
17:07
|
(6) я вроде поставил, не работает
| ЗаказНарядРаботы.Номенклатура КАК Номенклатура, +======== | ЗаказНарядРаботы.ПоЗаказуПокупателя КАК ПоЗаказуПокупателя, ============== |
|||
9
НуВотКак
30.11.11
✎
17:09
|
"ВЫБРАТЬ
| МИНИМУМ(ТаблицаЗаказыПокупателей.НомерСтроки), | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения, | ТаблицаЗаказыПокупателей.Финиш Как Период, | ТаблицаЗаказыПокупателей.Организация КАК Организация, | ТаблицаЗаказыПокупателей.Номенклатура КАК Номенклатура, | ТаблицаЗаказыПокупателей.Характеристика КАК Характеристика, | ТаблицаЗаказыПокупателей.ЗаказПокупателя КАК ЗаказПокупателя, | ТаблицаЗаказыПокупателей.ПоЗаказПокупателя КАК ПоЗаказПокупателя, | СУММА(ТаблицаЗаказыПокупателей.Количество) Как Количество |ИЗ | ВременнаяТаблицаРаботы КАК ТаблицаЗаказыПокупателей |ГДЕ | ТаблицаЗаказыПокупателей.СтатусЗаказа = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказов.Выполнен) | |СГРУППИРОВАТЬ ПО | ТаблицаЗаказыПокупателей.Финиш, | ТаблицаЗаказыПокупателей.Организация, | ТаблицаЗаказыПокупателей.Номенклатура, | ТаблицаЗаказыПокупателей.Характеристика, | ТаблицаЗаказыПокупателей.ЗаказПокупателя, | ТаблицаЗаказыПокупателей.ПоЗаказПокупателя |"; |
|||
10
Griffin
30.11.11
✎
17:11
|
(9) ПоЗаказуПокупателя, не ПоЗаказПокупателя
|
|||
11
ChAlex
30.11.11
✎
17:12
|
А что собственно говоря не работает? Тут работать то нечему, разберитесь в каком месте и откуда что не берется
|
|||
12
НуВотКак
30.11.11
✎
17:13
|
(10) да я уже понял, спасибо
Да все заработало, всем спасибо. |
|||
13
НуВотКак
30.11.11
✎
17:23
|
А вот если встаялять в полный запрос то не работает, это я разбивал чтобы понять в чем ошибка... Ошибка получается в другом ее я точно не понимаю
----- Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.ЗаказПокупателя.МодульМенеджера(1060)}: Ошибка при вызове метода контекста (Выполнить) РезультатЗапроса = Запрос.Выполнить(); по причине: {(8, 2)}: Поле не входит в группу "ТаблицаЗаказыПокупателей.ПоЗаказуПокупателя" <<?>>ТаблицаЗаказыПокупателей.ПоЗаказуПокупателя КАК ЗаказПокупателя, ------ Запрос = Новый Запрос; Запрос.МенеджерВременныхТаблиц = СтруктураДополнительныеСвойства.ДляПроведения.СтруктураВременныеТаблицы.МенеджерВременныхТаблиц; Запрос.Текст = "ВЫБРАТЬ //| МИНИМУМ(ТаблицаЗаказыПокупателей.НомерСтроки) КАК НомерСтроки, //| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) КАК ВидДвижения, //| ТаблицаЗаказыПокупателей.Период КАК Период, //| ТаблицаЗаказыПокупателей.Организация КАК Организация, //| ТаблицаЗаказыПокупателей.Номенклатура КАК Номенклатура, //| ТаблицаЗаказыПокупателей.Характеристика КАК Характеристика, //| ТаблицаЗаказыПокупателей.ЗаказПокупателя КАК ЗаказПокупателя, //| СУММА(ТаблицаЗаказыПокупателей.КоличествоПлан) КАК Количество //|ИЗ //| ВременнаяТаблицаРаботы КАК ТаблицаЗаказыПокупателей //| //|СГРУППИРОВАТЬ ПО //| ТаблицаЗаказыПокупателей.Период, //| ТаблицаЗаказыПокупателей.Организация, //| ТаблицаЗаказыПокупателей.Номенклатура, //| ТаблицаЗаказыПокупателей.Характеристика, //| ТаблицаЗаказыПокупателей.ЗаказПокупателя //| //|ОБЪЕДИНИТЬ ВСЕ //| //|ВЫБРАТЬ //| МИНИМУМ(ТаблицаЗаказыПокупателей.НомерСтроки), //| ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход), //| ТаблицаЗаказыПокупателей.Период, //| ТаблицаЗаказыПокупателей.Организация, //| ТаблицаЗаказыПокупателей.Номенклатура, //| ТаблицаЗаказыПокупателей.Характеристика, //| ТаблицаЗаказыПокупателей.ЗаказПокупателя, //| СУММА(ТаблицаЗаказыПокупателей.Количество) //|ИЗ //| ВременнаяТаблицаТовары КАК ТаблицаЗаказыПокупателей //| //|СГРУППИРОВАТЬ ПО //| ТаблицаЗаказыПокупателей.Период, //| ТаблицаЗаказыПокупателей.Организация, //| ТаблицаЗаказыПокупателей.Номенклатура, //| ТаблицаЗаказыПокупателей.Характеристика, //| ТаблицаЗаказыПокупателей.ЗаказПокупателя //| //|ОБЪЕДИНИТЬ ВСЕ //| //|ВЫБРАТЬ //|ВЫБРАТЬ | МИНИМУМ(ТаблицаЗаказыПокупателей.НомерСтроки), | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения, | ТаблицаЗаказыПокупателей.Финиш Как Период, | ТаблицаЗаказыПокупателей.Организация КАК Организация, | ТаблицаЗаказыПокупателей.Номенклатура КАК Номенклатура, | ТаблицаЗаказыПокупателей.Характеристика КАК Характеристика, //| ТаблицаЗаказыПокупателей.ЗаказПокупателя КАК ЗаказПокупателя, | ТаблицаЗаказыПокупателей.ПоЗаказуПокупателя КАК ЗаказПокупателя, | СУММА(ТаблицаЗаказыПокупателей.Количество) Как Количество |ИЗ | ВременнаяТаблицаРаботы КАК ТаблицаЗаказыПокупателей |ГДЕ | ТаблицаЗаказыПокупателей.СтатусЗаказа = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказов.Выполнен) | |СГРУППИРОВАТЬ ПО | ТаблицаЗаказыПокупателей.Финиш, | ТаблицаЗаказыПокупателей.Организация, | ТаблицаЗаказыПокупателей.Номенклатура, | ТаблицаЗаказыПокупателей.Характеристика, | ТаблицаЗаказыПокупателей.ЗаказПокупателя | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | МИНИМУМ(ТаблицаЗаказыПокупателей.НомерСтроки), | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход), | ТаблицаЗаказыПокупателей.Финиш, | ТаблицаЗаказыПокупателей.Организация, | ТаблицаЗаказыПокупателей.Номенклатура, | ТаблицаЗаказыПокупателей.Характеристика, | ТаблицаЗаказыПокупателей.ЗаказПокупателя, | СУММА(ТаблицаЗаказыПокупателей.Количество) |ИЗ | ВременнаяТаблицаТовары КАК ТаблицаЗаказыПокупателей |ГДЕ | ТаблицаЗаказыПокупателей.СтатусЗаказа = ЗНАЧЕНИЕ(Перечисление.СтатусыЗаказов.Выполнен) | |СГРУППИРОВАТЬ ПО | ТаблицаЗаказыПокупателей.Финиш, | ТаблицаЗаказыПокупателей.Организация, | ТаблицаЗаказыПокупателей.Номенклатура, | ТаблицаЗаказыПокупателей.Характеристика, | ТаблицаЗаказыПокупателей.ЗаказПокупателя"; РезультатЗапроса = Запрос.Выполнить(); |
|||
14
Buster007
30.11.11
✎
17:26
|
|СГРУППИРОВАТЬ ПО
| ТаблицаЗаказыПокупателей.Финиш, | ТаблицаЗаказыПокупателей.Организация, | ТаблицаЗаказыПокупателей.Номенклатура, | ТаблицаЗаказыПокупателей.Характеристика, | ТаблицаЗаказыПокупателей.ЗаказПокупателя вверху ты закомментил, а в группировке оставил |
|||
15
Buster007
30.11.11
✎
17:26
|
| ТаблицаЗаказыПокупателей.ПоЗаказуПокупателя КАК ЗаказПокупателя,
поставил вот это, а группируешь по старому |
|||
16
НуВотКак
30.11.11
✎
17:34
|
Ну ты ты конечно прав ща попробую некуда не уходи ))
|
|||
17
НуВотКак
30.11.11
✎
17:42
|
Ну в целом все понятно, еще раз спасибо, завтра буду думать а то запросы слишком тяжело
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |