Работа с хранилищем конфигурации удаленно. Настройка сервера хранилища конфигураций. Метод работы с хранилищем конфигурации по tcp. Хранилище настроек Где хранятся настройки формы 1с 8.3

15.07.2023

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

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

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

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

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

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

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

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

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

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

Для решения этой задачи нам понадобиться:

1. хороший интернет на всех компьютерах, где идет разработка
2. компьютер, который виден из вне по белому IP

Как правило компьютер с белым IP – сервер в офисе. Начинать разворачивание хранилища конфигурации надо с его настройки. Первым делом поставим на него платформу 1С. При установке нужно указать наличие компоненты Сервер хранилища конфигурации. Обратите внимание на релиз платформы, дело в том, что при данной методике работы нужна одинаковая версия платформы, на всех компьютерах. И в вашем офисе, и дома, и у заказчика.

После установки, сам сервер хранилища в службах не появиться. Его надо зарегистрировать. Файл службы называется crserver.exe и лежит в каталоге bin .


Перед регистрацией надо определиться, в какой папке будет лежать наше хранилище. Сервер позволяет работать с несколькими хранилищами одновременно, поэтому серверу при регистрации мы указываем каталог, в котором будут лежать уже каталоги с хранилищами. Так же сервер прекрасно работает с русскими именами папок. Для дальнейшей функциональности было бы неплохо (но не обязательно), чтобы эта папка была расшарена. Например у нас есть общая папка на диске «Обмен», создадим в ней подкаталог «Хранилища».

Теперь регистрируем службу сервера хранилищ. Для этого жмем «пуск», «выполнить», набираем «cmd», жмем Enter и в командной строке пишем:
"C:\Program Files (x86)\1cv8\8.3.4.408\bin\crserver.exe" -instsrvc -d "C:\Обмен\Хранилища"

Если никаких сообщений об ошибке не вылезло, то в списке служб должна появится наша. В этом надо убедиться визуально.

Тут надо убедиться, что служба запущена и что у неё стоит автозапуск. Поскольку при регистрации мы не указали пользователя, то запускается она под системной учетной записью. Это удобно, но возможно не безопасно, при необходимости исправьте это в свойствах службы.
Теперь нам надо создать хранилище. Эта процедура долгая, поэтому рекомендую делать это в локальной сети, где находится наш сервер. Создаем, его как обычно, только в строке с путём указываем не сетевую папку, а путь в следующем формате:
tcp://Server1C/ХранилищеПроекта1\

Где Server1C – имя компьютера в локальной сети. Можно указать IP адрес этого компьютера. ХранилищеПроекта1 – имя каталога для нового хранилища. После создания на сервере хранилище будет лежать в папке C:\Обмен\Хранилища\ХранилищеПроекта1 .

Хоть мы и используем сервер хранилищ, но по своей сути это та же файловая база формата 1CD и к ней можно подключиться старым способом, указав в строке подключения сетевой каталог:
\\Server1C\Обмен\Хранилища\ХранилищеПроекта1

Тут есть несколько нюансов:
1. При работе по tcp с файлом базы работает процесс запущенный относительно файла локально, что обеспечивает некую надежность. Ранее я писал, что даже из-за использования wi-fi база хранилища может посыпаться, печальный опыт был. В этом случае система становится более устойчива к сбоям в сети.
2. При работе по tcp нужны одинаковые версии релизов платформы у всех участников, при файловом общении – нет.
3. Общая папка – папка с полным доступом для всех участников. Люди запросто могут случайно (а может и не случайно) накидать туда мусора, стереть пару «не нужных» файлов, в общем нагадить.

Исходя из этих нюансов, возможно есть смысл даже внутри локальной сети в некоторых случаях разворачивать сервер хранилища.
Теперь о доступе из вне. Сервер хранилищ работает на порту 1542. Если внешний белый IP адрес указывает непосредственно на Ваш сервер, то нужно позаботиться об открытии этого порта. Если внешний IP указывает на роутер, то надо настроить проброску. В моем случае была проброска, сисадмин выдели свободный порт для этого. У меня строка подключения выглядела так:
tcp://36.21.65.20:1501/ХранилищеПроекта1\

