Как обновить 1с крякнутый

Обновлено: 06.07.2024

Доброго дня, коллеги! Хочется получить обратную связь (идеи, отзывы) о моей программе Обновлятор-1С и её дальнейшем развитии.

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

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

У программы уже больше 5000 скачиваний и сотни пользователей, поэтому свою нишу (пусть пока небольшую) она уже заняла и доказала свою востребованность.

Да, ветка с Волшебником согласована.

тупо: если обновление базы не уложилось в отведенное время - принудительный абандон и восстановление из резервной копии.
конечно, это чревато. Нет, конечно, автоматическое восстановление из резервное копии делается только для критических ошибок:
- когда ошибка возникла на уровне применения файла обновление платформой 1С (ключи updatecfg, UpdateDBCfg)
- когда ошибка возникла при попытки выполнения регламентных операций с базой и подтверждения легальности после обновлений. Не совсем точно написал. Ошибка подтверждения легальности не является критичной. Поэтому восстановление делается только при ошибках уровня UpdateCfg, UpdateDBCfg. Плюс автоматическое восстановление делается только для файловых баз. Для серверных же намеренно не делается, а просто выводится путь к dt выгрузке в отчёт.

Как обещал, первый подарочный ключик: 83cb15a5-6729-493a-ab10-07b2cbc26082
Для его активации:
- Установите последнюю версию программы Обновлятор-1С.
- Запустите Обновлятор-1С на компьютере, для которого он предназначен, и нажмите кнопку "Активировать проф-версию" в правом нижнем углу.
- Следуйте инструкции.

Ключик забирает первый его активировавший.

(5) Хотел забрать, даже начал скачивать последнюю версию с сайта, но потом одумался и решил оставить для нуждающихся - мне-то он зачем. Халява развращает!))) (6)Толи забрали уже, толи кривая прога, получаю ошибку "робот на профилактике, приходите никогда". Какая то сырая хрень. (6) Ключик уже действительно забрали. При попытки его повторной активации на почту будет приходит уведомление об этом. Если у вас не срабатывает попытка активации - вероятно перекрыты порты на сервере - такие вопросы мы решаем отдельно с пользователями, купившими программу. Ага, дело не в портах. Видимо сработал mista эффект. Большое количество одновременных запросов на активацию сломали сервер активации (вернее учётную запись, через которую идёт отправка писем). Я придумаю как поступить и потом продолжу выкладывать сюда новые ключики. Хозрасчётные конфигурации, как правило, довольно просто обновляются.
А вот у "Бухгалтерия государственных учреждений" после обновлений нужно обновить классификаторы, отчёты, форматы обмена с банками. вот на этом при каждом обновлении много времени теряю.
Можно даже отдельную версию обновлятора с отдельной ценой под это дело сделать. Ябвзял. (11) Да, про БГУ мне уже писали отдельно пользователи. Стоит в плане изучить этот вопрос отдельно и, если будет возможность, добавить в обновлятор-1с.

Ещё раз проверил сервер активации - действительно работает нестабильно (его только недавно прикрутил в программу, раньше сам высылал ключи активации) из-за одновременной попытки многих пользователей.

Да, новые бесплатные ключики:

(13) gmail заставит вас поменять пароль за входы с разных городов. (15) да, уже думал об этом. Но раньше не приходилось писать таких серверов для активации. Это, так сказать, мой первый блин. Ну и уже 2 недели как работает - почти 100 пользователей получили свои ключики довольно успешно. (13) Спасибо, взял eda4c46c. но как понять, что активация прошла? Если там заработает, потом прикуплю для других ;)
Появились вопросы, сейчас напишу. (17) Да, вижу что активировали. В активированной версии - работают возможности (опции) под заголовком - "только в проф-версии". В лайт при нажатии на них - выскакивает окно с ограничениями. Ну и в проф-версии можно сразу на обновление любое количество баз ставить, в отличие от лайт (только 2).

Вопросы по сложному расписанию
1) Как для каждой базы установить своё расписание?
2) Как обновлять базу по произвольному событию? Например по команде из почты?
3) Например, нужно обновить группу из 5-ти баз, но если при обновлении первой произошла ошибка, не обновлять.

Идеи на будущее
Обновление измененных конфигураций.
Допустим подготовил нетиповое обновление в виде CF.
Нужно обновить базу на несколько типовых релизов, не обновляя ИБ и в конце сравнить/обновить с CF и с пометкой разрешить удаление объектов.

И на тот же e-mail, но другой компьютер, можно будет приобрести программу ещё разок-другой?

1) Установить запуск обновлятора в нужные дни и время (закладка настройки). У нужных групп баз установить разные "любимые дни" в расширенных настройках каждой базы. Нажмите на ссылку рядом с любимыми днями - там всё расписано про них. Более детальных возможностей настройки пока нет, так как никто не просил.

2)Встроенной такой возможности нет. Вы можете внешне настроить запуск обновлятора-1с из командой строки по вашему событию, чтобы он сразу начал обновления. Для этого запускайте его с ключом UpdateAndClose

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

Спасибо за идеи:
- Измененные типовые конфигурации, но на поддержки, обновлятор поддерживает уже сейчас.
- Есть в плане добавить загрузку из нетиповых cf (сейчас уже есть возможность обновляться из cf но через updatecfg, сделаю галку чтобы делать loadcfg - некоторым пользователям это нужно бывает как раз для таких случаев)
- про это подумаю, спасибо

(20) да, конечно
При активации привязка идёт только к аппаратной части компьютера (мат. плата и процессор), сам ящик неважен. ИМХО - автоматическое обновление платформы.
Скачивается и ставиться платформа, потом на новой платформе обновляются конфигурации.
Ну и как мы уже обсуждали - многопоточное обновление (т.е. одновременно несколько конфигураций).

(23) да, обновление платформы уже стоит в графике (и даже скажу больше, сделано и работает в черновом варианте).

Кстати, с удивлением обнаружил, что в недавних релизах бухгалтерии (тройки) 1С тоже прикрутили возможность скачивать автоматически новую платформу прямо из программы. Но в обновляторе всё это планирую более гибко и юзабельно сделать.

Многопоточное обновление - моя мечта. Правда потребует много времени на реализацию и отладку, но оно появится в обновляторе (только уже в след. году).

Вижу, ключики все активировали, вот ещё:

(24) а вообще, хочу полное обновление 1С для корпоративной инфраструктуры.
А именно:
ставлю задание завтра 1.00 обновить: Сервер предприятия (с не стандартным поторм) на рабочих серверах и на тестовом сервере. Обновить платформы на терминальных серверах, после обновить бухгалтерию.
Пришел с утра. а там благодать :)

Давно себе сделал на 8.0, потом переехал на 8.3 - робот бэкапер баз (бэкапит по расписанию или не бэкапит если база не используется пользователями) и запускатель обработок, например обновление курсов валют - скачивает один раз с интернета и записывает в несколько баз.

Идеи оттуда.
Расширенные настройки прописывать не только для баз, но и для групп баз. Приоритет у баз. Например если пароль указан на группе и не указан на базе, берем настройку из группы. Если пароль есть и на базе, то берем из настроек базы.

Буду наверное закидан помидорами с воплями "гоните его, насмехайтесь над ним. " или "ну и сколько ты с этого будешь иметь?". Ни сколько, если честно работаю ОдинЭсс_ником (да, считаю это чем то средним между программистом и оператором ПЭВМ, да и вообще ругательным словом) с 2005г., сначала просто обновлял 1С работая в нашем региональном РИЦ, пока 1С окончательно не заставила организации выполнять обновления только через франчайзи и ИТС. Потом устроился в одну крупную организацию в которой осуществлял внедрение 1С. В итоге сейчас работаю в холдинге руководителем отдела ИТ. До меня в этом отделе работали 5 человек из которых двое (руководитель и специалист 1С) сопровождали программный комплекс 1С, а это около 15 баз. Когда я устраивался, мне сказали, что специалист 1С работающий на удаленке у них имеется и от меня требуется только раздавать задачи, сопровождать сервера, и вести документацию.

Но оказалось не все так просто. На месте я узнал, что прошла "оптимизация" в итоге в отделе осталось 2 инженера-техника, я и тело на удаленке (тело приняли за 2 дня до меня). Потом это тело поковырявшись с базами 1С походу поняло куда попало и уволилось через месяц. В итоге на те деньги которые руководство выделило на специалиста по 1С можно нанять разве, что голодающего студента с 1го курса, поэтому вся нагрузка по 1С легла на меня. Меня это не пугало, поскольку на предыдущей работе, я и моя помощница сопровождал три программных продукта 1С, обновляли, учили пользователей и выполнял прочую ИТшную работу и усмиряли дергающийся правый глаз. Но тут я столкнулся с такой проблемой, что все 15 баз надо обновлять, и желательно на всё самое свежее. И каждый месяц превращался в "АД", после каждого релиза приходилось тратить несколько дней только на то, чтобы обновить базы, а если там был какой нибудь косяк (а 1С в принципе без косяков не выпускает ни чего), приходилось повторять процесс.

И шарясь по просторам интернета в поисках решения, я наткнулся на очень интересный ресурс http://helpme1c.ru . А если быть конкретнее на программку Обновлятор-1С. Почитав функционал я подумал, что это какая то самописная "фигня", которая имеет скорее всего пару тройку скриптов, которые будут стартовать при нажатии на кнопочки. Но я ошибался. Мало того что интерфейс оказался удобен и логичен, так гибкость настроек и функционал меня порадовал. И всё это в БЕСПЛАТНОЙ. версии, а там еще есть версия ПРОФ. Попробовав, я был в состоянии эйфории, настроенная система работала по принципу "нажал кнопку и забыл".

Обновлятор 1С. Альтернатива есть. 1с, Бесплатно, Программа, Не реклама, Длиннотекст, Длиннопост

Весь функционал перечислять не буду, дам лишь короткую выдержку с сайта.

- Очень простая настройка. В большинстве случаев вам достаточно будет один раз выбрать галками нужные базы и забить логин/пароль от сайта users.v8.1c.ru (они уже должны у вас быть, если вы обновляете базы самостоятельно; о том как их получить читайте здесь). Всё. Можно нажимать кнопку "Обновить".

