Имя: Пароль:
1C
 
подскажите по развороту колонок в право
0 LivingStar
 
19.04.15
07:46
Ломаю голову ничего толкового не приходит. Выборка по документу ОтчетОРозничныхПродажах, УТ11. Нужно с права цеплять колонки по складам, и в разрезе склада по периодам. Как можно это сделать правильнее? А то мне на ум приходят совсем убогие решения.
1 LivingStar
 
19.04.15
08:27
как можно разворачивать колонки в право секциями, учитывая что разное количество записей в отчете по тому или иному складу и периоду
2 LivingStar
 
19.04.15
08:32
думаю как это можно сделать, через таблицы значений, через другие запросы, или как правильнее?
3 spectre1978
 
19.04.15
08:54
Делать таблицы, растущие вправо, можно с помощью метода Присоединить. Как получить прямоугольную выборку - дело исключительно твое. В восьмерке появились внешние соединения в запросах, так что в принципе можно обойтись без заполнения ТЗ. В семерке я через ТЗ делал, там по-другому не получится.
4 spectre1978
 
19.04.15
08:56
можно еще СКД поучить
5 LivingStar
 
19.04.15
08:59
(4) Да я делаю на СКД, дело в том что там тоже не подобраться. Хотел вот аналог секциями сделать. Не подскажете ни какой идеи по выводу секциями этого???? как лучше сделать?
6 LivingStar
 
19.04.15
09:02
(3) ясно, сейчас с мыслями собраться бы

запрос вот такой

ВЫБРАТЬ
    ОтчетОРозничныхПродажахТовары.Номенклатура КАК НоменклатураСсылка,
    ОтчетОРозничныхПродажахТовары.Номенклатура.Наименование КАК Наименование,
    ОтчетОРозничныхПродажахТовары.Номенклатура.Артикул КАК Артикул,
    ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель КАК Группа_1,
    ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель КАК Группа_2,
    ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель КАК Группа_3,
    ВЫБОР
        КОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
            ТОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель
        ИНАЧЕ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель
    КОНЕЦ КАК Группа_4,
    СУММА(ОтчетОРозничныхПродажахТовары.Количество) КАК Количество,
    СУММА(ОтчетОРозничныхПродажахТовары.Сумма) КАК Сумма,
    ОтчетОРозничныхПродажахТовары.Ссылка.Склад КАК Склад,
    НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажахТовары.Ссылка.Дата, МЕСЯЦ) КАК ПериодМесяц
ИЗ
    Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
    ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ОтчетОРозничныхПродажахТовары.Номенклатура,
    ОтчетОРозничныхПродажахТовары.Номенклатура.Наименование,
    ОтчетОРозничныхПродажахТовары.Номенклатура.Артикул,
    ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель,
    ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель,
    ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель,
    ВЫБОР
        КОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
            ТОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель
        ИНАЧЕ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель
    КОНЕЦ,
    ОтчетОРозничныхПродажахТовары.Ссылка.Склад,
    НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажахТовары.Ссылка.Дата, МЕСЯЦ)

УПОРЯДОЧИТЬ ПО
    ОтчетОРозничныхПродажахТовары.Номенклатура
7 spectre1978
 
19.04.15
09:09
(6) Ну, с присоединением все просто. Делаешь Вывести, затем в цикле сколько-то раз Присоединить. Пока присоединяешь - таблица у тебя растет вправо, до следующего Вывести. Как делаешь следующий Вывести - строка вправо расти перестает, идет переход в начало следующей строки.
8 LivingStar
 
19.04.15
09:15
(7) да как присоединить то я в курсе.... просто количество строк разное, не могу это представить, ещё и в шапке нужно писать склад и период, и вначале выводить количество по складу по периодам, потом сумму

я все думаю если первой номенклатуры нет по первому складу, как это будет выглядеть ((((( как туда установить 0 если её вообще нет по этому складу ?
9 LivingStar
 
19.04.15
09:16
(8) в начале количество то есть по всем складам, и месяцам в разрезе складов, потом сумму
10 LivingStar
 
19.04.15
09:18
(8+) не знаю получилось ли у меня описать проблему которую я вижу при выводе или нет, просто если в право разворачивается много колонок, как учитывать что по некоторым из ни 0 а их вообще нет в выборке? так можно было бы перебирать таблицу, где все уже заданно было бы, но там тоже не куда в ТЗ задать склад к номенклатуре и месяца
11 Мимохожий Однако
 
19.04.15
09:25
Получи в запросе несколько таблиц по количеству складов с одинаковым набором строк Номенклатуры, а потом соедини. Получишь нужную таблицу. Полученный запрос используй в своей СКД.
12 ILM
 
гуру
19.04.15
09:29
ВЫбери все склады, а в отборе ставь условие чтобы сумма по всем складам не была равна нулю.
13 LivingStar
 
19.04.15
10:19
(11) на каждый склад временную таблицу?
14 LivingStar
 
19.04.15
10:20
(12) это будет первый пакет запроса, где будет вся номенклатура по всем складам, которая подлежит отбору?
15 spectre1978
 
19.04.15
13:13
(8) я все думаю если первой номенклатуры нет по первому складу, как это будет выглядеть ((((( как туда установить 0 если её вообще нет по этому складу ?

Для этого внешние соединения и придуманы. Результат содержит NULL для тех строк, которые есть в одной таблице, но не соединяются со второй. Если не можешь написать такой запрос - делай через ТЗ и уже ее выводи. Что тут думать-то, прыгать надо (с) анекдот :)
16 LivingStar
 
22.04.15
16:36
(11) соединить в смысле, ОБЪЕДИНИТЬ ВСЕ ?