Хранение настроек пользователя
Пользователь работает в скульной БП 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С прописать обработчики загрузки и сохранения значений, иначе хранилище работать не будет.
Собственно в этих функциях Вы самостоятельно пишете код сохранения значения (в стандартное хранилище или в файл или в справочник или в регистр сведений и т.п.), и загрузки значения.
Хранилище настроек
Хранилища настроек — это общие объекты конфигурации. Они позволяют разработчику создавать собственные механизмы хранения настроек, в тех случаях, когда возможности стандартного механизма хранения настроек недостаточны.
В процессе работы пользователь выполняет различные настройки в системе: создает варианты отчетов, сохраняет настройки отчетов, вводит какие-то данные в формы и т. д. Кроме этого в конкретном прикладном решении могут существовать собственные настройки, определяемые логикой работы этого решения, которые делают работу пользователя более удобной. Эти настройки сохраняются платформой в системных таблицах информационной базы.
Однако не во всех случаях системные механизмы сохранения настроек могут на 100% удовлетворить потребности разработчика. Хранилища настроек как раз позволяют разработчику хранить пользовательские настройки не в системных таблицах, а в объектах конфигурации (например, в специальных справочниках, в регистрах сведений). Благодаря этому разработчик может реализовать собственный формат хранения этих настроек и собственные алгоритмы работы с этими настройками. Например, когда требуется особенная структура хранения настроек, когда необходимо обеспечить передачу настроек в пределах распределенной информационной базы, когда существуют особенные требования к администрированию настроек и т. д.
В свойствах конфигурации, отчетов, обработок или форм можно переопределить сохранение настроек в хранилище, добавленное разработчиком. А в формах загрузки и сохранения настроек описать алгоритмы, в соответствии с которыми настройки будут сохраняться/восстанавливаться.