Обновлятор-1С поддерживает автоматическое обновление практически всех видов баз 1С (полный список здесь). Если вашей конфигурации нет в этом списке - просто свяжитесь со мной и я её туда добавлю.

- Обновлятор-1С умеет самостоятельно скачивать все нужные обновления с сайта 1С (при наличии логина и пароля).

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

- Все конфиденциальные данные баз (например, пароли) хранятся в зашифрованном виде.

- Обновлятор-1С поддерживает как файловые, так и серверные базы данных.

- Обновлятор-1С использует тот же самый механизм обновления, что и сама 1С.

- Обновлятор-1С делает обязательное резервное копирование баз перед обновлением. Для файловой базы происходит архивация файла 1Cv8.1CD, для серверной - выгрузка в dt-файл.

- Обновлятор-1С автоматически восстанавливает базу из резервной копии, если обновление не удалось для файловой базы (для серверной просто пишет путь к выгрузке, сделанной перед началом обновления).

- Сделанные резервные копии остаются в вашем распоряжении, хранятся 2 (и более) самых свежих копий для каждой базы.

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

- Обновлятор-1С автоматически завершает работу пользователей перед запуском обновлений.

- Обновлятор-1С может запускаться по расписанию.

- Обновлятор-1С может уведомлять вас о результатах обновления на почту.

и еще некоторые функции см. подробнее на сайте.

Могу отметить лишь несколько минусов, которые надеюсь в будущем создатель этого "детища" доработает.

- работает только с типовыми конфигурациями. (однако есть методы решения)

- обновление работает только в пакетном режиме. (тоже надеюсь доработают)

Да есть программы которые могут то же самое, НО цена эти ПП начинаются от 4000р., а которые идут от 1С или сторонних разрабов совместимых продуктов от 7000р.

Остальные проблемы или пожелания автор дорабатывает быстро, одним словом молодец. А полным сюрпризом для меня стала цена этого ПП (кому интересно можете посмотреть на сайте). А еще у него есть такой интересный пункт, "для Пиратов"

Обновлятор 1С. Альтернатива есть. 1с, Бесплатно, Программа, Не реклама, Длиннотекст, Длиннопост

Вот такие люди в среде "разрабов" у меня вызывали уважение. Это всё, что я хотел сказать этим постом, надеюсь кому-то он окажется полезен и сэкономит время.

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

Сожаление о том, что не узнали об этой программе раньше. Сожаление о том бесчисленном количестве часов и нервов, которые были потрачены на полуручное обслуживание своих баз.

Кто бы вы ни были - системный администратор, программист или бухгалтер.

Вот 8 причин, почему вам нужен Обновлятор:

  • Он умелый. И с легкостью автоматизирует любые операции сразу для всех ваших баз - архивацию (в том числе средствами СУБД MS SQL и Postgres), обновление, тестирование и многое другое. Вы забудете про рутину.
  • Он безопасный. Все операции над базами осуществляются через пакетный запуск платформы 1с (это её документированная возможность), поэтому все результаты работы полностью идентичны тому, как если бы вы делали всё вручную из конфигуратора.
  • Он универсальный. И одинаково хорошо работает как с файловыми, так и серверными базами 1С. При этом не важно какая у вас база - полностью типовая, доработанная или разработанная собственными силами с нуля. В обновляторе реализованы полезные возможности для каждого из этих случаев.
  • Он быстрый. Поддерживается многопоточное (параллельное) выполнение любых операций над базами.
  • Он облачный. И это гарантирует вам 100% защиту созданных архивов от шифровальщиков . Поддерживаются nas, ftp, ssh, webdav, mega.nz, onedrive, google drive, яндекс-облако и другие s3-совместимые хранилища.
  • Он осторожный. И рассчитан на самых различных пользователей. Это значит, что с его помощью испортить рабочую базу или остаться без копии после выполнения опасной операции практически невозможно.
  • Он технологичный. Поддерживаются такие технологии как обновление доработанных конфигураций, обновление из хранилища, обновление расширений , написание собственных скриптов для автоматизации.
  • Ему доверяют. Программа развивается и поддерживается с 2015 года, и в нашей стране с ней работают тысячи пользователей и сотни компаний (Кнопка, Systola, Крауд, OneTek, Смарт Офис, Технопарк Новосибирского Академгородка, Айтиматика, iTeamPro, Cloudray, Анком и многие другие).

При обновлении обновлятор автоматически (без участия пользователя):
  • скачает все нужные обновления с сайта 1С или подхватит уже установленные;
  • выгонит пользователей, запретит работу регламентных заданий на сервере, завершит зависшие сеансы;
  • сделает резервную копию базы;
  • выполнит обновление базы в пакетном режиме;
  • выполнит обработчики обновления;
  • пустит всех пользователей обратно.
  • сделает резервную копию базы (zip, dt или sql);
  • если вы захотите - зашифрует созданный архив вашим паролем;
  • если вы захотите - изменит расширение архива на заданное или случайное;
  • если вы захотите - запишет архив под произвольным пользователем системы;
  • если вы захотите - продублирует архив в любые другие папки, хранилища, облака;
  • удалит старые архивы, чтобы сохранить заданное вами количество дневных, недельных, месячных, квартальных и годовых копий.

