Куперс

Бухучет и анализ

1С 8 где хранятся настройки пользователя

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

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

Отправить эту статью на мою почту

Очень удобно, что отчеты в программах 1С можно настраивать «под себя» практически как угодно, причем с этим может справиться любой пользователь, которому нужно просто в настройках отчета указать нужные показатели, дополнительные столбцы, сортировки, итоги и т.п. Но каждый раз это делать — очень утомительно, особенно если вы этим отчетом пользуетесь часто. Для того что бы Вам работать было легче, фирма «1С» создала возможность сохранения настроек отчета, причем у одного отчета может быть много различных вариантов настроек, им можно задавать любые названия, например, «Отчет для руководства» или «Оперативный отчет для меня»…

Для того чтобы сохранить настройку отчета в 1С в обычных формах , например, 1с торговля 8 редакции 10.3 или 1с бухгалтерия 8 редакции 2.0, нужно отрыть сам отчет, далее настроить его показатели, колонки, сортировку, так как Вам удобно. Сформируйте отчет, убедитесь, что он отображается так как вам нужно.

В открывшемся окне нажмите по кнопке «Добавить» и укажите наименование отчета, по умолчанию, наименование будет «Основная», установите флаги «Открывать» — если желаете, что эта настройка автоматически применялась при открытии отчета, и установите флаг «Сохранять» — если желаете, чтобы если при текущей настройке, вы что-то измените в настройте отчета, например, добавите новый столбец, то при этом флаге эти изменения автоматически запишутся в настройку, т.е. не нужно будет еще раз сохранять настройку.

В этом же окне вы можете удалить не нужные настройки.

Если Вы не устанавливали флаг «Открывать» или вам нужно применить другую настройку, то Вам необходимо будет применять нужную настройку вручную, для этого, в отчете нажмите «Действия» — «Восстановить настройку…» (или воспользуйтесь специальной пиктограммой на панели инструментов как показано на рисунке ниже) и выберите нужную настройку:

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

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

Печать (Ctrl+P)

Для сохранения информации о настройках пользователя, которые должны сохраняться между сеансами работы, в платформе реализованы хранилища настроек.
Существует два вида хранилищ настроек:
● Стандартное хранилище – хранилище, используемое системой по умолчанию и хранящее данные в системных таблицах информационной базы.
● Хранилища настроек – специальные объекты метаданных, которые описывают хранение данных в некотором объекте информационной базы.
Например, в этом объекте может быть описана работа с настройками, которые хранятся в справочнике.
Платформа использует следующие хранилища:
● Системное хранилище – в данное хранилище система сохраняет все возможные настройки, которые нужны для работы платформы. К данным настройкам относятся настройки размеров форм, настройки печати табличного документа и т. п. Полный перечень настроек, сохраняемых в системном хранилище, см. здесь. В качестве системного хранилища настроек всегда используется стандартное хранилище настроек. То есть данные системного хранилища всегда сохраняются в системной таблице информационной базы.
● Хранилище общих настроек – данное хранилище предназначено для хранения различных настроек прикладного решения. Платформа
самостоятельно не записывает в данное хранилище никаких настроек. Данное хранилище должен использовать разработчик из встроенного языка, для того чтобы выполнять сохранение/восстановление прикладных настроек пользователя.
● Хранилище пользовательских настроек отчетов – в данное хранилище помещаются пользовательские настройки отчетов.
● Хранилище вариантов отчетов – в данное хранилище помещаются варианты отчетов.
● Хранилище настроек данных форм – в это хранилище сохраняются данные форм. Этим хранилищем можно пользоваться, например, для
сохранения реквизитов обработок. При этом можно выбрать индивидуальное хранилище для каждого отчета и обработки.
● Хранилище пользовательских настроек динамического списка – в это хранилище сохраняются пользовательские настройки динамического списка.
При разработке конфигурации имеется возможность определить собственные хранилища настроек для всех хранилищ, кроме системного хранилища.
Для этого необходимо создать объект хранилища настроек в соответствующей ветке дерева метаданных и затем указать его в нужном свойстве конфигурации. Свойства объекта Конфигурация имеют те же имена, что и вышеперечисленные хранилища.
Данные хранилищ могут храниться как в системной таблице информационной базы, так и в некотором специальном объекте информационной базы, например, в справочнике или регистре сведений. Например, можно создать в конфигурации объект хранилища настроек и указать в свойстве конфигурации, что данное хранилище следует использовать для хранения настроек отчетов. Таким образом, настройки отчетов будут сохраняться не в системной таблице, а в некотором объекте, например, в справочнике, что дает возможность организовать работу с едиными настройками отчетов, реализовать систему прав, обмен настройками и т. п.
Создавать собственное хранилище имеет смысл в тех случаях, когда необходима особая структура хранения настроек, необходимы специальные механизмы управления настройками, требуется обмен настройками в рамках распределенной базы данных и других аналогичных случаях.
Примечание. Для хранения настроек рекомендуется выбирать такие объекты, для которых системой поддерживается способ идентификации, при котором идентифицирующий реквизит можно преобразовать в строку и обратно без потери данных. В качестве примера можно привести справочник и стандартный реквизит Код, уникальный во всем справочник

Общие принципы работы хранилища настроек

Объект метаданных ХранилищеНастроек предназначен для обеспечения хранения прикладных настроек конфигурации. За счет реализации обработчиков событий и создания форм объекта выполняется модификация механизма работы с настройками таким образом, что изменяется место хранения настроек (вместо системных таблиц используются объекты конфигурации, которые создал разработчик) и визуальные механизмы работы с настройками.
В конфигурации может быть определено произвольное количество хранилищ настроек.
Хранилище настроек может использоваться как только для программной работы, так и для программной и интерактивной работы. В первом случае для обеспечения необходимой функциональности требуется обязательная реализация обработчиком модуля объекта ХранилищеНастроек:
● ОбработкаСохранения – содержит реализацию метода Сохранить() . В данном обработчике необходимо выполнить сохранение настройки в некоторый объект. Например, в элемент справочника.
● ОбработкаЗагрузки – содержит реализацию метода Загрузить() . В данном обработчике необходимо получить настройки из некоторого объекта.
Например, из элемента справочника.
ВНИМАНИЕ! Если не реализовать тот или иной обработчик, то будет недоступно выполнение действия, которое обработчик реализует. Например, если не реализовать обработчик ОбработкаСохранения , будет недоступно сохранение настроек.
В процессе разработки хранилища разработчик самостоятельно определяет, каким образом будет идентифицироваться объект хранилища, тем самым определяя тип параметра. Например, если настройки сохраняются в справочнике, то в качестве ключа настройки можно использовать поле Код или значение Ссылка (элемента справочника).
Если для работы с настройками требуется интерактивность (формы сохранения и восстановления настроек), то необходимо реализовать формы сохранения и восстановления настроек и заполнить соответствующие свойства объекта ХранилищеНастроек (Основная форма сохранения и Основная форма загрузки).
ВНИМАНИЕ! Реализация форм сохранения и восстановления настроек является обязательной для выполнения интерактивных операций.
Программное сохранение и восстановление настроек возможно и без реализации этих форм.
Когда пользователь применяет команды сохранения или загрузки настроек, система получает соответствующую форму объекта хранилища настроек и отображает ее на экране. Например, при сохранении настроек отчета система будет использовать форму сохранения того объекта метаданных, который указан в качестве хранилища настроек отчетов (непосредственно у самого отчета или у всей конфигурации). При этом форме будут переданы параметры, более подробную информацию о которых можно получить в описании объекта ОписаниеНастроек в синтакс-помощнике.
При создании формы с помощью конструктора необходимые параметры будут автоматически добавлены в список параметров формы.
В формах следует использовать переданные параметры и соответствующим образом фильтровать список настроек. Так, следует отображать только настройки для указанного в параметре КлючОбъекта объекта настройки (например, отчета).
Если пользователь выбрал настройку, то результатом работы формы должно быть значение типа ВыборНастроек. В этом значении, в свойстве КлючНастроек , должен находиться ключ выбранной настройки (например, код элемента справочника или другой, идентифицирующий настройку параметр), а в свойстве ДополнительныеСвойства – дополнительная информация, которую пользователь мог указать в форме:

Закрыть (Новый ВыборНастроек (КлючСохраняемойНастройки ));
ВНИМАНИЕ! Не поддерживается сохранение настройки в стандартном хранилище настроек, если длина ключа объекта превышает 256 символов; длина ключа настроек превышает 128 символов; длина имени пользователя превышает 64 символа.

Создание объекта метаданных

Для создания Хранилища настроек следует создать одноименный объект конфигурации. Это можно сделать в ветке Общие, пункт Хранилища настроек.

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

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

Стандартное хранилище настроек представляется во встроенном языке объектом СтандартноеХранилищеНастроекМенеджер. Данный объект реализует тот
же набор методов, что и объект ХранилищеНастроекМенеджер, и дополнительно реализует методы:
● ПолучитьСписок() – метод получения списка настроек для выбранного объекта настройки;
● Удалить() – удаление определенной настройки выбранного объекта настройки.
Стандартное хранилище сохраняет настройки в системных таблицах информационной базы.
В качестве ключа объекта настройки и в качестве ключа настройки системное хранилище настроек принимает строку.
В качестве настроек системное хранилище принимает любое значение, которое может быть помещено в хранилище значений.
Примечание . При использовании методов Сохранить() , Удалить() и УстановитьОписание() объекта СтандартноеХранилищеНастроекМенеджер следует учитывать, что если объект, к которому относятся настройки (например, форма), в текущем сеансе уже использовался, то изменения произойдут только в следующем сеансе.
Совет . При существенном программном изменении настроек (например, при копировании настроек от одного пользователя другому) рекомендуется предложить пользователю выполнить перезапуск клиентского приложения.

Сохранение настроек форм

Разработчик может управлять сохранением данных форм в настройках. Для этого при разработке формы ему необходимо воспользоваться следующими свойствами формы:
● Сохранение данных формы в настройках – при помощи данного свойства разработчик формы может включить возможность сохранения данных формы (с возможностью выбора настройки, в которую будут сохраняться данные). Если у формы включена необходимость сохранения, то форма предоставляет команды сохранения/загрузки настроек.
● Автоматическое сохранение данных в настройках – указывает необходимость автоматического сохранения настроек при закрытии формы и восстановлении при открытии формы. При этом не важно, используется или нет список настроек.
Если для формы установлена возможность сохранения данных, то необходимо указать, какие реквизиты формы должны сохраняться (колонка Сохранение на закладке Реквизиты редактора формы).
При сохранении настроек в качестве ключа объекта используется полное имя формы. В настройках сохраняется объект типа Соответствие, в котором в качестве ключей находятся пути к сохраняемым реквизитам, а в качестве значений – их (реквизитов) значения.

Сохранение настроек отчетов

У объектов Отчет и Внешний отчет имеются свойства метаданных Хранилище вариантов и Хранилище настроек. В данных свойствах указывается, в какие хранилища нужно сохранять варианты и настройки отчета соответственно. Если хранилища не указаны, то используются хранилища, указанные в свойствах конфигурации. Если в свойствах конфигурации также не указаны конкретные объекты ХранилищеНастроек , то используется системное хранилище.
Форма отчета предоставляет команды сохранения и загрузки вариантов и настроек отчетов.
При необходимости сохранять в настройках компоновки данных или пользовательских настройках компоновки данных некоторую дополнительную информацию можно воспользоваться свойствами ДополнительныеСвойства объектов НастройкиКомпоновкиДанных и ПользовательскиеНастройкиКомпоновкиДанных . Свойство ДополнительныеСвойства представляет собой объект типа Структура .

Сохранение настроек динамических списков

Пользовательские настройки динамических списков сохраняются в хранилище, которое указано в свойствах конфигурации (ХранилищеПользовательскихНастроекДинамическихСписков ). Если в свойствах конфигурации не указано хранилище настроек, то используется системное хранилище.
Возможностью автоматического сохранения пользовательских настроек динамического списка управляет свойство Автоматическое сохранение пользовательских настроек реквизита формы типа ДинамическийСписок . Когда свойство установлено в значение Истина, пользовательские настройки автоматически сохраняются при закрытии формы и загружаются при ее открытии.
Форма динамического списка предоставляет команды сохранения и загрузки пользовательских настроек. Также динамический список предоставляет команду для установки стандартных настроек. В случае выполнения данной команды в динамический список попадут настройки, которые находятся в свойстве Список.КомпоновщикНастроек.Настройки.
Для динамического списка возможен вызов события ПриОбновленииСоставаПользовательскихНастроекНаСервере в следующих случаях:
● При открытии формы динамического списка;
● После завершения редактирования пользовательских настроек, если изменился состав настроек.

Порядок разработки хранилища настроек

