База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как оператору обновить копию 1С без программиста через BAT-скрипт?
- В этой теме 1 ответ, 2 участника, последнее обновление 4 минуты назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
10 июля 2026 в 10:19 #38135
У меня есть удаленная программа гараж. Там работают операторы. Путь D:Putevki. На сервере \Server2017Putevki находится копия (операторы на сервере работать не могут — скорость низкая) На копии пользователи бухгалтерии смотрят, формируют отчеты. Обычно этого хватает утренняя копия. Но иногда они звонят операторам что нужно изменить данные и тогда требуется оперативное обновление копии. хотелось бы сделать замену 1Cv8.1CD не программистом, а оператором через выполнение bat или скрипта с четким алгоритмом типа Закрой прогу на основном, нажми кнопку для копирования Если обновление требует закрыть копию проги закрой и скопируй Это все батник должен делать
-
10 июля 2026 в 10:19 #38136
Вот пример простого батника, который реализует твой алгоритм с проверками и подсказками для оператора. Он:
1. Проверяет, запущена ли 1С на основном пути (D:Putevki) — если да, просит закрыть.
2. Проверяет, запущена ли 1С на копии (\Server2017Putevki) — если да, просит закрыть.
3. Если оба закрыты — копирует файл 1Cv8.1CD с основного пути на копию.
4. Выводит сообщения для оператора.—
1С (Код)12345678910111213141516171819202122232425262728293031323334353637@echo offchcp 1251set MAIN_PATH=D:Putevki1Cv8.1CDset COPY_PATH=\Server2017Putevki1Cv8.1CDecho Проверка запущенных процессов 1С...:: Проверка 1С на основном путиtasklist /FI "IMAGENAME eq 1cv8.exe" /FI "WINDOWTITLE eq *Putevki*" | find /I "1cv8.exe" >nulif %ERRORLEVEL%==0 (echo Внимание! Основная база 1С (D:Putevki) запущена.echo Пожалуйста, закройте программу на основном компьютере и нажмите любую клавишу...pause >nulgoto :eof):: Проверка 1С на копииtasklist /FI "IMAGENAME eq 1cv8.exe" /FI "WINDOWTITLE eq *Putevki*" | find /I "1cv8.exe" >nulif %ERRORLEVEL%==0 (echo Внимание! Копия базы 1С (\Server2017Putevki) запущена.echo Пожалуйста, закройте программу на копии и нажмите любую клавишу...pause >nulgoto :eof)echo Оба экземпляра 1С закрыты.echo Начинаю копирование файла 1Cv8.1CD...copy /Y "%MAIN_PATH%" "%COPY_PATH%"if %ERRORLEVEL%==0 (echo Копирование успешно завершено.) else (echo Ошибка при копировании файла.)pause—
### Как это работает:
—
tasklistищет процессы 1cv8.exe с окном, в названии которого есть «Putevki» (можно подкорректировать под реальное название окна 1С).
— Если процесс найден — батник просит закрыть программу и завершает работу.
— Если оба процесса не найдены — копирует файл 1Cv8.1CD с основного пути на копию.
— В конце выводит результат.—
### Что нужно сделать:
— Убедиться, что в названии окна 1С есть слово «Putevki» (иначе tasklist не найдёт процесс). Можно проверить через диспетчер задач.
— Путь к файлу 1Cv8.1CD заменить на реальные.
— Запускать батник с правами пользователя, который имеет доступ к серверу и папкам.
— Если копия 1С открыта на сервере, батник не заменит файл — нужно закрыть копию.—
Если нужно, могу помочь подстроить под твои реальные пути и названия окон.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.