Ответы на каверзные вопросы:

Для выполнения операций над базами Обновлятор использует пакетный режим конфигуратора.

Это документированная возможность от самой 1с для автоматизации операций над базами, которая используется во всех решениях (в том числе от 1с) для администрирования баз.

Поэтому результат обновления, архивации или тестирования, проведенных через обновлятор, будет в точности совпадать с результатом этих же операций, сделанных вручную через конфигуратор.

Получается, что обновлятор работает с базами руками конфигуратора, поэтому такой способ работы можно считать абсолютно корректным и безопасным.

Первый официальный обновлятор вышел в мае 2015 и с тех пор у него появились тысячи пользователей и сотни компаний, использующих его в своей ежедневной работе.

Да, обновлятор умеет выполнять операции с базами, которые используют базовую платформу 1с.

Базовая платформа не позволяет выполнять внешнее подключение к базам, но обновлятор обходит это ограничение при помощи вот такого приёма.

Да, обновлятор поддерживает работу с серверными базами в полной мере.

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

И, конечно же, у них используются кластеры серверов 1с (на разных ОС) с большим количеством подключений и рабочих процессов, чтобы обеспечивать такую нагрузку.

И на протяжении этих 5 лет поддержки и разработки мне совместно с ними, кажется, удалось учесть все мыслимые и не мыслимые нюансы, связанные с операциями над серверными базами из обновлятора.

По умолчанию обновлятор настроен на автоматическое пакетное обновление типовых баз на поддержке.

И если в такую базу внесены доработки - это ещё не значит, что она перестанет обновляться в пакетном режиме. Это решение принимает конфигуратор, когда обновлятор просит его применить обновление.

При этом обновлятор имеет ряд дополнительных возможностей для обновления доработанных баз, для которых пакетный режим по умолчанию не подходит:

  • обновление множества однотипных баз
  • обновление с возможным затиранием доработок
  • обновление из хранилища
  • обновление расширений
Может ли обновлятор выполнять операции в несколько потоков?

Обновлятор выполняет операции над базами последовательно одну за другой.

И в некотором смысле это правильно, так как, например, попытка обновить базы одновременно в несколько потоков на среднестатистическом компьютере приведёт к тому, что система буквально "встанет колом" - производительность упрётся в жесткий диск и процессор - и такое параллельное обновление будет идти даже дольше чем обычное последовательное.

Но у некоторых компаний есть настолько производительные серверы, что для них параллельное выполнение операций над базами в несколько потоков действительно имеет смысл. Особенно в том случае, если баз настолько много (или они настолько большие), что последовательное выполнение операций не укладывается в "ночное окно".

В этом случае я рекомендую многопоточное (параллельное) выполнение операций: ссылка.

Да, обновлятор умеет скачивать и устанавливать нужную версию платформы 1с при минимальном участии пользователя.

И всё-таки чем обновлятор лучше других инструментов?

Без ложной скромности скажу, что если мы будем рассматривать всё, что умеет делать обновлятор с базами, то обнаружим, что конкурентов у программы просто нет.

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

И это отсутствие качественных инструментов - настоящая беда для всей экосистемы 1С.

И если даже рассматривать только операцию обновления баз - становится ясно почему наличие таких инструментов просто жизненно необходимо для всех нас.

Помимо различного рода обновлений (и всего что с ними связано) обновлятор ещё умеет:

  • выполнять архивацию баз (zip, dt, sql) с защитой архивов от шифровальщиков и удалением старых архивов с сохранением нужного количества дневных, недельных, месячных, квартальных и годовых копий;
  • выполнять тестирование баз;
  • управлять расширениями в базах;
  • управлять регламентными заданиями в базах;
  • выполнять различные блокировки-разблокировки сеансов и регламентных заданий на сервере;
  • выполнять batch скрипты над базами;
  • выполнять скрипты на onescript;
  • чистить временные файлы (кэш) 1с;
  • загружать комплекты отчётности для БГУ;
  • менять формат баз и проверять их физическую целостность;
  • ещё с десяток операций, полезных в том или ином случае.

На данный момент (30 ноября 2017 года) не считая сторонних библиотек в обновляторе:

  • 97 модулей
  • 3 мегабайта кода
  • 70 тысяч строк

Полная таблица возможностей обновлятора:

