Настройки пользователя в 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С требуется на языке 1С прописать обработчики загрузки и сохранения значений, иначе хранилище работать не будет.
Собственно в этих функциях Вы самостоятельно пишете код сохранения значения (в стандартное хранилище или в файл или в справочник или в регистр сведений и т.п.), и загрузки значения.
Вариант отчета содержит состав и настройки выводимых данных. Настройки варианта можно сохранить во внешний файл или загрузить из файла. Данная возможность позволяет легко переносить настройки из одной информационной базы в другую. Настройки отчетов сохраняются в файл с расширением (*.xml). Сохранение настроек варианта отчета в обычном приложенииВ обычном приложении варианты отчетов хранятся в специальном справочнике «Сохраненные настройки» или «Варианты отчетов». Наименование справочника зависит от вида типовой конфигурации.Например, в «Бухгалтерия предприятия 2.0» варианты отчетов находятся в справочнике «Сохраненные настройки», в который можно попасть через главное меню: Операции->Справочники…->Сохраненные настройки. Сохранение настроек варианта отчета в управляемом приложенииВ управляемом приложении варианты отчета сохраняются в специальное хранилище «ХранилищеВариантовОтчетов». Для того чтобы выгрузить вариант отчета во внешний файл нужно открыть отчет и перейти:Все действия->Прочее->Изменить вариант отчета…Все действия->Сохранить настройки |
Комментарии (0)
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
- Регистрация
- Восстановить пароль
- Вход>
</td></tr> </td></tr></table>
Назначение объекта конфигурации «Хранилище настроек» понятно из названия — хранить различные пользовательские настройки. Область применения данного объекта широка — в любой, хоть сколь-нибудь серьезной конфигурации требуется хранить какие-либо пользовательские настройки.
Для удобства программистов в каждой конфигурации существует несколько стандартных хранилищ настроек, кроме этого есть возможность создать столько дополнительных хранилищ настроек, сколько будет нужно.
Сначала разберемся со стандартными хранилищами настроек, которые присутствуют в любой конфигурации 1С начиная с версии 8.2.
Стандартные хранилища настроек
Итак, по умолчанию, в конфигурации имеются следующие хранилища настроек:
- ХранилищеВариантовОтчетов — для доступа к настройкам вариантов отчетов.
- ХранилищеПользовательскихНастроекОтчетов — для доступа к пользовательским настройкам отчетов.
- ХранилищеНастроекДанныхФорм — для доступа к пользовательским настройкам данных форм.
- ХранилищеОбщихНастроек — для доступа к общим настройкам.
- ХранилищеСистемныхНастроек — для доступа к системным настройкам.
- ХранилищеПользовательскихНастроекДинамическихСписков — для доступа к пользовательским настройкам динамических списков.
К каждому из этих хранилищ можно обратиться как к свойству глобального контекста.
Стандартные хранилище программист может использовать для своих нужд, сохраняя различные настройки в разрезе пользователя, объекта и самой настройки.
Для работы с хранилищами настроек (как со стандартными, так и с добавленными программистом) используются следующие методы.
Запись и получение настройки:
Удаление лишней/ненужной настройки:
Получение списка настроек:
Параметры «НазваниеОбъекта», «НазваниеНастройки» и «ИмяПользователя» должны строковой тип.
В базе данных, все настройки хранятся в отдельно таблице.
Хранилища настроек создаваемые программистом
Теперь поговорим о тех хранилищах настроек, что создаются программистом. Вообще, программист ничем не ограничен в своем желании создать новое хранилище настроек, но обычно отдельные хранилища настроек создают по следующим причинам:
- необходимо перемещение настроек между базами данных;
- необходим ссылочный контроль при хранении настроек;
- требуется особая структура настроек 1С.
Хранилища настроек добавляют в соответствующем разделе конфигурации.
Ключевой особенностью хранилищ настроек, созданных программистом является необходимость ручной реализации методов записи и получения значений (Сохранить() и Загрузить()). В этих методах программист должен описать сохранение (в регистры сведений, файлы, справочники и тд.) и загрузку настроек при помощи встроенного языка.
В остальном же, принципы работы с созданным хранилищем практически не отличается от работы со стандартными хранилищами настроек.
Доступ к созданному хранилищу можно получить таким образом:
Кроме этого, созданными хранилищами можно заменять стандартные в различных объектах конфигурации и в самой конфигурации.
Управляемые формы имеют два свойства:
- Автоматическое сохранение данных — если выбрано значение «Использовать», то данные будут сохраняться автоматически в стандартное хранилище настроек данных форм;
- Сохранение данных в настройках — если выбрано значение «Использовать список», то в окне реквизитов формы появится столбец «Сохранение», с помощью которого можно указать какие реквизиты формы должны сохраняться, а также появиться возможность выбрать хранилище настроек для этих данных.
На этом все, надеюсь данная статья Вам помогла.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Загрузка…Используемые источники:
- http://howknow1c.ru/programmirovanie-1c/hraniliwe-nastroek-1s.html
- https://1clenta.ru/pattern/192
- https://1c-programmer-blog.ru/programmirovanie/xranilishhe-nastroek-v-1s.html