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 — параметры для компьютера и информационной базы
Читайте также:  Cd key fixer властелин колец

Каталоги пользователей информационных баз:

  • 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

Guesto notes

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

Решение

Для сохранения настроек воспользуемся хранилищем настроек. Если конфигурация позволяет, то можно создать свое хранилище, или же воспользоваться одним из системных. Считаем, что конфигурация типовая(не редактируется), в качестве хранилища будем использовать ХранилищеНастроекДанныхФорм.

В форме определим команду Сохранить настройки, в которой вызовем метод Сохранить() указав ключ объекта, ключ настроек, сами настройки и пользователя:

В форме определим команду Восстановить настройки, в которой спросим про восстановление(пример с вопросом в режиме без модальных вызовов разбирал здесь) и при утвердительном ответе вызовем метод Загрузить() указав ключ объекта, ключ настроек и пользователя:

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

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

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

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

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

Читайте также:  Iphone xs stock wallpapers

Где хранить все эти настройки в 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С, иначе – используется выбранное, а стандартное не используется.

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

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


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

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

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

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

Ссылка на основную публикацию
Adblock
detector