Ответы на частые вопросы:

  • Подсказки по эффективной работе
  • Какие существуют ключи для запуска из командной строки?
  • Что означает номер версии в настройках базы?
  • Как настроить обновлятор для работы с базовой платформой 1С?
  • Я настроил обновлятор для работы с базовой платформой. Всё обновлялось, но теперь перестало. Почему?
  • Какой принцип работы Обновлятора-1С?
  • Какие типовые конфигурации поддерживаются программой Обновлятор-1С?
  • Как поведёт себя обновлятор с конфигурацией, в которую внесены изменения?
  • Что будет, если база в момент обновления будет открыта?
  • Где взять логин и пароль от сайта 1С?
  • У меня уже есть выкачанные обновления, как их подсунуть Обновлятору-1С?
  • Как восстановить базу из архива, созданного перед обновлением?
  • Наиболее частые причины, по которым не работает отправка отчётов на почту.
  • Что делать, если возникает следующая ошибка: не удалось подключиться к базе, скорее всего неверно указаны имя и пароль для базы.
  • Что делать, если возникает следующая ошибка: произошла попытка обновить не поддерживаемую конфигурацию.
  • Зачем нужна настройка любимых дней для базы?
  • Зачем нужны дополнительные параметры запуска для базы?
  • Как включить второй способ поиска обновлений на сервере 1С для базы и когда это нужно?
  • Что такое обработчики обновления, зачем они нужны и в каких случаях (и как) их лучше отключить?
  • Зачем может понадобиться настройка 'Применять обновления не раньше чем через N дней после их выхода'?
  • Зачем может понадобиться настройка 'Обновлять не более чем на N релизов за один запуск'?
  • Зачем может понадобится устанавливать пароль на изменение настроек программы?
  • Зачем может понадобится устанавливать ограничение работы программы по дате?
  • Зачем может понадобиться возможность автоматической выгрузки базы в последнюю папку обновления в формате dt?
  • Зачем может понадобиться возможность автоматической выгрузки файла конфигурации базы в папку обновления в формате 1cv8.cf?
  • Что означает возможность обновлять конфигурацию сразу на последний 1cv8.cf и можно ли её применять?
  • Что означает версия 1С при обновлении платформы?
  • Не удалось найти платформу 1С по шаблону.
  • Зачем нужна возможность переопределять логин и пароль от ИТС в расширенных параметрах обновления?
  • Зачем нужна возможность только скачивать обновления без их применения к самим базам?
  • Зачем нужна возможность делать резервную копию базы после каждого промежуточного обновления?
  • Расскажите о схеме обновления множества однотипных и изменённых баз, которые не обновляются автоматически.
  • Как отключить предупреждение об антивирусе?
  • Как настроить обновлятор для работы с OneScript?
  • О каких настройках диалога запуска идёт речь?
  • Как настроить для базы индивидуальный путь к папке с обновлениями и зачем это может быть нужно?
  • Что делать, если обновлятор не видит обновление, установленное на компьютер вручную?
  • Можно ли использовать обновлятор как portable программу (запускать с флешки на разных компьютерах)?
  • Как отключить восстановление базы к первоначальному состоянию при ошибке обновления?
  • Зачем нужна возможность устанавливать отдельный пароль на изменение ограничения работы программы по дате?
  • Решение проблем с com-библиотекой для внешнего подключения к базе.
  • Как указать администратора кластера для серверной базы?
  • Что означает "грязная копия"?
  • Как изменить папку для хранения архивов?
  • Как отключить резервную копию перед обновлением?
  • Как настроить количество резервных копий для базы?
  • Как обновить базу на следующую редакцию?
  • Зачем может понадобится строгая проверка рекомендуемой версии 1с при обновлении?
  • Список внешних ресурсов, к которым может обращаться обновлятор

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Давайте представим, что перед нами стоит задача обновления конфигурации 1С, которая не обновлялась очень и очень давно, пропущены десятки релизов.

Мне довольно часто пишут в этой связи, чтобы уточнить - справится ли обновлятор и какие вообще могут быть подводные камни при таком большом обновлении.

На что следует обратить внимание

При таком большом обновлении (и тут неважно делаем мы это всё вручную через конфигуратор или автоматизированно через обновлятор) нужно учитывать следующие моменты:

  • нужно чётко контролировать выполнение обработчиков обновления и если на каком-то из промежуточных обновлений обработчики перестали выполняться корректно - нужно вначале добиться их безошибочного выполнения и лишь затем продолжить
  • очень советую обновлять старую базу именно в файловом варианте, так как это позволит избежать проблем с выполнением отложенных обработчиков обновления
  • если размер базы и время позволяют - нужно делать резервные копии после каждого из промежуточных обновлений (о них речь пойдёт ниже), чтобы иметь возможность в любой момент откатиться на любую из них
  • если вы не включили создание промежуточных резервных копий, то обязательно отключите автоматическое восстановление базы при ошибках, чтобы не получилось так, что через 100 релизов база вернулась к своему первоначальному состоянию из-за ошибки
  • если у вас очень старая база (например, вы решили обновлять бухгалтерию начиная с версии 2.0.12.2), то возможно скачивание новых обновлений не заработает сразу; в этом случае нужно скачивать и устанавливать обновления прямо с сайта 1с и периодически запускать обновлятор, а с определенного момента он начнет качать обновления сам
  • если вы обновляете чистую конфигурацию (которую только что создали из cf), обязательно сделайте однократный запуск в режиме пользователя, чтобы выполнились первоначальная инициализация и заполнение данными; иначе будут проблемы с выполнением обработчиков обновления

Какие версии платформы использовать для такого обновления