Далее приводится рекомендованный порядок разработки хранилищ настроек:
1. Определяется, какое хранилище (см. начало раздела) будет использоваться. Например, будет реализовано хранилище настроек данных форм конфигурации.
2. Определяется перечень объектов метаданных, которые будут использовать это хранилище, и определяется перечень хранимой в хранилище информации, ее структура и типы. Эта информация поможет нам правильно выбрать объект метаданных, в данных которого будут храниться наши настройки.
3. На основании информации из п. 2 создается объект (и его структура), который будет хранить настройки. Пусть наши настройки хранятся в элементах справочника. Так как в нашем случае структура сохраняемых данных крайне разнородна, то нет смысла реализовывать отдельный набор реквизитов для хранения настроек каждой формы. Поэтому настройки будут храниться в реквизите справочника типа ХранилищеЗначения .
4. Создается объект типа ХранилищеНастроек , и для него выполняется реализация форм сохранения и загрузки. Тем самым обеспечивается интерактивность при сохранении и восстановлении настроек.
5. Для созданного объекта ХранилищеНастроек выполняется реализация обработчиков событий, связанных с сохранением и восстановлением настроек. Если не выполнить эту операцию, то не будут происходить собственно операции чтения/записи настроек. Для решения этой задачи нужно реализовать обработчики событий ОбработкаСохранения и ОбработкаЗагрузки в модуле созданного объекта типа ХранилищеНастроек.
6. В объектах, выделенных в п. 2 (или в свойствах конфигурации), заполняются соответствующие свойства, тем самым указывая объектам, в каких хранилищах будут храниться настройки. В нашем примере необходимо заполнить свойство конфигурации Хранилище настроек данных форм ссылкой на объект, созданный на шаге 4.
7. При необходимости выполняется реализация обработчиков событий, связанных с сохранением и восстановлением настроек в тех прикладных объектах, где это необходимо.

Работа с хранилищем настроек из встроенного языка

В данном примере рассматривается копирование настроек текущего пользователя другим пользователям системы. В качестве источника настроек используется ХранилищеСистемныхНастроек .
ПРИМЕЧАНИЕ . Пример, приведенный ниже, не является законченным. Он предназначен для демонстрации работы с стандартным хранилищем настроек.
Список имен пользователей передается параметром процедуры СкопироватьНастройки() в виде массива.

Процедура СкопироватьНастройки(СписокПользователей )
ОписаниеНастроек = Новый ОписаниеНастроек ;
ВыборкаНастроек = ХранилищеСистемныхНастроек.Выбрать ();
Пока ВыборкаНастроек.Следующий() Цикл
Для каждого Пользователь Из СписокПользователей Цикл
ОписаниеНастроек.Представление = ВыборкаНастроек.Представление ;
ХранилищеНастроек.Сохранить(ВыборкаНастроек.КлючОбъекта, ВыборкаНастроек.КлючНастроек, ВыборкаНастроек.Настройки, ОписаниеНастроек);
КонецЦикла;
КонецЦикла;
КонецПроцедуры

Не секрет, что периодически, в 1С нужно чистить настройки пользователей!

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

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

Обработка очистки настроек пользователя работает в 2-х режимах:

1. Выбираете пользователя — нажимаете Очистить ВСЕ настройки пользователя — у выбранного пользователя будет очищены все старые настройки, и программу будет работать и отображаться так, как это было заложено разработчиками. Этот способ помогает избавиться от проблем кроивого отображения форм в 1С.

2. Выборочно — Нажмите Получить настройки всех пользователей — отметьте галочками то — что нужно удалить и нажмите Удалить помеченные. Данный способ позволяет удалить только те настройки, которые вы считаете проблемными или не нужными.

Назначение объекта конфигурации «Хранилище настроек» понятно из названия — хранить различные пользовательские настройки. Область применения данного объекта широка — в любой, хоть сколь-нибудь серьезной конфигурации требуется хранить какие-либо пользовательские настройки.

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

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

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

Итак, по умолчанию, в конфигурации имеются следующие хранилища настроек:

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

К каждому из этих хранилищ можно обратиться как к свойству глобального контекста.

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

Для работы с хранилищами настроек (как со стандартными, так и с добавленными программистом) используются следующие методы.

Запись и получение настройки:

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

Удаление лишней/ненужной настройки:

ХранилищеОбщихНастроек.Удалить(НазваниеОбъекта, НазваниеНастройки, ИмяПользователя);

Получение списка настроек:

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

Параметры «НазваниеОбъекта», «НазваниеНастройки» и «ИмяПользователя» должны строковой тип.

В базе данных, все настройки хранятся в отдельно таблице.

Хранилища настроек создаваемые программистом

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

  • необходимо перемещение настроек между базами данных;
  • необходим ссылочный контроль при хранении настроек;
  • требуется особая структура настроек 1С.

Хранилища настроек добавляют в соответствующем разделе конфигурации.

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

В остальном же, принципы работы с созданным хранилищем практически не отличается от работы со стандартными хранилищами настроек.

Доступ к созданному хранилищу можно получить таким образом:

ХранилищаНастроек.НазваниеХранилища.Загрузить();

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

