История одного проекта обновления

28.02.20

Разработка - Групповая разработка (Git, хранилище)

История одного проекта обновления, хранилище, групповая разработка.
 
 Предисловие
 
 Соглашения и определения
 
 Подготовка
 
 План перехода (рисунок)
 
 Список дважды измененных
 
 Обновление модуля (рисунок)
 
 База 2Измененных
 
 База Кандидат
 
 Проверки обновления
 
 Возможные ошибки и проблемы
 
 Приложение 1. Длительность работ по дням и часам
 
 Приложение 2. План тестирования нового релиза УТ
 
 Благодарности

 

История одного проекта обновления хранилище групповая разработка

См. также

1С-программирование DevOps и автоматизация разработки Групповая разработка (Git, хранилище) DevOps для 1С Программист Стажер Платформа 1С v8.3 Платные (руб)

Использования систем контроля версий — стандарт современной разработки. На курсе научимся использованию Хранилища 1С и GIT при разработке на 1С:Предприятие 8. Разберем подходы и приемы коллективной разработки, научимся самостоятельно настраивать системы и ориентироваться в них.

4900 руб.

29.06.2022    12085    104    4    

134

Групповая разработка (Git, хранилище) Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Когда в хранилище одновременно разрабатывают несколько команд, сортировка сделанного и несделанного при формировании релиза и проведение code review по задачам превращаются в непроходимый квест. В таких случаях нужен бранчинг. Расскажем об опыте перехода на новую схему хранения кода для ИТ-департамента.

23.09.2024    3202    kraynev-navi    3    

26

Групповая разработка (Git, хранилище) Программист Бесплатно (free)

Называть Git новой технологией – уже смешно, но для многих 1С-ников это действительно «новое и неизведанное». Расскажем о плюсах и минусах двух главных систем контроля версий в мире 1С: Git и хранилища.

17.09.2024    7851    Golovanoff    69    

26

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

05.09.2024    2472    ardn    12    

15

EDT Групповая разработка (Git, хранилище) Программист Платформа 1С v8.3 Бесплатно (free)

Заказчики любят EDT+Git за прозрачность и контроль качества. А у разработчиков есть две основные причины не любить EDT – это тормоза и глюки. Расскажем о том, что нужно учесть команде при переходе на EDT+Git.

14.08.2024    7953    lekot    34    

8

Групповая разработка (Git, хранилище) Программист Платформа 1С v8.3 Бесплатно (free)

В «долгоиграющих» проектах стандартный захват объектов 1С в хранилище может привести к длительным простоям других разработчиков. Но и создавать под каждую доработку отдельное хранилище, чтобы использовать технологию разветвленной разработки конфигураций от фирмы «1С» – избыточно. Расскажем о том, как разрабатывать в отдельной базе без ожиданий, а потом с легкостью перенести изменения в хранилище, используя основную идею технологии 1С – конфигурацию на поддержке хранилища.

05.08.2024    4811    sinichenko_alex    16    

25

Групповая разработка (Git, хранилище) Программист Руководитель проекта Стажер Бесплатно (free)

Про изменения и новинки в агрегаторе открытых проектов OpenYellow, которые появились с момента его создания: про портал, Github и Telegram

15.07.2024    3529    bayselonarrend    8    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. muskul 06.11.19 10:05 Сейчас в теме
как у вас так быстро рег задания отрабатывают, обновление данных первичных документов помню покоя не давало. Бесконечно крутилось такое чувство
2. vasilev2015 2725 06.11.19 10:19 Сейчас в теме
(1) Здравствуйте !

Объем обновления данных при первом запуске изменяется от релиза к релизу.

За историю перехода от 11.4.1 до 11.4.9 два раза это время было больше 8 часов.

Обновление начиналось в 22-00 мск, Владивосток заметил.

Хорошо, что пользователи отнеслись с пониманием. Утро субботы.
14. Xershi 1557 21.03.20 10:05 Сейчас в теме
(1) а это уже зависит от их количества данных. И количества фоновых, которые поставили. Когда мне все надоело я поставил вместо 8 все 30 проц сразу 100, но зато эффект.
3. Stim213 416 08.11.19 10:58 Сейчас в теме
Почему нельзя было сразу на последний релиз обновиться? Зачем проделывать 80% одной и той же работы на каждом релизе?
4. vasilev2015 2725 08.11.19 12:56 Сейчас в теме
(3) Здравствуйте !

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

У нас более 200 пользователей, поэтому все нужно делать аккуратно, возникающие ошибки приписывать производителю конфигурации УТ - фирме 1С.

При обновлении 1С производит обработку данных, по много часов. Пропустить несколько релизов, сделать свои обработки - затруднительно.
7. RustIG 1749 09.11.19 12:40 Сейчас в теме
(4) вопрос от (3) задают все пользователи, которые платят за обновления, и интересует многих внедренцев 1с...

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

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

Когда поставил последнюю версию, измененных объектов оказалось условно говоря 1000 штук, и стало сложно управлять обновлением.
После этого поставил ближайший релиз к рабочей базе - изменений стало в разы меньше, большинство из них собственные доработки, с которыми знаком... Управлять обновлением сало легко.
И так шаг за шагом, обновляя на ближайший промежуточный релиз - доработанная база приобрела в своем составе механизмы последнего релиза....
17. Xershi 1557 21.03.20 10:35 Сейчас в теме
(4) тут нужно анализировать технологическое окно. И скорость сервера.
Иначе как написали вы многократно выполняли работу, которую можно было бы избежать.
В прочем почитайте что написал ниже будет тоже интересно.
18. Xershi 1557 21.03.20 10:38 Сейчас в теме
(3) если пользователи работают только в пятницу с 12 до 13, то можно.
Автор про технологическое окно и производительность сервера ничего не написал.
Считаем по умолчанию, что возможно только обновление за раз на 1 релиз.
Тогда концепция более чем себя оправдывает.
19. vasilev2015 2725 21.03.20 10:43 Сейчас в теме
(18) технологическое окно с 19-00 мск по 02-00 мск (семь часов). Мы решили пойти длинным путем, через все релизы, поскольку очень боялись многочисленных изменений и неизбежных ошибок. Кстати, иногда обработка данных после обновления занимала все технологическое окно.
20. Xershi 1557 21.03.20 11:47 Сейчас в теме
(19) ну вот и ответ почему автор не мог за технологическое окно поставить все релизы.
В таком ключе тогда не понятно как партнёр вам мог установить обновление на последний релиз.
5. maXon777 129 09.11.19 07:16 Сейчас в теме
Спасибо за статью - интересные идеи
1) как вы оцениваете оценку обновления в миллион по сравнению с затраченными ресурсами? Завышена/занижена?
2) как вы успеваете перенести все доработки за 3 дня? Изменений / пересечений не так много?
3) насколько активно используются расширения? Какие изменения решили оставлять в основной конфигурации (хотя их можно было бы делать в расширениях)
4) в процессе обновления скорей всего находились ошибки разработчиков или появлялось желание все переделать - можете поделиться ключевыми? (Про форму отчета увидел)
5) почему решили обновиться на актуальный релиз? Будете ли проводить обновления дальше с выходами релизов или будете накапливать какую-то критическую массу изменений
6. vasilev2015 2725 09.11.19 10:12 Сейчас в теме
(5) Здравствуйте !

1. Оценка ИжТиСи завышена на 20-30%. Наши затраты составили стоимость труда программиста за 4 месяца + промышленная эксплуатация + тестирование со стороны заказчика + затраты на менеджмент (администрирование). Но последние два пункта не входят в смету ИжТиСи.
2. Тексты модулей обновляем внешней программой, используя слияние в общий предок. Модуль в 10 тысяч строк обновляется 10 секунд, если нет конфликтов (участков кода, которые поменяли 1С и мы). Общие модули и модули форм обновляем за 2 дня, потом добавляем реквизиты. Количество пересечений (2Измененных модулей) можно оценить по слайду
3. У нас слишком много кода вынесено в расширение - не было плана развития программы. Расширение приходилось менять (обновлять), если изменились наименования модулей (реквизитов). Как правило, в расширение выносят только неизмененные в конфигурации объекты. Исключения - реже. Например, наш локальный объект (без модуля и форм) можно включить в расширение, чтобы он попал в интерфейс.
4. Про доработку типовой конфигурации для большого числа пользователей планирую отдельный цикл статей, первая https://infostart.ru/public/1058730/
5. Будем обновляться раз в квартал, чтобы программа не превратилась в "болотце", соответствовала законодательству и могла взаимодействовать с современными программами.

Спасибо за вопросы.
8. starjevschik 09.11.19 12:59 Сейчас в теме
Удивительно бессмысленная трата ресурсов работодателем.
9. vasilev2015 2725 09.11.19 21:43 Сейчас в теме
(8) Здравствуйте ! Отвечу стихотворением И.Бродского

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

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

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

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

Не выходи из комнаты. О, пускай только комната
догадывается, как ты выглядишь. И вообще инкогнито
эрго сум, как заметила форме в сердцах субстанция.
Не выходи из комнаты! На улице, чай, не Франция.

Не будь дураком! Будь тем, чем другие не были.
Не выходи из комнаты! То есть дай волю мебели,
слейся лицом с обоями. Запрись и забаррикадируйся
шкафом от хроноса, космоса, эроса, расы, вируса.
10. TerveRus 11.11.19 17:11 Сейчас в теме
Спасибо за статью, интересно.
Хорошо, конечно, что так мало операций у пользователей, и все они внутри базы, а как быть с тестированием в копии базы функционала обмена или интеграции с внешними системами? Ведь если запускаешь обмен данными, то он должен быть непременно в рабочей базе, потому что во внешнюю систему должны уйти нужные достоверные не тестовые данные, и вернутся тоже измененные объекты. Это, например, касается всяческих систем маркировки.
11. vasilev2015 2725 11.11.19 20:04 Сейчас в теме
(10) Здравствуйте !

Мне повезло участвовать в становлении ЕГАИС в крупнейшей алкогольной компании Северо-Запада (ФПК). Использовали тестовый контур, а в рабочем - делали на аффилированные фирмы тестовые накладные, которые можно было легко вернуть. Перед отправкой сообщения можно просматривать в xml. Если посылать продажи, которых нет на остатке - ФАС вернет отказ, ничего страшного.

В общем, с внешними программами есть свои сложности, но работать можно.
12. Irina_Krasilnikova 22.11.19 11:04 Сейчас в теме
Николай, добрый день!
Меня зовут Ирина Красильникова, я руководитель отдела сервиса в компании «1С-ИжТиСи». Вы с моими коллегами уже обсудили ситуацию с оценкой вашего проекта — спасибо, что скорректировали цифры в посте для других участников сообщества. С вашего разрешения, прокомментирую и дополню материал с точки зрения компании-аутсорсера и как непосредственный участник оценки вашего проекта.

Расскажу, как мы в компании «1С-ИжТиСи» оцениваем и проводим подобные непростые обновления конфигураций.

1. Для обновляемой конфигурации (а также всех связанных с ней расширений, внешних отчетов и обработок) мы формируем список всех объектов и проводим анализ всех изменений относительно типовой конфы. Это позволяет заранее найти наиболее сложные для обновления участки, которые потребуют ручной работы и особого внимания. Например, если раньше проводилось частичное обновление.
2. На основе анализа оцениваем трудоемкость работ по нашему плану обновления. Этапы плана такие:
• Непосредственно обновление самой конфигурации с созданием промежуточных конфигураций. Целиком и полностью поддерживаем, что переход сразу же на финальный релиз, минуя промежуточные, усложнит управление обновлением и может привести к потере данных.
• Отдельный этап по адаптации расширений.
• Обязательное тестирование обновленной конфигурации на стороне «1С-ИжТиСи» — основное количество возможных ошибок мы исправляем до передачи владельцу.
• Только после этого — тестирование обновленной конфигурации на стороне заказчика.
• Адаптация интеграции с внешними системами.
• Тестовая эксплуатация с ключевыми пользователями.
В идеале лучше развернуть две базы и работать сразу в обеих, выявляя отклонения. В этот же этап закладывается время наших консультантов на обработку и решение замечаний от пользователей.
• Промышленная эксплуатация.
• Отдельно выделю этап актуализации: если вы дорабатываете систему уже во время обновления, то к началу тестовой эксплуатации вы можете передать нам эти изменения для оценки и переноса в обновлённую конфигурацию. Как правило, этот этап укладывается в 40 часов.

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

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

Надеюсь, эта информация будет интересна тем, кто планирует такие обновления, а выбор — делать переход собственными силами или привлекать стороннюю компанию, — конечно же, всегда будет на стороне заказчика.
1С-ИжТиСи; acanta; +2 Ответить
13. vasilev2015 2725 22.11.19 11:24 Сейчас в теме
(12) Здравствуйте, Ирина !

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

:-))
d4rkmesa; +1 Ответить
16. Xershi 1557 21.03.20 10:27 Сейчас в теме
(12) мы как-то обратились к партнёру.
Цифры были меньше.
Но сумма тоже приличная.
Я тогда делал как описал автор.
И тогда действительно это долго и было сопоставимо с тем что нам предоставили. В этот раз я все обновил за один вечер но последовательно и как результат экономия огромная.
Но если нет спеца в штате и боязно за результат, то конечно нужно обращаться к тем кто его будет гарантировать.
А на цену партнёр закладывает риски и я думаю от 500к 30%, а то и все 50% они и есть.
Поэтому все честно. Клиент получает проект под ключ. Партнёр сливки, если проект будет предсказуемый!
15. Xershi 1557 21.03.20 10:17 Сейчас в теме
У меня была похожая ситуация, только ещё хуже.
УТ для РБ плюс CRM спарка.
Делали допилы в конфе, что то через расширение.
Партнёр сказал, что спарку обновлять не будет. Обновляйте сами и теперь есть модуль CRM.
Ну и вот стояла задача обновлять УТ 11.4.1 до УТ 11.4.11.
Обновил до УТ 11.4.9 и понял что модуль CRM не тянет. Проблемы вы в статье озвучивал. Пришлось откатывать УТ до 11.4.7.
Куча косяков вылезло. Нашёл ошибки разработчиков CRM.
Но с горем пополам за 2 недели я сделал все обновления.
А на рабочей базе все релизы поставил за вечер. Именно для этого нужно хранилище.
Почему вы написали что 1 разработчику не нужно хранилище?
Рекомендую это исправить.
Ну потом конечно что то вылезло.
Где-то логика 1с менялась, но это не критично.
Тестили все пользователи на базе для разработки. В ваших терминах это 2изменения.
Лентяи конечно, но хоть что-то.
Кстати пришёл к мысли, что нужно писать автоматизированные тесты.
Т.к. сам ещё этим не занимался тема очень интересна.
Оставьте свое сообщение