Андрей Смирнов
Время чтения: ~7 мин.
Просмотров: 11

Где хранятся настройки отчета пользователей ? #477551

Настройки пользователя в 1С обычно разделены на три части.

Во-первых, платформа 1С позволяет каждому пользователю делать свои собственные настройки 1С для удобства. Например, настройки 1С отчетов СКД.

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

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

Где хранить все эти настройки в 1С?

Как настройки 1С сохраняли раньше

В толстом клиенте 1С платформа предлагала следующий стандартный вариант:

  • Когда требуется запомнить настройку 1С, программист использует функциюСохранитьЗначение(«ИмяНастройки», Значение);
  • Чтобы прочитать настройку 1С, используется функцияЗначение = ВосстановитьЗначение(«ИмяНастройки», Значение);

Соответственно программист создает кнопки сохранения и восстановления настроек 1С, а пользователь использует этот механизм (ну или программист сохраняет их автоматически).

В качестве значения можно использовать не только число или строку, но и например Структуру – тип, который позволяет хранить в себе множество значений с их наименованиями, например:Настройки = Новый Структура(); Настройки.Вставить(«ИмяНастройки», Значение); Значение = Настройки.ИмяНастройки;

Настройка 1С сохраняется для того пользователя, который нажал разработанную программистом кнопку сохранения настроек 1С (или под которым эти действия выполнились автоматически). Настройки 1С хранятся при этом в текстом файле в папке с базой данных (при использовании файловой базы данных).

Также программист был волен разрабатывать свои произвольные методы хранения настроек 1С с использованием обычных методов – например, с помощью работы с текстовыми и XML файлами – сохранять настройки 1С произвольным образом в файл.

В типовых конфигурациях настройки 1С отчетов сохранялись в регистр сведений. А настройки 1С отчетов СКД можно сохранить в файл XML.

Стандартное хранилище настроек 1С

Все эти возможности остались и в новой платформе 8.2, но появился наконец некий «стандартный метод» сохранения настроек – Хранилище настроек 1С.

Механизм делится на две части – стандартные и пользовательские хранилища настроек 1С. Стандартное реализовано в платформе 1С, пользовательские – это объект 1С, который создает и программирует программист.

Стандартное хранилище настроек 1С используется платформой по умолчанию в тонком клиенте для сохранения настроек 1С пользователя в следующих механизмах платформы:

  • Командный управляемый интерфейс
  • Формы
  • Настройки и варианты отчетов.

Программист может использовать стандартное хранилище настроек 1С из кода программ на языке 1С способом, подобным тому, что был раньше:

  • Когда требуется запомнить настройкуХранилищеОбщихНастроек.Сохранить("ИмяОбъекта", "ИмяНастроек", Значение);
  • Чтобы прочитать настройкуЗначение = ХранилищеОбщихНастроек.Загрузить("ИмяОбъекта", "ИмяНастроек", Значение);
  • Чтобы получить список настроекСписок = ХранилищеОбщихНастроек.ПолучитьСписок("ИмяОбъекта");

Настройки 1С сохраняются непосредственно в базе данных, в специальных таблицах.

Как видно, по сравнению со старым механизмом, добавился дополнительный разрез – имя объекта. Платформа, при автоматическом сохранении используется имя объекта 1С в метаданных с указанием вида, например:Отчет.Продажи

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

Существуют следующие стандартные хранилища настроек 1С:

  • ХранилищеСистемныхНастроек
  • ХранилищеОбщихНастроек
  • ХранилищеНастроекДанныхФорм
  • ХранилищеПользовательскихНастроекОтчетов и ХранилищеВариантовОтчетов.

Хранилище настроек 1С

Программист может создать собственные хранилища настроек – в конфигураторе.

Это предполагается делать в следующих случаях:

  • Ссылочный контроль при хранении настроек 1С
  • Миграция настроек 1С при использовании УРБД
  • Специальная структура настроек 1С (для автоматического ее соблюдения)
  • Переопределение стандартных хранилищ.

Для создания собственного хранилища настроек 1С – необходимо добавить таковое в конфигураторе в окне конфигурации в ветке Общие/Хранилища настроек 1С.

1.hraniliwe-nastroek-1s.png

Переопределить стандартные хранилища настроек 1С, используемые платформой можно в свойствах конфигурации (корневой ветки конфигурации, которую программисты обычно называют Корень или Голова).

Если в свойствах пустая строка – используется стандартное хранилище настроек 1С, иначе – используется выбранное, а стандартное не используется.

2.hraniliwe-nastroek-1s.png

В тонком управляемом клиенте 1С использование хранилища возможно автоматически:

  • В управляемой форме есть два параметра oАвтоматическое сохранение данных – будет проводиться автоматически, в стандартное хранилище настроек форм oСохранение данных в настройках 1С – использовать список – в списке реквизитов формы появится колонка Сохранение, в которой можно проставить галочки, который будут сохраняться, а также можно указать созданное хранилище настроек

    3.hraniliwe-nastroek-1s.png

  • В отчете (в том числе внешнем), появились параметры – Хранилище вариантов (отчетов) и Хранилище настроек 1С – в них нужно выбрать созданное хранилище 1С. 4.hraniliwe-nastroek-1s.png

