8.х Программно получить стандартные пользовательские настройки отчета

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем cannabis_86, 9 июл 2015.

  1. TopicStarter Overlay
    cannabis_86
    Offline

    cannabis_86 Опытный в 1С

    Регистрация:
    10 мар 2011
    Сообщения:
    209
    Симпатии:
    0
    Баллы:
    26
    Имеется 1С 8.3, БП 3.0. Есть отчет ОСВ по счету. Подскажите как получить системные стандартные(не знаю как их назвать) настройки, которые сохраняются по умолчанию для данного отчета для текущего пользователя(отборы, группировки, настройки периода и т.п., те настройки которые используются в событии ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки-[вот они]) )? Пробовал получить варианты отчета через ХранилищеВариантовОтчетов.ПолучитьСписок("Отчет.ОборотноСальдоваяВедомостьПоСчету") - возвращает пустой список => возможно для текущего отчета нет вариантов, пытаюсь получить сразу настройки через ХранилищеПользовательскихНастроекОтчетов.Загрузить("Отчет.ОборотноСальдоваяВедомостьПоСчету") . На что получаю неопределено. В чем проблема? Направьте в нужное русло.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    при первом открытии отчет пользователем, что происходит? Так понимаю, пытаются загрузится настройки из БД, но их там нет и поэтому все открывается с настройками по-умолчанию
  3. TopicStarter Overlay
    cannabis_86
    Offline

    cannabis_86 Опытный в 1С

    Регистрация:
    10 мар 2011
    Сообщения:
    209
    Симпатии:
    0
    Баллы:
    26
    Отчет не открывается первый раз, и настройки восстанавливаются с последнего открытия отчета, если происходит событие ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки) и эти настройки сидят в переменной Настройки. Но данный отчет иногда в событии ПриСозданииНаСервере сбрасывает СтандартнуюОбработку в Ложь и вызов события ПриЗагрузкеПользовательскихНастроекНаСервере() не происходит. Мне нужно получить пользовательские настройки, которые сохраняются по умолчанию системой 1С(нестандартных хранилищ пользовательских настроек в форме не указано).
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Сохранение настроек происходит при закрытии формы отчета, там должна происходить и инициализация структуры настроек и присваивание имени, под которым хранятся настройки.

    Так же в настройках отчета должна быть кнопка "настройки по умолчанию" - это типовой функционал СКД.
  5. TopicStarter Overlay
    cannabis_86
    Offline

    cannabis_86 Опытный в 1С

    Регистрация:
    10 мар 2011
    Сообщения:
    209
    Симпатии:
    0
    Баллы:
    26
    Настройки сохраняются в событии ПриСохраненииПользовательскихНастроекНаСервере(Настройки), Настройки уже инициализированы и только дополняются необходимыми данными. Присваивания имени там не происходит и в свойствах настроек его тоже нет(
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Залез я таки в модуль формы отчета ОСВ в БП 3.0 и вот что вижу:

    upload_2015-7-9_10-49-18.png

    осталось определить место вызова данной процедуры.
  7. ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Возможно я ошибаюсь, но настройки по умолчанию касаются настроек, которые возможно менять в режиме Предприятие, в то время как доступные поля в этом режиме изменить нельзя - они вообще формируются автоматически и в режиме Предприятие их не видно.
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Так доступные поля зависят от полей источника данных.
    В типовом отчете источник данных определен вполне конкретно и является запросом к БД.

    Не совсем понятно, какую цель вы преследуете.....
  9. TopicStarter Overlay
    cannabis_86
    Offline

    cannabis_86 Опытный в 1С

    Регистрация:
    10 мар 2011
    Сообщения:
    209
    Симпатии:
    0
    Баллы:
    26
    Не совсем понял про то, что вы сказали. Может я не правильно объясняюсь. Попробую объяснить, насколько это понял я: Есть некое хранилище настроек для отчетов на пользователя. При создании формы на сервере заполняются настройки отчета по умолчанию(вручную прописаны настройки периода-текущий, группировка по субконту по умолчанию и т.п.; нет сохранения этих настроек в хранлищах и т.п.). После возникает Процедура ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки), в которой в Настройках сидят ПользовательскиеНастройкиКомпоновкиДанных и уже обрабатываются для установки настроек в форме. Перед закрытием формы, если флаг формы СохраняемыеВНастройкахДанныеМодифицированы установлен, срабатывает Процедура ПриСохраненииПользовательскихНастроекНаСервере(Настройки) в которой Настройки дополняются доп.информацией и видимо происходит сохранение Настроек(ПользовательскиеНастройкиКомпоновкиДанных), которые считываются при след. открытии формы отчета. Вопрос в том как мне получить эти настройки(ПользовательскиеНастройкиКомпоновкиДанных) в другом месте, программно? Возможно ошибаюсь в понимании, если что поправьте.
    --- Объединение сообщений, 9 июл 2015 ---
    Цель: при открытии отчета осв по счету через расшифровку др. отчета(напр. из отчета ОСВ), нужно открывать данный отчет с группировкой, которую установил пользователь. Данный отчет при самопроизвольном открытии(не явл расшифровкой другого отчета) восстанавливает группировку по настройкам пользователя. Если же открывать его как расшифровку, то при создании там указывается стандартная обработка = ложь, и событие ПриЗагрузкеПользовательскихНастроекНаСервере(Настроки) не возникает, устанавливаются настройки отчета из которого была вызвана расшифровка данного отчета и вызываются Процедура ЗаполнитьНастройкиПоУмолчанию, где заполняется группировка по умолчанию. Соответственно мне нужно получить настройки пользователя и установить только группировку(остальные настройки трогать не нужно(используются параметры отчета, из которого была вызвана расшифровка)
    Последнее редактирование: 9 июл 2015
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    В таком случае необходимо дорабатывать код формирования расшифровки, чтобы оно таки загружало пользовательские настройки открывающегося нового отчета вместо дефолтных и после загрузки пользовательских настроек установить нужную группировку.

    Дефолтные настройки можно получить свойством НастройкиПоУмолчанию() объекта СхемаКомпоновкиДанных.
  11. TopicStarter Overlay
    cannabis_86
    Offline

    cannabis_86 Опытный в 1С

    Регистрация:
    10 мар 2011
    Сообщения:
    209
    Симпатии:
    0
    Баллы:
    26
    Т.е. получается, что получить программно пользовательские настройки нельзя?
  12. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Можно. Поглядите как происходит загрузка пользовательских настроек при открытии отчета пользователем.
  13. TopicStarter Overlay
    cannabis_86
    Offline

    cannabis_86 Опытный в 1С

    Регистрация:
    10 мар 2011
    Сообщения:
    209
    Симпатии:
    0
    Баллы:
    26
    Загрузка пользовательских настроек при открытии не осуществляется, по крайней мере я не нашел там. Загрузка возникает в процедуре ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки). Вот я и не понимаю как их получить при создании на сервере или открытии..
  14. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    В первом приближении восстановление/инициализация настроек отчета происходит здесь:

    upload_2015-7-10_9-3-15.png
  15. TopicStarter Overlay
    cannabis_86
    Offline

    cannabis_86 Опытный в 1С

    Регистрация:
    10 мар 2011
    Сообщения:
    209
    Симпатии:
    0
    Баллы:
    26
    В данной процедуре берутся Пользовательские Настройки отчета из которого была выбрана расшифровка. Причем в отчете Пользовательские Настройки инициализируются из Процедуры ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки). Как мне получить пользовательские настройки для открытого отчета, без использования процедуры ПриЗагрузкеПользовательскихНастроекНаСервере(Настройки). В другом месте не описано их получение, я не нашел. Если ну трудно, пройдите отладчиком и посмотрите, что настройки из последнего открытия отчета, устанавливаются в данной процедуре.
Похожие темы
  1. KMC
    Ответов:
    1
    Просмотров:
    1.147
  2. Uliss
    Ответов:
    3
    Просмотров:
    488
Загрузка...

Поделиться этой страницей