По умолчанию я рекомендую использовать последнюю версию платформы 1С - даже несмотря на то, что на момент выхода многих промежуточных обновлений этой версии платформы ещё не было и ошибки были другими.

Начинать экспериментировать с версиями платформы я советую только в тот момент, когда вы реально застопоритесь на одном из промежуточных обновлений и не сможете продолжить, например, потому что не выполняется один из обработчиков обновления, так как на момент его написания платформа 1С работала несколько по-другому.

В этом случае советую взять ближайшую промежуточную копию базы и использовать с ней ту версию платформы, которая была рекомендована на момент выпуска проблемного обновления.

Чтобы узнать какая версия платформы рекомендуется для данного обновления, откройте файл "Readme.txt" внутри папки с обновлением и перейдите в раздел "Важная информация":


На что обратить внимание в обновляторе

Возможность резервного копирования в формате sql

Для серверных баз по умолчанию обновлятор делает резервные копии в формате dt.

И это не есть хорошо по нескольким причинам:

  • для больших баз выгрузка в dt занимает очень много времени и ресурсов компьютера
  • выгрузка в dt не может считаться полноценной резервной копией; поэтому, если в процессе обновления вы захотите откатиться на одну из промежуточный копий, я бы не советовал откатываться на dt выгрузку

Я не буду останавливаться на том, почему dt нельзя считать полноценным архивом базы (об этом есть информация и обсуждения в сети). Напомню лишь, что фирма 1С также рекомендует использовать этот формат исключительно для перехода из файловой базы в серверную и обратно.

Именно поэтому в обновляторе есть возможность настроить создание резервных копий в формате sql напрямую из СУБД.

Для этого зайдите в свойства серверной базы в обновляторе:


Затем перейдите на закладку "Архивация" и отметьте галку "Включить sql архив":


Также не забудьте прописать параметры сервера СУБД здесь же на закладке "Общие":


Как отключить создание резервной копии перед обновлением

По умолчанию обновлятор настроен на обязательное создание резервной копии перед обновлением базы.

Если вам этого не требуется, зайдите в свойства базы и перейдите на закладку "Обновление".

Здесь отметьте галку "Не создавать резервную копию перед обновлением":


Как отключить автоматическое восстановление базы при ошибке обновления

Этот пункт относится только к файловым базам, так как только они откатываются по умолчанию на первоначальное состояние при критической ошибки в момент обновления.

При этом, если у вас включено создание промежуточных резервных копий (об этом ниже), то откат будет произведён на ближайшую копию.

Если вам требуется отключить такое восстановление, зайдите в свойства базы и перейдите на закладку "Обновление".

Здесь снимите опцию "Восстанавливать базу при ошибке":


Как включить обновление "в лоб, а не по ключевым релизам"

По умолчанию, обновлятор строит кратчайшую цепочку для обновления конфигурации 1С.

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

В этом случае я рекомендую восстановить базу на ближайшую резервную копию и включить обновление "в лоб".

Чтобы сделать это, откройте свойства базы и перейдите на закладку "Обновление".

Здесь отметьте галку "Искать обновления в лоб, а не по ключ. релизам":

С этого момента обновлятор будет пытаться применить все выпущенные обновления к базе, а не только необходимые.

При этом общее время выполнения операций значительно удлинится (за счёт увеличения количества обновлений), и поэтому я советую включать этот режим только на несколько релизов вперёд, только чтобы решить проблему с обработчиками.

Для того, чтобы ограничить цикл обновления к примеру не более чем на 3 релиза за раз отметим на этой же закладке галку "Обновлять не более чем на 3 релиза за один запуск":


После того как ситуация с выполнением обработчиков обновлений нормализуется, я рекомендую убрать обе галки и вернуться к выполнению операций по кратчайшему пути.

Как включить автоматический переход на следующую подредакцию

По умолчанию, обновлятор выполняет обновление строго в пределах текущей редакции.

И это правильно, ведь разные редакции (например, 2.0 и 3.0) отличаются кардинально и, почти всегда, переход между ними требует внимание специалиста после.

Но вот переход между подредакциями (например, с версии 11.1 на 11.2) обычно не такой "страшный" и для некоторых конфигураций может считаться обычным делом.

Чтобы разрешить обновлятору выполнять автоматическое обновление на следующую подредакцию воспользуйтесь вот этой инструкцией.

Как включить создание промежуточных резервных копий

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

Так как может возникнуть ситуация, когда проблему с выполнением обработчиков нужно было решить в одной из предыдущих версий конфигурации, а мы уже обновились после этого на несколько релизов и откатиться можем только к первоначальному состоянию базы.

Наличие у нас всех промежуточных копий базы решает эту проблему.

Чтобы включить создание промежуточных копий, запускайте обновление базы следующим образом.

Из пункта "Ещё" выберите операцию "Обновить с расширенными параметрами. ":


В открывшемся диалоге отметьте галку "Создавать резервную копию после каждого промежуточного обновления".


. и нажмите кнопку "Запустить".

Как обновлять доработанную базу


В этом случае вам может быть полезна вот эта возможность.

И всё-таки как же обновлять очень старую базу 1С

