Доброго времени суток!
Когда запускаешь обработку или отчет, всегда задаешься вопросом, а последняя ли это версия обработки или отчета? Всегда одолевают сомнения. А вдруг не последняя и нового фунционала не будет. А потом судорожно искать, куда положил последнюю версию отчета.
Один из методов, как решить эту проблему — это вшить в саму обработку механизм обновления. Действительно, почему бы не заставить саму обработку скачать новую версию и проверить на совпадение со старой версией? А если не совпадает, то предложим пользователю вопрос об обновлении. Так дружественно к пользователю и поступим. Добавим вишенку на тортик — после обновления переоткроем обрабтку. Все как в лучших домах…
Для тестирования обработки расположим ее в Интернете (в бложике) и каждый сможет убедиться в ее работоспособности.
Сделаем две обработки:
Для классических форм: 4 функции
Для Управляемых форм: 9 функций (полная немодальность 🙂 и немного БСП (ПолучитьФайлИзИнтернета — если БСП есть в конфигурации)
Самая большая проблема оказалась в переоткрытии файла обработки. Срабытывает система кеширования 1С и открывается старая версия. Решение оказалась тривиальным, хотя и не сразу приходит на ум — просто скопировать обработку в другой файл и открыть его.
file2 = ПолучитьИмяВременногоФайла("epf");
КопироватьФайл(file, file2);
НоваяФорма = ВнешниеОбработки.ПолучитьФорму(file2);
НоваяФорма.Открыть();
Р.S. Данный метод используется в проекте Виджеты в 1С
Подскажите, пожалуйста, как пользоваться Вашей обработкой? Видимо, она предназначена для чего-то специализированного…. ничего у меня не получается. И даже вопрос обновить ли обработку, и тот не высвечивается.
(1) Uejova, Просто код надо вставить внутрь своей обработки или отчета. Внутри обработки есть переменные srv — сервер res — ресурс — откуда будет скачиваться она.
У меня это sikuda.ru и /1c/SeftUpdateClassic.epf как тестовая обработка.
Заменить «бложик» на GitHub/ BitBucket — и вполне рабочее решение для масс 🙂
Поделюсь своим опытом:
В текущей публикации юзаются элементы управления жизненным циклом продуктом, например, релизное управление и т.п.
Соответственно, нужно решать вопросы:
От ошибок никто не застрахован, поэтому по опыту — ради стабильности проще пользоваться релизами и осознанным обновлением релизов, чем обязательным обновлением на новую версию.
Ну и вместо бложика, конечно, лучше системы управлениями версиями — Git + облачные гит-хранилища (Github, Bitbucket)
(5) О! я тоже заценил все прелести Git. Весьма просто + хранилище полезняшек.
(5) Здесь речь немного о другом. Данная задача возникла в процессе развития проектаВиджеты в 1С Обработки используемые в этом проекте постоянно обновлялись, и если вы скачали какую-либо версию и стали ее использовать нет гарантии того что это последняя версия. Заставлять пользователя заходить каждый раз и скачивать новую версию продукта не очень дружелюбно. А разбираться в управлениями версиями должны только мы программисты — пользователю все это не нужно. Поэтому и явилось простое и эффективное решение.
А по поводу сделать Git хранилище — работы уже ведутсяhttps://github.com/sikuda/widget