Здравствуйте.

Пытаюсь сделать ОСВ на СКД для КА 2.2, делаю запрос к виртуальной таблице остатки и обороты регистра бухгалтерии Хозрасчетный. Из неё помимо прочего выбираю ресурсы Сумма..., СуммаНУ..., СуммаПР..., СуммаВР... Начальные и конечные остатки, а также обороты. Всё по дебету и кредиту. Ресурсы Сумма... и СуммаНУ... попадают в доступные поля отчёта, остальные ресурсы -- не попадают, соответственно вывести их в отчёт я не могу. Все ресурсы указаны в соответствующей вкладке отчёта, на вкладке наборов данных никаких ограничений по полям нет. По какой причине они могут не попадать в доступные поля?
---
Да, но эффекта не возымело. Они и при автозаполнении туда попадали, но на дурака пробовал. Только что сохранил схему в xml и загрузил в пустой внешний отчёт. Все выбранные поля попали в доступные. Кажется, это косяк консоли компоновки данных. 3 дня. 3 дня впустую из-за консоли.
---
Такое бывает когда варианты отчета не переименовываете. В кэше засядет какая-нибудь хрень, и паришься. Тоже иногда случается. первым делом для теста создаю отчет, и пихаю в него свой запрос.
---
Отчет с нуля создавали или сохранили из базы?
---
С нуля, в консоли из ИР.
---
Пробовали отключить автозаполнение, и руками вывести нужные поля в построителе запроса?
---
Да, но эффекта не возымело. Они и при автозаполнении туда попадали, но на дурака пробовал. Только что сохранил схему в xml и загрузил в пустой внешний отчёт. Все выбранные поля попали в доступные. Кажется, это косяк консоли компоновки данных. 3 дня. 3 дня впустую из-за консоли.
---
Такое бывает когда варианты отчета не переименовываете. В кэше засядет какая-нибудь хрень, и паришься. Тоже иногда случается. первым делом для теста создаю отчет, и пихаю в него свой запрос.
---
Какая версия ИР? Можешь подробнее описать проблему?
---
Если кратко, проблема решена и дело оказалось не в консоли, хотя она немного сбила с толку. Версию точно не скажу т.к. на работе и дома они могут разниться, а я сейчас дома. Могу сообщить в понедельник и заодно кинуть в ЛС ссылку на XML схемы компоновки для КД 2.2. Если загрузить её во встроенный конструктор компоновки, все ресурсы попадут в доступные поля. Если загрузить в консоль из ИР, часть ресурсов будет помечена крестиками, как будто их нет. При выводе отчёта со всеми доступными полями, построенного не через ИР, эти ресурсы всё равно не будут отображаться. Так что проблема не в вашей консоли, а в чём-то другом и моей неопытности.
---
Если ты сравниваешь работу настроек компоновки в конфигураторе и клиентском приложении, то это нормально. Ведь в режиме конфигуратора функциональные опции и права просмотра таблиц/полей не влияют на включение полей в доступные поля. А в клиентском приложении они влияют (делают недоступными) и потому любая форма будет показывать не полный набор доступных полей.
---
Теперь консоль компоновки ИР показывает признак наличия скрытых платформой доступных полей.
---
Спустя три года после комента прям выручил! И платформы все обновились по сто раз, а костыли одни те же.
---
вопрос в догонку
 как это сделать программно ?

```1c
    НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
    НаборДанных.Имя = ИмяРегистра;
    НаборДанных.ИсточникДанных = "ИсточникДанных1";

    НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина;
```
 это не работает
https://infostart.ru/public/814453/ в расшифровке доступные поля пустые что бы ни делал ((
---
Не понял, как сделать программно что? Добавить выбранный ресурс в доступные поля?
---
ну да
---
сами поля добавляются как

```1c
    ПолеГруппировки = Группировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных(ИмяРегистра+".Регистратор");
    ПолеГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы;
    ПолеГруппировки.Использование = Истина;
```

по идее

```1c
    НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина;
```

должно работать
но нет ((
---
Я бы попробовал так
---
ПоляНабораДанныхМакетаКомпоновкиДанных
вот бы еще готовый пример как использовать )
---
```1c
    Поле = СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
    //Заполняем заголовок, путь к данным и т.д. (см. СП ПолеНабораДанныхМакетаКомпоновкиДанных)
    ВыбранноеПоле = Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    ВыбранноеПоле.Поле = Поле;
    //Тоже заполняем, глядя в СП на ВыбранноеПолеКомпоновкиДанных
```
---
Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"))
это понятно
 а ПоляНабораДанныхМакетаКомпоновкиДанных
куда присобачить
---
код следующий

```1c
    // добавляю набор
    НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
    НаборДанных.Имя = ИмяРегистра;
    НаборДанных.ИсточникДанных = "ИсточникДанных1";

    НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина
    .....

    // добавляю поля

    Для Каждого ВыбраннаяСтрока Из ВыборСтрок Цикл

    Поле = ВыбраннаяСтрока.ИмяИзмерения;
    ПутьКДанным = ИмяРегистра+"."+Поле;

    ТекстЗапроса = ТекстЗапроса + ","+Символы.ПС+" РегистрНакопления."+ВыбраннаяСтрока.ИмяИзмерения+" КАК "+ВыбраннаяСтрока.ИмяИзмерения;

    Если ВыбраннаяСтрока.Раскрашивать Тогда
    ТекстУсловия = ТекстУсловия + ?(ПустаяСтрока(ВыбраннаяСтрока.ВложенныйРеквизит)," И РегистрНакопления."+ВыбраннаяСтрока.ИмяИзмерения," И РегистрНакопления."+ВыбраннаяСтрока.ИмяИзмерения+"."+ВыбраннаяСтрока.ВложенныйРеквизит)+ " В (&ОтборПоЗначениюИзмерения)";
    КонецЕсли;
    // поля

    ПолеНабора = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
    ПолеНабора.Заголовок = Поле;
    ПолеНабора.ПутьКДанным = ПутьКДанным;
    ПолеНабора.Поле = Поле;

    ВыбранноеПоле = Группировка.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    ВыбранноеПоле.Заголовок = Поле;
    ВыбранноеПоле.Использование = Истина;
    ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных(ПутьКДанным);

    ПолеГруппировки = Группировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных(ПутьКДанным);
    ПолеГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы;
    ПолеГруппировки.Использование = Истина;
```
;
---
up