Добрый день! Подскажите, пожалуйста, с запросом. Проблема с вт "ЛимитыС", по ней обираю записи с периодом НАЧАЛОПЕРИОДА(&Сегодня, День), НАЧАЛОПЕРИОДА(&Сегодня, Неделя), НАЧАЛОПЕРИОДА(&Сегодня, Месяц).

Если соединять по 1 параметру, например день, то значение количества записей в регистре корректное, если добавлять еще соединение с параметром неделя, то дню присваивается значение недели, если добавить еще соединение по месяцу, то дню и недели присваивается значение месяца. Не могу понять, в чем дело. Заранее спасибо!

Вот так ок:

```1c
    ВЫБРАТЬ
    СотрудникПоДоговоруСрезПоследних.Договор КАК Договор
    ПОМЕСТИТЬ Договоры
    ИЗ
    РегистрСведений.СотрудникПоДоговору.СрезПоследних(, ) КАК СотрудникПоДоговоруСрезПоследних
    ГДЕ
    СотрудникПоДоговоруСрезПоследних.Взыскатель = &Сотрудник

    ИНДЕКСИРОВАТЬ ПО
    Договор
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.ДоговорыКонтрагентов) КАК Договор,
    СУММА(ХозрасчетныйОстатки.СуммаОстатокДт) КАК СуммаОстатокДт
    ПОМЕСТИТЬ Долги
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(
    ,
    Счет.Код = "58.03.1"
    ИЛИ Счет.Код = "76.12"
    ИЛИ Счет.Код = "ДЦ.01"
    ИЛИ Счет.Код = "ДЦ.02",
    ,
    ВЫРАЗИТЬ(Субконто2 КАК Справочник.ДоговорыКонтрагентов) В
    (ВЫБРАТЬ
    Договоры.Договор
    ИЗ
    Договоры КАК Договоры)) КАК ХозрасчетныйОстатки
    ГДЕ
    ХозрасчетныйОстатки.СуммаОстатокДт > 0

    СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки.Субконто2,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.ДоговорыКонтрагентов)

    ИНДЕКСИРОВАТЬ ПО
    Договор
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ЛимитСообщений.Период КАК Период,
    ЛимитСообщений.Договор КАК Договор,
    ЛимитСообщений.УИД
    ПОМЕСТИТЬ ЛимитыС
    ИЗ
    РегистрСведений.ЛимитСообщений КАК ЛимитСообщений
    ГДЕ
    ЛимитСообщений.Период >= НАЧАЛОПЕРИОДА(&Сегодня, МЕСЯЦ)
    И ЛимитСообщений.Договор В
    (ВЫБРАТЬ
    Договоры.Договор КАК Договор
    ИЗ
    Долги КАК Договоры)

    ИНДЕКСИРОВАТЬ ПО
    Договор,
    Период
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    АнкетаКлиента.Договор,
    КОЛИЧЕСТВО(ЛимитыНеделя.УИД) КАК ЛНеделя
    ИЗ
    Документ.АнкетаКлиента КАК АнкетаКлиента
    ЛЕВОЕ СОЕДИНЕНИЕ ЛимитыС КАК ЛимитыДень
    ПО АнкетаКлиента.Договор = ЛимитыДень.Договор
    И (ЛимитыДень.Период >= НАЧАЛОПЕРИОДА(&Сегодня, ДЕНЬ))

    ГДЕ
    АнкетаКлиента.Договор В
    (ВЫБРАТЬ
    Договоры.Договор КАК Договор
    ИЗ
    Долги КАК Договоры)

    СГРУППИРОВАТЬ ПО
    АнкетаКлиента.Договор
```

Вот так НЕ ок:

```1c
    ВЫБРАТЬ
    СотрудникПоДоговоруСрезПоследних.Договор КАК Договор
    ПОМЕСТИТЬ Договоры
    ИЗ
    РегистрСведений.СотрудникПоДоговору.СрезПоследних(, ) КАК СотрудникПоДоговоруСрезПоследних
    ГДЕ
    СотрудникПоДоговоруСрезПоследних.Взыскатель = &Сотрудник

    ИНДЕКСИРОВАТЬ ПО
    Договор
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.ДоговорыКонтрагентов) КАК Договор,
    СУММА(ХозрасчетныйОстатки.СуммаОстатокДт) КАК СуммаОстатокДт
    ПОМЕСТИТЬ Долги
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(
    ,
    Счет.Код = "58.03.1"
    ИЛИ Счет.Код = "76.12"
    ИЛИ Счет.Код = "ДЦ.01"
    ИЛИ Счет.Код = "ДЦ.02",
    ,
    ВЫРАЗИТЬ(Субконто2 КАК Справочник.ДоговорыКонтрагентов) В
    (ВЫБРАТЬ
    Договоры.Договор
    ИЗ
    Договоры КАК Договоры)) КАК ХозрасчетныйОстатки
    ГДЕ
    ХозрасчетныйОстатки.СуммаОстатокДт > 0

    СГРУППИРОВАТЬ ПО
    ХозрасчетныйОстатки.Субконто2,
    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.ДоговорыКонтрагентов)

    ИНДЕКСИРОВАТЬ ПО
    Договор
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    ЛимитСообщений.Период КАК Период,
    ЛимитСообщений.Договор КАК Договор,
    ЛимитСообщений.УИД
    ПОМЕСТИТЬ ЛимитыС
    ИЗ
    РегистрСведений.ЛимитСообщений КАК ЛимитСообщений
    ГДЕ
    ЛимитСообщений.Период >= НАЧАЛОПЕРИОДА(&Сегодня, МЕСЯЦ)
    И ЛимитСообщений.Договор В
    (ВЫБРАТЬ
    Договоры.Договор КАК Договор
    ИЗ
    Долги КАК Договоры)

    ИНДЕКСИРОВАТЬ ПО
    Договор,
    Период
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    АнкетаКлиента.Договор,
    КОЛИЧЕСТВО(ЛимитыДень.УИД) КАК ЛДень,
    КОЛИЧЕСТВО(ЛимитыНеделя.УИД) КАК ЛНеделя
    ИЗ
    Документ.АнкетаКлиента КАК АнкетаКлиента
    ЛЕВОЕ СОЕДИНЕНИЕ ЛимитыС КАК ЛимитыДень
    ПО АнкетаКлиента.Договор = ЛимитыДень.Договор
    И (ЛимитыДень.Период >= НАЧАЛОПЕРИОДА(&Сегодня, ДЕНЬ))
    ЛЕВОЕ СОЕДИНЕНИЕ ЛимитыС КАК ЛимитыНеделя
    ПО АнкетаКлиента.Договор = ЛимитыНеделя.Договор
    И (ЛимитыНеделя.Период >= НАЧАЛОПЕРИОДА(&Сегодня, Неделя))

    ГДЕ
    АнкетаКлиента.Договор В
    (ВЫБРАТЬ
    Договоры.Договор КАК Договор
    ИЗ
    Долги КАК Договоры)

    СГРУППИРОВАТЬ ПО
    АнкетаКлиента.Договор
```

Необходимо связать большой запрос со списком договоров с количествами записей в регистре. (По договору, количества записей за день, неделю, месяц)
---
Если правильно понял суть проблемы и хранение данных в РегистрСведений.ЛимитСообщений, то необходимо последний пакет в запросе переделать в такой вид

```1c
    ВЫБРАТЬ
    АнкетаКлиента.Договор,
    КОЛИЧЕСТВО(ЛимитыДень.УИД) КАК ЛДень,
    0 КАК ЛНеделя,
    0 КАК ЛМесяц
    ПОМЕСТИТЬ ВТОбщиеДанные
    ИЗ
    Документ.АнкетаКлиента КАК АнкетаКлиента
    ЛЕВОЕ СОЕДИНЕНИЕ ЛимитыС КАК ЛимитыДень
    ПО АнкетаКлиента.Договор = ЛимитыДень.Договор
    И (ЛимитыДень.Период >= НАЧАЛОПЕРИОДА(&Сегодня, ДЕНЬ))
    ГДЕ
    АнкетаКлиента.Договор В
    (ВЫБРАТЬ
    Договоры.Договор КАК Договор
    ИЗ
    Долги КАК Договоры)
    СГРУППИРОВАТЬ ПО
    АнкетаКлиента.Договор

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

    ВЫБРАТЬ
    АнкетаКлиента.Договор,
    0,
    КОЛИЧЕСТВО(ЛимитыНеделя.УИД),
    0
    ИЗ
    Документ.АнкетаКлиента КАК АнкетаКлиента
    ЛЕВОЕ СОЕДИНЕНИЕ ЛимитыС КАК ЛимитыНеделя
    ПО АнкетаКлиента.Договор = ЛимитыНеделя.Договор
    И (ЛимитыНеделя.Период >= НАЧАЛОПЕРИОДА(&Сегодня, Неделя))
    ГДЕ
    АнкетаКлиента.Договор В
    (ВЫБРАТЬ
    Договоры.Договор КАК Договор
    ИЗ
    Долги КАК Договоры)
    СГРУППИРОВАТЬ ПО
    АнкетаКлиента.Договор

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

    ВЫБРАТЬ
    АнкетаКлиента.Договор,
    0,
    0,
    КОЛИЧЕСТВО(ЛимитыМесяц.УИД)
    ИЗ
    Документ.АнкетаКлиента КАК АнкетаКлиента
    ЛЕВОЕ СОЕДИНЕНИЕ ЛимитыС КАК ЛимитыМесяц
    ПО АнкетаКлиента.Договор = ЛимитыМесяц.Договор
    И (ЛимитыМесяц.Период >= НАЧАЛОПЕРИОДА(&Сегодня, Месяц))
    ГДЕ
    АнкетаКлиента.Договор В
    (ВЫБРАТЬ
    Договоры.Договор КАК Договор
    ИЗ
    Долги КАК Договоры)
    СГРУППИРОВАТЬ ПО
    АнкетаКлиента.Договор
    ;
    ВЫБРАТЬ
    Договор,
    СУММА(ЛДень) КАК ЛДень,
    СУММА(ЛНеделя) КАК ЛНеделя,
    СУММА(ЛМесяц) КАК ЛМесяц
    ИЗ
    ВТОбщиеДанные
    СГРУППИРОВАТЬ ПО
    Договор
```
---
Если правильно понял суть проблемы и хранение данных в РегистрСведений.ЛимитСообщений, то необходимо последний пакет в запросе переделать в такой вид

```1c
    ВЫБРАТЬ
    АнкетаКлиента.Договор,
    КОЛИЧЕСТВО(ЛимитыДень.УИД) КАК ЛДень,
    0 КАК ЛНеделя,
    0 КАК ЛМесяц
    ПОМЕСТИТЬ ВТОбщиеДанные
    ИЗ
    Документ.АнкетаКлиента КАК АнкетаКлиента
    ЛЕВОЕ СОЕДИНЕНИЕ ЛимитыС КАК ЛимитыДень
    ПО АнкетаКлиента.Договор = ЛимитыДень.Договор
    И (ЛимитыДень.Период >= НАЧАЛОПЕРИОДА(&Сегодня, ДЕНЬ))
    ГДЕ
    АнкетаКлиента.Договор В
    (ВЫБРАТЬ
    Договоры.Договор КАК Договор
    ИЗ
    Долги КАК Договоры)
    СГРУППИРОВАТЬ ПО
    АнкетаКлиента.Договор

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

    ВЫБРАТЬ
    АнкетаКлиента.Договор,
    0,
    КОЛИЧЕСТВО(ЛимитыНеделя.УИД),
    0
    ИЗ
    Документ.АнкетаКлиента КАК АнкетаКлиента
    ЛЕВОЕ СОЕДИНЕНИЕ ЛимитыС КАК ЛимитыНеделя
    ПО АнкетаКлиента.Договор = ЛимитыНеделя.Договор
    И (ЛимитыНеделя.Период >= НАЧАЛОПЕРИОДА(&Сегодня, Неделя))
    ГДЕ
    АнкетаКлиента.Договор В
    (ВЫБРАТЬ
    Договоры.Договор КАК Договор
    ИЗ
    Долги КАК Договоры)
    СГРУППИРОВАТЬ ПО
    АнкетаКлиента.Договор

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

    ВЫБРАТЬ
    АнкетаКлиента.Договор,
    0,
    0,
    КОЛИЧЕСТВО(ЛимитыМесяц.УИД)
    ИЗ
    Документ.АнкетаКлиента КАК АнкетаКлиента
    ЛЕВОЕ СОЕДИНЕНИЕ ЛимитыС КАК ЛимитыМесяц
    ПО АнкетаКлиента.Договор = ЛимитыМесяц.Договор
    И (ЛимитыМесяц.Период >= НАЧАЛОПЕРИОДА(&Сегодня, Месяц))
    ГДЕ
    АнкетаКлиента.Договор В
    (ВЫБРАТЬ
    Договоры.Договор КАК Договор
    ИЗ
    Долги КАК Договоры)
    СГРУППИРОВАТЬ ПО
    АнкетаКлиента.Договор
    ;
    ВЫБРАТЬ
    Договор,
    СУММА(ЛДень) КАК ЛДень,
    СУММА(ЛНеделя) КАК ЛНеделя,
    СУММА(ЛМесяц) КАК ЛМесяц
    ИЗ
    ВТОбщиеДанные
    СГРУППИРОВАТЬ ПО
    Договор
```
---
Спасибо! Странно, что не срабатывает НАЧАЛОПЕРИОДА(&Сегодня, Месяц), хотя если передать дату параметром, то значения корректны.
---
оно срабатывает, но так как у вас соединение 3 таблиц, то результатом получается декартово произведение