arefaste/1C_Forums huggingface dataset:
Здравствуйте.

Конфигурация: 1С:ERP Управление предприятием 2 (2.4.13.71)

Задача состоит в следующем:
Необходимо изменить расчет амортизации ОС регл таким образом, чтобы рассчитывался как при расчете по упр. учету, т.е амортизация должна рассчитываться с момента принятия к учету. В модуле менеджера документа Амортизация ОС 2.4 в процедуре "ТекстЗапросаПараметрыРасчетаАмортизации" область "#Область СтоимостьОСНаНачалоМесяца" заменил
&КонецПредыдущегоМесяцаГраница на &КонецМесяца, а также в общем модуле "ВнеоборотныеАктивыСлужебный" в процедуре ТекстЗапросаПараметрыРасчетаАмортизации заменил &КонецПредыдущегоМесяца на &КонецМесяца. После этого по бух. все стало считать правильно, но при этом по управленческому учету суммы многократно увеличиваются.

В чем может быть проблема? Может кто сталкивался с такой проблемой. Буду рад помощи.
---
Спасибо всем кто откликнулся, уже сам разобрался.
---
Обьясните сначала зачем менять регламентированный расчет амортизации? Может вы не поняли саму задачу?
---
В соответствии с местным законодательством амортизация должна рассчитываться с момента принятия к учету.
---
ну залез в исправление типового механизма проведения, одной ногой измажся уж весь, чисти регистр и допили свой механизм фиксации в упр учете.

Скорее всего, твои данные много кратно считываются теперь, при проведении по опер учету. Тут тебе не посоветуют ничего кроме отладчика.

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

Как сделать чтобы Итог без группировки по документу выводил правильное значение?

В ресурсах всяко разно пробовал

"Сумма(ВЫБОР КОГДА ЕстьNULL(ОтгружаетсяОстаток,0) < 0 Тогда 0 Иначе ЕстьNULL(ОтгружаетсяОстаток,0) Конец)"
Рассчитывать по выставлял.
---
Возможно, что в тексте запроса есть СГРУППИРОВАТЬ ПО и при отключенном поле Документ компоновщик макета удаляет поле из запроса. Варианты решения в этом случае описаны здесь: https://youtu.be/DfmO-osIhcE
---
Возможно, что в тексте запроса есть СГРУППИРОВАТЬ ПО и при отключенном поле Документ компоновщик макета удаляет поле из запроса. Варианты решения в этом случае описаны здесь: https://youtu.be/DfmO-osIhcE
---
Спасибо. Обязательное поле помогло. Видео хорошее
---
Добрый день! Нужно правильно настроить роли. Что-то не так с измерениями.
---
Для начала нужно определить причину. В этом поможет консоль компоновки данных https://infostart.ru/1c/articles/1224249/

Когда будет понятно в чем проблема, тогда уже думать как исправить
Доброго времени.
Есть скрипт сикули. В коде есть процедура, которая создает временный файл и записывает в него команду вызова данного скрипта.
Все работало до недавнего времени, но потом перестало, причину пока определить не удалось.

Если запустить созданный временный файл, то все отрабатывает. Получается его не может запустить 1с, при этом никаких ошибок.

```1c
    ЗТ = Новый ЗаписьТекста(ИмяВременногоФайлаКоманды, "CESU-8", , Ложь);
    ЗТ.ЗаписатьСтроку("chcp 65001");

    ЗТ.ЗаписатьСтроку(СтрВызова);
    ЗТ.Закрыть();

    //Будем используем WshShell для запуска без окна командной строки
    //ЗапуститьПриложение(ИмяВременногоФайлаКоманды);

    WshShell = ПолучитьWshShell();

    Результат = WshShell.Run(ИмяВременногоФайлаКоманды, 0, 0);
```

Пробовал через запустить приложение, тоже ничего, просто мигнет окно командной строки и все.
В журнале windows лог данного события обнаружить не удалось.
База скульная. Java переустанавливал.

Куда еще можно покопать?
---
Все заработало, после того как повторно перепрописал системные переменные path. Причем теми же значениями, что и были.
---
//ЗапуститьПриложение(ИмяВременногоФайлаКоманды);

```1c
    ДождатьсяЗавершения
```

