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

05.02.10

База данных - Инструменты администратора БД

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

Навеяно //infostart.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-ник с тестированием и исправлением срабатывает через раз. Почему - не знаю. Может подскажет кто...

 

См. также

Монопольное открытие формы обработки 1с77

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Блокировка открытия формы обработки одним пользователем.

1 стартмани

24.05.2023    617    igor7777    1    

0

Групповое переименование файлов для 1С 7.7

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

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

1 стартмани

18.02.2022    3789    0    igor7777    6    

2

[7.7 ТиС. СТОП-БАРДАК] Автоперенос непроведенных документов на текущий день

Инструменты администратора БД Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

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

2 стартмани

25.05.2020    5693    2    CheBurator    3    

2

Анализ 1С: Предприятие 7.7 с помощью ELK стека

Журнал регистрации Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Рассмотрим систему на базе Elasticsearch, Logstash и Kibana (ELK Stack) для анализа логов 1С Предприятие 7.7 с целью визуализации и анализа событий 1С.

22.01.2019    11147    phsin    20    

28

Автоматическое объединение конфигураций 1С 7.7

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

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

1 стартмани

22.04.2017    15679    4    devlabnn    2    

6

Перепроведение по счету

Инструменты администратора БД Бухгалтерский учет 7.7 1С:Бухгалтерия 7.7 Украина Бухгалтерский учет Абонемент ($m)

Перепроведение по счету для конфигурации Бухгалтерский учет для Украины, 1С: Предприятие 7.7

1 стартмани

23.09.2016    3751    1    Genyak    1    

0

Решение проблем с печатью, предварительным просмотром печати, пакетной печатью 1С: 7.7 в терминале

Инструменты администратора БД Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Периодически сталкивался со следующими проблемами при печати в 1С: 7.7 работающей под терминалом: 1) После замены принтера на клиентской машине 1С пытается печатать на старый принтер. 2) Отсутствует предварительный просмотр при печати. 3) Не работает печать без предварительного просмотра (пакетная печать документов). 4) В некоторых формах печатает, в некоторых нет.

1 стартмани

09.06.2016    27195    18    tux    3    

1

Логирование в 1С

Инструменты администратора БД Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Часто бывает необходимо отслеживать состояние часто повторяющихся регламентных заданий. Например, синхронизация данных с IP-телефонией, которая может производиться каждую минуту, синхронизация с сайтами, синхронизация данных с различными системами. Использовать для этих целей логирование 1С чрезвычайно неэффективно и не удобно. В таких случаях удобно использовать подход, применяемый в Unix-системах: писать логи в обычные текстовые файлы, а потом делать их обработку через эффективно работающие Unix-команды: grep, tail, cat, less и т.п.

18.05.2016    35111    rudjuk    21    

33
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Fisherru 78 05.02.10 07:53 Сейчас в теме
Добавлю, чтоб понятнее стало.
Розничная сеть, более 200-от магазинов в каждом только 1 торговая база (самописная)
+
2. Fisherru 78 05.02.10 08:32 Сейчас в теме
Кстати, и по сети работает и подключенные сетевые диски понимает и IP-адреса ;)
+
3. vasilykushnir 63 05.02.10 09:02 Сейчас в теме
Как много буков написано... В чем собственно трудности удалить индексы? Вижу только в одном - выключен комп, тогда действительно трудно.
На заметку:
http://infostart.ru/public/16915/

#( 1c_copy
AsLoggedUser
// Запускаем задание в 00:15
Time: 15 0 * * * *
Action:

// Здесь мы удаляем все процессы и индексы 1С
BEGIN
KILL: "1cv7.exe"
PROC-EXIST: "1cv7.exe" NOT
UNTIL

FILE-DELETE: "D:\FARMACEYA\*.cdx"

// Переиндексация базы
StartIn: "C:\1Cv77\bin"
ShowNormal NormalPriority
START-APPW: C:\1Cv77\BIN\1cv7.exe enterprise /d D:\FARMACEYA\ /NVasily /PПароль /m

// Делаем две копии (если надо) Базы - собственно синхронизация базы и ее копии
StartIn: "C:\Program Files\nnBackup"
ShowNormal NormalPriority
START-APPW: C:\Program Files\nnBackup\nnbackup.exe copy -log log\copy_arh.log -i D:\Farmaceya -o \\server2004\Pharmacia\ -p -s -v