Управляемые формы имеют два свойства:

  • Автоматическое сохранение данных — если выбрано значение «Использовать», то данные будут сохраняться автоматически в стандартное хранилище настроек данных форм;
  • Сохранение данных в настройках — если выбрано значение «Использовать список», то в окне реквизитов формы появится столбец «Сохранение», с помощью которого можно указать какие реквизиты формы должны сохраняться, а также появиться возможность выбрать хранилище настроек для этих данных.

На этом все, надеюсь данная статья Вам помогла.

Профайлы содержат информацию, не оказывающую влияния на логику функционирования системы на базе 1С:Предприятия 8.1. Такая информация не является необходимой, но ее сохранение может, например, повысить комфортность работы пользователя. В профайлах можно хранить формат и расположение окон и диалогов, настройки шрифтов, цветов, отборов и т. п. Потеря такой информации НЕ может привести к нарушению работоспособности системы.
Профайлы различаются по принадлежности хранимой в них информации. Примеры хранимых данных и их расположение:
— Настройки текстового редактора.
<Данные приложений пользователя>/1C/1Cv81/1Cv8.pfl, например: C:/Documents and Settings/User/Application Data/1C/1Cv81/1Cv8.pfl
Информационная база — Режим аутентификации при старте 1С:Предприятия из отладчика.
— Каталог последнего сохранения хранилища конфигурации в файл.
Таблица files базы данных, в которой размешена информационная база.
Информационная база и пользователь — Настройки динамических списков.
— Настройки отборов по журналу регистрации.
Таблица files базы данных, в которой размешена информационная база.
Компьютер и информационная база — Настройки сравнения файлов конфигураций.
— Настройки глобального поиска по текстам конфигурации.
<Данные приложений пользователя>/1C/1Cv81/<Идентификатор информационной базы>/1Cv8.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1Cv81/ 4129dbdb-b495-41cb-99ea-ef315060a03e/1Cv8.pfl
Компьютер, информационная база и пользователь — Расположение окна синтакс — помощника.
— Список переменных для быстрого просмотра в отладчике.
<Данные приложений пользователя>/1C/1Cv81/<Идентификатор информационной базы>/<Идентификатор пользователя>/1Cv8.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1Cv81/ 4129dbdb-b495-41cb-99ea-ef315060a03e/ E8D87DA4-A087-4145-95E7-D613E0F7CB64/1Cv8.pfl
1С:Предприятие 8.1 в режиме Конфигуратора — Расположение окон конфигуратора.
— Цвета редактора модулей в конфигураторе.
<Данные приложений пользователя>/1C/1Cv81/1Cv8cmn.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1Cv81/1Cv8cmn.pfl
1С:Предприятие 8.1 в режиме Предприятия — Расположение окон конфигуратора.
— Цвета редактора модулей в конфигураторе.
<Данные приложений пользователя>/1C/1Cv81/<Идентификатор информационной базы>/<Идентификатор пользователя>/1Cv8cmn.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1Cv81/ 4129dbdb-b495-41cb-99ea-ef315060a03e/ E8D87DA4-A087-4145-95E7-D613E0F7CB64/1Cv8cmn.pfl
Диалог запуска 1С:Предприятия 8.1 — Размеры и расположение диалога запуска.
— Настройки диалогов установки параметров информационных баз.
<Данные приложений пользователя>/1C/1Cv81/1Cv8strt.pfl, например:
C:/Documents and Settings/User/Application Data/1C/1Cv81/1Cv8strt.pfl
Данные из профайлов читаются при старте 1С:Предприятия 8.1 и записываются при его штатном завершении. По этой причине в случае нештатного завершения некоторые пользовательские настройки могут не сохраниться.
Наряду с профайлами в каталоге данных приложения могут содержаться и другие файлы с информацией, сохранение которой делает работу пользователей с 1С:Предприятием 8.1 более удобной. Среди них:
def.usr — хранится в каталоге <Данные приложений пользователя>/1C/1Cv8/<Идентификатор информационной базы> (например, C:/Documents and Settings/User/Application Data/1C/1Cv81/4129dbdb-b495-41cb-99ea-ef315060a03e/def.usr) и содержит имя пользователя который последним открывал данную информационную базу.
ibases.v8i — хранится в каталоге <Данные приложений пользователя>/1C/1Cv81 (например, C:/Documents and Settings/User/Application Data/1C/1Cv81/ibases.v8i) и содержит список информационных баз, зарегистрированных на данном клиентском компьютере. Этот список отображается в диалоге «Запуск 1С:Предприятия».
v8cscadr.lst — хранится в каталоге <Данные приложений пользователя>/1C/1Cv81 (например, C:/Documents and Settings/User/Application Data/1C/1Cv81/v8cscadr.lst) и содержит адрес каталога шаблонов конфигураций.
GenTempl.st — стандартный файл шаблонов текста расположен в каталоге загрузочных модулей 1С:Предприятия (например C:/Program Files/1CV81/bin).
appsrvrs.lst — хранится в каталоге <Данные приложений пользователя>/1C/1Cv81 (например, C:/Documents and Settings/User/Local Settings/Application Data/1C/1Cv81/appsrvrs.lst) и содержит список серверов 1С:Предприятия, зарегистрированных в утилите администрирования информационных баз в варианте клиент-сервер.
srvribrg.lst — хранится на центральном сервере кластера в каталоге <рабочий каталог центрального сервера> (например, C:/Program Files/1cv81/server/srvribrg.lst) и содержит список кластеров, зарегистрированных на данном компьютере сервера 1С:Предприятия. Содержащиеся в нем данные необходимы для нормальной работы приложений, использующих данный сервер 1С:Предприятия.
В каталогах DBNameCache, ConfigSave, Config, SICache хранится множество файлов, кеширующих различные компоненты конфигурации. Эта информация является производной от конфигурации информационной базы, хранимой в базе данных, и служит для ускорения запуска клиентских приложений и повышения их производительности. Кеш конфигурации располагается в каталоге данных приложений текущего пользователя, например, C:/Documents and Settings/User/Local Settings/Application Data/1C/1Cv81/7b0a6294-d6a3-41c5-a23e-dc9e5301ad22/DBNameCache.
В каталоге 1Cv8FTxt хранятся данные, используемые службой полнотекстового поиска. Они располагаются на компьютере центрального сервера 1С:Предприятия в каталоге <рабочий каталог кластера>/<идентификатор информационной базы>. Например: C:/Program Files/1cv81/server/reg_1541/7eac7609-c0cb-4701-83cf-9ff5f8961de8/1Cv8FTxt.
Группа файлов CACHE/ddb<n>.snp хранится в каталоге хранилища конфигурации и служит для кэширования запрошенных версий конфигурации из этого хранилища. Наличие этих файлов не является обязательным и позволяет ускорить получение версий конфигурации.
Временные данные нужны только в течение нескольких пересекающихся во времени или одного сеанса 1С:Предприятия.
К нескольким пересекающимся во времени сеансам относятся данные совместного использования, которые относятся к файловой информационной базе в целом и нужны, в частности, для реализации блокировок данных информационной базы. Такие данные хранятся в том же каталоге, что и файл информационной базы.
* Файл 1Cv8.1cl является носителем блокировок объектов базы данных, расположенной в файле 1Cv8.1cd.
* Файл 1Cv8Tmp.1cd хранит служебную сеансовую информацию, в частности список активных пользователей.
* Файл 1Cv8Tmp.1cl является носителем блокировок данных, расположенных в файле 1Cv8Tmp.1cd.
Для хранилища конфигурации 1С:Предприятие 8.х в режиме Конфигуратора создает временные файлы аналогичного назначения, расположенные в каталоге хранилища конфигурации:
* Файл 1Cv8ddb.1cl является носителем блокировок данных из хранилища конфигурации.
* Файл 1Cv8dtmp.1cd хранит служебную сеансовую информацию, в частности список активных пользователей хранилища конфигурации.
* Файл 1Cv8dtmp.1cl является носителем блокировок данных, расположенных в файле 1Cv8ddb.1cd.
Данные, используемые только в течение одного сеанса 1С:Предприятия, размещаются во временных файлах, создаваемых в каталоге, определенном в системе Microsoft Windows как каталог временных файлов. При этом для клиентского приложения используется каталог временных файлов текущего пользователя Windows, например, C:\Documents and Settings\User\Local Settings\Temp. Для сервера 1С:Предприятия используется или системный каталог временных файлов или каталог данных приложений пользователя, от имени которого запускаются рабочие процесса сервера 1С:Предприятия, например, C:\WINNT\Temp.
Информация взята с сайта http://helpf.pro

1С:Бухгалтерия предприятия, редакция 3.0 – первая версия конфигурации, где предусмотрена возможность настройки интерфейса. С одной стороны, такая возможность компенсирует кардинальные отличия во внешнем виде новой версии от предыдущей – 1С 8.2. С другой, дает пользователям гибкие возможности для настройки рабочего пространства, ориентируясь только на имеющиеся потребности, собственное удобство и индивидуальный вкус без обращения к специалистам по сопровождению и доработке 1С 8.3.

Рис.1 Выбор интерфейса

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

  • Стандарт (как в предыдущих версиях 1С:Бухгалтерия 8)
  • Такси
  • Аналогичный интерфейсу редакции 7.7

Стандарт

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

Рис.2 Интерфейс 3.0

При наглядном сравнении редакций 3.0 и 2.0 видно, что структура интерфейса осталась неизменной.

Рис.3 Структура интерфейса

Нажатие на пункт меню вызывало выпадающий список, а в новой версии подпункты отображаются в виде вкладок.

Рис.4 Вкладки

Поскольку этот вид интерфейса был первым, именно он остается самым популярным. Изменить его структуру можно, зайдя в «Администрирование-Настройки программы» — пункт «Интерфейс».

Рис.5 Изменение структуры интерфейса

Панель навигации и действий позволяет обратиться к подменю без закрытия активного окна.*