Через
```1c
    Try
```
---
Это пробовал, в исключение не заходит.
---
windows 10?
Там у них с апреля чехарда с обновлениями были, которые могли повлиять. Что-то накрутили с безопасностью.
Не знаю, это ваш случай или нет, но проблемы имеют место быть.
---
Кстати да, были обновления win 10, где-то перед этим.
---
Как показало следствие, проблема скорее всего не в правах. Я изменил текст bat файла и он отработал из 1С. Проблема видимо конкретно в sikuli.
---
Все заработало, после того как повторно перепрописал системные переменные path. Причем теми же значениями, что и были.
Уважаемые знатоки, при создании внешней обработки столкнулся со следующей ситуацией: Данные документа проводятся на N дату N времени в регистр бухгалтерии. При формирования остатков в регистре бухгалтерии, наша проводка будет видна только на N дате N+1 времени. Вопрос, какими способами можно извернуться от этого ограничения, кроме установки в параметров формирования таблицы остатков на секунду позже? (надеюсь понятно изложил суть)

```1c
    Объект.ТабличнаяЧасть1.Очистить();
    Объект.ДатаТекущейТаблицы = Объект.ДатаПоискаОстатков;
    Код = "7609";
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
    | ХозрасчетныйОстатки.Счет КАК Счет,
    | ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
    | ХозрасчетныйОстатки.Счет.КодБыстрогоВыбора КАК СчетКодБыстрогоВыбора,
    | ХозрасчетныйОстатки.Субконто1.Наименование КАК КонтрАгент,
    | ХозрасчетныйОстатки.Субконто1.Ссылка КАК Субконто1Ссылка
    |ИЗ
    | РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, , , ) КАК ХозрасчетныйОстатки
    |ГДЕ
    | ХозрасчетныйОстатки.Счет.КодБыстрогоВыбора = &Код
    | И ХозрасчетныйОстатки.Организация.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Дата", Объект.ДатаТекущейТаблицы);
    Запрос.УстановитьПараметр("Код", Код);
    Запрос.УстановитьПараметр("Ссылка",Объект.Организация);

    РезультатЗапроса = Запрос.Выполнить();
```
---
не совсем уверен, что понял вопрос, но вроде это:

```1c
    ГраницаВремени = Новый Граница(Объект.Дата, ВидГраницы.Включая);
    Запрос.УстановитьПараметр("Дата", ГраницаВремени );
```
---
не совсем уверен, что понял вопрос, но вроде это:

```1c
    ГраницаВремени = Новый Граница(Объект.Дата, ВидГраницы.Включая);
    Запрос.УстановитьПараметр("Дата", ГраницаВремени );
```
---
Да спасибо, не знал об этом
---
Интересно, а чем секунда не устраивает ?
Чисто так интересно :)
---
да всё его устраивает. Просто РП или наставник сказал - не прибавляй секунду - есть другой механизм платформы. Принципиальной разницы нет, так-то.
Больше строчек кода, больше памяти занять лишними переменными - больше оплата по сдельщине :)

Там и так три лишние переменные есть, пусть еще одна добавится :)
---
ну 2 из этих лишних переменных , работают как костыль для проверок, от нежелательных действий пользователя, ничего интереснее кроме служебного реквизита я придумать не смог.
---
да нормально все. у всех видение разное. работает - хорошо.
---
Есть Газировка в бутылках, а есть в банках и из чего пить разницы особой нет, но ответ прост - я художник, я так вижу. (просто было интересно узнать какие еще эстетичные способы существуют)
---
Типа такого?
МоментСразуПослеДокумента = Новый Граница(ДокументСсылка,ВидГраницы.Включая)
---
меняете в запросе
```1c
    &Дата
```

НА

```1c
    ДОБАВИТЬКДАТЕ(&Дата,СЕКУНДА,1);
```
Здравствуйте, помогите пожалуйста
Как можно вывести в одной колонке два значения?
Строка + число и снова строка

Пытался добавить вычисляемое

ВычислитьВыражениеСГруппировкойМассив("Срок оплаты до, " + "СрокОплаты" + " месяца следующего за отчетным",,"ЗначениеЗаполнено(СрокОплаты)")