В толстом клиенте для использования требуется в коде на языке 1С прописывать непосредственный вызов сохранения настроек 1С:ХранилищаНастроек.ИмяХранилища.Сохранить();

При добавлении в конфигурацию собственного хранилища настроек 1С требуется на языке 1С прописать обработчики загрузки и сохранения значений, иначе хранилище работать не будет.

Собственно в этих функциях Вы самостоятельно пишете код сохранения значения (в стандартное хранилище или в файл или в справочник или в регистр сведений и т.п.), и загрузки значения.

Сохранение пользовательских настроек — достаточно важный момент в любой информационной системе, ведь иногда на настройку определенного функционала уходит большое количество времени и сил.

hranilische-nastroek-1s.png

Специально для этого в платформе 1С были созданы 2 объекта — стандартные общие хранилища и хранилища настроек 1С, созданные разработчиком на стадии разработки конфигурации.

Стандартное хранилище настроек платформы 1С

Данная функция появилась вместе с платформой 1С версии 8.2. Она позволяет сохранить любые данные настроек в разрезе объекта, определенной настройки 1С, пользователя.

  • Записать настройки можно при помощи метода ХранилищеОбщихНастроек.Сохранить().
  • Потом для прочтения нужно использовать ХранилищеОбщихНастроек.Загрузить() с теми же параметрами.
  • Если настройка стала не актуальной, её можно удалить методом ХранилищеОбщихНастроек.Удалить().
  • Также в разрезе объекта можно получить список сохраненных настроек с помощью метода ХранилищеОбщихНастроек.ПолучитьСписок().

Получите 267 видеоуроков по 1С бесплатно:

  • Бесплатный видео самоучитель по 1С Бухгалтерии 8.3;
  • Самоучитель по новой версии 1С ЗУП 3.1;

Сохраненные настройки хранятся в отдельной сводной таблице БД.

Хранилище настроек, создаваемое в конфигураторе

Хранилище настроек может создать и сам разработчик в конфигураторе 1С:

hranilische-nastroek-1s-2.png

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

palitra-svoistv.png

Создание своих настроек может понадобиться в том случае, если:

  • необходима миграции настроек между базами данных;
  • необходим ссылочный контроль данных настроек.

Использование хранилищ настроек в отчетах и обработках 1С

Хранилище настроек можно указать для определенного отчета из конфигурации, указывается в свойствах отчета:

nastroyka-otcheta-1s.png

Флаг Сохраняемые данные данные позволяет автоматически сохранить значение при закрытии обработки:

rekvizit1.png

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Оцените статью, пожалуйста!

 Like#0 by savchenkodenis Помогите с отчетом. Проблем а в том, что у него зависли настройки на оеределенный период, и если пересохранить настройки, то он открывает все равно старые… откуда он может брать эти настройки ??  Like#1 by Zlodey1С В Регистре сведений  Like#2 by Zlodey1С кажется там  Like#3 by savchenkodenis вроде хорошо все просмотрел, но нету….  Like#4 by Zlodey1С Называется «Сохраненные настройки»  Like#5 by savchenkodenis может это покажется странным, но там ПУСТО 🙂  Like#6 by Zlodey1С Значит не сохранили  Like#7 by savchenkodenis блин, засада, но настройки то в очете при открытие появляюся, период стоит  Like#8 by savchenkodenis можно ли из другой базы сохранить этот отчет как внешний и загрузить в базу, где глючный он, поможет ??  Like#9 by Zlodey1С Уберите галку использовать при открытии  Like#10 by Zlodey1С Может у вас на этот РС нет прав  Like#11 by savchenkodenis галочка не стоит, т.к. вообще нет сохраненной настройки  Like#12 by savchenkodenis что касается прав, то «Полные права»  Like#13 by Zlodey1С Тогда посмотрите по этому пользователю настройки у него может стоит основная дата отчета, а эти настройки уже в другом РС хранятся  Like#14 by Zlodey1С Наз-ся «Настройки пользователя»  Like#15 by savchenkodenis замена отчета с другой конфы не помогло, все также, вылазиют насройки периода,  Like#16 by savchenkodenis … «основная дата отчета,» где находится ?  Like#17 by Zlodey1С справочник пользователи  Like#18 by savchenkodenis вот тут была насройка, которая и мешала 🙂 Настройка = Справочники.СохраненныеНастройки.СоздатьЭлемент;  Like#19 by Zlodey1С капец, что за конфа?  Like#20 by savchenkodenis Бухгалтерия  Like#21 by savchenkodenis Спасибо за поиски проблемы.  Like#22 by Zlodey1С старая что ли Тэги: Комментарии доступны только авторизированным пользователямРегистрация

Похожие вопросы 1С

Используемые источники:

  • http://howknow1c.ru/programmirovanie-1c/hraniliwe-nastroek-1s.html
  • https://programmist1s.ru/hranilishhe-nastroek-1c/
  • https://avprog.ru/q/477551/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации