Очистка настроек пользователя 1с. Публикации

17.03.2024
Редкие невестки могут похвастаться, что у них ровные и дружеские отношения со свекровью. Обычно случается с точностью до наоборот

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

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

Позвонив в техподдержку компании или к партнерам 1С по вопросу некорректной работы 1С Предприятие 8.3 одним из предложенных решений (вместе с ) будет очистка кэша 1С. Если вы не знаете, что такое «кэш 1С» и зачем он нужен, то вкратце расскажу.

Кэш 1С Предприятие 8.3 — это область на компьютере, где платформа 1С Предприятие 8.3 сохраняет файлы с служебной информацией.

Какая служебная информация сохраняется в кэше 1С

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

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

Как перейти к папкам кэша 1С Предприятие 8.3

Кэш 1С Предприятие 8.3 хранится в профиле пользователя в следующих папках:

  • %userprofile%\AppData\Roaming\1C\1Cv82
  • %userprofile%\AppData\Roaming\1C\1Cv8
  • %userprofile%\AppData\Local\1C\1cv82
  • %userprofile%\AppData\Local\1C\1cv8

Константа %userprofile% — содержит путь до профиля пользователя в ОС Windows, поэтому можно вбить в проводнике адрес до кэша 1С, как он указан выше, ОС Windows вас поймет и перейдет в нужную папку.

Некоторых папок может не существовать, поскольку они относятся к разным версиям платформ. Самый верный способ поиска папок с кэшами — это перейти в папку «…\1С\ «, кэши будут храниться в папках, начинающихся с «\1cv8 «.

Что бы перейти в профиль самостоятельно, в Проводнике Windows следуем по пути:

С:\Пользователи\ИмяПользователя

отсюда необходимо перейти в папку «AppData».

ВНИМАНИЕ! Папка «AppData» скрыта, что бы перейти в неё из профиля пользователя, необходимо добавить к адресной строке «\AppData\ » вручную и нажать Enter.

Из папки «AppData» переходим в папки с кэшем 1С Предприятие, в соответствии с описанием выше.

Как очистить кэш 1С Предприятие 8.3 самостоятельно

Кэш очищается прямым удалением служебных файлов из папок хранения кэша 1C Предприятие 8.3.

Т.е. необходимо в папках «\1Cv8 » и «\1Cv82 » удалить все файлы.

Эта операция не нанесет никакого вреда работе конфигурациям 1С Предприятие 8.3, все необходимые служебные файлы кэша 1С платформа пересоздаст при очередном запуске конфигураций 1С.

Что бы облегчить процедуру удаления кэшей 1С, можно создать пакетный файл .bat .

Как очистить кэш 1С Предприятие 8.3 через пакетный файл.bat

Файл *.bat выполняет последовательно команды ОС Windows записанные в нем. Что бы облегчить процедуру удаления воспользуемся командой rd (удалить директорию)

Очистить кеш 1С Предприятие 8.3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

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

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

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

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

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

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

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

В клиент-серверном режиме работы все данные хранятся в базе данных, управляемой одной из СУБД: MS SQL, Postgree SQL, IBM DB2 или Oracle. Информация об учетных записях хранится в двух таблицах: "v8users" и "Params".

В некоторых ситуациях может появиться необходимость сбросить учетные записи пользователей, чтобы войти в информационную базу. В статье рассмотрим действия, необходимые для выполнения этой задачи. В примере будем использовать MS SQL Server 2012 Express . Имя базы данных на SQL-сервере - "Exp".

Для того, чтобы сбросить учетные записи нужно выполнить два действия:

  1. Удалить таблицу "v8users".
  2. Удалить запись из таблицы "Params", у которой в первой колонке "FileName" содержится значение "users.usr".

SQL-команды

И так, нам нужны SQL-команды для сброса и восстановления пользователей информационной базы. Начнем с команд сброса списка пользователей. Нам нужно выполнить следующие действия:

  1. Переименовываем таблицу "v8users" в "h8users" вместо ее удаления. Это позволит восстановить таблицу в дальнейшем. " sp_rename "v8users", "h8users " Подробнее о команде "sp_rename" Вы можете прочитать здесь .
  2. В таблице "Params" также не будем удалять запись, а лишь изменим значение в колонке "FileName" с "users.usr" на "husers.usr". Тогда платформа не сможет найти параметры пользователей информационной базы. Подробнее о команде "UPDATE" Вы можете узнать здесь . " UPDATE Params Set FileName = "husers. usr" Where FileName = "users. usr" "

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

  1. Удаление таблицы "v8users", поскольку входа в ИБ платформа создает таблица заново, если она отсутствовала. Вот так выглядит SQL-команда по удалению таблицы из БД. " DROP TABLE v8users " Следует предусмотреть отсутствие этой таблицы, чтобы не появилась ошибка выполнения. Подробнее о команде "DROP TABLE" смотрите по ссылке .
  2. Восстанавливаем исходное имя таблицы "v8users". " sp_rename "h8users", "v8users" " Ее синтаксис аналогичен предыдущему примеру, изменили лишь местами имена таблиц.
  3. Возвращаем исходную запись параметров. " UPDATE Params Set FileName = "users. usr" Where FileName = "husers. usr" " При необходимости нужно удалить новую запись настроек пользователей, если платформа ее создала.

Используя приведенные выше команды, мы можем сбрасывать/восстанавливать список пользователей информационной базы.

Автоматизируем процесс

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

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

Для сброса/восстановления учетных записей необходимо ввести адрес SQL-сервера, имя базы данных и информацию для аутентификации на SQL-сервере.

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

Последние материалы сайта