Каталог решений - 1С 7.7 как сделать удаление *.cdx, копирование базы и тестирование по простому…

1С 7.7 как сделать удаление *.cdx, копирование базы и тестирование по простому…

1С 7.7 как сделать удаление *.cdx, копирование базы и тестирование по простому…

В наличии

Были трудности с удалением индексов, копированием базы перед тестированием и исправлением и собственно с тестированием и исправлением. Когда едешь в маршрутке не всегда сообразишь и вспомнишь что и как, а безграмотные пользователи и их кривые ручки — страшная сила.

Категория:

Описание

Навеяно //sale.itcity.ru/public/65109/

Были трудности с удалением индексов, копированием базы перед тестированием и исправлением и собственно с тестированием и исправлением. Когда едешь в маршрутке не всегда сообразишь и вспомнишь что и как, а безграмотные пользователи и их кривые ручки — страшная сила.

 

1С 7.7 конфа полностью самописная

Сделал просто «ПриНачалеРаботыСистемы»

запускаю ОткрытьФормуМодально(«Обработка.СозданиеBat_ников»);

а там:

[CODE]

//*******************************************

Процедура ПриОткрытии()

СтатусВозврата(0);

Сформировать();

КонецПроцедуры

 

//*******************************************

Процедура Сформировать()

Если (ФС.СуществуетФайл(«C:\BAT_Files\*.*»)=0) Тогда

ФС.СоздатьКаталог(«C:\BAT_Files\»);

КонецЕсли;

//Удаление индексов

ИмяБАТФайла=»c:\BAT_Files\DEL_CDX.bat»;

BatFile = СоздатьОбъект(«Текст»);

BatFile.КодоваяСтраница(0);

BatFile.ДобавитьСтроку(«del «+СокрЛП(КаталогИБ())+»*.cdx»);

BatFile.ДобавитьСтроку(«pause «);

BatFile.Записать(ИмяБАТФайла);

 

//Копирование базы

Если (ФС.СуществуетФайл(«C:\Copy_Before\*.*»)=0) Тогда

ФС.СоздатьКаталог(«C:\Copy_Before\»);

КонецЕсли;

КаталогБазы=СокрЛП(КаталогИБ());

КаталогБазы=Лев(КаталогБазы,СтрДлина(КаталогБазы)-1);

ИмяБАТФайла=»c:\BAT_Files\CopyBase.bat»;

BatFile = СоздатьОбъект(«Текст»);

BatFile.КодоваяСтраница(0);

BatFile.ДобавитьСтроку(«xCopy «+КаталогБазы+» C:\Copy_Before /E /I /F /H /R /Y «);

BatFile.ДобавитьСтроку(«pause «);

BatFile.Записать(ИмяБАТФайла);

 

 

//запуск тестирования

ИмяБАТФайла=»c:\BAT_Files\TestIB.bat»;

BatFile = СоздатьОбъект(«Текст»);

BatFile.КодоваяСтраница(0);

ИмяФайлаДляПоиска=СокрЛП(КаталогПрограммы())+»1cv7*.exe»;

ИмяФайлаДвижка=ФС.НайтиПервыйФайл(ИмяФайлаДляПоиска);

BatFile.ДобавитьСтроку(«rem — копируем базу «);

BatFile.ДобавитьСтроку(«echo on «);

BatFile.ДобавитьСтроку(«xCopy «+КаталогБазы+» C:\Copy_Before /E /I /F /H /R /Y «);

BatFile.ДобавитьСтроку(«echo off «);

BatFile.ДобавитьСтроку(» «);

BatFile.ДобавитьСтроку(» «);

BatFile.ДобавитьСтроку(«rem — удаляем файлы, чтобы зайти в 1С безымянным «);

BatFile.ДобавитьСтроку(«del /Q «+СокрЛП(КаталогИБ())+»USRDEF\*.* «);

BatFile.ДобавитьСтроку(» «);

BatFile.ДобавитьСтроку(» «);

BatFile.ДобавитьСтроку(«rem — запуск 1С для тестирования и исправления ИБ «);

BatFile.ДобавитьСтроку(«start /wait «»1с»» «»»+СокрЛП(КаталогПрограммы())+СокрЛП(ИмяФайлаДвижка)+»»» config /D»+СокрЛП(КаталогИБ())+» /N /P /@C:\Obr_Mag\TestIB.prm»);

BatFile.ДобавитьСтроку(» «);

BatFile.ДобавитьСтроку(» «);

BatFile.ДобавитьСтроку(«rem — ждём завершения работы 1С «);

BatFile.ДобавитьСтроку(«:exist «);

BatFile.ДобавитьСтроку(«if exist C:\Base\TMP\Base_DO\1Cv7.LCK goto exist «);

BatFile.ДобавитьСтроку(» «);

BatFile.ДобавитьСтроку(» «);

//вернём USRDEF на место

BatFile.ДобавитьСтроку(«xCopy C:\Copy_Before\USRDEF «+СокрЛП(КаталогИБ())+»USRDEF /E /I /F /H /R /Y «);

BatFile.ДобавитьСтроку(» «);

BatFile.Записать(ИмяБАТФайла);

 

 

ИмяБАТФайла=»c:\BAT_Files\TestIB.prm»;

BatFile = СоздатьОбъект(«Текст»);

BatFile.КодоваяСтраница(0);

BatFile.ДобавитьСтроку(«[General]»);

BatFile.ДобавитьСтроку(«Quit = 1»);

BatFile.ДобавитьСтроку(«CheckAndRepair=1»);

BatFile.ДобавитьСтроку(«[CheckAndRepair]»);

BatFile.ДобавитьСтроку(«Repair=1»);

BatFile.ДобавитьСтроку(«PhysicalIntegrity=1»);

BatFile.ДобавитьСтроку(«Reindex=1»);

BatFile.ДобавитьСтроку(«LogicalIntegrity=1»);

BatFile.ДобавитьСтроку(«RecalcSecondaries=1»);

BatFile.ДобавитьСтроку(«RecalcTotals=1»);

BatFile.ДобавитьСтроку(«Pack=1»);

BatFile.ДобавитьСтроку(«SkipUnresolved=0»);

BatFile.ДобавитьСтроку(«CreateForUnresolved=0»);

BatFile.ДобавитьСтроку(«Reconstruct=0»);

BatFile.Записать(ИмяБАТФайла);

КонецПроцедуры

 

[/CODE]

 

Формируем несколько BAT-ников, которые и делают нужное нам.

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

Ну а уж запустить BAT-ник по телефону – не сложно 😉

P.S. Почему-то BAT-ник с тестированием и исправлением срабатывает через раз. Почему — не знаю. Может подскажет кто…

 

has been added to your cart:
Оформление заказа