Точная стратегия должна быть выработана вами исходя из того:

  • какой у вас тип базы (файловая или серверная)
  • сколько у вас времени
  • сколько у вас свободного места

При этом нужно учесть:

  • мои замечания выше про обработчики обновления и версию платформы
  • взять на вооружение те ключевые возможности обновлятора (см. выше, они все доступны в бесплатной версии), которые помогут вам в той или иной ситуации, связанной с обновлением очень старой базы 1С

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

В свойствах баз обновлятора появилась вот такая замечательная опция:

Сразу оговорюсь, что работать эта возможность будет только с платформой 1С равной или новее 8.3.8.1652. Именно начиная с этой версии 1С позволяет выполнять обновление доработанных конфигураций в пакетном режиме.

Когда она может быть полезна

Например, вы регулярно обновляете одну и ту же дописанную конфигурацию и хотите облегчить себе работу.

При этом все дописки вы знаете и они у вас задокументированы.

В таком случае может быть проще и быстрее:

  1. Сначала обновить конфигурацию обновлятором (установив соотв. галку в свойствах базы)
  2. Затем посмотреть отчёт обновления в обновляторе (там будут указаны свойства,измененные дважды)
  3. И только после этого проверить, что все доработки на месте и вернуть те, что были утеряны (об этом смотрите ниже, где я рассказываю как работает автоматическое обновление доработанных конфигураций)

При таком способе работы вам не нужно:

  1. Скачивать необходимые обновления
  2. Открывать конфигуратор и применять эти обновления
  3. Ожидать пока выполнится обновление конфигурации
  4. Ожидать пока выполнится обновление базы данных

Вы вообще можете запланировать такое обновление на ночь, а уже утром произвести контроль и доработку, если она потребуется.

И если доработки конфигурации небольшие, то в большинстве случаев вам после обновления вообще не придётся ничего делать.

Ваше вмешательство будет нужно тогда, когда в обновлении будет изменен тот же самый объект, что изменен у вас (это и называется "измененные дважды"). И вы можете легко находить такие объекты, просматривая отчёт обновлятора:


Как работает автоматическое обновление доработанных конфигураций

Обновление происходит при помощи того же пакетного ключика updatecfg, но при этом обновлятор дополняет эту команду специальным файлом настроек в формате xml.

Обновление происходит с приоритетом новой конфигурации, при этом:

  1. Если вы добавляли в конфигурацию новый объект - обновление его не затронет.
  2. Если вы добавляли в конфигурацию новый реквизит в уже существующий объект типовой (от поставщика) - обновление его также не затронет.
  3. Если вы меняли в конфигурации объект поставщика, но он не изменился в этом обновлении, то он останется как есть.
  4. Но, если вы меняли в конфигурации объект поставщика, и он изменился в этом обновлении, то возьмётся версия из обновления. При этом в отчёте обновлятора этот объект будет отмечен как "дважды измененный".

При этом, при настройке по умолчанию.

. обновлятор останавливается сразу после обновления конфигурации, если были обнаружены свойства, измененные дважды. Это делается для того, чтобы вы смогли сначала вернуть необходимые доработки, а уже затем запустить обновление базы данных.

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

Как настроить режим объединения конкретных объектов (для опытных пользователей)

Общий случай (c1)

По умолчанию, как описано выше, дважды измененные свойства замещаются свойствами из обновления.

Если вы опытный пользователь (программист или администратор, имеющий навыки обновления доработанных конфигураций), то при необходимости сможете настроить режим объединения для объектов, которые дорабатывались, чтобы, например, происходило не замещение, а объединение с необходимым приоритетом. Это позволит вам уменьшить объём возможных доработок конфигурации после обновления.

Рассмотрим такую настройку на примере конфигурации БухгалтерияПредприятия, в которую я внёс следующие изменения:

  • В общий модуль "РегламентированнаяОтчётность" добавил новую процедуру с именем "Тест".
  • Доработал форму элемента справочника "Валюты".

Заходим в конфигуратор и из меню выбираем "Конфигурация"-"Поддержка"-"Настройка поддержки. ":

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

В окне сравнения должны появится наши доработки (при условии, что конфигурация до этого обновлялась корректно и версия основной конфигурации соответствует версии конфигурации поставщика):

Теперь отмечаем галками нужные нам объекты и настраиваем справа режим их объединения:

Внимание. Если среди предложенных вариантов нет нужного режиме объединения - прочитайте про специальный случай ниже.

После этого на панели выбираем "Действия"-"Сохранить настройки в файл как. ":

Сохраняем настройки в любой файл и закрываем конфигуратор, не продолжая объединения.

Открываем получившийся файл с настройками, нас интересует секция, которая начинается с тега <Objects> и заканчивается </Objects>. Это и есть нужные нам настройки объединения для выбранных нами объектов.

Копируем эту секцию в буфер обмена:

Далее заходим в свойства базы в обновляторе, закладка "Обновление", раздел "Сам процесс".

Устанавливаем здесь опцию "необходимо выполнять обновление с приоритетом новой конфигурации. " и тут же нажимаем ссылку "Настройки объединения. ":

В открывшемся окне вставляем содержимое буфера обмена (секцию Objects из файла с настройками):

