Имя: Пароль:
1C
1С v8
Условие виртуальной таблицы регистра накопления
0 dorel
 
20.08.15
21:03
Имеется запрос СКД:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ОборотыПродаж.Номенклатура КАК Номенклатура,
    ОборотыПродаж.ЗаказПокупателя КАК ЗаказПокупателя,
    ОборотыПродаж.Подразделение КАК Подразделение,
    ОборотыПродаж.Контрагент КАК Контрагент,
    ОборотыПродаж.СтоимостьПродажи КАК СуммаПродажи,
    ОборотыПродаж.СтоимостьВозврат КАК СуммаВозврат,
    NULL КАК СтоимостьПродажиВсего,
    NULL КАК СтоимостьВозвратВсего
ИЗ
    (ВЫБРАТЬ ...
    ИЗ
        РегистрНакопления.Продажи.Обороты(&Нач1, &Кон1, Запись, ЗаказПокупателя ССЫЛКА Документ.ЗаказПокупателя) КАК ПродажиОбороты1
    {ГДЕ
    ПродажиОбороты1.Номенклатура.*}
    ) КАК ОборотыПродаж

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОборотыПродаж.Номенклатура,
    ОборотыПродаж.ДокументПродажи,
    ОборотыПродаж.подразделение,
    ОборотыПродаж.контрагент,
    ОборотыПродаж.СтоимостьПродажи,
    ОборотыПродаж.СтоимостьВозврат,
    NULL,
    NULL
ИЗ
    (ВЫБРАТЬ ...
    ИЗ
        РегистрНакопления.Продажи.Обороты(&Нач1, &Кон1, Запись, ДокументПродажи ССЫЛКА Документ.ЧекККМ) КАК ПродажиОбороты2
    {ГДЕ
        ПродажиОбороты2.Номенклатура.*}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОборотыПродажВсего.Номенклатура,
    ОборотыПродажВсего.ЗаказПокупателя,
    ОборотыПродажВсего.Подразделение,
    ОборотыПродажВсего.Контрагент,
    NULL,
    NULL,
    ОборотыПродажВсего.СтоимостьПродажиВсего,
    ОборотыПродажВсего.СтоимостьВозвратВсего
ИЗ
    (ВЫБРАТЬ ...
    ИЗ
        РегистрНакопления.Продажи.Обороты(&Нач1, &Кон1, Запись, ЗаказПокупателя ССЫЛКА Документ.ЗаказПокупателя) КАК ПродажиОборотыВсеЗаказы
) КАК ОборотыПродажВсего

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОборотыПродажВсего.Номенклатура,
    ОборотыПродажВсего.ДокументПродажи,
    ОборотыПродажВсего.подразделение,
    ОборотыПродажВсего.контрагент,
    NULL,
    NULL,
    ОборотыПродажВсего.СтоимостьПродажиВсего,
    ОборотыПродажВсего.СтоимостьВозвратВсего
ИЗ
    (ВЫБРАТЬ ...
    ИЗ
        РегистрНакопления.Продажи.Обороты(&Нач1, &Кон1, Запись, ДокументПродажи ССЫЛКА Документ.ЧекККМ) КАК ПродажиОборотыВсеЧекККМ
) КАК ОборотыПродажВсего.

Собственно задача: получить за период (1) весь список проданных позиций, (2) список позиций из Отбора пользователя, (3) рассчитать объем продаж позиций Отбора по отношению ко всему Объему продаж.
Проблема: При указании необязательного параметра "Номенклатура.*" отбор происходит во всех 4 запросах, хотя указан только в 2. Т.о. не получается выбрать весь объем продаж за период.
1 mehfk
 
20.08.15
21:07
Спецы по СКД говорят, что это разруливается снятием галки "Автозаполнение". А остальные просто называют поля другими именами.
2 dorel
 
20.08.15
21:15
(1) Я отлаживаю запрос в Консоли отчетов, там нет Автозаполнения, а проблема есть.
Какие поля надо переназвать? У меня спецом виртуальные таблицы с разными именами. Хотя она судя по всему все ровно одна, как ее не называй..
3 echo77
 
20.08.15
21:19
(2) Схему свою выложи лучше
4 mehfk
 
20.08.15
21:22
(1)
{ГДЕ
    ТоварыНаСкладахОбороты.Номенклатура.* КАК Вася}
и не забудь про параметры виртуальных таблиц
5 dorel
 
20.08.15
21:34
(4) Как раз пробую. На вскидку, помогло. Буду гонять уже завтра. Спасибо.
6 dorel
 
20.08.15
21:35
(3) Выкладывать откровенно пока нечего. Схема сырая, запрос в отладке, что там может работать)