На СКД строится отчет. Источник – запрос к виртуальной таблице «Обороты» регистра бухгалтерии.
В запросе несколько раз происходит обращение к виртуальной таблице «Обороты» регистра бухгалтерии. Для каждого обращения в параметрах виртуальной таблицы указываются такие интервалы периодов:
- <пусто>, &НачалоПериода
- &НачалоПериода, &КонецПериода
- <пусто>, & КонецПериода
Если использовать стандартные (СКДшные) НачалоПериода и КонецПериода все выборкив «подзапросах» идут только за период - &НачалоПериода, &КонецПериода
Если использовать другие имена параметров, то периоды выбираются правильно.
Причем это наблюдается для ситуации, когда каждый запрос за нужный период помещается во временную таблицу и/или когда делаются вложенные запросы за разные периоды.
Платформа: 1С:Предприятие 8.2 (8.2.16.368)
---
Подробное объяснение : Гилев "Осторожно 1С" 13-я серия
Вкратце : параметры виртуальных таблиц указываем в СКД -> конструктор запроса -> компоновка данных
---
Добавил вознаграждение
---
Примерный текст запроса (вложенные)

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СУММА(ХозрасчетныйОбороты.СуммаОборот) КАК Кон,
    ХозрасчетныйОбороты.Субконто1 КАК СДДС,
    СУММА(ВложенныйЗапрос1.СуммаОборот) КАК Нач,
    СУММА(ВложенныйЗапрос.СуммаОборот) КАК Оборот
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(, &КонецПериода, , Счет = &СчетОтчета, &СубконтоСДДС, Организация = &Организация, , ) КАК ХозрасчетныйОбороты
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    ХозрасчетныйОбороты.Субконто1 КАК Субконто1,
    СУММА(ХозрасчетныйОбороты.СуммаОборот) КАК СуммаОборот
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, , Счет = &СчетОтчета, &СубконтоСДДС, Организация = &Организация, , ) КАК ХозрасчетныйОбороты

    СГРУППИРОВАТЬ ПО
    ХозрасчетныйОбороты.Субконто1) КАК ВложенныйЗапрос
    ПО ХозрасчетныйОбороты.Субконто1 = ВложенныйЗапрос.Субконто1
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    ХозрасчетныйОбороты.Субконто1 КАК Субконто1,
    СУММА(ХозрасчетныйОбороты.СуммаОборот) КАК СуммаОборот
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(, &НачалоПериода, , Счет = &СчетОтчета, &СубконтоСДДС, Организация = &Организация, , ) КАК ХозрасчетныйОбороты

    СГРУППИРОВАТЬ ПО
    ХозрасчетныйОбороты.Субконто1) КАК ВложенныйЗапрос1
    ПО ХозрасчетныйОбороты.Субконто1 = ВложенныйЗапрос1.Субконто1

    СГРУППИРОВАТЬ ПО
    ХозрасчетныйОбороты.Субконто1