Комфорт работы с таким хранилищем полностью зависит от скорости интернета, поэтому всякие там usb модемы в модульных помещениях (почти всех торговых центрах) – плохая практика. Если в модеме нет стабильного 3G и он постоянно переходит на GPRS, то я бы даже не стал пытаться.

Еще, на последок, расскажу об обновлении платформы. Т.к. свежая 1С 8.3 сейчас выходит часто, то это актуально. Переустанавливать платформу надо везде сразу, это и так ясно. При переустановке на сервере служба автоматом не обновиться. Если делать все по правильному, т.е. зарегистрировать приложение crserver.exe из папки bin со свежим релизом платформы, то т.к. называется служба так же, то старая служба пометится на удаление, потребуется перезагрузка сервера. Можно поступить проще. Заходим в службы, останавливаем сервер хранилищ. Смотрим в свойствах строку запуска и копируем её в буфер обмена. Лезем в редактор реестра (regedit ) и ищем в реестре эту строку. Правим в ней номер релиза (он присутсвует в имени папки). Запускаем службу обратно. Все. Если Вы накосячили, то служба у Вас не запуститься. После запуска зайдите в свойства службы и визуально убедитесь, что она стартанула из папки с новым релизом.

На сегодня все, спасибо за внимание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Объект 1С "ХранилищеСистемныхНастроек" я называю "внутренним кэшем" 1С, он содержит объект менеджера стандартного хранилища настроек , предназначенный для доступа к системным настройкам.
При модицикации конфигурации иногда не достаточно очистить внешний кэш 1С, т.е. файлы созданные платформой 1С на жестком диске для хранения настроек пользователя, и требуется дополнительно очистить "внутренний кэш" 1С с чем и справится представленная разработка!

Описание

Обработка «Хранилище системных настроек» представляет собой полностью автономное решение, с точки зрения встраивания в любую конфигурацию, как на обычных, так и на управляемых формах! А версия платформы начиная с 8.2 не играет роли! В коде не используются синхронные и модальные вызовы!

Обработка показывает работу с методами типа данных:

СтандартноеХранилищеНастроекМенеджер

СтандартноеХранилищеНастроекМенеджер (StandardSettingsStorageManager)
Методы:
Выбрать (Select)
Загрузить (Load)
ПолучитьОписание (GetDescription)
ПолучитьСписок (GetList)
Сохранить (Save)
Удалить (Delete)
УстановитьОписание (SetDescription)
Описание:
Объекты этого типа предназначены для доступа к настройкам, хранящимся в стандартном хранилище.
Для доступа к настройкам вариантов отчетов объект этого типа должен быть получен из свойства глобального контекста ХранилищеВариантовОтчетов.
Для доступа к пользовательским настройкам отчетов объект этого типа должен быть получен из свойства глобального контекста ХранилищеПользовательскихНастроекОтчетов.
Для доступа к пользовательским настройкам данных форм объект этого типа должен быть получен из свойства глобального контекста ХранилищеНастроекДанныхФорм.
Для доступа к общим настройкам объект этого типа должен быть получен из свойства глобального контекста ХранилищеОбщихНастроек.
Для доступа к системным настройкам объект этого типа должен быть получен из свойства глобального контекста ХранилищеСистемныхНастроек.
Для доступа к пользовательским настройкам динамических списков объект этого типа должен быть получен из свойства глобального контекста ХранилищеПользовательскихНастроекДинамическихСписков.
Доступность:
Сервер, толстый клиент, внешнее соединение.
См. также:
Глобальный контекст, свойство ХранилищеСистемныхНастроек

Весь функционал проиллюстрирован в скриншотах.

Внимание! Имя пользователя должно совпадать с именем пользователя ИБ! Иначе кнопка "Получить настройки пользователя" будет работать не корректно и часть функционала не сработает. Но если переименовывать пользователей проблематично просто используйте только кнопку "Получить настройки всех пользователей"!

P.S. Если материал вам помог, поблагодарите автора, поставив звездочку!

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

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

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

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

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

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

Похожие статьи