Имя: Пароль:
1C
1С v8
Скд, установка отбора...
,
0 Зая Бусечка
 
15.06.16
15:37
УФ. Отчёт на СКд.
Требуется прописать подразделение в отбор при открытии отчёта

Делаю
&НаКлиенте
Процедура ПриОткрытии()
  сУстановитьПодразделение();
КонецПроцедуры

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


Значение не устанавливается. Такое ощущение, что она после открытия ещё откуда-то тянет настройки....

Сделала ещё
ПередЗагрузкойПользовательскихНастроекНаСервере
ПриЗагрузкеДанныхИзНастроекНаСервере
ПриЗагрузкеПользовательскихНастроекНаСервере
ПриЗагрузкеВариантаНаСервере

там код аналогичный. Но не срабатывает... Куды бечь? (Канадскую границу не предлагать...)
1 Pro-tone
 
15.06.16
15:48
(0) ковыряй отладчиком Схему в модуле отчета, увидишь что там в отборах
2 Зая Бусечка
 
15.06.16
15:49
(1) Да уже везде наковыряла, на выходе из каждой процедуры отбор правильно заполнен....
3 Nuobu
 
15.06.16
15:51
Может, не срабатывает, т.к. ты устанавливаешь настройки, а не пользовательские настройки?
4 Nuobu
 
15.06.16
15:51
(3) + Фото.
5 aleks_default
 
15.06.16
16:03
(3)+1 пользовательские настройки надо заполнять
6 Зая Бусечка
 
15.06.16
16:13
(3)
Сделала вот так

    настр = об.КомпоновщикНастроек.ПолучитьНастройки();
    Для Каждого отб из настр.Отбор.Элементы Цикл
        Если Строка(отб.ЛевоеЗначение) = "Подразделение" Тогда
            отб.ПравоеЗначение = подр;
            отб.Использование = Истина;
            ОтборПодразделение = отб;
        КонецЕсли;
    КонецЦикла;

Результат не изменился. Да, это в ПриОткрытии.

(4) Проблемы с ЖКТ? )
7 Nuobu
 
15.06.16
16:15
(6) Тебе говорят про Пользовательские настройки. Ты, когда устанавливаешь отбор программно, то, зайдя в предприятие видишь его?
Если нет, то нужно устанавливать пользовательские настройки.

Что такое ЖКТ?
Фото должно быть в профиле. Таковы правила форума.
8 aleks_default
 
15.06.16
16:15
об.КомпоновщикНастроек.ПользовательскиеНастройки
9 aleks_default
 
15.06.16
16:17
(7)+ да у нас тут шовинизьм
10 Зая Бусечка
 
15.06.16
16:18
(8) Там нет моего элемента "Подразделение"
(7) ЖКТ - это желудочно-кишечный тракт. http://www.anekdot.ru/id/68323/
11 Pro-tone
 
15.06.16
16:20
(2) не верю. Покажи картинку отладчика что там в элементах отборов СКД схемы
12 Зая Бусечка
 
15.06.16
16:22
(11) Из какой конкретно процедуры?
13 leonidkorolev
 
15.06.16
16:25
(10) "Там нет моего элемента "Подразделение" "

Попробуй добавить туда нужный отбор
14 aleks_default
 
15.06.16
16:26
(10) тогда в ПриКомпоновкеРезульатата заполняй
15 Зая Бусечка
 
15.06.16
16:27
(14) Не... Мне надо значение по умолчанию, и что пользователь его смог поменять...
16 Зая Бусечка
 
15.06.16
16:27
(13) Так он же есть в настройках схемы, почему его нет в пользовательских?
17 leonidkorolev
 
15.06.16
16:29
(16) Когда пользователь установит, тогда и появится там наверно
18 Nuobu
 
15.06.16
16:30
(16) Потому что настройки схемы и пользовательские - это разные настройки.
П.С. В отборе, который есть в схеме галочка не стоит:
https://gyazo.com/39c87ddebd6213c70a4bdffc9e5aaef6
19 Зая Бусечка
 
15.06.16
16:31
(18) Стоит. Иначе бы я её на автоформе не видела.
20 Nuobu
 
15.06.16
16:34
(19) КомпоновщикНастроек.ПользовательскиеНастройки.Элементы

Поищи там отбор с "галочкой"
21 Зая Бусечка
 
15.06.16
16:37
(20) Какой галочкой? Там всего две записи - период и пустая (в смысле без всяки опозновательных знаков), но с ПравоеЗначение равно тому, что мне надо.
22 Nuobu
 
15.06.16
16:42
(21) А пользователь видит твоё "правое значение"?
23 Зая Бусечка
 
15.06.16
16:44
(22) Если бы он видел - вопрос не возник бы.
24 Nuobu
 
15.06.16
16:46
(21) Покажи скрин.
25 PCcomCat
 
15.06.16
16:51
Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода"));
26 PCcomCat
 
15.06.16
16:52
Если Параметр <> Неопределено Тогда
        Параметр.Значение = НачалоДня(НачалоПериода);
        Параметр.Использование = Истина;
    КонецЕсли;
27 Зая Бусечка
 
15.06.16
17:04
(25) Это не параметр, а отбор
28 Зая Бусечка
 
15.06.16
17:05
Я уже запуталась... В какие настройки мне таки нужно добавлять? В просто, в фиксированные или пользовательские?
Отборы я умею добавлять...
29 Зая Бусечка
 
15.06.16
17:06
Не отборы, а параметры...
30 aleks_default
 
15.06.16
17:15
(16) попробуй так
Если отб.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Подразделение") Тогда
31 Зая Бусечка
 
15.06.16
17:26
(30) Не помогло... Поле находит, но на форме ничего не меняется... Такое ощущение, что она после уже ещё что-то откуда-то грузит...
32 aleks_default
 
15.06.16
17:33
А если в ПриЗагрузкеПользовательскихнастроекНаСервере()
Написать такую фигню
Отчет.КомпоновщикНастроек.Загрузитьнастройки(Отчет.КомпоновщикНастроек.Настройки)

а (0) перенести в ПередЗагрузкойВариантаНаСервере(Настройки)

    Для Каждого отб из настройки.Отбор.Элементы Цикл
        Если Строка(отб.ЛевоеЗначение) = "Подразделение" Тогда
            отб.ПравоеЗначение = подр;
            отб.Использование = Истина;
            ОтборПодразделение = отб;
        КонецЕсли;
    КонецЦикла;

у меня вроде так работает
33 Зая Бусечка
 
15.06.16
17:38
вот так получилось...


    настр = об.КомпоновщикНастроек.ПользовательскиеНастройки;
    Для Каждого отб из настр.Элементы Цикл
        Если ТипЗнч(отб) <> Тип("ЭлементОтбораКомпоновкиДанных") Тогда
            Продолжить;
        КонецЕсли;
        Если ТипЗнч(отб.ПравоеЗначение) = Тип("СправочникСсылка.Подразделения") Тогда
            отб.ПравоеЗначение = подр;
            отб.Использование = Истина;
            ОтборПодразделение = отб;
        КонецЕсли;
    КонецЦикла;
    
    об.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(настр);
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.