Подбор последовательности обновления

0. Dmitr033 122 08.07.20 12:54 Сейчас в теме
Обработка позволяет найти самый короткий путь для обновления древнего релиза.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. sapervodichka 3849 08.07.20 14:59 Сейчас в теме
А у меня так получилось 15 узлов брал самые последние возможные для обновления:
3.1.8.216 - 3.1.8.246 - 3.1.9.108 - 3.1.9.187 - 3.1.9.205 - 3.1.9.229 - 3.1.10.78 - 3.1.10.111 - 3.1.10.135 - 3.1.11.106 - 3.1.12.53 - 3.1.12.76 - 3.1.12.142 - 3.1.13.76 - 3.1.13.146 - 3.1.14.61

Отсюда вопрос: На картинке в публикации показан вариант из 15 шагов (не совпадающий с тем который я написал, также из 15 шагов). Почему при наличии нескольких одинаковых путей обработка показывает только 1 (причем не совпадающий с тем, который будет пройдет, если обновляться автоматически)?
2. sapervodichka 3849 08.07.20 15:01 Сейчас в теме
(1) за публикацию +1 поставил
3. Dmitr033 122 08.07.20 18:06 Сейчас в теме
Ну я там все слепил по простому - и какой первый вариант возник - дубли сразу отбрасывал, то есть если к промежуточному узлу можно прийти несколькими путями за одинаковое количество шагов - оставлял только первый возникший. Цель была получить ответ быстро, а параллельных путей может быть много. Если посмотреть код, то это грубо сделано через переменную стрУже, где тупо накапливаются все релизы кои к данному моменту появлялись и любые пути к ним сходу отсекаются.
4. tamepjlah 09.07.20 06:24 Сейчас в теме
(3) Если не заморачиваться с оптимизацией, то я бы сделал так (как сделано у вас не знаю):
1) Текущий релиз = 3.1.8.216
2) Если КолонкаС <> "релиз отозван" Тогда
3) Ищем в КолонкаD текущий релиз
4) Если найдет, тогда текущий релиз = КолонкаА, а Путь = Путь + КолонкаА
Да, это может быть не самый оптимальный путь, но в ручную должен получиться именно такой, как по данному алгоритму.
И еще упустил: вы пошли по пути 3.1.10. Я не обновлял с 3.1.10 на 3.1.14 (не знаю, есть ли подводные камни), но я бы пошел по пути 3.1.11 и при поиске релиза проверял бы, чтобы первые 6 символов найденного релиза были > текущего релиза (ОбщегоНазначенияКлиентСервер.СравнитьВерсии)
Сумбурно, но у меня перекур закончился
5. SerVer1C 265 14.07.20 14:51 Сейчас в теме
Тема интересная! Периодически приходится самому выстраивать оптимальный маршрут обновлений. Было бы еще лучше, если вы модернизируете свою обработку, что нужно будет ввести только версию текущего релиза, вбить координаты доступа на сайт и нажать кнопку выдачи результата. А обработка уже сама посмотрит на сайте существующие релизы и покажет оптимальный путь.
6. fomix 26 14.07.20 17:06 Сейчас в теме
Не вижу смысла в такой обработке. По-любому обновлять базу будете последовательно, пропустить какой-то релиз не получится в принципе! А обработка лишь покажет сколько раз будете при этом мудохаться - может вам полегчает от от этого?!
7. Nadushka74 4 14.07.20 17:59 Сейчас в теме
(6) можно сделать за 15 шагов, а можно за 25. Вот и все. плюс затраты на постоение дерева обновлений.
8. fomix 26 15.07.20 14:14 Сейчас в теме
(7) Мадам, вы когда нибудь в своей жизни обновляли 1С?! Если нет, то попробуйте для начала. Там все просто - обновили, дальше вам, при загрузке обновлений, 1С сама подскажет какой релиз будет следующим. Он там будет первым по списку и выделен, для наглядности, жирным шрифтом. И никак 25 релизов, вместо 15, не получится! Ну если конечно вам так хочется заниматься садомазо - то флаг в руки.
9. Nadushka74 4 15.07.20 15:19 Сейчас в теме
(8) о да, но только в том случае вам так повезет, если вы смотрите обновления в интернете или у вас уже загружено куча релизов. А если вам их сначала нужно скачать и развернуть шаблон себе, то ни фига вы не увидите.
А условия в каждой компании свои и доступ к обновлениям, и доступ к интернету.
Оставьте свое сообщение
Вопросы с вознаграждением