Modber Сообщество
профессионалов по 1С

Скрипт запуска 1С 8 с принудительным обновлением кэша конфигурации (замена 1cestart.exe)



Платформы: 1С:Предприятие 8.3, 1С:Предприятие 8.2, 1С:Предприятие 8.1
Конфигурации: 1С:Бухгалтерия, 1С:Документооборот, 1С:Управление небольшой фирмой, 1С:Зарплата и Управление Персоналом, 1С:Комплексная автоматизация, 1С:ERP, 1С:Розница, 1С:Управление производственным предприятием, 1С:Управление торговлей, 1С:Производство+услуги+бухгалтерия, 1С:Зарплата и кадры, 1С:Торговля и склад, Все конфигурации, Другое
2015-05-15
1900 
xteam777
0  

Данный скрипт очищает локальный кэш 1С при каждом запуске платформы. Для использования необходимо положить его в папку "%appdata%\1C\1CEStart\" и у ярлыка на рабочем столе пользователей изменить расширение файла с ".exe" на ".js". Скрипт работает на всех версиях Windows включая Windows 7 и Server 2008.

Для использования необходимо создать текстовый файл, скопировать в него текст скрипта и изменить его расширение с *.txt на *.js.

 

Текст скрипта (1cestart.js):

 

var FSO = new ActiveXObject("Scripting.FileSystemObject");

var WshShell = new ActiveXObject("WScript.Shell");

var colEnvVars = WshShell.Environment("Process");

 

var sErrors = false;

 

var WshSysEnv = WshShell.Environment;

var WshUserEnv = WshShell.Environment("USER");

 

//Устанавливаем переменную окружения для того, чтобы Windows не спрашивала

//про сертификат безопасности, если скрипт будет запускаться из сетевой папки

//------------------------------------------------------------------

WshUserEnv("SEE_MASK_NOZONECHECKS") = 1;

//------------------------------------------------------------------

 

//Очищаем кэш

//------------------------------------------------------------------

 

var FolderPath1 = "\\1C\\1Cv82";

var FolderPath2 = "\\1C\\1Cv81";

var FolderPath3 = "\\1C\\1Cv80";


if (FSO.FolderExists(colEnvVars("localappdata") + FolderPath1))
    GoSubFolders(colEnvVars("localappdata") + FolderPath1);

if (FSO.FolderExists(colEnvVars("localappdata") + FolderPath2))
    GoSubFolders(colEnvVars("localappdata") + FolderPath2);

if (FSO.FolderExists(colEnvVars("localappdata") + FolderPath3))
    GoSubFolders(colEnvVars("localappdata") + FolderPath3);

//if (!sErrors)

//    WScript.Echo("Обновление кэша прошло успешно");

//else

//    WScript.Echo("Возникли ошибки. Возможно есть запущенные процессы 1С");

 

function DelFile(sFILE)

{

    try

    {

        FSO.DeleteFile(sFILE, True);

    }

    catch(e)

    {

        sErrors = true;

    }

}

 

function GetFolder(sFOLDER)

{

    try

    {

        return FSO.GetFolder(sFOLDER);

    }

    catch(e)

    {

        sErrors = true;

    }

}

 

function GoSubFolders(objDIR)

{

    ProcessFilesInFolder(objDIR);

    var sFolder = GetFolder(objDIR);

    var subFlds = new Enumerator(sFolder.SubFolders);

    for (; !subFlds.atEnd(); subFlds.moveNext())

    {

        GoSubFolders(subFlds.item());

    }

    try

    {

        FSO.DeleteFolder(sFolder, true);

    }

    catch(e)

    {

        sErrors = true;

    }

}

 

function ProcessFilesInFolder(objDIR)

{

    var sFolder = GetFolder(objDIR);

    var subFiles = new Enumerator(sFolder.Files);

    for (; !subFiles.atEnd(); subFiles.moveNext())

    {

        DelFile(subFiles.item());

    }

}

//------------------------------------------------------------------

 

//Запускаем 1С

//------------------------------------------------------------------

WshShell.Run("1cestart.exe");




Бесплатная юридическая
консультация по телефону

8 (499) 350-80-26(Москва)
8 (812) 627-15-62(Спб)

звонок бесплатный

В центре внимания

Комментарии (0)