Ошибка выходит(
---
```1c
    "Срок оплаты до, " + СрокОплаты + " месяца следующего за отчетным. " + ЗначениеЗаполнено(СрокОплаты)
```
---
```1c
    "Срок оплаты до, " + СрокОплаты + " месяца следующего за отчетным. " + ЗначениеЗаполнено(СрокОплаты)
```
---
без функции ВычислитьВыражениеСГруппировкойМассив ?
---
Да, конечно. А зачем она? Просто конкатенируете 2 значения в одно.
---
Попробовал так, все равно ошибка
---
Какая?
---
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{ВнешнийОтчет.ОтчетПоДоговорамСамозанятымиСотрудниками.МодульОбъекта(62)}: Ошибка при вызове метода контекста (Вывести)

по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Неверные параметры "+"
---
А какой тип у поля СрокОплаты?
---
Число
---
```1c
    "Срок оплаты до, " + ISNULL(СрокОплаты, 0) + " месяца следующего за отчетным. "
```
---
Плюс попробовать "Срок оплаты до, " + Строка(СрокОплаты) + " месяца следующего за отчетным. "
---
Получилось) спасибо) сейчас только осталось проверку добавить
Если Срок оплаты пустой, тогда колонка пустая
Доброго времени суток! Может кто сможет подсказать, есть ли возможность исключить документ УстановкаЦен из регистраторов отчета ТОРГ-29?
Розница 2.3.
---
Для будущих поколений вдруг кому пригодится или будет что-то подобное. В модуле объекта отчета в функции СформироватьОтчетТОРГ29. В запросе вместо строки
ГДЕ Таблица.Регистратор <> Неопределено
пишем условие с нужными документами
ГДЕ Таблица.Регистратор ССЫЛКА Документ.ИНужныйНамДокумент
Через ИЛИ пишем все нужные документы. Как сделать исключение для одного не разобрался, поэтому прописал все нужные кроме Установки цен.
---
есть ли возможность исключить документ УстановкаЦен из регистраторов отчета ТОРГ-29?
Стандартными методами нет. Если только через расширение доработать метод заполнения этого отчета.
Только не понятно зачем?
---
В Модуле объекта или редактировать СКД?
---
стандартно никак, или расширение добалять или выгружать как внешний отчет и редактировать его уже
---
В Модуле объекта или редактировать СКД?
---
В Модуле объекта или редактировать СКД?
Макеты - ОсновнаяСхемаКомпоновкиДанных
---
А Вы случаем не можете подсказать примерно какой момент рассматривать и редактировать?
---
А Вы случаем не можете подсказать примерно какой момент рассматривать и редактировать?
А что именно вы хотите исключить из отчета - переоценку товаров?
---
Что бы в отчете не учитывались документы Установка Цен Номенклатуры. И так же не выводились
---
А с чего бы их там не должно быть. вы меняете цену товара, у вас меняется стоимостной остаток. Эта же и есть главная цель этого отчета.
---
Попросили сделать так.
---
Для будущих поколений вдруг кому пригодится или будет что-то подобное. В модуле объекта отчета в функции СформироватьОтчетТОРГ29. В запросе вместо строки
ГДЕ Таблица.Регистратор <> Неопределено
пишем условие с нужными документами
ГДЕ Таблица.Регистратор ССЫЛКА Документ.ИНужныйНамДокумент
Через ИЛИ пишем все нужные документы. Как сделать исключение для одного не разобрался, поэтому прописал все нужные кроме Установки цен.
---
вы понимаете что у вас не пойдет конечный остаток с приходом и расходом?
---
Как тогда правильно?
УТ 10.3. Документ ТТНВходящаяЕгаис в режиме записи (не проведения!) почему-то делает движения в регистр СоответствиеНоменклатурыЕГАИС. Нужно сделать так, чтобы делать промежуточное сохранение документа без проведения и без ДВИЖЕНИЙ!

Пробовал делать замер производительности и поиск по ключевым фразам, например: "Набор.Записать(", "СоответствияНоменклатуры" и др. Подскажите, как найти место в коде, которое делает движения без проведения?
---
С первого раза не нашёл замером производительности, потому что записывал документ второй раз. А надо было делать это впервые (например получить новый документ или восстановиться из резервной копии).
Нашёл где был код с движениями. В модуле документа ТТНВходящаяЕГАИС в процедуре ПередЗаписью() обращение к общему модулю.
Так как мне нужно было убрать движения при записи, но оставить при проведении, то я сделал следующее. Заменил в этой процедуре Перед записью строку кода:
```1c
    ИнтеграцияЕГАИС.СопоставитьАлкогольнуюПродукциюСНоменклатурой(ЭтотОбъект);
```

На вот этот код:

```1c
    Если РежимЗаписи = РежимЗаписиДокумента.Проведение тогда
    ИнтеграцияЕГАИС.СопоставитьАлкогольнуюПродукциюСНоменклатурой(ЭтотОбъект);
    КонецЕсли;
```

УТ 10.3.69.2
---
Подписка на событие "ПриЗаписи", в модуле документа, в обработчике "ПриЗаписи", в форме документа, в обрабочике "ПриЗаписи"/"ПослеЗаписи"
---
Не нашёл где конкретно движения.
В подписках на события ничего подобного нет с движениями.
В модуле объекта в событии ПриЗаписи() почти ничего нет.
В событии формы после записи нашёл вот такой код

```1c
    Оповестить("Запись_ТТНВходящаяЕГАИС", ПараметрыЗаписи, Объект.Ссылка);
```

Но в конфигурации глобальным поиском не нашёл процедуры с таким названием.
---
Это не процедура, а имя источника события, ищите по нему обработку оповещения
---
поставь точку остановки в модуль записи регистра сведений и жди)
Потом открой стек вызовов и гляди
---
Посмотреть подписки на документ. Попробовать программно записать документ (не в форме). Попробовать при программной записи включить режим Объект.ОбменДанными.Загрузка = Истина. Более тщательно посмотреть в замере производительности вызываемые процедуры, пройтись отладчиком по ним.
---
С первого раза не нашёл замером производительности, потому что записывал документ второй раз. А надо было делать это впервые (например получить новый документ или восстановиться из резервной копии).
Нашёл где был код с движениями. В модуле документа ТТНВходящаяЕГАИС в процедуре ПередЗаписью() обращение к общему модулю.
Так как мне нужно было убрать движения при записи, но оставить при проведении, то я сделал следующее. Заменил в этой процедуре Перед записью строку кода:
```1c
    ИнтеграцияЕГАИС.СопоставитьАлкогольнуюПродукциюСНоменклатурой(ЭтотОбъект);
```

На вот этот код:

```1c
    Если РежимЗаписи = РежимЗаписиДокумента.Проведение тогда
    ИнтеграцияЕГАИС.СопоставитьАлкогольнуюПродукциюСНоменклатурой(ЭтотОбъект);
    КонецЕсли;
```

УТ 10.3.69.2
В УПП есть отчёт "Анализ распределения производственных затрат", в его форме есть группа переключателей "Формировать по данным" (рис. 1), однако в Конфигураторе в его форме этой группы переключателей НЕТ (рис. 2).

Зато у отчёта есть реквизит типа "ОтчетОбъект.УниверсальныйОтчет" (рис. 3), однако и в форме Универсального Отчета этой группы переключателей тоже НЕТ (рис. 4).

Откуда же они взялись?

У Универсального Отчета есть реквизит типа "ПостроительОтчета". Это Построитель Отчета их от себя добавил? Или в обычных формах тоже можно создавать контролы (органы управления) программно?

Откуда же взялись эти переключатели?
---
обычных формах тоже можно создавать контролы (органы управления) программно?
Конечно можно.
В модуле формы отчета анализ:

```1c
    Процедура ПриОткрытии()

    ПанельВидыУчета = УправлениеОтчетами.ПодготовитьДанныеДляСозданияПанелиВидыУчета(Новый Действие("ВидУчетаУпрПриИзменении"), "Упр, Бух, Нал");
```
---
поищи по Варианту отчета в общих форма, скорее всего там при открытии или создании включаются эти переключатели
---
А можно поподробнее?
---
обычных формах тоже можно создавать контролы (органы управления) программно?
Конечно можно.
В модуле формы отчета анализ:

