1С и PowerShell - обновление из хранилища
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
И снова здравствуйте.
В очередной раз стала задача автоматизировать обычный, рутинный процесс и оказалось, что есть куча инструкций, а готового механизма нет, чтобы вот так взять, скачать, установить в планировщик и все заработало. Те, которые нашел на Инфостарте, стоят стартмани, а вот реально рабочий, бесплатный скрипт что-то я не смог найти.
В итоге я поступил так, как привык в таких случаях. Открыл PowerShell ISE, посмотрел примеры кода в интернетах, которые реализован на VBS, либо CMD, либо PS и накарябал своего кодового "франкинштейна", который работает так как надо*, и при этом не требует тратить временные ресурсы на повторную разработку. Этот кусок кода и выкладываю, чтобы каждый желающий мог посмотреть и если подходит взять. При необходимости не сложно будет адаптировать под свои нужды и запустить в работу, не тратя время на долгие поиски и изучение мануалов, чтобы автоматизировать простую по своей сути операцию.
И так. Что делают эти вот буквы, что под спойлером ниже:
0. Если в первую функцию передать флаг "выкинуть конфигуратор" - ЛОЖЬ, то скрипт не будет выкидывать пользователей и блокировать базу, если запущен конфигуратор. Если истина, то прибьет сеанс с конфигуратором тоже.
1. Подключается к консоли управления серверами 1С через com, находит по имени нужную базу данных, устанавливает на нее блокировку сеансов и блокировку регламентных заданий, пароль UС;
2. Завершает сеансы всех пользователей, если требуется;
3. Через конфигуратор получает все данные из хранилища, для обновления;
4. Обновляет конфигурацию из хранилища;
5. Выключает блокировку регламентных заданий и блокировку сеансов;
6. Обо всем этом пишет в лог (что-то пишет)))...
*-когда я пишу, что работает так как надо, то надо понимать, что это самое "надо" исходит из той задачи которую решал я. У вас может быть сходная задача но не по всем параметрам повторять мою, и это решение может на 100% не подойти, но поможет разобраться с вашей задачей, сэкономив время.
При создании, были пришиты части тел от статей: Параметры командной строки 1С, Управление сервером приложений 1С с помощью PowerShell и куча информации по самому PowerShell из интернетов.
В файле ровно то же самое, что под спойлером!
UPD: Не выдержала душа поэта. Написал скрипт на AutoIT. В архиве приложенном ниже лежит скрипт для 32 и 64 битных систем и пример файла параметров. Все протестировал. В целом выполнение с PS скриптом схожее, сам PS скрипт тоже в архиве.
UPD (21.12.2020): Доработал скрипт Autoit, теперь он ставит блокировку базы в периоде от начала работы скрипта, до завершения, которое вычисляется путем прибавления минут к дате начала, указывается в ini файле (по умолчанию 30 минут). После того, как скрипт отработает и снимет блокировки, время ставит от 1 января 2000 года, до 31 декабря 2999 года (пустую дату подкидывать не хочет, поэтому если кто-то упрется в дату, то напишите и я ее подвину дальше).
Вступайте в нашу телеграмм-группу Инфостарт