StartIn: "C:\Program Files\nnBackup"
ShowNormal NormalPriority
START-APPW: C:\Program Files\nnBackup\nnbackup.exe copy -log log\copy_arh.log -i D:\Farmaceya -o \\server2004\1c_save\ -p -s -v

// Архивирование базы
StartIn: "C:\Arc"
ShowNormal NormalPriority
START-APPW: rar a -r -agDDMMYY -m5 -ed -ep2 -inul -mdg -t -x*.cdx -x*.tmp f:\1CCopy\2006\farmaceya D:\FARMACEYA\

// Месага о завершении
GET-CUR-TIME
MSG: "Копирование выполнено в %hh%:%mm%:%ss%"
)#
criptid; ZOMI; gutentag; +3
4. vip 05.02.10 09:38 Сейчас в теме
(3) Я тоже большой приверженец nncron. :)

> Вижу только в одном - выключен комп, тогда действительно трудно.
А включить из дома слабо? Я такой финт проделываю.
+
5. vasilykushnir 63 05.02.10 09:55 Сейчас в теме
(4) Я написал "Трудно" но не "Не возможно" :D

PS^ Автору - в чем еще прелесть крона: ставишь задание на ночь и никаких больше телодвижений. На утро база готова к употреблению. При необходимости любое задание крона можно в любой момент вызвать в ручном режиме (внепланово).
+
6. Fisherru 78 05.02.10 11:00 Сейчас в теме
(3)
Круто. :)
Я таких умных вещей и не знал. И даже не знал что они бывают ;)
Поэтому все по простому.
Кроме того компы на магазины системщики выставляют, а у них проблема - то одно забудут поставить, то другое, а тут крон какой-то - 100 пудово будут забывать его ставить, да и еще настраивать...
А кроме того, вдруг местный системщик базу в другое место перекинет в связи с ремонтом сервера, надо будет Крон перенастраивать?
А тут все само в общем-то!
Ну а за ссылку - спасибо - поизучаю.
А индексы и прочее нам приходится в рабочее время делать, когда слетает чего-нибудь...
+
7. Fisherru 78 05.02.10 11:12 Сейчас в теме
Кроме того наши продавцы гасят компы когда на ночь уходят - экономия электроэнергии и пожарная безопасность ;)
только сервак работает, а на нем настроено резервное копирование.
Правда сейчас отказываются от серваков - просто 2 компа вяжут, а их на ночь вырубают... :(
Кроме того еще заметил, что вы входите в 1С под конкретным юзером. А я делаю "финт ушами" - вхожу безымянным. Так как 100 пудово не на всех, более 200-сот магазинов, сохранилась моя учетная запись, поскольку список пользователей редактируют сами управляющие и меня местами поудаляли ...
+
8. vasilykushnir 63 05.02.10 12:09 Сейчас в теме
(7) Ну у меня ты фиг бы безымянным вошел :)
Юзер прописывается, естественно, в конфигураторе (надо как-то присобачить ему права и интерфейс), а также вводится в справочник Пользователи1С, где есть ссылка на юзера в конфигураторе. И если его нет в справочнике - нафиг с пляжа!
+
9. Fisherru 78 05.02.10 14:13 Сейчас в теме
(8) Ежели в конфигураторе отдельно ДопЗащита не прописана и справочника Пользователи1С нет - то удаление папочки USRDEF рулит.
Опять же заметьте, магазинов уже более 200-сот в радиусе 500 км. В каждом по нескольку пользователей в целом получается более 1000 человек. Большая текучка. Прописывать их всех в конфигураторе - не реально, запихивать в справочник Пользователи1С (централизованно) - тоже. Поэтому заведение пользователей в программу отдано на откуп Управляющей магазина, а она легко может удалить мою учетную запись...
В общем, у каждого своя специфика...
Однако не ответили что будет если базу перенести в другое место - надо будет Крон перенастраивать?
Ну и проблему, если пользовательскую учетную запись удалят - Крон то же не решает - ничего не сработает.
А мой вариант работает всегда, везде и хоть дворник может Bat-ничек запустить... ;)
+
10. chetirepda 8 15.03.12 14:06 Сейчас в теме
Если использовать созданную копию, то эта копия будет содержать все данные из базы с которой эта копия была сделана. Удалить эти данные можно как в пользовательском режиме, пометив все ненужные объекты на удаление, а потом удалив их. Так и более простым способом, путем удаления «ненужных» файлов из каталога с копией базы.

Обратите внимание, что если файлы будут удалены, вместе с ними будут удалены и данные! Восстановить их будет крайне сложно, а иногда и невозможно! Будьте аккуратны!

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

Нужно оставить:


Все каталоги, например ExtForms
Файл 1cv7.md
Файл 1cv7.dd
Если есть v7plus.als
Если есть v7plus.dll
Если есть 1cv7srct.st
Если есть 1cv7Main.tip
Если есть tmpltrns.tof
Если есть arj.pif
Если есть barcode.ocx
Все файлы с расширением *.spl
Все файлы с расширением *.txt
Все файлы с расширением *.dll
+
11. chetirepda 8 15.03.12 14:08 Сейчас в теме
Как быстро удалить все документы из 1С Предприятие 7.7

Скажу сразу, удалять будем не конкретные документы через интерфейс 1С Предприятие. Удалять будем напрямую файлы, в которых хранятся документы. Поэтому данный способ работает только на файловой версии 1С Предприятие 1С 7.7.

Как определить, какие файлы необходимо удалhttp://1czone.ru/admin.php?mod=editnews&action=editnews&id=18ить, чтобы очистить базу от документов? Для выполнения нашей цели необходимо немного знать структуру данных файловой версии 1С 7.7.

Справочники хранятся в файлах с именем SC*.DBF, документы в файлах с именами DT*.DBF и DH*.DBF, регистры в файлах RG*.DBF и RA*.DBF

Какой именно правочник или документ в каком файле хранится можно посомтреть открыв файл 1Cv7.DD любым текстовым редакотором.

Итак, нам необходимо очистить базу 1С 7.7 от документов, оставив справочники.

Для этого удаляем:

1. Файлы документов

dt*.*
dh*.*

2. Файлы регистров

rg*.*
ra*.*

3. Индексные файлы. Нам в любом случае необходимо будет переиндексировать базу

*.cdx

4. Служебные файлы, назначение которых Вам не интересно

*.lst
1SOPER.dbf
1SENTRY.dbf
1SBKTTLC.dbf
1SBKTTL.dbf
1SACCSEL.dbf
1SSBSEL.dbf
1supdts.dbf
1sdwnlds.dbf
1sdbset.dbf

5. Папки, которые нам не нужны

New_Stru
Syslog
+
12. chetirepda 8 15.03.12 14:08 Сейчас в теме
Для этого мы можем удалять файлы в ручную, но лучше написть исполняемый файл, который за 1 раз удалит все необходимые файлы.

Для этого создаем пустой файл "Удаление.CMD", в который пишем команды DOS:



Pause

del New_Stru

del Syslog
del *.cdx
del *.lst
del 1cv7srct.st
del dt*.*
del dh*.*
del 1sjourn.dbf
del 1scrdoc.dbf
del 1sdnlock.dbf
del 1sstream.dbf
del rg*.*
del ra*.*
del 1SOPER.dbf
del 1SENTRY.dbf
del 1SBKTTLC.dbf
del 1SBKTTL.dbf
del 1SACCSEL.dbf
del 1SSBSEL.dbf
del 1supdts.dbf
del 1sdwnlds.dbf
del 1sdbset.dbf



Далее необходимо скопировать этот файл в каталог Вашей информационной базы и запустить. Далее отвечаем "Yes" на вопросы об удалении.

Ждем 1секунду. Все, файлы удалены, в нашей базе больше нет документов.
+
13. Fisherru 78 16.03.12 09:45 Сейчас в теме
Да уж как много букв :-)))
Уже давно сделали bat-ничек,
который сам обрезает базу 1С, без участия пользователя.
В процессе происходит:
-резервное копирование
-тестирование и и справление
-выгрузка данных
-удаление данных (удаление дбф-ок)
-загрузка 1С монопольно
-загрузка данных
в процессе строятся отчеты по регистрам ДО и ПОСЛЕ,
чтобы можно было сравнить, что всё хорошо ;)
+
Внимание! Тема сдана в архив