Рис.6 Панель навигации и действий

*Горизонтальные меню:

  • Панель раздело, находящаяся непосредственно под главным меню;
  • Панель действий или команд, доступных в выбранном разделе.

Вертикальная панель навигации отображает структуру содержимого раздела.

С помощью подпунктов меню можно настраивать содержимое панелей и их отображение по желанию пользователя.

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

Рис.7 Настройка панели разделов

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

Рис.8 Настройка панели действий

Настройка панели навигации позволяет добавлять/удалять пункты подменю, что ранее могло быть осуществлено только при участии программистов.

Рис.9 Настройка панели навигации

Такси

В интерфейсе «Такси» панель разделов находится изначально слева.

Рис.10 Интерфейс «Такси»

Реализация настройки панелей в этом интерфейсе осуществляется путем перетаскивания и группировки панелей по желанию пользователя в специальном окне редактора.

Рис.11 Настройка панелей

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

Рис.12 Окно редактора панелей

*Панели, находящиеся в верхней части окна редактора, в данный момент активны.

Подпункты разделов настраиваются (панель разделов вертикальная) после их активации (кнопка настройки подпунктов находится в правом верхнем углу).

Рис.13 Подпункты разделов

Окно настройки панели действий позволяет добавлять и удалять разделы, вплоть до полного удаления.

Рис.14 Окно настройки панели

Нюанс интерфейса: избранные подпункты помечены звездочками

Рис.15 Избранные подпункты помечены звездочками

*Часто сюда добавляют внешние доработки

Аналогичный интерфейсу редакции 7.7

Структура меню очень похожа на стандартную версию.

Рис.16 Аналогичный 7.7

Возможность настройки интерфейса 7.7 находится на верхней панели справа (стрелочка вниз), которая позволяет добавить и удалить кнопки. Она активна во всех интерфейсах.

Рис.17 Настройка интерфейса 7.7

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

А для информирования о выполняемом действии рекомендуется использовать метод встроенного языка ПоказатьОповещениеПользователя().

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

Пример вывода сообщения на клиенте:

Код 1C v 8.3 Если ЗначениеЗаполнено(объект.ИнтернетМагазин) Тогда
// Все заполнено, обрабатываем
Иначе
сбп=Новый СообщениеПользователю;
сбп.Текст = «Укажите интернет-магазин данные которого Вы загружаете!»;
сбп.Поле=»ИнтернетМагазин»;
сбп.ПутьКДанным = «Объект»;
сбп.Сообщить();
КонецЕсли;

При обработке на сервере:

Необходимо зарегистрировать в системе соответствие объекта и имени реквизита формы. Для этого в глобальном контексте реализована функция УстановитьСоответствиеОбъектаИРеквизитаФормы(). Сделать это можно следующим образом:

Код 1C v 8.3 &НаСервере
Процедура ПроцедураВызываемаяСКлиента(ОбъектДанных)
Документ = ДанныеФормыВЗначение(Объект, Тип(«ДокументОбъект.ПоступлениеТМЦ»)); // Преобразования данных формы в объект
УстановитьСоответствиеОбъектаИРеквизитаФормы(Документ, «Объект»); // Установка соответствия
ДействиеСОбъектом(Документ); // Действия над объектом, в процессе работы которых может возникнуть необходимость вывода сообщений
КонецПроцедуры

В данном фрагменте выполняется преобразование объекта из данных формы в реальный объект и устанавливается его соответствие с реквизитом формы по имени «Объект».

Если в дальнейшем требуется создать сообщение, можно сделать это следующим образом:

Код 1C v 8.3 &НаСервере
Процедура ДействиеСОбъектом(ОбъектДанных)
// Какие либо действия, которые требуют создания сообщения
// Создание сообщения
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = «В строке 11 табличной части «»Номенклатура»» не хватает » +
НедостающееКоличество + » » + ЕдиницаИзмеренияНоменклатуры;
Сообщение.Поле = «Номенклатура.Количество»;
// Привязка объекта к реквизиту формы произойдет за счет
// установленного выше по стеку соответствия методом
// УстановитьСоответствиеОбъектаИРеквизитаФормы
Сообщение.УстановитьДанные(ОбъектДанных);
// Теперь у сообщения заполнено поле ПутьКДанным (установлено имя реквизита формы, до этого была пустая строка),
// и свойство КлючДанных (установлена ссылка на документ, до этого было Неопределено)
// Сообщение выводится пользователю
Сообщение.Сообщить();
// в дальнейшем сообщение будет показано в форме и привязано к
// элементу управления связанного с полем Количество
// в 11-й строке табличной части Номенклатура.
КонецПроцедуры;

В этом фрагменте создается новый объект СообщениеПользователю, в котором запоминается Текст сообщения и указывается Поле объекта, ошибка в данных которого вызвала необходимость вывода сообщения. Информация о том, как объект расположен в форме берется из предварительно запомненной пары «Объект/ИмяРеквизитаФормы». В дальнейшем сообщение будет выведено в окно сообщений формы и привязано к соответствующему элементу управления.

Примеры заполнения свойства Поле объекта СообщениеПользователю

ТипШаблонПример
Реквизит ИмяРеквизита Контрагент
Табличная часть ИмяТабличнойЧасти Скидки
Реквизит табличной части ИмяТабличнойЧасти.ИмяРеквизита Номенклатура.Количество
Реквизит набора записей .ИмяРеквизита .Курс

Еще примеры:

Код 1C v 8.3 &НаКлиенте
Процедура ДействиеСОбъектомНаКлиенте(ОбъектДанных)
// Какие либо действия, которые требуют создания сообщения
// Создание сообщения
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = «В строке 11 табличной части «»Номенклатура»» не хватает » +
НедостающееКоличество + » » + ЕдиницаИзмеренияНоменклатуры;
Сообщение.Поле = «Номенклатура.Количество»;
// Привязка объекта к реквизиту формы «вручную»
Сообщение.КлючДанных = ОбъектДанных.Ссылка;
Сообщение.ПутьКДанным = «Объект»;
// Сообщение выводится пользователю
Сообщение.Сообщить();
КонецПроцедуры;
&НаСервере
Процедура Сообщить4НаСервере()
Сообщение4 = новый СообщениеПользователю;
Сообщение4.УстановитьДанные(РеквизитФормыВЗначение(«Объект»));
Сообщение4.Текст = «4. Сообщение привязанное к реквизиту шапки Организация»;
Сообщение4.Поле = «Организация»;
Сообщение4.Сообщить();
КонецПроцедуры
// Показываем сообщение из обработки
// КлючДанных и ПутьКДанным — пустые
Сообщение = Новый СообщениеПользователю;
Сообщение.Поле = «Комментарий»;
Сообщение.Текст = «Заполните комментарий»;
Сообщение.Сообщить();
// Показываем сообщение из документа
// КлючДанных — пустой, ПутьКДанным заполнится автоматически
Сообщение = Новый СообщениеПользователю;
Сообщение.Поле = «Товары.Количество»;
Сообщение.Текст = «Не заполнено количество товара в первой строке!»;
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Сообщить();
//////////////////// КОД для ТИПОВЫХ конфигураций, БСП:
//в модуле объекта
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(«Текст ошибки”,
ЭтотОбъект,
«Договор»,,
Отказ);
//в форме объекта
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр(«ru = ‘Дублирование пременной'»), ,
«Запросы.ИмяПеременнойЗапроса»,//путь к данным
«Объект», Отказ);

ПоказатьОповещениеПользователя — оповещение возникает в правом нижнем углу приложения и сообщает о совершенном действии. В течение нескольких секунд оно постепенно гаснет и пропадает. При этом, если навести на оповещение курсор мышки, оно не гаснет, и есть возможность внимательно его прочитать:

Код 1C v 8.3 ПоказатьОповещениеПользователя(НСтр(«ru = ‘Выполнение:'»), ПолучитьНавигационнуюСсылку(Объект), «Выгрузка завершена, все ОК!», БиблиотекаКартинок.ПолнотекстовыйПоискДалее); Код 1C v 8.3 &НаКлиенте
Процедура ПриОткрытии(Отказ)
Если ПолучитьДатуЗапретаРедактирования() >= Объект.Дата Тогда
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Объект.Ссылка);
ПоказатьОповещениеПользователя(«Только просмотр!»,
НавигационнаяСсылка,
«Разрешен только просмотр документа!»);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Наверх