Сохраняем все настройки и выполняем обновление конфигурации на 1 релиз:

Видим, что в этом обновлении был изменен общий модуль РегламентированнаяОтчетность, в который у нас добавлена процедура Тест.

Но благодаря нашим настройкам произошло не замещение, а именно объединение модулей, поэтому процедура Тест будет на месте после обновления:

Специальный случай (c2)

Но что если мы изменили объекты конфигурации, для которых операция объединения не имеет смысла.

Например, мы увеличили длину номера документа:


В этом случае, как вы видите, есть только один вариант объединения: "Взять из конфигурации поставщика".

Очевидно, что это не то, что нам нужно. Мы хотим, чтобы этот реквизит остался без изменений. Как этого добиться?

В таких случаях нужно выбрать "Взять из конфигурации поставщика", а затем в настройках.


. изменить правило объединения GetFromSecondConfiguration на DoNotMerge вот так:


Тогда наш измененный реквизит вообще не будет никак меняться при объединении.

Как настроить финальное объединение с эталонной конфигурацией

Чтобы стало понятнее о чём речь, приведу рабочий пример у одного из пользователей обновлятора.

У него 40 бухгалтерских баз. Все они содержат одну и ту же доработанную конфигурацию.

Обновлять приходится зачастую на несколько релизов и он для максимальной корректности делает это всегда последовательно с выполнением обработчиков обновления после каждого релиза.

Алгоритм работы до автоматизации у него был такой:

"В ручном режиме обновляю до последнего релиза одну базу; в последнем релизе тестирую, добавляю все изменения, которые были потеряны, в модулях форм документов, общих модулях. Затем обновляю остальные базы до последнего релиза и в конце объединяю с подготовленным cf файлом из первой базы."

Он обратился ко мне за помощью в автоматизации всей цепочки действий кроме "в последнем релизе тестирую, добавляю все изменения, которые были потеряны, в модулях форм документов, общих модулях".

С пакетным обновлением доработанных баз до последнего релиза обновлятор (учитывая возможность, описанную выше) справляется на ура, но вот объединять конфигурацию с подготовленным cf в пакетном режиме обновлятор не умел.

И я доработал эту возможность.

Чтобы заставить обновлятор после применения обновления следом выполнить ещё и объединение с конфигурацией из файла - необходимо расположить файл с конфигурацией для объединения в папку обновления под именем MergeThisFileAfterUpdate.cf

В рассмотренном выше примере предположим, что требуется обновить все 40 конфигураций на следующие релизы (и пусть они для упрощения задачи будут ключевыми, то есть их нельзя перескакивать): 2.0.60.1, 2.0.60.2 и 2.0.60.3.

Алгоритм наших действий с учётом автоматизации обновлятором будет следующим:

  1. Обновить при помощи обновлятора одну из конфигураций до версии 2.0.60.3
  2. Добавить все изменения, которые были потеряны. проверить работоспособность обновлённой конфигурации.
  3. Выгрузить эту конфигурацию в папку с обновлением 2.0.60.3 под именем MergeThisFileAfterUpdate.cf
  4. Запустить обновление (с включенной возможностью обновления доработанных конфигураций) оставшихся 39 баз.
  5. Обновлятор в этом случае для каждой из 39 баз:
    1. выполнит пакетное обновление на 2.0.60.1
    2. выполнит обработчики обновления
    3. выполнит пакетное обновление на 2.0.60.2
    4. выполнит обработчики обновления
    5. выполнит пакетное обновление на 2.0.60.3
    6. обнаружит, что в папке с обновлением 2.0.60.3 лежит файл MergeThisFileAfterUpdate.cf
    7. выполнит пакетное объединение нашей конфигурации с конфигурацией из файла MergeThisFileAfterUpdate.cf (о настройках такого объединения смотрите ниже)
    8. выполнит обработчики обновления

    При этом пакетное объединение выполняется через пакетный ключик конфигуратора mergecfg и следующий файл настроек (передаётся через ключ settings):

    Такие настройки объединения позволяют нам привести нашу конфигурацию (которая всё ещё на поддержке) к конфигурации в файле MergeThisFileAfterUpdate.cf, в которую мы внесли и исправили все наши доработки.

    Объединение с эталонной конфигурацией как отдельная операция

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

    Эта возможность доступна на закладке "Скрипты" в главном окне программы.

    Тип скрипта "Пакетный". Из меню следует выбрать пункт "Обновлятор"->"Методы"->"Объединить с конфигурацией из файла":

    В скрипт вставится вот такой текст:

    Путь к файлу, с которым нужно выполнить автоматическое объединение, у вас, конечно, будет свой.

    А чтобы сразу после изменения конфигураций выполнить обновление конфигураций баз данных, допишем этот скрипт следующим образом:

    Получается, что в начале мы выполняем объединение конфигураций при помощи команды обновлятора merge_cfg, а затем выполняем обновление конфигураций баз данных при помощи пакетного ключика конфигуратора UpdateDBCfg.

    Вторую команду можно вставить в скрипт из меню шаблонов:

    С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

    Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

    Читайте также: