Привет, коллеги!
Помогите с реализацией задачи, попытаюсь объяснить )

Есть регистр сведений, где фиксируется дата отметки сотрудника. Допустим если сотрудник присутствовал в определенный день - в регистре фиксируется его присутствие .

Рисую отчет и не додумаюсь как реализовать такую схему:
Отобразить список всех сотрудников в строках скд, и колонки на каждый день (Выбранного месяца) ...

Получается если построить запрос и вывести, выводится только дни, когда этот сотрудник присутствовал, а остальные дни не отображаются...
Приложил скрины.
 i need help !)

1 скрин - как нужно
2 что получается
---
Попробуйте воспользоваться дополнением периода. Указывается оно напротив поля группировки. В качестве типа дополнения Вам необходим "День" (т.к. колонки нужны на каждый день), а начальной и конечной датой вероятнее всего должен быть "ТипДополненияПериодаКомпоновкиДанных", "Месяц".
---
Как вариант можно сделать таблицу с днями месяца программно, запихать ее в СКД и соединить с выборкой из регистра левым соединением по дням. Или забить в регистр записи с недостающими датами и пустыми сотрудниками. Но последний вариант - извращение еще то. Если заполнен производственный календарь - можно соединиться с ним.
---
Это самый крайний вариант, желательно средствами скд сделать.
 1 скрин программно сделан, но работает с ошибкой, у сотрудника выбирается только последняя отметка... То есть он был 8-го , 9-го, 10-го --- Галка ставится только 10-го, а 8 и 9 - пустыми получаются
---
Ну а что мешает воспользоваться процедурой "ПриКомпоновкеРезультата". Собрать там таблицу с днями и все.
---
Попробуйте воспользоваться дополнением периода. Указывается оно напротив поля группировки. В качестве типа дополнения Вам необходим "День" (т.к. колонки нужны на каждый день), а начальной и конечной датой вероятнее всего должен быть "ТипДополненияПериодаКомпоновкиДанных", "Месяц".
---
Если в отчете период меньше года то можно соединиться с таким запросом:

```1c
    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, 20 * t1.a + t2.b) КАК n
    ИЗ
    (ВЫБРАТЬ
    0 КАК a

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    1

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    2

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    3

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    4

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    5

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    6

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    7

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    8

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    9

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    10

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    11

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    12

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    13

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    14

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    15

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    16

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    17

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    18

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    19) КАК t1
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    0 КАК b

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    1

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    2

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    3

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    4

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    5

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    6

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    7

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    8

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    9

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    10

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    11

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    12

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    13

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    14

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    15

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    16

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    17

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    18

    ОБЪЕДИНИТЬ

    ВЫБРАТЬ
    19) КАК t2
    ПО (ИСТИНА) ГДЕ ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, 20 * t1.a + t2.b) <= &ДатаКон
```
---
Че за конфа ? Самописка ? Если нет то как варик можно получать данные по дням недели из регистра сведений "КурсыВалют"

```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    НАЧАЛОПЕРИОДА(КурсыВалют.Период, ДЕНЬ) КАК ДЕНЬ
    ПОМЕСТИТЬ ВТ_Даты
    ИЗ
    РегистрСведений.КурсыВалют КАК КурсыВалют
    ГДЕ
    КурсыВалют.Период МЕЖДУ &НачалоПериода И &КонецПериода

    СГРУППИРОВАТЬ ПО
    НАЧАЛОПЕРИОДА(КурсыВалют.Период, ДЕНЬ)
```
---
Ну конечно если учет по валюте ведется =))) иначе данных не будет +)))
---
нет, к сожалению не ведется.
База самописная на 15%, остальное все типовое ЗУП3
---
Так если это ЗУП - почему не воспользоваться регистром с графиками работы?
---
Блин там есть производственный календарь берите данные из него
---
(9) Данные которые будут анализироваться входят в эти 15% самописного дополнения)
---
Ну и ладно. Пусть анализируются.
---
для таких задач я предлагаю

Объединить все

Правда догматы джойнов негодуют и вопят, хотя чего вопеть - ведь это самое простое и рациональное решение.
---
Также получите таблицу дней к ней по левому соединение прикрепите свою таблицу и вот вам счастье !!!
---
Я это с самого начал предложил :)
---
Вы предлагаете создать таблица дат потом ее передать в СКД и у же потом исполнить СКД и сделать вывод я правильно понимаю ? Проще сделать запрос и вывод результата оставить штатными средствами !!!
---
Понятно, что запрос проще. Я просто предложил вариант решения проблемы. Моей ошибкой было сразу в пекло лезть, не узнав предварительно что за конфигурация. :)
---
Ну да =))) только не предложили откуда ему эту таблицу дней вытащить !!! И что значит программно в вашем понимании ?
---
Если заполнен производственный календарь - можно соединиться с ним. Программно в моем понимании - сделать источник данных "Таблица" в СКД, циклом в процедуре "ПриКомпоновкеРезультата" ее заполнить и будет счастье
---
да разве это пекло?
просто теплый ручеек мутной водицы