```
---
РегистрБухгалтерии.Хозрасчетный.Обороты(, &НачалоПериода, , Счет = &СчетОтчета, &СубконтоСДДС, Организация = &Организа

здесь будет выбрано за период от &НачалоПериода до &НачалоПериода
---
sanja,

Почему? Должно с 01,01,0001.

Если я ввожу параметры НП (НачалоПериода) и КП (КонецПериода) всё работает нормально
---
попробуй задать через компоновку данных и отключить автозаполнение
---
sanja,
отключить автозаполнение

+ 5 $m
---
http://infostart.ru/public/15036/
---
sanja,

На ИТС

Консоль отчетов компановки данных

Правда - управляемое приложение
---
и ты посмотришь в ней, где скд установила параметры?
Ну, конечно, можно отладчиком посмотреть какие парметры подставляет скд..
Без автозаполнения попробовал?
---
sanja,

Автозаполнение пока не пробовал. Надо доделать и отдать.

Предлагаемая Вами консоль полностью повторяет мой текс запроса
---
sanja,

Запрос я знаю и так, что в параметрах виртуальных таблиц?
---
По умолчанию, т.е. если в параметрах таблиц не заданы периоды, то система использует значения параметров &НачалоПериода, &КонецПериода
Это нормально.
Поэтому если нужны разные периоды, то нужно вводить отдельные параметры.
---
,(13) прям глаза открыла)
---
ekaruk - Перевел, 5 $m - хотя вопрос не закрыт - см. (21)
---
Т.е. запрос РегистрБухгалтерии.Хозрасчетный.Обороты(, &НачалоПериода) воспринимается системой как РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &НачалоПериода)
Это сделано для упрощения работы с СКД.
---
Это я понял в результате "биения лбом" и "проведения экспериментов".

Вопрос - где об этом СКАЗАНО!
---
Документация поставляемая с программой

10.3.3.2. Автоматическое заполнение доступных полей

При автоматическом заполнении доступных полей запроса выполняются следующие действия:

● все поля списка выборки и их дочерние поля становятся доступными для выбора, упорядочивания, группировки, отбора и др.;

● параметры виртуальных таблиц становятся доступными для отбора.
---
RustamZz,

Это наследование полей выборки, а не подстановка параметров запроса по умолчанию
---
AnryMc, Вы уже разобрались с проблемой. Зачем Вам заниматься поисками места повествования о данном функционале? Думаю, что уже пора определиться с лучшем ответом.
---
pahich, см. (23)
---
Еще раз прочитайте внимательно: "параметры виртуальных таблиц становятся доступными для отбора"
НачалоПериода и КонецПериода это параметры виртуальных таблиц.
---
RustamZz,

 В случае - - <пусто>, &НачалоПериода - Выбирается всё равно & НачалоПериода, & КонецПериода
---
RustamZz,

Прочитал ВНИМАТЕЛЬНО:

параметры виртуальных таблиц становятся доступными для отбора

Становятся доступными для отбора
и
Устанвавливаются по умолчанию

Помоему, здесь есть разница. Вы не находите?
---
для такого указания второго параметра надо писать {&НачалоПериода}
---
Ещё раз

Если использовать стандартные (СКДшные) НачалоПериода и КонецПериода все выборкив «подзапросах» идут только за период - &НачалоПериода, &КонецПериода
---
Тоже был такой косяк с СКД, попробуйте писать так:

РегистрБухгалтерии.Хозрасчетный.Обороты({&НачалоПериода}, {&КонецПериода}, , ) ....

Это указание СКД использовать ваши наименования периодов, а не штатные

Вместо
РегистрБухгалтерии.Хозрасчетный.Обороты(, &НачалоПериода, , )
нужно написать
РегистрБухгалтерии.Хозрасчетный.Обороты(ДАТАВРЕМЯ(1,1,1), {&НачалоПериода}, , )
---
Фигурные скобки говорят об необязательности заполнения параметров,
Лучше просто использовать имена параметров не совпадающие со стандартными.
---
Akuji,

Это я уже понял. Но хочу понять логику разработчиков СКД, если это нен косяк
---
AnryMc, При выполнении СКД в базу данных посылается совсем не тот запрос, который мы видим при создании/редактировании/просмотре схемы компоновки. Он "обрастает" различными настройками, в том числе заполненными в пользовательском режиме. Вы создаете запрос к виртуальной таблице. Виртуальная таблица не может существовать без некоторого набора параметров, поэтому СКД добавляет эти параметры, подставляя имена "по умолчанию". Ну а так как в настройках, сделанных вами имена, используемые системой "по умолчанию" уже определены, то СКД просто использует значения из них.

П.С. Это мои размышления, могут не совпадать с мнением разработчиков платформы.
---
pahich,

Если не заполнять НачалоПериода и КонецПериода а ввести вместо них, например, НП и КП - то запросы выполняются нормально, даже если не указывать первый параметр (пусто) для виртуальной таблицы
---
AnryMc, Правильно. Так как в этом случае СКД подставляет свои имена "по умолчанию", а вы их не заполняете (так как вы заполняете другие параметры - НП и КП). Поэтому программа берет эти значения тоже по умолчанию - минимальный и максимальный период.
---
pahich,

ТРИ ИНТЕРВАЛА
1) СКДшные параметры:
- <пусто>, &НачалоПериода
- &НачалоПериода, &КонецПериода
- <пусто>, & КонецПериода
ТАК ПОЛУЧАЕТСЯ ТОЛЬКО ОДИН ИНТЕРВАЛ (НачалоПериода-КонецПериода)
2) "Свободные" прараметры:
- <пусто>, &НП
- &НП, &КП
- <пусто>, & КП
ПОЛУЧАЕТСЯ ПРАВИЛЬНО - ТРИ ИНТЕРВАЛА
---
AnryMc, на самом деле у вас получается:
в первом случае:
- &НачалоПериода, &НачалоПериода
- &НачалоПериода, &КонецПериода
- &НачалоПериода, &КонецПериода

и во втором:
- &НачалоПериода, &НП
- &НП, &КП
- &НачалоПериода, & КП

Во втором случае у вас период по умолчанию не заполнен, поэтому берутся максимальные рамки и получается то, что вам надо. В первом же случае у вас параметры заданы, поэтому получаются некорректные (с вашей точки зрения) периоды.
---
По СКД есть много курсов, но скажу по себе что СКД на примерах разбирал и по сравнению с книгами то ли у меня понимание свое то ли автор как то не совсем доходчиво описывал но понять удалось только при разборе на примерах что и вам советую. хотя на сегодняшний день очень много всяких форумов и помошников по СКД.
---
vervolf9,

Да както с СКД я более менее знаком, даже делал на ней некоторые отчеты. Просто удивляет данная ситуация. Когда в запросах нужно получит ТРИ интервала времени (см. (1)) то при использовании стандартных НачалоПериода и КонецПериода - получается только ОДИН интервал
---
Можно сделать отдельным запросом выборку периодов из производственного календаря а потом объединениям наборов данных передавать как параметры на основной запрос.
---
Для ВСЕХ Виртуальных таблиц СКД создает параметры с названиями Период(РегистрСведенийСрезПервых/Последних, РегистрНакопленияОстатки, РегистрБухгалтерииОстатки), НачалоПериода, КонецПериода(Обороты, Остатки и обороты)
ЕСЛИ эти имена этих параметров не переопределить в расширении запросов для СКД.
По-моему, об этом говорил Евгений Гилев в видео-курсе по СКД http://www.spec8.ru/kurs-po-skd-besplatno

соответственно, там где должна всегда быть Пустая дата - нужно прописывать в расширении экслюзивный параметр, я обычно пишу &ПустаяДата и делаю его недоступным
---
Подробное объяснение : Гилев "Осторожно 1С" 13-я серия
Вкратце : параметры виртуальных таблиц указываем в СКД -> конструктор запроса -> компоновка данных
---
donchess,

Ещё + 5 $m
---
donchess,

Самое интересное, Гилева я смотрел 1CdevAdv-Block2-Chapter10-Lesson012-main.avi

Да уж подзабыл
---
Итого: Я почти удовлетворен.
Потрачено 20 $m, из низ комиссии сайту 3.
---
и мне пятерочка прилетела, спс. сразу надо было гуглить автозаполнение скд, раньше бы разобрался)