Хранение настроек пользователя
Пользователь работает в скульной БП 2.0, платформа 1С 8.2, терминальный режим.
В процессе работы он настраивает видимость колонок в различных формах.
После перелогина на реминальном сервере настройки колонок в журналах документов — сохраняются, а настройки колонок в простых табличных элементах — не сохраняются.
Подскажите, где в 1с хранятся пользовательские настройки первого типа (для журналов документов) и второго (для прочих табличных элементов)
Профайлы содержат информацию, не оказывающую влияния на логику функционирования системы на базе 1С:Предприятия 8. Такая информация не является необходимой, но ее сохранение может, например, повысить комфортность работы пользователя. В профайлах можно хранить формат и расположение окон и диалогов, настройки шрифтов, цветов, отборов и т. п. Потеря такой информации не может привести к нарушению работоспособности системы.
Подробнее назначение профайлов и хранение настроек пользователя описаны в разделе "Сохранение параметров настроек пользователя между сеансами".
Профайлы различаются по принадлежности хранимой в них информации. Виды профайлов, используемых в 1С:Предприятии 8, представлены в таблице:
Примеры хранимых данных
— Открыто ли табло.
— Настройки текстового редактора.
<Данные приложений пользователя>/1C/1cv82/1Cv8.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1cv82/1Cv8.pfl
— Файлы клиентских настроек, информация о резервныч кластерах и другая служебная информация
Например C:\Documents and Settings\All Users\Application Data\1C\1Cv82\1cv8conn.pfl
— Режим аутентификации при старте 1С:Предприятия из отладчика.
— Каталог последнего сохранения хранилища конфигурации в файл.
Таблица files базы данных, в которой размешена информационная база.
Информационная база и пользователь
— Настройки динамических списков.
— Настройки отборов по журналу регистрации.
Таблица files базы данных, в которой размешена информационная база.
Компьютер и информационная база
— Настройки сравнения файлов конфигураций.
— Настройки глобального поиска по текстам конфигурации.
<Данные приложений пользователя>/1C/1cv82/<Идентификатор информационной базы>/1Cv8.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1cv82/ 4129dbdb-b495-41cb-99ea-ef315060a03e/1Cv8.pfl
Компьютер, информационная база и пользователь
— Расположение окна синтакс — помощника.
— Список переменных для быстрого просмотра в отладчике.
<Данные приложений пользователя>/1C/1cv82/<Идентификатор информационной базы>/<Идентификатор пользователя>/1Cv8.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1cv82/ 4129dbdb-b495-41cb-99ea-ef315060a03e/ E8D87DA4-A087-4145-95E7-D613E0F7CB64/1Cv8.pfl
1С:Предприятие 8 в режиме Конфигуратора
— Расположение окон конфигуратора.
— Цвета редактора модулей в конфигураторе.
<Данные приложений пользователя>/1C/1cv82/1Cv8cmn.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1cv82/1Cv8cmn.pfl
1С:Предприятие 8 в режиме Предприятия
— Расположение окон конфигуратора.
— Цвета редактора модулей в конфигураторе.
<Данные приложений пользователя>/1C/1cv82/<Идентификатор информационной базы>/<Идентификатор пользователя>/1Cv8cmn.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1cv82/ 4129dbdb-b495-41cb-99ea-ef315060a03e/ E8D87DA4-A087-4145-95E7-D613E0F7CB64/1Cv8cmn.pfl
Диалог запуска 1С:Предприятия 8
— Размеры и расположение диалога запуска.
— Настройки диалогов установки параметров информационных баз.
<Данные приложений пользователя>/1C/1cv82/1Cv8strt.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1cv82/1Cv8strt.pfl
Данные из профайлов читаются при старте 1С:Предприятия 8 и записываются при его штатном завершении. По этой причине в случае нештатного завершения некоторые пользовательские настройки могут не сохраниться.
Другие вспомогательные данные
Наряду с профайлами в каталоге данных приложения могут содержаться и другие файлы с информацией, сохранение которой делает работу пользователей с 1С:Предприятием 8 более удобной. Среди них:
1с где хранятся настройки пользователя
Настройки пользователя в 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С, используемые платформой можно в свойствах конфигурации (корневой ветки конфигурации, которую программисты обычно называют Корень или Голова).
Если в свойствах пустая строка – используется стандартное хранилище настроек 1С, иначе – используется выбранное, а стандартное не используется.
В тонком управляемом клиенте 1С использование хранилища возможно автоматически:
-
В управляемой форме есть два параметра
o Автоматическое сохранение данных – будет проводиться автоматически, в стандартное хранилище настроек форм
o Сохранение данных в настройках 1С – использовать список – в списке реквизитов формы появится колонка Сохранение, в которой можно проставить галочки, который будут сохраняться, а также можно указать созданное хранилище настроек
В толстом клиенте для использования требуется в коде на языке 1С прописывать непосредственный вызов сохранения настроек 1С:
ХранилищаНастроек.ИмяХранилища.Сохранить();
При добавлении в конфигурацию собственного хранилища настроек 1С требуется на языке 1С прописать обработчики загрузки и сохранения значений, иначе хранилище работать не будет.
Собственно в этих функциях Вы самостоятельно пишете код сохранения значения (в стандартное хранилище или в файл или в справочник или в регистр сведений и т.п.), и загрузки значения.
Хранилища настроек в 1С 8
В статье рассмотрены стандартные и добавленные в конфигурацию хранилища настроек, их предназначение и средства встроенного языка 1С для взаимодействия с хранилищами настроек.
Содержание
Что же такое хранилища настроек и для чего они нужны?
В процессе работы пользователь постоянно сталкивается с заполнением различных настроек – состав и расположение колонок в списках документов, настройки отчетов, обработок и т.д. И чтобы каждый раз не заполнять одни и те же поля, или не менять местами колонки в нужный порядок, платформа предусматривает сохранение пользовательских настроек. Хранилища настроек – как раз то самое место, где сохраняются пользовательские настройки.
Где еще хранятся настройки?
1С не была бы 1С, если бы все было так просто.
Помимо хранилищ настроек, существует еще несколько мест, где сохраняются пользовательские настройки. Это профайлы – файлы с расширением .pfl. Они располагаются в рабочем каталоге пользователя в папке AppData или Application Data, а также в таблице Files той базы данных, в которой размешена информационная база. Т.е. еще раз – часть профайлов хранится в виде файлов, и их-то как раз можно удалить при очистке кэша, а часть – в самой ИБ.
Как оно работало раньше?
Давным-давно, когда не было еще тонкого клиента и управляемых форм, появились методы для записи и чтения настроек:
СохранитьЗначение();
ВосстановитьЗначение();
Эти методы как раз и работают с таблицей Files. У каждого пользователя ИБ есть уникальный идентификатор – 32 битная строка определенного формата. В разрезе этих идентификаторов и хранятся пользовательские настройки ключ записи – <ИдентификаторПользователя>.pfl, а значение – двоичные данные, среди которых и сохраненные значения.
Однако эти два метода сохранения значений имеют ряд недостатков.
1. Мы не можем узнать весь список значений, которые сохранены в базе. Они могут быть сохранены пользователем, который уже уволен и в базе не работает. Они могут быть сохранены какой-нибудь обработкой, которую мы запустили раз в жизни и удалили, а сохраненные значения от нее остались в базе и занимают место.
2. Сохраненные значения сохраняются в памяти в течение сеанса, но записываются в базу только при закрытии сеанса. Т.е. если произошло аварийное завершение работы (через прерывание отладки или завершение сеанса в диспетчере задач, например), то сохраненные значения не сохранятся.
3. Выборочно удалить сохраненное значение средствами платформы нельзя. Можно только очистить все сохраненные настройки пользователя, в том числе и сохраненные значения.
4. Эти методы работают только в толстом клиенте. В современных типовых решениях воспользоваться ими вряд ли удастся.
Выход — хранилища настроек 1С!
Хранилища настроек – это механизм платформы для хранения и считывания разного рода пользовательских настроек, который включает в себя два вида хранилищ – стандартные и добавленные разработчиком.
К стандартным относятся следующие хранилища:
Системное хранилище – здесь хранятся настройки форм, настройки печати табличного документа, избранное, история поиска и многое другое. Системное хранилище нельзя переопределить – используется только стандартное, предусмотренное платформой. Ему соответствует свойство глобального контекста ХранилищеСистемныхНастроек.
Хранилище общих настроек – предназначено для хранения общих настроек прикладного решения, предусмотренных разработчиком. Т.е. платформа сама в это хранилище ничего не записывает – разработчик на встроенном языке должен описать сохранение и восстановление пользовательских настроек конфигурации. Например, настройки подключаемого оборудования, настройки сообщений при запуске, параметры онлайн-сервисов и т.д. Для этого используется свойство ХранилищеОбщихНастроек.
Хранилище вариантов отчетов – как понятно из названия, здесь хранятся варианты отчетов. Свойство для работы из встроенного языка – ХранилищеВариантовОтчетов.
Хранилище пользовательских настроек отчетов – также предназначено для работы с отчетами, но сохраняет не варианты, а настройки выполненные в пользовательском режиме. Свойство для этого хранилища – ХранилищеПользовательскихНастроекОтчетов.
Хранилище настроек данных форм – используется, например, для сохранения реквизитов обработок, общих форм и т.д. При этом можно указывать разные хранилища для каждого отчета или обработки. Для доступа к этому хранилищу средствами языка 1С используется свойство глобального контекста ХранилищеНастроекДанныхФорм.
Хранилище пользовательских настроек динамического списка – как ни удивительно, здесь хранятся настройки динамических списков – состав и положение колонок, оформление и др. Ему соответствует свойство ХранилищеПользовательскихНастроекДинамическихСписков.
1С где хранятся настройки форм пользователя
1С:Предприятие поддерживает сохранение различных настроек пользователя между сеансами запуска 1С:Предприятия. К таким настройкам относятся, например, размеры и положение окон, настройки колонок табличных полей, настройки отчетов и т.д. Разработчик конфигурации также может выполнять сохранение средствами встроенного языка значений, являющихся, по своей сути, параметрами настройки пользователя.
Следует отметить, что к параметрам настройки пользователя относятся значения не являющиеся существенными для логики работы системы. Они предназначены для повышения удобства работы пользователей, но не для обеспечения решения самих задач прикладного решения. Соответственно эти значения не хранятся непосредственно в информационной базе. Они не сохраняются при создании резервной копии.
Параметры настройки сохраняются 1С:Предприятием по-разному в зависимости от назначения параметра. Например, параметры, связанные с экранными характеристиками компьютера, хранятся так, чтобы действовать только в пределах данного компьютера, а параметры связанные только с данными и не имеющими отношение к компьютеру хранятся таким образом, чтобы быть доступными при запуске пользователем системы с любого компьютера. Параметры, связанные с конфигурированием сохраняются независимо от информационной базы, так как считается, что разработчик может работать с несколькими информационными базами и несколькими конфигурациями. Параметры работы пользователя в режиме 1С:Предприятия сохраняются для конкретной информационной базы и конкретного пользователя.
Далее описывается расположение файлов, в которых сохраняются различные параметры настройки. Эта информация приводится только в качестве описания работы системы. Не следует осуществлять доступ к данным файлам какими-либо средствами. Механизм сохранения параметров настройки поддерживается системой автоматически и не управляется разработчиком или администратором.
Параметры работы пользователей, сохраняемые между сеансами, хранятся в следующих разрезах:
- компьютер, на котором запускается 1С:Предприятие;
- информационная база;
- пользователь информационной базы.
Для различных параметров используются различные разрезы хранения.
Примеры каталогов приведены для операционных систем Windows2000/XP.
Общее для файлового и клиент-серверного вариантов
- C:Documents and Settings Application Data1C1Cv8
- 1Cv8strt.pfl — параметры диалога выбора информационной базы
- 1Cv8.pfl — параметры для компьютера
- 1Cv8cmn.pfl — общие параметры для компьютера, используемые в Конфигураторе
Каталоги информационных баз:
- C:Documents and Settings Application Data1C1Cv8xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- 1Cv8.pfl — параметры для компьютера и информационной базы
Каталоги пользователей информационных баз:
- C:Documents and Settings Application Data1C1Cv8xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- 1Cv8.pfl — параметры для компьютера, информационной базы, пользователя;
- 1Cv8cmn.pfl — общие параметры для компьютера, используемые в 1С:Предприятии.
Для файлового варианта
Каталоги информационных баз
- 1Cv8.pfl — параметры для информационной базы, а также параметры для информационной базы и пользователя, не зависящие от компьютера пользователя.
Для клиент-серверного варианта
Компьютер, работающий в качестве сервера 1С:Предприятия
Каталоги информационных баз
- C:Documents and SettingsAll UsersApplication Data1C1Cv8xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Назначение объекта конфигурации «Хранилище настроек» понятно из названия — хранить различные пользовательские настройки. Область применения данного объекта широка — в любой, хоть сколь-нибудь серьезной конфигурации требуется хранить какие-либо пользовательские настройки.
Для удобства программистов в каждой конфигурации существует несколько стандартных хранилищ настроек, кроме этого есть возможность создать столько дополнительных хранилищ настроек, сколько будет нужно.
Хранилища настроек в конфигураторе
Сначала разберемся со стандартными хранилищами настроек, которые присутствуют в любой конфигурации 1С начиная с версии 8.2.
Стандартные хранилища настроек
Итак, по умолчанию, в конфигурации имеются следующие хранилища настроек:
- ХранилищеВариантовОтчетов — для доступа к настройкам вариантов отчетов.
- ХранилищеПользовательскихНастроекОтчетов — для доступа к пользовательским настройкам отчетов.
- ХранилищеНастроекДанныхФорм — для доступа к пользовательским настройкам данных форм.
- ХранилищеОбщихНастроек — для доступа к общим настройкам.
- ХранилищеСистемныхНастроек — для доступа к системным настройкам.
- ХранилищеПользовательскихНастроекДинамическихСписков — для доступа к пользовательским настройкам динамических списков.
К каждому из этих хранилищ можно обратиться как к свойству глобального контекста.
Стандартные хранилище программист может использовать для своих нужд, сохраняя различные настройки в разрезе пользователя, объекта и самой настройки.
Для работы с хранилищами настроек (как со стандартными, так и с добавленными программистом) используются следующие методы.
Пользователь при работе с программами 1С задает массу разнообразнейших настроек, начиная с настроек какой-либо сервисной обработки и до формирования отчетов любых видов. Чтобы постоянно не тратить время на повторяющиеся действия, все заданные параметры можно сохранять для дальнейшего использования их в работе. Платформа 1С:Предприятие снабжена необходимым функционалом для сохранения и, в случае необходимости, быстрого восстановления заданных параметров с помощью коротких команд. Купив 1С:Бухгалтерия и правильно установив настройки самостоятельно, следуя нашей инструкции, можно серьезно сэкономить время при работе с программой.
Существуют хранилища двух видов. Рассмотрим их использование на примере программы «1С:Бухгалтерия предприятия 3.0».
Стандартное хранилище настроек пользователя 1С
В решениях 1С:Предприятие предусмотрено стандартное хранение, предустановленное на уровне разработки. При таком варианте сделанные установки хранятся в таблицах ИБ.
Администратор может это изменить, задав новые места хранения и определив их в свойствах конфигурации. Это актуально при необходимости контроля ссылочной целостности, перемещении настроек между информационными базами, когда необходима определенная структура хранения настроек и другие ситуации. Если вы не уверены в своих знаниях, наши специалисты с радостью помогут вам в рамках услуг по доработке типовой конфигурации 1С.
Если поля хранилищ оставить пустыми, то система будет использовать стандартное хранилище.
К настройкам из предустановленных хранилищ администратор имеет возможность обратиться как к свойству глобального контекста:
ХранилищеВариантовОтчетов – для установленных параметров вариантов отчетов, сохраненных пользователем.
Пример использования в коде.
ХранилищеПользовательскихНастроекОтчетов – ориентирован на организацию доступа к сохраненным настройкам отчетов пользователя.
Пример использования в коде.
ХранилищеНастроекДанныхФорм – хранит пользовательские установки данных форм.
Пример использования в коде.
ХранилищеОбщихНастроек – с его помощью организовано хранение и доступ к общим настройкам программы. Этот вид хранилища не используется платформой самостоятельно. Он может использоваться разработчиком, чтобы хранить параметры, заданные пользователем. Пример использования в коде.
ХранилищеСистемныхНастроек – для организации хранения системных установок программы и доступа к ним.
ХранилищеПользовательскихНастроекДинамическихСписков – с его помощью осуществляется хранение пользовательских установок динамических списков.
Механизм работы
Механизм «Хранилища настроек» как объект метаданных описывает порядок хранения настроек некоторых объектов. Откроем для примера программу «1С:Бухгалтерия предприятия 3.0» в конфигурационном режиме и развернем дерево метаданных. Нас интересует узел в разделе «Общие-Хранилища настроек».
Так, разработчиком может быть организовано хранение параметров. В свойствах конфигурации или объекта указывается, что оно будет использовано для хранения установок формы.
Использование в отчетах и обработках
Если мы откроем в режиме конфигурирования свойства любого отчета, то на закладке «Прочее» мы увидим параметр, определяющий, какое хранилище задано для хранения установок выбранного объекта.
В управляемых формах имеется два варианта:
- Сохранение параметров в предустановленное хранилище при закрытии формы автоматом и при открытии – восстановление из него;
- В настройках. Чтобы воспользоваться этим вариантом, установим в списке реквизитов формы галку напротив сохраняемого реквизита в колонке «Сохранять».
Реквизиты формы отчета
С помощью вышеописанного механизма можно сохранить данные не в системных таблицах, а отдельных объектах конфигурации. Для его реализации программист описывает алгоритмы, по которым идет процесс сохранения/восстановления настроек.
Хранилища настроек дают возможность сохранить и, если надо посмотреть, настройки параметров формируемых отчетов, что позволяет автоматически заполнять формы настроек, тем самым оптимизируя работу. Если у вас остались вопросы, обращайтесь на линию консультаций 1С 8.3, наши специалисты с радостью вам помогут.