В отчете на СКД требуется программно задать значение для параметра данных (оно получается вызовом функции объекта другого параметра, если он задан; для примера ниже я написал просто константу), но дать пользователю возможность переопределить его.

В ПриКомпоновкеРезультата прописал вычисляемое значение в "КомпоновщикНастроек.Настройки", а в схеме КД добавил параметр в пользовательские настройки.

```1c
    Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    УстановитьПараметр(ЭтотОбъект.КомпоновщикНастроек.Настройки,"Параметр","123");
    КонецПроцедуры

    Функция УстановитьПараметр(Настройки, ИмяПараметра, Значение, Использование = Истина)

    ЗначениеПараметра = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(
    Новый ПараметрКомпоновкиДанных(ИмяПараметра));

    Если ЗначениеПараметра <> Неопределено Тогда
    ЗначениеПараметра.Использование = Использование;
    ЗначениеПараметра.Значение = Значение;
    КонецЕсли;

    Возврат ЗначениеПараметра;

    КонецФункции
```

По утверждению Пользовательские настройки системы компоновки данных -- Система компоновки данных :: Руководство разработчика :: 1С:Предприятие 8.3.23. Документация:

При выполнении компоновки применяются как пользовательские, так и полные настройки. При этом пользовательские настройки «накладываются» на полные, формируя реально исполняемые настройки.

Однако, даже если пользователь снял галочку использования параметра, итоговое значение все равно берется оттуда, с "Использование = Ложь" (см. скриншоты). Т.е. никакого "наложения" не происходит, параметр из полных настроек просто игнорируется.

Гугление и поиск по ИТС (напр. "настройки скд наложение пользовательских настроек") не нашли никакого описания деталей механизма "наложения".

Нормальное ли это поведение? Описано ли оно где-либо? Если это нормально -- как предполагается достигать рекламируемого документацией эффекта наложения настроек?

Проверено на платформе 8.3.25.1336 и 8.3.23.2157. Вложен тестовый пример конфигурации.
---
Судя по наблюдаемому поведению, хваленый механизм "наложения" как раз и состоит в том, что

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

и, насколько вижу, это не документировано.

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

В моем случае параметр -- это подписант получающегося документа. Его нужно менять, если подписывает заместитель.

В моем конкретном случае он не используется в самой СКД, а только в постпроцессинге, поэтому я придумал обход: в ПриКомпоновкеРезультата вручную проверяю флаг "Использование" в полных и пользовательских настройках, и если в пользовательских он сброшен, использую значение из полных.

---

Но допустим, параметр используется в отборе. Мы задаем в правом значении одно, пользователь задал другое. Применится значение пользователя.
Теперь пользователь хочет сбросить свой выбор и вновь использовать сгенерированное значение по умолчанию. Он снимает галку "использование"... и отбор не используется вообще. И свое выбранное значение он сбросить на сгенерированное никак не может -- что он ни задаст, это будет новое значение пользовательской настройки.
---
Судя по наблюдаемому поведению, хваленый механизм "наложения" как раз и состоит в том, что

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

и, насколько вижу, это не документировано.

Т.о. если мне нужно какое-то другое поведение, нужно поступать имеено так как я -- манипулируя объектами настроек в ПриКомпоновкеРезультата, перекрывая штатное поведение компоновщика настроек.