```1c
    Процедура ПриОткрытии()

    ПанельВидыУчета = УправлениеОтчетами.ПодготовитьДанныеДляСозданияПанелиВидыУчета(Новый Действие("ВидУчетаУпрПриИзменении"), "Упр, Бух, Нал");
```
подскажите как сделать
есть Табличная часть документа, надо вывести на форме в две таблицы по условию одного из полей
если делаю динамическим списком все показывает, но редактировать не дает, а можно ли кинуть табличную часть на форму и ограничить вывод строк?
---
```1c
    Элементы.МояТабличнаяЧасть.ОтборСтрок = Новый ФиксированнаяСтруктура(СтруктураОтбора);
```
---
```1c
    Элементы.МояТабличнаяЧасть.ОтборСтрок = Новый ФиксированнаяСтруктура(СтруктураОтбора);
```
---
спасибо
Мне коллега сваял правило конвертации для документов ОперацияБух для штатной выгрузки/загрузки через XML.

Существует ли возможность подсунуть ей результат запроса для нужных доков ОперацияБух ???
---
```1c
    Пока Выборка.Следущий() Цикл
    ВыгрузитьПоПравилу(Выборка.Ссылка, , , , "Документ.ВидДокумента");
    КонецЦикла;
```
---
Можно удалить регистрацию всех объектов нужного типа и зарегистрировать только те, которые попадут в выборку запроса. После этого выполнить выгрузку стандартным способом.
Либо можно допилить правило выгрузки объектов.
---
у меня не обмен, а банальная выгрузка/загрузка доков с правилами сделанными в КД20
---
Так файл правил же используется. Если выполняется выгрузка только зарегистрированных объектов, то химичить с регистрацией. Если по ПВД, то правило подправить.
---
т.е. я из архивной базы выгружаю ОперацияБух в рабочую
---
нет у меня регистрации, задается только период выгрузки
---
Значит выгружаются данные полученные в ПВД. Доработать ПВД и будет счастье.
---
Забирай
https://infostart.ru/public/1039757/
---
В чем заключается доработка ПВД ?
Я например создал запрос, возвращающий список нужных для выгрузки доков.
---
```1c
    Пока Выборка.Следущий() Цикл
    ВыгрузитьПоПравилу(Выборка.Ссылка, , , , "Документ.ВидДокумента");
    КонецЦикла;
```
---
Спасибо, попробуеем
---
Эти строки вставляют в какой-то обработчик событий, типо ПередВыгрузкой()?
---
Да.
И "Способ выборки" выставить "Произвольный алгоритм"
---
Спасибо!
Постараюсь отписаться о результате :)
---
Первые сто блинов - комом)))
---
оказывается не объявил переменную Запрос
---
исправил все ошибки синтаксиса и добрался до:

Начало выгрузки: 13.06.2021 12:23:32

Окончание выгрузки: 13.06.2021 12:25:50

Выгружено объектов: 0
Выгрузка данных завершена.
---
в обработчике ПередВыгрузкой написал:

```1c
    Пока Выборка.Следущий() Цикл
    Сообщить("проверка");
    ВыгрузитьПоПравилу(Выборка.Регистратор, , , , "Документ.ОперацияБух");
    КонецЦикла;
```

при выгрузке Универсалка задумалась, ничего не выгрузила.
И вывода Сообщить() не было :(
---
Перенес в обработчик ПередОбработкой, появилось сообщение:

Ошибка при выгрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(3230)}: Ошибка в обработчике события ПередОбработкойПравилаВыгрузки
    ПВД = ОперацияБух
    Обработчик = ПередОбработкойВыгрузкиДанных
    ОписаниеОшибки = Метод объекта не обнаружен (Следущий)
    ПозицияМодуля = (60)
    КодСообщения = 31
