Надеюсь, кому-нибудь будет полезной.
В основе — параметры работы с 1С из командной строки.
Назначение:
1. Обновление типовых и нетиповых БД из хранилища
2. Обновление типовых БД (на поддержке) из внешнего файла (*.cf; *.cfu)
3. Архивирование баз до и после обновления
4. Обход модального окна подтверждения легальности при запуске в режиме 1С:Предприятие.
5. Анализ ошибок: подробный лог ведется в файле 1c_log.log (по умолчанию в папке temp, можно изменить), результат основных действий выводится в виде сообщений
Предварительные действия:
1. Создать файл со списком баз *.v8i
2. Обновить конфигурацию хранилища или подготовить файлы обновления
Порядок работы:
1. Запускать в толстом клиенте (неуправляемая форма)
2. Заполнить пользователя и пароль администратора баз
3. Поставить флаг «Архивировать базы» — становится доступным раздел «Параметры архивирования»
4. Поставить флаг «Обновить базы» — становится доступным раздел «Параметры обновления»
5. Флаг «Выполнить обновление неинтерактивно» — обновление релизов пройдет через ком-соединение, то есть в обход модального окна подтверждения легальности.
6. Флаг «Блокировать базы» — если нужно всех выкинуть из базы и заблокировать вход, при этом автоматом ставится флаг «Разблокировать базы» из пункта 7, так как нужно будет разблокировать базы.
7. Флаг » Разблокировать базы» — базы запускаются, выполняются процедуры обновления релизов, базы разблокируются и закрываются. (Есть «НО», смотри предупреждение ниже)
Варианты настройки:
1.Базы типовые или нетиповые, но в них имеются процедуры обновления БСП:
Ставим флаг «Выполнить обновление неинтерактивно», чтобы обойти окно проверки легальности
Остальные флаги по мере необходимости
2.Базы нетиповые, процедур обновления БСП нет
В этом случае можно внести ещё одно маленькое изменение, а именно — отключить процедуру проверки легальности при запуске БД:
В типовых конф-ях Бух 2.0, Зуп 2.5 и т.п. — закомментировать вызов в процедуре «ВыполнитьОбновлениеИнформационнойБазы()». В типовых Бух 3.0, Зуп 3.0 и т.п — вставить «Возврат Ложь» в функцию «ТребуетсяПроверитьЛегальностьПолученияОбновления()».
Флаг «Выполнить обновление неинтерактивно» снимаем
Ставим флаг «Блокировать базы…» или флаг «Разблокировать базы»
Остальные флаги по мере необходимости
Предупреждение:
Если процедура вывода модального окна проверки легальности при запуске БД НЕ отключена
+ не стоит флаг «Выполнить обновление неинтерактивно» или процедуры обновления БСП отсутствуют в конфигурации
+ стоят флаги «Блокировать базы» или «Разблокировать базы»
то
Окно подтверждения легальности придется закрывать вручную
Изменения от 24.02.2014:
1. Добавлена возможность обновлять серверные базы
Изменения от 11.04.2014: (версия _005)
1. Флаг «Выполнить обновление неинтерактивно» использовал объект «v82.COMConnector». При использовании других версий (8.0, 8.1, 8.3) обработка не запускалась. Ошибка исправлена. Запускать можно на любой платформе 8.*
Изменения от 05.08.2014: (версия _006)
1. Наличие пользователей и/или паролей в базах стало НЕобязательным
2. Имена пользователей, названия баз, пути к архивам, логу и т.п. теперь МОГУТ содержать пробелы, ошибку выдавать не будет.
3. Для каждой базы определяется релиз приложения 1cv8, если он установлен в настройках базы. Если не установлен — запускается самый свежий.
4. В командное окно добавлено описание выполняемой операции
Изменения от 03.04.2024: (версия _007)
1. Обновление через обработку переделано для работы с БСП. Изменено название флага на «Выполнить обновление неинтерактивно». Сделано для того, чтобы обновлять базы, где есть процедуры обновления БСП.
2. Добавил обработку прерывания пользователя
3. Заметил, что на некоторых новых релизах Бухгалтерии 3.0 после блокировки пользователей вываливается ошибка «Прекращена работа программы 1cv8c» и это окошко не дает закрыться командной строке и продолжиться обработке. С чем это связано пока не понял, при обновлении таких баз просто снимаю флажок «Блокировать базы».
Изменения от 08.04.2024: (версия _008)
1. Название модуля обновления в ЗУП «ОбновлениеИнформационнойБазыЗК» отличается от других конфигураций. Забыл исправить в прошлой версии.
Вот она обработка моей мечты!
Спасибо, забираю)
При открытии обработки выдает следующую ошибку:
{Форма.Форма.Форма(253,17)}: Переменная не определена (Пользователи)
ТекТаблица = <<?>>Пользователи;
{Форма.Форма.Форма(270,17)}: Переменная не определена (Пользователи)
ТекТаблица = <<?>>Пользователи;
1С 8.2.19.83 УПП 1.3.48.2
(2) AgregatAvia,
Ошибку исправил. На УПП 1.3 протестировал, перезалил.
До этого тестировал на БУХе, ЗУПе и самописных. В них случайно имя таблицы «Пользователи» в обработке совпало с именем общего модуля, поэтому ошибку не выдавал при открытии. Прошу прощения.
(3) Спасибо, теперь запускается)
Не заполняет список баз. Есть версия для серверного варианта?
(5) asseke,
Добавил возможность обновлять серверные базы
Отличная обработка. Список баз около 100. Вручную обновлять сводит с ума.
(7) BuchCentr,
Спасибо на добром слове!
Не работает. Платформа 8.3.
Заполнился список баз. Выбрал файл цф. Выбрал Обновить базы. Пользователи в 1С не заведены.
Запустил. Появляется черное окно выполнения системных комманд и модальное окошко запуска 1С.
Потом молчание пока не нажмешь кнопку Выход. Потом пишет «процедуры обновления выполнены!», хотя Ничего не обновилось. В логе практически пусто. Подскажите плиз куда копать?
(9) COMPER,
Добрый день!
1. Для автоматического обновления в базах должен быть хотя бы 1 пользователь с правами администратора.
!!!В версии 006 от 05.08.2014 уже не требуется!!!
2. Если пользователи не заведены, то в модальном окошке запуска 1С нужно очистить поле «Пользователь» и запустить базу с пустыми пользователем и паролем (и так придется делать каждый раз при появлении этого окошка). Как это обойти — пока не соображу.
!!!В версии 006 от 05.08.2014 исправлено!!!
3. Черное окно выполнения команд — это нормально, закрывать его не нужно.
4. «процедуры обновления выполнены!» — такого сообщения не смог получить. Если завершить работу во время обновления, то выдается сообщение типа: «Обновление основной конфигурации [111]: Обновление:», а дальше пусто. То есть выводить нечего, потому что в логе пусто (из-за аварийного завершения команды, в нашем случае Вы нажали «Отмена» или «Выход»).
Добрый день. Сборка супер, спасибо за труды.
Но наткнулся на одну заковыку. Если в названии папки с базой есть пробел, то выдается ошибка что не найдена база, например «С:1CООО Рога и копыта». Можно ли это исправить на уровне обработки, дабы не переименовывать папки с базами?
Обработка для группового обновления конфигураций 1С
Групповое обновление конфигураций 1С
Надеюсь, кому-нибудь будет полезной.
В основе — параметры работы с 1с из командной строки.
Очень хочется поставить минус, но пока воздержусь, надеюсь ошибка будет исправлена или может я что не так делаю:
Пробую обновление на демо базе УТ 11.1.2.25.
Обработку запускаю на УТ 10. (1С 8.2.19.83, версия обработки 005). Установлены флаги:
«Запускать обновление через обработку»
«Запускать базы после обновления»
«Архивировать базы» + добавлять префикс даты + архивировать до и после.
Имя пользователя: Федоров (Администратор)
Пароль — пустой (в демо базе его нет).
лог:
Архивирование [УТ Демо 11.1 (последняя) SSD] (_20140710_До): Архивирование (_20140710_До):
Архивирование [УТ Демо 11.1 (последняя) SSD] (_20140710_После): Архивирование (_20140710_После):
[УТДемо11.1(последняя)SSD]: процедуры обновления не выполнены!
Обработка завершена!
Что происходит:
1. По кнопке Запустить обработку вываливается окно вводя логина/пароля. Установлен пользователь «Федоров» !!! (куда подевалось (Администратор)????
2. ок, вручную выбираю пользователя Федоров (Администратор) и ОК.
3. запускается конфигуратор и … тишина.
После закрытия конфигуратора опять окно ввода логина/пароля ну и т.п.
+ пожелание — анализировать версию платформы. Если обработка запущена под 8.2, а база под 8.3 то вылазит ошибка несоответствия клиента и сервера (для серверных баз). Надо из списка баз брать параметр версии платформы и запускать под нужной версией платформы (если это возможно).
(11) o00oalex,
В версии 006 от 05.08.2014 исправил, сейчас пробелы допустимы.
(13) y-ha, добрый вечер! Указанные Вами ошибки исправил + добавил анализ версии платформы.
Что нового в версии 006 от 05.08.2014:
1. Наличие пользователей и/или паролей в базах стало НЕобязательным. Раньше при пустом юзере или пароле обработка прерывалась.
2. Имена пользователей, названия баз, пути к архивам, логу и т.п. теперь МОГУТ содержать пробелы, ошибку выдавать не будет. Федоров (администратор) как раз из этой оперы.
3. Для каждой базы определяется релиз приложения 1cv8, если он установлен в настройках базы. Если не установлен — запускается самый свежий.
4. В командное окно добавлено описание выполняемой операции (чтобы было видно, что что-то выполняется, а не висит).
Добрый день!
Почему то обработка работает не везде. На одном комьютере отработала корректно, на сервере проскакивает окно CMD при запуске батника. Т.е. открывается и тут же закрывается. Причем если запустить сам батник из временной папки то нормально отрабатывает. У меня подозрения, что может быть это как то связано с кодировкой.
Использую последнюю версию.
(16) shusharu, отвечаю сам себе.
Проблема оказалась в том, что КомнадаСистемы не отрабатывает при использовании КаталогаВременныхФайлов. Если катало задать более простой, тогда все нормально.
Добрый день!
Не отрабатывает обработка свое!
Автор, попробуй сам обновить УТ11 или Бух 3.0.
Посмотрев код, можно увидеть что обработка ОбновлениеИнформационнойБазы не имеет экспортных процедур в модуле объекта!
т.е. данная обработка подходит под БП2.0, к примеру. Необходимо это указать в описании, или изменить обработку доработав под обновление конфигураций на базе БСП.
Добрый вечер. Сейчас обязательно опробую Вашу обработку, дело в том, что приобрели ИжТиСи Обновление типовых, но пока есть проблемы у данного продукта. Вопрос, данная обработка обновляет базы на различных конфигурациях? 8.2 и 8.3 подвластны ей ? 🙂 Спасибо за труды, для меня, если данная обработка работает, просто находка 🙂
(18) y-ha, приветствую! Исправил под БСП. Протестировал на Бух 2.0, Зуп 2.5, УТ 11, Бух 3.0 и Зуп 3.0. Благодарю за интерес к обработке.
(20) LineykaSBK, добрый день! До версии _007, как выяснилось, не отрабатывала обработка неинтерактивного обновления для обхода модального окна подтверждения лицензии. В версии _007 данный косяк исправил. На данный момент, надеюсь, обработка способна обновлять любые конфигурации.
(17) shusharu, добрый день! Пару раз натыкался на данную ошибку, тоже путь менял.
Подскажите как быть в такой ситуации есть 10 типовых БП. Пропущено порядка 10 обновлений. С помощью данной обработки нужно накатывать по одному обновлению на все базы, используя файлы cfu или есть возможность скормить сразу все файлики cfu?
(24) Stas84,
1.Создайте хранилище на основе одной из баз БП
2.Накатите на него последовательно 10 обновлений
3.Обновите 10 баз из хранилища (с помощью обработки)
Не работал раньше с хранилищем. При таком порядке, как вы описали, при обновлении из хранилища остальных баз, они автоматически пройдут все 10 обновлений последовательно, с запуском процедуры обновления или обновление из хранилища пройдет за один раз (аналогично сравнить/объединить с последним релизом)???
В вашей обработке нашел недоработку. В серверном варианте, при подключении к базе и запуске обработки обновления есть ошибка в строке подключения. Исправил так:
Если Найти(Нрег(СокрЛП(База.КаталогБазы)),»srvr»)=0 Тогда
БазаКОМ = V8.Connect(«File=»»»+СокрЛП(База.КаталогБазы)+»»»;Usr = «»»+СокрЛП(ИмяПользователя)+»»»;Pwd = «»»+СокрЛП(Пароль)+»»»;»);
Иначе
БазаКОМ = V8.Connect(СокрЛП(База.КаталогБазы)+»;Usr = «»»+СокрЛП(ИмяПользователя)+»»»;Pwd = «»»+СокрЛП(Пароль)+»»»;»);
КонецЕсли;
flexornail, спасибо за обработку, есть вопрос. обновляю несколько баз Бух 8.3 из файла cfu, ставлю галку Выполнять обновление неинтерактивно. обновление проходит без ошибок, при запуске баз все равно выскакивает Проверка легальности и смущает то, что проходит она мгновенно. вопрос, это нормальная ситуация, так и должно быть? для сравнения, с базами Бух 8.2 такого не происходит, если стоит галка проверки легальности нет.
За обработку спасибо,помогла!
Однако полностью на автомате не получается.(
Каждый раз ругается на процедуры «неинтерактивного обновления ИБ не выполнены!» так и не понял в чем проблема.
Так же хорошо бы добавить возможность обновленные базы оставлять запущенными, чтобы проверить а обновились ли они, либо в логах писался релиз на который прошло обновление.
И по интерфейсу замечания, настройки надо сохранять, каждый раз прописывать пути не удобно, список баз в идеале сделать древовидным, т.к. когда в списке 100 баз раскиданным по подпапкам, визуально их отмечать тяжеловато выходит, пока найдешь нужную…, а ещё галочки добавьте стандартные, поставить все, убрать все.
(22) flexornail, а теперь все в точности как у TorLink, стоит только галка Выполнять обновление неинтерактивно, выдает ошибку «процедуры неинтерактивного обновления ИБ не выполнены» и проверку легальности в каждой базе приходится выполнять вручную. Не знаете в чем дело? Конфигурации Бухгалтерия 8.3 как файловые так и sql версии.
Здравствуйте! Обработка очень полезная это и не обсуждается! Спасибо большое.
Есть у меня несколько вопросов
1) Что то я не очень понимаю как ей пользоваться. Мои действия: запускаю ее в одной из баз, ставлю галочки какие нужны, выбираю базы из списка для обновления. Базы должны быть одного релиза?
2) Что происходит потом? у меня открывается конфигуратор и мне самому обновления ставить в одной из базы?
Был бы очень благодарен небольшой инструкции.
И если в пути к базе есть пробел или » -» то пишет, что база не найдена.
При обновлении с версии 3.0.40.42 на версию 3.0.41.49 и на более поздние выдает ошибку:
{Форма.Форма.Форма(236)}: Ошибка при вызове конструктора (COMObject)
V8 = Новый COMObject(Версия+».COMConnector»);
по причине:
-2147221164(0x80040154): Класс не зарегистрирован
Конфигурация Бухгалтерия 8.3 типовая, платформа последняя.
А если пропущено несколько релизов для типовой конфигурации, то при обновлении указывать каждый новый файл cfu?
Добрый день! В лог пишет «Невозможно выполнение обновления конфигурации в командном режиме». Означает какие то проблемы с конфигурацией? Конфигурация (БГУ 1.0.31.6) редактировалась с сохранением поддержки. В ручном режиме (через конфигуратор) обновляется без проблем
(34) 2PRV, добрый вечер! Попробуйте сократить путь к файлу обновления или убрать пробелы и кириллицу. Для пробы можно в корень диска кинуть. Может в этом дело.
(35) flexornail,
-не помогло. Видимо проблема все таки в конфигурации, т.к. на демо версии базы все успешно обновляется.
(36) 2PRV, а в процессе ручного обновления не предлагает установить режим поддержки? Если предлагает, значит не все объекты находятся на поддержке с возможностью изменения. Для исправления ситуации при следующем ручном обновлении нужно поставить «изменение с сохранением поддержки» для всех объектов. Ну или можно в дереве поискать объекты, у которых стоит замок и «снять» его.
Флаг «Выполнить обновление неинтерактивно» — обновление релизов пройдет через ком-соединение, то есть в обход модального окна подтверждения легальности. — Не нашла где устанавливается, Окно подтверждения легальности появляется.
У меня УТ. разобралась
В каком виде должен быть файл баз
Не срабатыает connect()
хотя comобъект создан
(40) chmv, добрый день! файл со списком баз должен быть в формате *.v8i
(41) chmv, если комобъект создан и ошибка при коннекте, возможно неправильно указан путь к базе, пользователь или пароль
В том то и дело, что Вы задали Пароль+Пользователь.
До этого места архивировалось
Очень понравилась программа. Правда пришлось переписать под тонкий клиент.
А можно ли как-нибудь программно в этой программе написать релиз
(45) chmv, доброе утро! Спасибо! Я почему-то не увидел смысла переписывать обработку под тонкий клиент, запускаю её в толстом клиенте и обновляю любые базы, и на обычных формах и на управляемых.
Релиз заполнить можно, но для этого при заполнении списка баз, нужно подключаться к каждой базе по ком и вытягивать релиз «Метаданные.Версия»
хотелка: улучшить следующим образом
чтобы можно было указать каталог обновлений естественно распакованных и он сам пробегался от и до по всем релизам
у меня ситуации мало баз, много обновлений — суть та же — автоматизация
Хотелось бы узнать как можно обойти легальность в 8,3,8
Не работает проверка легальности в версии 3.0.44.124
1. Надо передать параметры обновления
2. в 3.0.44.124 ошибки
Большое спасибо. Сэкономили кучу времени.
Есть куча одинаковых конфигураций. У всех установил признак «Редактируется с сохранением поддержки». Сделал изменения в одной базе, выгрузил конфигурацию в .cf. Пытаюсь обновить все остальные базы — ничего не выходит. только сообщение «Файл не содержит доступных обновлений»
Как так??
Ура! Большое спасибо!
flexor nail, подскажите, пожалуйста, можно ли выполнить «Сравнение, объединение с конфигугарацией из файла» с помощью вашей обработки?
Я изменил:
на:
но ничего не выходит…
Помогите пожалуйста.