Не срабатывает необязательный параметр (СКД)

1. RVDVuQUw 26.05.26 15:40 Сейчас в теме
Всем доброго времени суток.
Что-то не пойму, что не так? Есть запрос, в запросе есть необязательные параметры, которые задаются при соблюдении определённых условий. Но почему-то они не срабатывают, т.е. продажи выводятся по всем контрагентам, без ограничений по группе и менеджеру. Что не так делаю?
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	ПродажиОбороты.Номенклатура,
	ПродажиОбороты.Регистратор,
	ПродажиОбороты.Период КАК ПериодДокумента,
	ПродажиОбороты.КоличествоОборот,
	ПродажиОбороты.СтоимостьОборот,
	ВЫБОР
		КОГДА ПродажиОбороты.КоличествоОборот > 0
			ТОГДА ПродажиОбороты.СтоимостьОборот / ПродажиОбороты.КоличествоОборот
		ИНАЧЕ 0
	КОНЕЦ КАК ЦенаПродажи,
	ПродажиОбороты.ХарактеристикаНоменклатуры,
	ПродажиОбороты.Контрагент,
	ПродажиОбороты.Контрагент.ОсновнойМенеджерПокупателя,
	ПродажиОбороты.Контрагент.Родитель
ИЗ
	РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Регистратор, НЕ Номенклатура.Услуга {Контрагент В ИЕРАРХИИ (&ОптоваяТорговля)} {Контрагент.ОсновнойМенеджерПокупателя = &ОсновнойМенеджерПокупателя}) КАК ПродажиОбороты
Показать

Параметры устанавливаю в процедуре ПриКомпоновкеРезультата
	Если НЕ РольДоступна("ПолныеПрава") Тогда
		КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ОптоваяТорговля", Справочники.Контрагенты.НайтиПоКоду("00001"));
		Если НЕ РольДоступна("ОтчетПоПродажамПоВсемКонтрагентам") Тогда
			КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ОсновнойМенеджерПокупателя", ПараметрыСеанса.ТекущийПользователь);
		КонецЕсли;
	КонецЕсли;

Заранее всем спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. ZergKRSK 130 27.05.26 14:41 Сейчас в теме
(1)
ПараметрыДанных

Сначала нужно сделать
НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();

А затем работать с НастройкиОтчета
ЗначениеПараметра = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ОптоваяТорговля"));
Если ЗначениеПараметра <> Неопределено Тогда
	ЗначениеПараметра.Значение = Справочники.Контрагенты.НайтиПоКоду("00001");
КонецЕсли;
2. homer_ 79 26.05.26 15:58 Сейчас в теме
Запрос правильный. проблемы в установке параметров
   Если НЕ РольДоступна("ПолныеПрава") Тогда
        КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ОптоваяТорговля", Справочники.Контрагенты.НайтиПоКоду("00001"));
        Если НЕ РольДоступна("ОтчетПоПродажамПоВсемКонтрагентам") Тогда
            КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ОсновнойМенеджерПокупателя", ПараметрыСеанса.ТекущийПользователь);
        КонецЕсли;
    КонецЕсли;
3. RVDVuQUw 26.05.26 16:52 Сейчас в теме
А где именно? Не нашла различий между моим кодом и Вашим. Хотя теперь вроде работает. Что, блин, за мистика??? В любом случае, спасибо!
4. Avatarzorro 74 27.05.26 02:41 Сейчас в теме
(3) тоже не понял. они одинаковые. проверил через сравнение текстов
5. homer_ 79 27.05.26 09:24 Сейчас в теме
У тебя проблема ,что установка параметров не проходит. Ты же прописал в модуль объект данную конструкцию?
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   Если НЕ РольДоступна("ПолныеПрава") Тогда
        КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ОптоваяТорговля", Справочники.Контрагенты.НайтиПоКоду("00001"));
        Если НЕ РольДоступна("ОтчетПоПродажамПоВсемКонтрагентам") Тогда
            КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ОсновнойМенеджерПокупателя", ПараметрыСеанса.ТекущийПользователь);
        КонецЕсли;
	КонецЕсли;
КонецПроцедуры
Показать
6. RVDVuQUw 27.05.26 11:20 Сейчас в теме
(5) Да, в модуле объекта. Но параметры были установлены, проверяла так:
Для Каждого П Из КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы Цикл
	Сообщить(Строка(П.Значение) + " " + Строка(П.Использование));	
КонецЦикла;

Всё было заполнено!
7. spacecraft 27.05.26 11:41 Сейчас в теме
(6) параметры включены в пользовательские настройки?
Тогда используются Пользовательские настройки если установлены.
9. RVDVuQUw 02.06.26 11:38 Сейчас в теме
(7) Конечно нет, там же установка параметров от роли пользователя зависит. Поэтому они и должны быть необязательными.
Для отправки сообщения требуется регистрация/авторизация

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот