- Очистка кэша 1С
- Очистка пользовательского кэша
- Cпособ №1 — очистка пользовательского кэша 1С вручную.
- Способ №2 — очистка пользовательского кэша 1С с помощью скрипта.
- Очистка серверного кэша 1С
- Очистка серверного кэша 1С с помощью скрипта
- Как очистить кэш Сервера 1С
- Как удалить программу 1с на Astra Linux?
- Как удалить программу 1с в linux Астра через терминал?
- Где находится кэш 1с 8.3 на сервере Linux и как его очистить?
- Кеш 1с сервера linux
- Кеш 1с сервера linux
- Для чего и что лежит в кэше 1С?
- Папки расположения кэша 1С
- Для версии 1С 8.2
- Для чего чистить кэш 1С?
- Методы очистки кэша 1С
- Ручная очистка папки с кэшем 1С
- Удаление кэша 1C предприятия через PowerShell
- Удаление кэша 1C предприятия через CMD
- Удаление кэша 1C предприятия через JavaScript
- Очистка кэша 1С через OneCleaner.exe
- Удаление кэша 1C предприятия через редактирование информационной базы
- Сценарии удаления кэша с групповой политикой
Очистка кэша 1С
Кэширование — процесс создания буфера часто используемой и, как правило, статичной информации.
Кэширование используется для ускорения работы программы, в частности, в 1С на компьютер пользователя подгружаются файлы конфигурации, чтобы не запрашивать их с сервера при каждом обращении. Однако очень часто платформа 1С неправильно отрабатывает кэширование конфигурации, и в результате мы получаем неадекватное поведение конфигурации.
Причины некорректного поведения могут быть разные: динамическое обновление конфигурации, программные или аппаратные сбои.
Очистка пользовательского кэша
Cпособ №1 — очистка пользовательского кэша 1С вручную.
Открываем каталог, где хранятся временные файлы 1С, обычно они расположены здесь:
*где username — имя пользователя системы
Если мы перейдем в эти каталоги, то увидим папки:
Папки с именем типа «2a842c47-5a12-446e-b1b8-c1ad58f5813b» являются кешем БД 1С, их можно смело удалять. Перед удалением обязательно необходимо выйти из базы.
Способ №2 — очистка пользовательского кэша 1С с помощью скрипта.
Создаем текстовый документ, в который вносим следующий текст:
Сохраняем файл, затем меняем расширение с .txt на .bat
После запуска .bat файла будет произведено удаление папок по маске \. -. -. -. -. для всех пользователей на сервере\пк и не затронет пользовательские настройки в базах и сам список информационных баз.
Очистка серверного кэша 1С
Очистка серверного кэша 1С с помощью скрипта
По-умолчанию для сервера 1С:предприятия x64 по такому пути:
Что выполняется в скрипте:
После запуска файла появится окно консоли со списком операций, которые выполняются, по завершению которых оно закроется.
Источник
Как очистить кэш Сервера 1С
Одним из признаков того, что кэш 1С Предприятия стоит очистить прямо сейчас, могут быть различные ошибки в одного пользователя и одновременно их отсутствие у другого, в одной и той же базе естественно. К слову писал по этому поводу статью, и речь там шла о локальном кэше 1С Предприятия. (Кэш клиентских приложений).
Конечно, данная тема также подымается и на курсе: Администратор 1С!
Сегодня мы опять будем разбираться с кэшем, но уже с другим: «Серверным»!
Как и в случаи с локальным, «Серверный» кэш или » или как его еще называют – «сеансовые данные на сервере», также способен потрепать нервы пользователям 1С Предприятия.
Различного рода ошибки в клиент-серверной 1С, которые возникают, как говорят: «из неоткуда», также могут быть следствием ошибок на уровне «серверного кэша».
Собственно как очистить или удалить «серверный кэш» ?
Сделать это можно довольно просто, проблема лишь в том, чтоб эту работу выполнить «аккуратно», в противном случаи потеряете все подключения информационным базам и всевозможные настройки на сервере, все это на раз может исчезнуть, удалив «не те» денные.
Как сделать все правильно:
1.Находим папку reg_1541
Обычно по пути C:\Program Files\1cv8\srvinfo\reg_1541\
2.Далее ищем каталог snccntx + уникальный идентификатор
Источник
Как удалить программу 1с на Astra Linux?
Друзья приветствую! В Линукс Астра (так же как и в других Deb системах) перед обновлением версии платформы 1с обязательным требованием является полное удаление предыдущих версий пакетов.
Сегодня покажу, как это делается в Astra Linux Орел. Вычищать систему будем через терминал или через менеджер пакетов Synaptic.
Новичкам будет удобнее начинать через Пуск — Панель управления — Менеджер пакетов Synaptic…
Через «Поиск» находим (по наименованию) нужную программу 1с (как правило будет найдено несколько пакетов). Можно воспользоваться другими фильтрами отбора — на тот случай, если пакеты были устновлены с ошибками. Используйте различные фильтры.
Далее, нужно отметить найденные пакеты правой кнопкой мыши. Можно отмечать по одному, но для автоматического удаления всех связанных пакетов лучше выбрать «Отметить для полного удаления»:
Остается применить выбранные операции.
В нашем случае выбираем только «1c-enterprise»; другие пакеты если не знаете для чего он нужен — лучше не трогать!
Скорее всего пакеты удаляться не все — если службы 1с были запущены. Далее действуем через терминал.
Как удалить программу 1с в linux Астра через терминал?
Обязательно закроем графический менеджер пакетов Synaptic. Для начала нужно проверить наличие установленных /оставшихся пакетов в системе. Для этого воспользуемся командой:
sudo dpkg -l | grep 1c-enterprise
- где dpkg -l вывод списка установленных программ;
- | grep 1c-enterprise поиск в списке нужного пакета и вывод информации на экран (утилита grep);
В нашем случае мы видим один оставшийся пакет — сервер 1с:
Для удаления всех пакетов сразу через терминал можно использовать команду:
sudo dpkg —purge 1c-enterprise83-server
- где dpkg —purge утилита вычищает выбранные пакеты из системы (параметр purge).
Важный момент, друзья! Если Вы решили удалить 1с пользуясь только терминалом, тогда сначала выводим список ВСЕХ установленных в систему пакетов уже знакомой нам командой:
sudo dpkg -l | grep 1c-enterprise*
А затем перечисляем ВСЕ пакеты СНИЗУ в ВВЕРХ через пробел (используем «копировать» «вставить»):
sudo dpkg —purge 1c-enterprise83-ws-nls 1c-enterprise83-ws 1c-enterprise83-server-nls 1c-enterprise83-server 1c-enterprise83-crs 1c- enterprise83-common-nls 1c-enterprise83-common 1c-enterprise83-client-nls 1c-enterprise83-client
Где находится кэш 1с 8.3 на сервере Linux и как его очистить?
Все? Еще нет; в тяжелых случаях если 1с не запускается после установки новой платформы иногда нужно удалять данные кэша предыдущей версии а так же список установленных информационных бах (НЕ сами базы). Это добро находится в домашней папке пользователя, от имени которого осуществляется вход.
Папки эти как правило скрыты и не видны пользователю . Чтобы их увидеть запустим файловый менеджер Midnight Commander с правами суперпользователя:
По пути /Home/Пользователь находим нужные папки и удаляем их:
Весь кеш, список баз данных будут удалены. Базы придется переписать заново. Впрочем при неполадках можно удалять содержимое этих папок выборочно. Базы данных не удаляем! После всех манипуляций по очистке можно устанавливать новую платформу 1с для Linux.
Этими способами можно удалить любые пакеты установленые в систему — не только 1с. Удачи!
Источник
Кеш 1с сервера linux
Причины возникновения ошибок в учётной системе 1С:Предприятие могут быть самые разные. Способы исправления тоже рознятся. В одних случаях достаточно почистить кэш «клиентского» приложения 1С, в других требуются более сложные процедуры.
Иногда возникают совершенно нелогичные и непонятные ошибки. Например, мне встречалась база (режим работы клиент-сервер), в которой неправильно работало автоматическое присвоение нового номера документу «Списание безналичных ДС» (Конфигурация ERP 2.1). Причём, ошибка, по словам пользователя, возникла на ровном месте. Всё работало нормально, но в какой-то момент новому документу списания денежных средств присвоился абсолютно «левый» номер. И все создаваемые в дальнейшем документы так же получали неправильные номера. Попытка создавать документы с разных клиентских компьютеров и «под разными пользователями» эффекта не дала.
Я развернул копию этой базы 1С на том же Windows-сервере, где находился оригинал, и, о чудо – на копии базы автоматическая нумерация работала нормально.
Проанализировав такое поведение базы, я решил очистить кэш сервера 1С, и эта операция принесла желаемый результат.
Кэш (по правильному — «сеансовые данные») как правило находится в расположении C:\Program Files\1cv8\srvinfo\reg_1541\snccntx + уникальный идентификатор. В этой папке (название папки может быть наподобие такого: snccntx23a3c417-bab8-43a5-9df9-8ba437f4523c) лежат файлы вида: snccntx.000057F1.dat . Это и есть сеансовые данные. Нам нужно удалить эти файлы. Прежде чем это сделать, останавливаем службу сервера 1С. А после удаления файлов, снова запускаем сервер.
Источник
Кеш 1с сервера linux
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами научились при в ходя пользователя на терминальный стол, подключать ему нужный список баз 1С, что согласитесь очень удобная вещь. Сегодня я с вами хочу поговорить про очистку кэша 1С у конкретного пользователя или у всех сразу, при входе в систему или в ручном режиме. Мы рассмотрим, что из себя представляет кэш и его назначение. Тема для меня была в новинку, поэтому я решил ее сохранить для себя, чтобы легко к ней можно было обратиться в будущем.
Для чего и что лежит в кэше 1С?
Уверен, что подавляющее число людей, даже те кто далек от IT технологий, понимает смысл слова кэширование, так как оно применяется очень часто в разных продуктах. Кэширование — это механизм ускорения приложения, создающий в памяти устройства, дисках локальные копии данных к которым пользователь обращается чаще всего. Благодаря такой конструкции пользователь считывает их у себя локально быстрее, нежели он бы обратился к серверу. Благодаря этому вы уменьшаете нагрузку на сеть, на удаленный сервер, который может обработать большее количество клиентов, например у меня на сайте настроено кэширование, которое позволяет увеличь его скорость в разы.
Когда пользователь запускает «1C Предприятие» и открывает нужную ему базу данных, у него в профиле создается папка с файлами в которой будет складываться кэш 1С. В кэш могут попадать настройки шрифта, цвет, расположение окон и тому подобное, элементы ускорения работы 1С, какие-то служебные данные.
Папки расположения кэша 1С
Для того, чтобы посмотреть содержимое кэша вам необходимо перейти вот по таки путям:
Для версии 1С 8.2
- %userprofile%\AppData\Roaming\1C\1Cv82
- %userprofile%\AppData\Local\1C\1cv82
Для версии 1С 8.3
обратите внимание, что чаще всего кэш выглядит вот так некий GUID (589e052f-cbeb-41bf-a459-ebcfa8f5e27d) в виде папки, в которой лежит файл формата .pfl.
Для чего чистить кэш 1С?
К сожалению 1С, как и практически любой другой софт не могут работать всегда корректно и без ошибок. Я по несколько раз в неделю могу наблюдать случаи, что «1C Предприятие» неправильно работает с кэшированной конфигурацией, в результате чего у вас будет неадекватное поведение в данной конфигурации.
Лично я искал решение (Гипотеза) с зависанием терминального сервера, в логах которого я наблюдал вот такие ошибки:
1000
2
100
0x80000000000000
2819141
Application
—
1cv8.exe
8.3.14.1630
5c6e4d23
wbase83.dll
8.3.14.1630
5c6e4bb7
c0000005
00006844
7834
01d536fbd27b0449
C:\Program Files (x86)\1cv8\8.3.14.1630\bin\1cv8.exe
C:\Program Files (x86)\1cv8\8.3.14.1630\bin\wbase83.dll
638a47cf-a2f1-11e9-8156-0050568dcf1e
Методы очистки кэша 1С
Существует несколько методов и сценариев, которые можно использовать при работе с приложением:
- Ручная очистка папки с кэшем
- Очистка кэша пользователя 1с с помощью PowerShell скрипта
- Очистка с помощью скрипта cmd
- Через редактирование информационной базы
- Через утилиту OneCleaner.exe
Несколько сценариев из практики:
- Использование скрипта при входе в систему, тут не важно будет это cmd или PowerShell
- Создание у пользователя ярлыка или скопированного файла, например на рабочем столе для ручного, самостоятельного запуска.
Ручная очистка папки с кэшем 1С
- Открываем по очереди папки представленные выше в моем списке,
- закрываем все версии «1C Предприятие» и
- удаляем папки с GUID. Как можете заметить, что данный метод очень трудоемкий для пользователя, так как требует много действий. Я его показал, чтобы вы поняли азу процесса.
Удаление кэша 1C предприятия через PowerShell
PowerShell это инструмент номер 1 в руках системного администратора, благодаря ему вы можете автоматизировать огромное количество задач.
- Очистка папок с кэшем для одного пользователя:
- Очистка кэша для всех пользователей, например для RDS фермы
Благодаря PowerShell вы можете выполнить более правильное удаление, так как затрагиваются только папки с кэшем GUID, пользовательские настройки остаются, в отличии от CMD.
Удаление кэша 1C предприятия через CMD
Командная строка, это один из самых старых и действенных методов по выполнению различных сценариев в Windows, пока даже PowerShell не может ее полностью заменить, например он не умеет делать команду ipconfig /release или ipconfig /renew. Для командной строки есть такие сценарии:
If Exist %USERPROFILE%\AppData\Roaming\1C\1Cv82 (
Удаление кэша 1C предприятия через JavaScript
WScript.Echo(«Будет выполнена очистка кэша 1с»);
var _fso = new ActiveXObject(«Scripting.Filesystemobject»);
var _wShell = new ActiveXObject(«WScript.Shell»);
var _wshNetwork = new ActiveXObject(«WScript.Network»);
var wmi = «winmgmts:!\\\\.\\root\\CIMV2″;
var _wmi = GetObject(wmi);
var _win_ver = _wShell.ExpandEnvironmentStrings(_wShell.RegRead(«HKEY_LOCAL _MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\CurrentVersion»));
var _profiles_path = _wShell.ExpandEnvironmentStrings(_wShell.RegRead(«HKEY _LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList\\ProfilesDirectory»))
var _user_profile = _wShell.ExpandEnvironmentStrings(«%USERPROFILE%»);
var _clear_all = _parse_bool_argument(«ClearAll»);
var _pids = «»;
var stop_1cv8 = ‘cmd /c taskkill.exe /f /im 1cv8*’;
var stop_1cestart = ‘cmd /c taskkill.exe /f /im 1cestart.exe’;
var stop_1c_part = ‘cmd /c taskkill.exe /f /pid ‘
var _sel_logged_users = «SELECT * FROM Win32_LoggedOnUser»;
var _sel_sesn_prcs = «SELECT * FROM Win32_SessionProcess»;
var _sel_prcs_by_pid = «SELECT * FROM Win32_Process WHERE (Name like ‘1cv8%’ or Name like ‘1cestart%’) and («;
var vbYesNo = 4;
var vbYes = 6;
var exceptDirectories = [«1CEStart»,»Licence 2.0″,»tmplts»];
var exceptFiles = [«LOCATION.CFG»,»1CV8STRT.PFL»,»APPSRVRS.LST»,»IBASES.V8I»];
if(_win_ver == «5.1») <
var user_app_1c = «\\Application Data\\1C»
var user_lcl_1c = «\\Local Settings\\1C»
>else <
var user_app_1c = «\\AppData\\Roaming\\1C»
var user_lcl_1c = «\\AppData\\Local\\1C»;
>
//киляем процессы 1с
log_w(«Started by «+_wshNetwork.UserDomain+»\\»+_wshNetwork.UserName);
if(_clear_all) <
log_w(«Очищаю кэш 1С для всех профилей»);
if(!_parse_bool_argument(«DontClose1cClient»)) <
log_w(«Завершаю работу всех клиентов 1С»);
RunAndRead(stop_1cv8);
RunAndRead(stop_1cestart);
>
_profiles = new Enumerator(_fso.GetFolder(_profiles_path).SubFolders);
for (;!_profiles.atEnd(); _profiles.moveNext()) <
_clean_profile(_profiles.item());
>
>else <
log_w(«Очищаю кэш текущего пользователя»);
for(var logged_users = new Enumerator(_wmi.ExecQuery(_sel_logged_users));!logged_users.atEnd(); logged_users.moveNext()) <
var acc = logged_users.item().Antecedent;
var logon_id = logged_users.item().Dependent;
var _logged_user_rexp = eval(«/»+_wshNetwork.UserName+»/gi»);
if(_logged_user_rexp.test(acc)) <
for(var sess_prcs = new Enumerator(_wmi.ExecQuery(_sel_sesn_prcs));!sess_prcs.atEnd(); sess_prcs.moveNext()) <
var p1 = sess_prcs.item().Antecedent;
var p2 = sess_prcs.item().Dependent;
var _pid_rexp = /Handle=»\d+»/gi;
if(p1 == logon_id) <
_pids += _pid_rexp.test(p2)?»ProcessId=»+((p2.match(_pid_rexp))[0]).replace(‘Handle=»‘,»»).replace(‘»‘,»»)+» or «:»»;
>
>
//WScript.Echo(logon_id);
>
>
_pids = _pids.replace(/\sor\s$/gi,»»)
//WScript.Echo(_pids);
var _sel_only_my_1c = _sel_prcs_by_pid+_pids+»)»;
var c1s = new Enumerator(_wmi.ExecQuery(_sel_only_my_1c));
if((!c1s.atEnd())&&(_wShell.popup(«Для продолжения необходимо закрыть 1с. Продолжаем?»,0,»Подтверждение»,vbYesNo)==vbYes)) <
log_w(«Получено согласие на закртие клиентов 1С текущего пользователя»);
for(;!c1s.atEnd();c1s.moveNext()) <
c1s_cl = c1s.item();
if(!_parse_bool_argument(«DontClose1cClient»)) <
cmd = stop_1c_part+c1s_cl.ProcessID;
log_w(«Завершаю «+cmd);
RunAndRead(cmd);
>
>
>
_clean_profile(_user_profile);
>
WScript.Echo(«Кэш очищен»);
function _parse_bool_argument(pa_arg_name) <
var pa_string = «»;
for(var pa_i = 0; pa_i «‘+rar_outname+'»‘;
rar_VSH.run(rar_str, 0, true);
if(rar_FSO.fileexists(rar_outname)) <
if(rar_FSO.getfile(rar_outname).size>0) <
var rar_in = rar_FSO.opentextfile(rar_outname);
var rar_ret = rar_in.readall();
rar_in.close();
>
else
rar_FSO.deletefile(rar_outname);
>else
rar_FSO = null;
rar_VSH = null;
rar_outname = null;
rar_str = null;
rar_in = null;
return rar_ret.replace(/^\r\n|(\r\n)<2,>|\r\n$/gi,»»);
>
function _clean_profile(cp_path) <
if(_fso.folderexists(cp_path+»\\»+user_app_1c)) <
ClearSubFolders(cp_path+»\\»+user_app_1c)
>
if(_fso.folderexists(cp_path+»\\»+user_lcl_1c)) <
ClearSubFolders(cp_path+»\\»+user_lcl_1c)
>
>
function ClearSubFolders(objFolder) <
var subfolder;
var filename;
var csf_subfolders = new Enumerator(_fso.GetFolder(objFolder).SubFolders);
for(;!csf_subfolders.atEnd();csf_subfolders.moveNext()) <
subfolder = csf_subfolders.item()
if(!in_array(subfolder.name,exceptDirectories)) <
var sf_path = subfolder.Path;
log_w(«Очищаю «+sf_path);
ClearSubFolders(sf_path)
try <
if(/1cv8\d*/gi.test(subfolder.Name)) <
RunAndRead(‘cmd /c rmdir «‘+sf_path+'»‘)
>else <
RunAndRead(‘cmd /c rmdir /S /Q «‘+sf_path+'»‘)
>
>catch(e) <
log_w(«Не смог удалить «+sf_path);
>
>else <
log_w(subfolder.Path + » в списке исключений»);
>
>
var csf_files = new Enumerator(_fso.GetFolder(objFolder).Files)
for(;!csf_files.atEnd();csf_files.moveNext()) <
var ffile = csf_files.item();
var fname = ffile.Path;
if(!in_array(ffile.name,exceptFiles)) <
try <
_fso.deletefile(ffile);
log_w(«Удалён «+fname);
>catch(e) <
log_w(«Не смог удалить «+fname);
>;
>
>
>
function log_w(lw_text_t) <
return;
var wait_limit = 999;
var wait_count = 0;
var lw_recorded = false
while(!lw_recorded) <
if(wait_count 9)?dateObj.getMonth()+1:»0″+(dateObj.getMonth()+1))+».»
+((dateObj.getDate()>9)?dateObj.getDate():»0″+dateObj.getDate())+»-»
+((dateObj.getHours()>9)?dateObj.getHours():»0″+dateObj.getHours())+»:»
+((dateObj.getMinutes()>9)?dateObj.getMinutes():»0″+dateObj.getMinutes())+»:»
+((dateObj.getSeconds()>9)?dateObj.getSeconds():»0″+dateObj.getSeconds())+»:»
+((dateObj.getMilliseconds()>99)?dateObj.getMilliseconds():((dateObj.getMilliseconds()>9)?»0″+dateObj.getMilliseconds():»00″+dateObj.getMilliseconds()))+»=»
+lw_text_t);
lw_log_file.close();
lw_log_file = null;
lw_fso = null;
lw_log = null;
dateObj = null;
lw_recorded = true;
>
catch(e) <
WScript.Sleep(100);
wait_count++;
lw_recorded = false;
>
>
else <
WScript.Echo(«Не смог записать сообщение «+lw_text_t+»\r\nв файл «+WScript.ScriptFullName+».log»);
lw_recorded = true;
>
>
>
Очистка кэша 1С через OneCleaner.exe
OneCleaner.exe — это удобная, бесплатная утилита, которая поможет вам легко удалять некорректный кэш.
Запустив OneCleaner.exe она вам на вкладке «Кэш» покажет, что можно удалить, для действия нажимаем соответствующую кнопку.
Так же утилита может удалять старые платформы 1С, если потребуется, в любом случае полезная вещь.
Удаление кэша 1C предприятия через редактирование информационной базы
Необходимо в дополнительных параметрах запуска (в списке баз кнопка Изменить, последняя закладка) прописать команду /ClearCache. Пример использования:
Сценарии удаления кэша с групповой политикой
Как я и писал у вас два варианта, полная автоматизация при входе пользователя или выходе, минус в том что вы создадите большую нагрузку на сервер, но уменьшите возможные проблемы с работой платформы. Для этого готовим или cmd скрипт или PowerShell, создаем групповую политику для пользователя, не забываем убрать 5-ти минутную задержку выполнения скрипта.
Мне же больше по душе, это либо преобразовать скрипт PowerShell в EXE файл, скопировать через групповые политики на рабочий стол пользователя, чтобы он потом его легко сам запускал в нужный момент, так же подойдет и копирование bat файла или javascrip, это не важно, главное, что пользователь сможет сам его запустить. Как копировать файлы через групповую политику читаем по ссылке.
Источник