Обновление баз

Программа для автоматического обновления конфигураций Updater

Программа для автоматического обновления конфигураций Updater
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Довольно часто приходится сталкиваться с ситуацией, когда требуется
обновить большое количество конфигураций 1С. В частности имеем такую
ситуацию: есть новый MD-файл, которым нужно обновить довольно приличное
количество конфигураций (около 300 штук).

ВАЖНО: ВНИМАТЕЛЬНО(!) прочитайте следующий раздел.

1. Работа с программой:
~~~~~~~~~~~~~~~~~~~~~~~
1) Настроить кофигурационный файл config.ini

   Инструкция по настройке конфигурационного файла хранится в самом файле
   config.ini
   Длинные имена следует заключить в кавычки.
   
   В случае, когда у нас есть 300 конфигураций, возникает проблема прописать
   в config.ini все эти 300 путей. Действительно, не набивать же эти пути
   ручками. Я предлагаю такой вариант: Если все базы лежат в одном каталоге
   (а если не лежат, то их можно перенести), то сформировать список можно
   командой dir:
                   dir c: /ad > c:list.txt
   после чего подредактировать его в Notepad или Far.
   Кодировка файла должна быть Win(1251 — текст Windows).

2) Убедится, что путь к файлу 1cv7.md, которым нужно обновить конфы,
   лежит именно по тому пути, который прописан в config.ini

3) Собственно все. Теперь следует закрыть все программы (это не обязательно,
   но может встретится какая-нибудь прога, которая монопольно работает
   с мышевым и клавиатурным вводом) и запустить Updater через
   Start -> Run… (или нажать Пуск+R)

4) Пойти покурить, попить кофе, почитать книжку, т.к. процесс обновления
   довольно продолжительный по времени. Обновление одной конфы может занимать
   от 30 до 100 сек. в зависимости от быстродействия компьютера, сети и
   размера конфигурации. Соответственно 300 конфигураций = в среднем ~4 часа.
   Во время работы НЕЛЬЗЯ(!) переключаться в другие программы и вообще нажимать
   какие-либо клавиши, а также кликать мышью.

5) Программа ведет лог-файл своих действий, который может быть использован
   для диагностики возможных ошибок

6) ОБЯЗАТЕЛЬНО(!) сделайте backup ваших конфигураций, чтобы в случае ошибок
   все можно было вернуть в первоначальное состояние

7) В случае каких-либо непредустмортенных ошибок в обновляемых конфигурациях,
   программа может зациклится (будет обновлять одну и ту же базу) или будет
   вести себя некорректно. В этом случае нужно
   1. Нажать Ctrl+Alt+Esc и удалить задачу update.exe из списка процессов
   2. Удалить конфу (ну и заодно конфы, которые уже были обновлены), вызвавшую
      ошибку из config.ini
   3. Запустить update.exe еще раз

2. Алгоритм работы программы
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1) Из config.ini берется очередной путь, формируется и исполняется команда:
   «c:program files1cin1cv7s.exe» config /d[путь]
2) Ищется окно, имеющее в своем наименовании строку «Конфигуратор» или
   «Регистрация Информационной Базы»
3) Найденное окно делается активным и захватывает мышь
4) Определяются координаты окна и в зависимости от этих координат мышь
   устанавливается на меню «Конфигуратор». Это позволяет точно
   позиционировать мышь вне зависимости от разрешения экрана и позиции
   окна Конфигуратора
5) Посылаются клик мыши и 5-тикратное нажатие стрелки вниз, имитирующее
   выбор пункта «Загрузить измененную конфигурацию»
6) В появившийся диалог выбора файла посылается строка [путь]1cv7.md и
   нажимается Enter
7) Делается пауза в несколько секунд для того, чтобы дать базе загрузиться
8) Имитируется выбор пункта меню «Файл» -> «Выход»
9) Циклически нажимается Enter с паузой в 5 секунд до тех пор, пока окно
   конфигуратора не закроется. (в 1C по дефолту всегда выставляется кнопка,

18 Comments

  1. Myst_

    Программа для автоматического обновления конфигураций Updater

    Перейти к публикации

    Reply
  2. Ёпрст

    «Загрузить измененную конфигурацию» ???!!!!

    Это полный ПЭ.

    Reply
  3. Ёпрст
  4. Myst_

    (1) Ёпрст, Обновление проходит через сравнение-объединение конфигурации(подредактирую описание)

    Reply
  5. Kochevnic

    Спасибо! Будем пользоваться

    Reply
  6. TrinitronOTV

    как-то настораживает эти автоматические обновления, не люблю я этого, предпочитаю самому контролировать процесс объединения

    Reply
  7. Myst_

    (5) TrinitronOTV, Согласен — сам из таких.Это можно-нужно контролировать когда кол-во баз в разумных пределах, а т.к эта работа рутинная и больших денег не стоит, а кол-во баз зашкаливает (на практике эта обработка работает с 180 базами) Ну чего то мне не хочется смотреть на каждую.Лучше Книгу почитать чем каждые 2-3 минуты кликать на выскакивающие окна.

    А Вам так не удобнее было бы?

    Reply
  8. TrinitronOTV

    (6) у меня конф, правда, немного, но они правленные, чисто из-за этого предпочитаю сам контролировать процесс

    Reply
  9. mvv1975

    удалено

    Reply
  10. Myst_

    (8) mvv1975, Не понял что переделать? если и так ничего кроме конфигуратора не запускается.

    Reply
  11. mvv1975

    (8) извиняюсь. невнимательно строку запуска посмотрел…

    Reply
  12. Jancoy

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

    Reply
  13. Myst_

    (11) Jancoy, Данный функционал работал у меня 8 лет в компании Проблем не было.главное один раз все сделать аккуратно и кривые руки не пускать к ней.Баз около 100

    Reply
  14. dumal

    Я так понимаю, что через WSH можно набросать подобную прогу за полчасика. К сожалению, мне эта разработка не подойдет, так как базы, в основном, правленые

    Reply
  15. alexsiswx

    Неа, я все-таки доверяю только себе в этом деле. Частенько обновляю доработанные конфы.

    Reply
  16. Jancoy

    (12) большой Вам респект и уважуха! насчет аккуратности и кривых рук- полностью согласна. главное в этом деле- серьезный подход

    Reply
  17. Veduin

    И все 180 баз типовые??? Это довольно таки интересно. При таком количестве имеет право на существование!

    Reply
  18. McCoy77

    Еще бы кто подкинул подобную штуку для 8-ки…

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *