configcachestorage 1с что это

Очистка кэша 1С для пользователя и на сервере

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

Общая информация об очистке кэша в 1С

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

Ошибка при входе в базу

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

Основные способы очистки кэша

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

Вручную

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

Папка с кешем хранится по этому адресу: C:\Users\User\AppData\Local\1C\1Cv82

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

Очистка временных файлов 1С

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

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

Очистка с помощью параметра ClearCache

Если проблемы с запуском 1С случаются постоянно, то следует обратиться к еще одному надежному способу. Но важно учесть один момент: он действует только в режиме тонкого клиента. Как это работает:

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

Возможные сложности

Подходить к очистке clear cache 1c следует очень аккуратно, чтобы не удалить нужную информацию. В каталогах SICache, DBNameCache, ConfigSave, Config лежат файлы, служащие кэшем для разных компонентов конфигурации 1С. Информация в них повторяет ту, что хранится в базе данных, и служит для увеличения производительности и ускорения запуска клиентских приложений.

Что нужно учесть перед тем, как почистить кэш 1с:

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

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

Важно! Чтобы не дожидаться этого момента, почистить кэш 1с можно заранее с помощью PowerShell.

Этим действием запускается работа PowerShell на сервере. Он самостоятельно удалит кэш 1с у всех пользователей.

Теперь о том, как настроить автоматическую очистку кэша 1с:

С этого момента планировщик начнет самостоятельно запускать 1c clearcache по заданному расписанию, и очищение будет происходить в каталогах:

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

Часто встает вопрос, возможно ли восстановить данные 1С из кэш-файлов? Пример из жизни системного администратора:

Неудачно обновил конфигурацию, не сделав предварительно ее копию. В итоге cf-файл (файл конфигурации) был потерян. Зато сохранились кэш-файлы с разными расширениями в директах AppData\Local и Roaming.

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

Источник

Configcachestorage 1с что это

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами научились при в ходя пользователя на терминальный стол, подключать ему нужный список баз 1С, что согласитесь очень удобная вещь. Сегодня я с вами хочу поговорить про очистку кэша 1С у конкретного пользователя или у всех сразу, при входе в систему или в ручном режиме. Мы рассмотрим, что из себя представляет кэш и его назначение. Тема для меня была в новинку, поэтому я решил ее сохранить для себя, чтобы легко к ней можно было обратиться в будущем.

Читайте также:  что делает покойный до 40 дней

Для чего и что лежит в кэше 1С?

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

Папки расположения кэша 1С

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

Для версии 1С 8.2

Для чего чистить кэш 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С

Удаление кэша 1C предприятия через PowerShell

PowerShell это инструмент номер 1 в руках системного администратора, благодаря ему вы можете автоматизировать огромное количество задач.

Благодаря 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 она вам на вкладке «Кэш» покажет, что можно удалить, для действия нажимаем соответствующую кнопку.

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

Удаление кэша 1C предприятия через редактирование информационной базы

Необходимо в дополнительных параметрах запуска (в списке баз кнопка Изменить, последняя закладка) прописать команду /ClearCache. Пример использования:

Сценарии удаления кэша с групповой политикой

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

Мне же больше по душе, это либо преобразовать скрипт PowerShell в EXE файл, скопировать через групповые политики на рабочий стол пользователя, чтобы он потом его легко сам запускал в нужный момент, так же подойдет и копирование bat файла или javascrip, это не важно, главное, что пользователь сможет сам его запустить. Как копировать файлы через групповую политику читаем по ссылке.

Источник

Очистка кэша 1С:Предприятие

Нередко на линию технической поддержки компании «Числа» поступают обращения о невозможности запуска программ 1С.

Одну, наиболее распространённую, причину подобного инцидента мы рассмотрим в этой статье.

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

Скорее всего причина кроется в так называемом КЭШе 1С.

Случается, что платформа 1С не правильно отрабатывает кэширование файлов конфигурации (программные ошибки, сбой компьютера, выключение питание и пр.) и в результате мы получаем ошибки при запуске 1С или при работе с конфигурацией.
Как быть?

1. Необходимо найти каталог, в котором хранятся временные файлы 1С. Адрес каталога можно посмотреть в настройках:

мы получили каталог:

Папки с кэшем расположенные в каталоге:

C:\Users\User\AppData\Local\1C\1Cv82

Папки с «непонятными» именами, это и есть «наш» кэш.

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

Способ второй (для «продвинутых» пользователей, системных администраторов):

Этот способ является наиболее быстрым и автоматизированным. На компьютере, где необходимо почистить кэш просто запускается готовый файл-программа Очистка кэша. Можно скачать как с нашего сайта, так и написать самим:

rmdir “%AppData%\1C\1Cv8″ /S /Q
rmdir “%LOCALAPPDATA%\1C\1Cv8″ /S /Q

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

Если ошибки с кэшем возникают постоянно, то можно попробовать использовать дополнительные параметры запуска информационной базы. Но этот способ снижает производительность системы.
При дополнительных параметрах запуска (в списке кнопка «Изменить», последняя закладка) необходимо прописать команду «/ClearCache».

Источник

Configcachestorage 1с что это

В статье рассказывается что такое Кэш 1С и как его можно самостоятельно очистить несколькими способами. В конце публикации расположена подробная видеоинструкция.

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

В случае возникновения таких сбоев необходимо произвести чистку Кэша 1с, данную процедуру рекомендуется делать не только при возникновении сбоев, но и в рамках регламентного обслуживания программы, ведь часто в КЭШе хранятся данные, которые программа уже не использует и они только занимают место на компьютере, замедляя при этом работу 1с.

Существует несколько способов чистки Кэша 1С, давайте разберем подробно каждый из них

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

После этого в окне конфигурации жмем на кнопку «Удалить» и утвердительно отвечаем на вопрос программы

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

В открывшемся окне в поле «Укажите название информационной базы» руками пишем название нашей базы, в поле «Каталог информационной базы» копируем пусть нашей базы, который мы сохранили на предыдущем шаге и жмем «Далее»

На следующем шаге оставляем все по умолчанию и жмем «Готово»

База в список у нас добавлена, Кэш для нее очищен

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

Второй способ это вручную удалить файлы Кэша с компьютера. Чтобы это сделать, для начала нужно определить их местонахождение. Кэш 1C в Windows хранится в следующих папка профиля пользователя это Roaming и Loсal. Данные папки расположены в пути: C:\Users\ИмяПользователя\AppData. Причем папка AppData по умолчанию скрыта. Попасть в нее можно двумя способами: это либо включить отображение скрытых папок, перейдя в Панель управления→Параметры папок→Вкладка «Вид»→Показывать скрытые файлы, папки и диски

Либо в проводнике вручную, после имени пользователя написать строчку \AppData и нажать на клавиатуре Enter

Либо если мы вдруг не знаем имя пользователя в проводнике можно написать следующую строчку: %userprofile%\AppData, нажать Enter и мы также попадем в эту папку

Попав в папку AppData, поочередно заходим в папки Local и Roaming и переходим в каждой из них в папку 1С, а в ней в 1Cv8 и если есть 1Сv82 то в нее тоже

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

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

Откроется окно редактирования информационной базы, где в дополнительных параметрах запусках необходимо написать строчку /ClearCache и кликнуть «Готово»

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

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

Источник

Сказочный портал