---
что я делаю не так?
---
как обычно - невнимательность:
ОписаниеОшибки = Метод объекта не обнаружен (Следущий)
---
в общем, у меня таки получилось.
Всем спасибо за советы!!!
Такой вопрос, есть ли какой то универсальный способ поиск объекта в конфигураторе на основе клиента. Проще говоря, есть допустим документ я открыл его на клиенте, и нужно внести какие то изменения, пытаюсь его найти в конфигураторе, но не всегда по название на клиенте это удается, и все это усложняется большим объемом данных, поиск может затянуться. Иногда например на форме можно нажать типо Открыть в Конфигураторе, но не всегда такая возможность есть. Возможно глупый немного вопрос, но может у кого-то есть решение.
---
Искать глобальным поиском по свойствам объектов значение имени документа в режиме предприятия.
---
Есть такой инструмент тестирования Vanessa Automation. Так вот в нем есть обработка "Исследователь формы". Возможно это именно то, что нужно.
---
Иногда достаточно знать полное имя открытой формы. В какой-то платформе это добавили. Можно воспользоваться простой смотрелкой списка открытых форм (в прикреплении). На ИС есть несколько продвинутых обработок по исследованию открытых форм.
---
Искать глобальным поиском по свойствам объектов значение имени документа в режиме предприятия.
---
да поиском понял, а так альтернативы нет типо как с формой Открыть в Конфигураторе?
---
Есть штатная штука. проваливаться из формы, сразу в конфигуратор

https://yadi.sk/i/UmgvMJebCX7exw
---
Есть такой инструмент тестирования Vanessa Automation. Так вот в нем есть обработка "Исследователь формы". Возможно это именно то, что нужно.
---
А какая версия платформы у Вас?
Настройки - параметры - включаем режим технического специалиста.
Потом в документе в правом верхнем углу три точки - "информация для технического специалиста"
Если я правильно вас поняла )
---
Если в конфигураторе вывести на панель кнопку из панели Откладка-Остановить, и нажать эту кнопку, то любое нажатие в клиенте откроет в конфигураторе нужный модуль . Лишь бы в это время на клиенте не работала обработка ожидания.
---
Иногда достаточно знать полное имя открытой формы. В какой-то платформе это добавили. Можно воспользоваться простой смотрелкой списка открытых форм (в прикреплении). На ИС есть несколько продвинутых обработок по исследованию открытых форм.
---
В открытом документе справа вверху рядом с крестиком кнопка с цепочкой "Получить ссылку"
Здравствуйте, помогите пожалуйста, как поставить в настройках отчета
1) Выводить одного контрагента и по нему все договора?
2) Вывести данные "Назначение платежа, Пропорция оплаты, Срок оплаты" по месяцам?
Январь, Февраль, Март ...
Для этого макет нужен? или по другому можно сделать?
---
В структуре СКД нужно создать таблицу примерно как на скриншоте. Также прикрепил пример с произвольными данными.
---
Поле "Месяц" в котором вычисляете или в запросе "НАЧАЛОПЕРИОДА(Дата, МЕСЯЦ)", или в самом отчете "НачалоМесяца(Дата)", по нему делаете группировку.
---
Здравствуйте, у вас есть пример? что то никак не получается пока что(
---
В структуре СКД нужно создать таблицу примерно как на скриншоте. Также прикрепил пример с произвольными данными.
---
Спасибо большое) сейчас попробую сделать
---
Вопрос: я добавил в запросе поле "НАЧАЛОПЕРИОДА(Дата, МЕСЯЦ)" Как Месяц
Далее создал структуру как на скриншоте, у получилось что выводит только Июнь
Получается ещё нужно программным кодом доработать, чтоб все месяцы вышли?
---
Получается ещё нужно программным кодом доработать, чтоб все месяцы вышли? Нет, не нужно. Просто данные в отчет у вас только за июнь попали.
---
Точно, а чтоб вывести все месяца это уже кодом? например январь (он пустой) чтоб колонка была но пустой осталось
---
В такой постановке задачи, я бы отказался от СКД и всё сделал через произвольный макет.
---
Создать дополнительный набор данных и связать его со своим. Сразу можно и названия месяцев получить. Но нужно будет всетаки выбирать как-то за какой год строить отчет.
Набор "Месяцы"

```1c
    ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(&Дата1, ГОД) КАК НачалоМесяца,
    "Январь" КАК НазваниеМесяца

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 1),
    "Февраль"

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 2),
    "Март"

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 3),
    "Апрель"

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 4),
    "Май"

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 5),
    "Июнь"

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 6),
    "Июль"

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 7),
    "Август"

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 8),
    "Сентябрь"

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 9),
    "Октябрь"

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 10),
    "Ноябрь"

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

    ВЫБРАТЬ
    ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Дата1, ГОД), МЕСЯЦ, 11),
    "Декабрь"
```