На данном сайте множество различных методов по выгрузке ИБ, но хотелось бы показать свой вариант (возможно, кто-то делает так же).
Скрипт имеет всего несколько строк кода, и это радует.
1. Открываем блокнот, вписываем туда следующий код:
chcp 1251
start /wait /d"C:Program Files1cv828.2.19.83in" 1cv8.exe ENTERPRISE /S ИмяСервераИмяБазы /N Логин /P Пароль /DisableStartupMessages /C ЗавершитьРаботуПользователей
start /wait /d"C:Program Files1cv828.2.19.83in" 1cv8.exe DESIGNER /S ИмяСервераИмяБазы /N Логин /P Пароль /UCКодРазрешения /DumpIB "D:BuhCopy_%date:~-10%.dt" /DumpResult "D:Read_%date:~-10%.txt"
start /wait /d"C:Program Files1cv828.2.19.83in" 1cv8.exe ENTERPRISE /S ИмяСервераИмяБазы /N Логин /P Пароль /C РазрешитьРаботуПользователей /UCКодРазрешения
exit
2. Заменяем, что выделено жирным шрифтом — у каждого это свои параметры. Сохраняем файл.
3. Меняем расширение файла с *txt на *bat и сохраняем.
После чего можно протестировать данный батник на работоспособность, открыв его.
Скрипт должен выполнить следующие действия:
— заходит в базу под пользователем (пользователь должен иметь полные права), блокирует базу и завершает работу пользователей, выходит;
— заходит в заблокированную базу под пользователем, введя код (пользователь должен иметь полные права), делает файл *dt, пишет результат выполнения выгрузки в файл *txt и сохраняет его, выходит;
— заходит в базу под пользователем (пользователь должен иметь полные права), снимает блокировку базы, выходит;
4. После успешного тестирования можно повесить данный файлик на планировщика заданий по расписанию.
Добавил файлы txt и bat — они полностью дублируют текст, который опубликован выше.
похоже на спам
(1) tarassov, почему спам?
Вы только объясните — зачем это надо?
(3) DitriX, я вроде как все описал в статье. процитирую еще раз
Рекомендую доработать скрипт под переменные, чтобы не писать несколько раз имя базы и т.д.
set NameBase=ИмяБазы
set NameServer=ИмяСервере
set Login=Логин
set Password=Пароль
start /wait /d»C:Program Files1cv828.2.19.83in» 1cv8.exe ENTERPRISE /S %NameServer%\%NameBase% /N %Login% /P %Password% /DisableStartupMessages /C ЗавершитьРаботуПользователей
(5) Virikus, Спасибо за рекомендации, я только за.
ЗавершитьРаботуПользователей. Эта запись как работает? Запускает процедуру из общего модуля конфигурации?
Комнада «/С» со значением «ЗавершитьРаботуПользователей» передает параметр в конфигурацию. Да, в общих модулях есть процедура (на типовых конфигурациях). Цитирую себя, как работает — «заходит в базу под пользователем (пользователь должен иметь полные права), блокирует базу и завершает работу пользователей, выходит;»
(7)
Спасибо за ответ. Я уже разобралась, просто у меня конфигурация не типовая, самописная, ну вообщем выкрутилась. Спасибо за полезный скрипт)
В первый день всё выгрузилось корректно, в последующие дни начинает зависать. Картина такая, он заходит в 1с и всё. Стоит закрыть программу и он начинает выгружать базу. Подскажите плиз, почему не работает. Windows server 2012 r2
Журнал регистрации 1С показывает: 19.11.2018 1:00:41 {ОбщийМодуль.АдминистрированиеКластераCOMКлиентСервер.Модуль(1042)}: Метод объекта не обнаружен (ConnectAgent)
СоединениеСАгентомСервера = COMСоединитель.ConnectAgent(СтрокаСоединенияСАгентомСервера);
Строчка скрипта для завершения работы всех пользователей упорно не отрабатывает.
Просто открывает сеанс 1С /S ИмяСервераИмяБазы /N Логин /P Пароль, и все(
Платформа 8.3.13.1513
«C:Program Files1cv828.2.19.83in» — это должно быть примерно так «C:Program Files1cv88.3.13.1513in»
«ЗавершитьРаботуПользователей» — это может быть другой, зависит от конфигурации. На УТ вроде что-то другое прописано, если я не ошибаюсь.