|
|
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
Подскажите есть запрос ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура, ЦеныНоменклатурыСрезПоследних.Цена, ЦеныНоменклатурыСрезПоследних.ТипЦен ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = (&Номенклатура)) КАК ЦеныНоменклатурыСрезПоследних Который выводит для каждой номенклатуры столько строк сколько типов цен, а можно ли вывести типы цен в колонки? Вот так: Товар Опт1 Опт2 Опт3 мяч 10 12 15 А не так как сейчас Товар Цены ТипЦен Мяч 10 опт1 Мяч 12 опт2 Мяч 15 опт3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2010, 23:50 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
Смотри в сторону компоновки данных, укажи в конструкторе настроек компоновки данных «Тип отчета» - таблица, и перетащи «ТипЦен» в группировку колонок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 07:16 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
Подозреваю что он хотел не при выводе данных. А в самом запросе - при выгрузке в тз. ps Или сейчас пойдет вопрос - как сделать это НЕ в СКД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 09:12 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
Здравсвуйте, Спасибо за ответ, если сделать как вы советуете получается вот так см рис.: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 09:26 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
To Программист1с, Не в СКД я вчера сделал вот так (правда довольно геморно получилось): БазовыйТекстВложенногоЗАпроса=" | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, | ЦеныНоменклатурыСрезПоследних.Цена КАК Цена | ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, {&Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТипыЦенНоменклатуры КАК ТипыЦенНоменклатуры | ПО ЦеныНоменклатурыСрезПоследних.ТипЦен = ТипыЦенНоменклатуры.Ссылка | ГДЕ | ТипыЦенНоменклатуры.Ссылка = &Ссылка"; Выборка=Справочники.ТипыЦенНоменклатуры.Выбрать(); Счетчик=1; Поля=" ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Номенклатура"; Пока Выборка.Следующий() Цикл Поля=Поля+", ВложенныйЗапрос"+Счетчик+".Цена КАК "+Выборка.Ссылка; Счетчик=Счетчик+1; КонецЦикла; ОсновнаяТаблица=" ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(,{&Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних "; Соединения=""; Счетчик=1; Пока Выборка.Следующий() Цикл Соединения=Соединения+БазовыйТекстВложенногоЗАпроса+Счетчик+") КАК ВложенныйЗапрос"+Счетчик+" ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ВложенныйЗапрос"+Счетчик+".Номенклатура "; Счетчик=Счетчик+1; КонецЦикла; УсловиеНаОсновнойЗапрос=" ГДЕ | ЦеныНоменклатурыСрезПоследних.ТипЦен = &Ссылка1"; ТекстЗапроса=Поля+ОсновнаяТаблица+Соединения+УсловиеНаОсновнойЗапрос; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 09:30 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
так пойдёт? ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних1.Номенклатура, ЦеныНоменклатурыСрезПоследних1.Цена КАК Опт1, 0 КАК Опт2, 0 КАК Опт3 ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = (&Номенклатура) И ТипЦен=&Опт1) КАК ЦеныНоменклатурыСрезПоследних1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних2.Номенклатура, 0, ЦеныНоменклатурыСрезПоследних2.Цена, 0 ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = (&Номенклатура) И ТипЦен=&Опт2) КАК ЦеныНоменклатурыСрезПоследних2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних3.Номенклатура, 0, 0, ЦеныНоменклатурыСрезПоследних3.Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = (&Номенклатура) И ТипЦен=&Опт3) КАК ЦеныНоменклатурыСрезПоследних3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 10:25 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура, ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.ТипЦен = &опт1 ТОГДА ЦеныНоменклатурыСрезПоследних.Цена КОНЕЦ КАК Опт1, .... ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = (&Номенклатура)) КАК ЦеныНоменклатурыСрезПоследних не проще будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 11:47 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
Если до сих пор не сделал в СКД - назначь цену ресурсом (Лучше использовать агрегат - Среднее(Цена)). и задай формат "ЧЦ=15; ЧДЦ=2" в оформлении. Если не нужны итоги - отключи Расположение общих итогов по горизонтали и Расположение общих итогов по вертикали. А для выгрузки в ТЗ – "rancid" – предложил оптимальный вариант. Группировку только не забудь: Код: plaintext И куски запроса "СУММА(ВЫБОР КОГДА ТипЦен = &Опт1 ТОГДА Цена ИНАЧЕ 0 КОНЕЦ) КАК Опт1," лучше генерировать в цикле. В справочник "Типы цен номенклатуры" могут же добавить новые элементы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 12:10 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
To racid Так шахмахты какие-то получаются Товар опт1 опт2 мяч мяч 10 мяч 15 С объединением еще не пробовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 12:29 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
Бедный старый 1Сник Спасиб ща поробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 12:38 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
150680, мой предыдущий пост читал? rancid и КонецЦикла не группировали результат запроса по номенклатуре. Что в первом, что во втором варианте ты увидишь: НоменклатураОпт1Опт2Опт3Номенклатура1ЦенаНоменклатура1ЦенаНоменклатура1ЦенаНоменклатура2ЦенаНоменклатура2ЦенаНоменклатура2Цена Внимательно посмотри предыдущий пост. Там есть доработанный текст запроса rancid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 12:43 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
Бедный старый 1Сник Ок, разбираюсь большое спасиб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 13:08 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
ну естесственно ещё сгруппировать надо :) ВЫБРАТЬ ВложенныйЗапрос.Номенклатура, СУММА(ВложенныйЗапрос.Опт1) КАК Опт1, СУММА(ВложенныйЗапрос.Опт2) КАК Опт2, СУММА(ВложенныйЗапрос.Опт3) КАК Опт3 ИЗ (ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних1.Номенклатура, ЦеныНоменклатурыСрезПоследних1.Цена КАК Опт1, 0 КАК Опт2, 0 КАК Опт3 ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = (&Номенклатура) И ТипЦен=&Опт1) КАК ЦеныНоменклатурыСрезПоследних1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних2.Номенклатура, 0, ЦеныНоменклатурыСрезПоследних2.Цена, 0 ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = (&Номенклатура) И ТипЦен=&Опт2) КАК ЦеныНоменклатурыСрезПоследних2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних3.Номенклатура, 0, 0, ЦеныНоменклатурыСрезПоследних3.Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = (&Номенклатура) И ТипЦен=&Опт3) КАК ЦеныНоменклатурыСрезПоследних3) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Номенклатура ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 17:59 |
|
||
|
Как запрос транспонировать 1с 8.1 Ут 10.3
|
|||
|---|---|---|---|
|
#18+
Попробовал получилось, но вот еще одна загвоздка Как быть если значения которые необходимо вывести не числовые. Например если к это задаче еше прибавить вывод штрихкода товара, здесь не примениш Сумма Товар Опт1 Опт2 штрихкод мяч 10 15 123123421 ВЫБОР КОГДА Штрихкоды.Качество = &ВыбКачество ТОГДА Штрихкоды.Штрихкод иначе 0 КОНЕЦ КАК ШтрихКод Дело в том что у товара может быть несколько шк, поэтому выводится несколько строчек с одниковым товаром одна удовлетворяющая условию на штрихкод, другая пустая. Условие "ГДЕ Штрихкоды.Штрихкод <> 0" ничего не дает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2010, 19:31 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=36587167&tid=1522439]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 497ms |

| 0 / 0 |
