Добавляем в Конвертацию данных 2.1 средства для работы с GIT

Публикация № 1395053 11.03.21

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

Конвертация данных GIT GitRules OneScript КД GitLab правила обмена обмен данными конвертация

В КД2 добавлен функционал для простой работы с GIT, а также с плагином GitRules, при помощи которого единый XML файл раскладывается на "исходники". В результате получаем решение для совместной работы с правилами обмена. В то же время разработчикам не нужно изучать консольные команды GIT, достаточно иметь общее представление о его работе.

Перед чтением этой статьи настоятельно рекомендую ознакомиться с наработками Олега Тымко (//tf21.ru/1c/articles/845576/) и Станислава Ганиева (//tf21.ru/public/632457/).

Взяв их труды за основу нам удалось настроить довольно комфортную совместную разработку правил обмена. Разработчики изменяли правила обмена, с помощью плагина GitRules раскладывали XML файл правил на составляющие и выгружали в GitLab. Архитектору оставалось своевременно отрабатывать запросы на слияние. Конфликтов при слиянии почти не возникало, так как в основном программисты дорабатывали разные «куски» правил.

Однако в силу специфики работы часто к нам в команду «на усиление» приходили разработчики, не знакомые с GIT. Задачи у них были не большие и обучение не всегда было целесообразно. Появилась идея доработать КД так, чтобы обычный программист не задумывался над выполнением консольных команд GIT, он как и прежде должен иметь возможность загрузить файл с правилами обмена, внести необходимые изменения и выгрузить файл на диск. А тот факт, что правила теперь хранятся в GIT, да ещё и в «разобранном» виде его волновать не должно. Все операции по сборке/разборке/коммитам/пушам – все это должна делать сама Конвертация. Конечно полностью «прозрачно» это не сделать, минимальное представление о работе GIT разработчик должен иметь, но удалось сократить время на рутинные операции и уменьшить количество ошибок при работе с малознакомым софтом.

В итоге получился следующий сценарий работы разработчика:

  1. Узнать у архитектора путь к удаленному хранилищу правил в GitLab и параметры подключения, внести их в справочник в «Конвертации»
  2. Клонировать удаленный репозиторий в локальную папку, при этом сразу создается новая ветка, в качестве названия мы договорились использовать номер наряда из нашей системы постановки задач.
  3. Загрузить нужные правила (КД сама соберет из исходников файл XML, а затем загрузит его).
  4. После внесения изменений в правила можно просто выгрузить XML, а можно одновременно с выгрузкой разложить правила на исходники, сделать коммит и даже push. Регулируется это просто флажками. К сожалению, я не нашел способа сделать программно запрос на слияние на сервере GitLab, поэтому разработчиков приходится учить, как это сделать в веб-интерфейсе.

Во время эксплуатации стало понятно, что необходим ещё режим для более «продвинутых» пользователей, которые могут управлять созданием веток самостоятельно. Им необходима возможность просто подключиться к нужному локальному репозиторию, без необходимости каждый раз клонировать удаленный репозиторий. В итоге сейчас можно просто «подключаться» к веткам в КД, а управлять ими так, как удобно (через консоль или любую GUI для GIT, например я предпочитаю SourceTree).

Пока разработка находится в состоянии MVP, но у себя мы её успешно применяем, критичных ошибок не выявлено. Буду рад замечаниям и предложениям. Ниже чуть подробнее расскажу с чем пришлось столкнуться в ходе разработки, возможно кому-то сбережем время.

 
 Немного подробностей
 
 Инструкция пользователя «КД2 и GIT»

 

Скачать файлы

Наименование Файл Версия Размер
Файл обновления для "Конвертации данных 2.1.8.2"

.cfu 115,44Kb
13
.cfu 1.0 115,44Kb 13 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ardn 363 11.03.21 09:38 Сейчас в теме
3. tambu 38 11.03.21 11:21 Сейчас в теме
2. reset2 11 11.03.21 10:41 Сейчас в теме
Круто!
Только 1С выкатили релиз КД 3.1, в котором можно работать как с XML(КД2) так и с EnterpriseData(КД3).
... и в нём есть "Совместная работа".
Прикрепленные файлы:
4. tambu 38 11.03.21 11:23 Сейчас в теме
(2) Спасибо за информацию! Будем пробовать. Прям интересно получается, за многие годы 1С что-то сделали с КД2.
5. ardn 363 11.03.21 16:41 Сейчас в теме
(2)
можно работать как с XML(КД2) т

Попробовали. Так себе совместная работа. Полный аналог хранилища, линейная разработка.
Все-таки с использованием гита получается эффективнее.
7. omut 15.03.21 10:17 Сейчас в теме
(2) Подскажите, а где можно увидеть этот шедевр?
8. reset2 11 15.03.21 14:23 Сейчас в теме
(7) ссылка на странице загрузки КД3
https://releases.1c.ru/project/Conversion30
Прикрепленные файлы:
9. itoptimum 20 17.03.21 06:47 Сейчас в теме
(2) не знаю, как релизы, но с версией для тестирования последней 3.1.1.3, пришлось поработать, чтобы заставить нормально работать по алгоритмам кд2. расширением/изменением обработки загрузки
11. NoRazum 29 25.03.21 17:24 Сейчас в теме
(9) из-за этого БЕТА

до релиза не вытянули
6. kirill_sh 14.03.21 15:12 Сейчас в теме
интересное решение, будем пробовать на КД3
10. serge_focus 4 19.03.21 22:01 Сейчас в теме
Идея супер. Месяц назад появилась задача обмена данными. И кидал в гит просто готовые xml. Работать с этим было неудобно - но хоть какое-то версионирование.
Попробую Ваш вариант. Спасибо за труд.


пс. В описании не видны картинки.
CyberCerber; kirillkr; +2 Ответить
Оставьте свое сообщение

См. также

Работа с хранилищем из другой версии конфигуратора

Групповая разработка (Git, хранилище) v8 Абонемент ($m)

Хранилище и конфигуратор на разных версиях платформы. Как быть?

2 стартмани

23.05.2022    345    0    frutty    1    

Расширение конфигурации 1С:ГитКонвертер для автоматической чистки кэшей и списка информационных баз

Групповая разработка (Git, хранилище) EDT v8 1cv8.cf Абонемент ($m)

Расширение удаляет кэши временных БД и записи об этих БД в списке баз (1cestart.v8i), при удалении временных файлов версии хранилища.

1 стартмани

22.04.2022    741    0    Crazy_Max    0    

Интересное поведение 1С. Сборщик мусора

Групповая разработка (Git, хранилище) v8 1cv8.cf Абонемент ($m)

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

1 стартмани

23.12.2021    1270    0    Evgeny.Bogomolnyy    3    

Исполняемый файл (батник) автоматического подключения базы к хранилищу основной конфигурации и расширения(й)

Групповая разработка (Git, хранилище) v8 Абонемент ($m)

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

1 стартмани

25.11.2021    1693    6    Maito    2    

Выгрузка измененных внешних обработок (за день)

Групповая разработка (Git, хранилище) v8 8.3.14 1cv8.cf УТ10 УПП1 Абонемент ($m)

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

1 стартмани

11.08.2021    2624    5    Serg O.    3    

Как ускорить перенос изменений между хранилищами 1С?

Групповая разработка (Git, хранилище) v8 Россия Абонемент ($m)

Зачастую в рамках одной системы нам приходится работать с двумя хранилищами - хранилищем разработки (ХР) и хранилищем обновления (ХО). И перенос изменений из ХР в ХО, по крайней мере у меня, зачастую превращается в боль - нужно сделать много рутинных операций, в ходе которых приходится тратить время на ожидание (например, на этапах сохранения конфигурации в файл или сравнения, объединения конфигураций с файлом). Поэтому в один прекрасный день я сел и написал инструмент по автоматизации этого переноса.

2 стартмани

11.08.2021    2054    1    kabanoff    4    

Выгрузка / загрузка правил Конвертации данных 2.1 в файлы / из файлов (для Git, SonarQube, VS Code и т.д.)

Обмен между базами 1C v8 Платформа 1C v8.2 КД Бесплатно (free)

Реализация инструмента для выгрузки в файлы / загрузки из файлов правил для Конвертации Данных 2.1 (еще одна). На этот раз в виде внешней обработки, не требует установки и изучения дополнительных утилит, кроме тех, что вы хотите использовать. Подходит для версионирования правил в Git, совместной разработки, анализа кода и написанию обработчиков в более удобной среде.

26.07.2021    4324    52    CyberCerber    8    

Хранение файлов томов БСП в хранилище с OpenStack API

Групповая разработка (Git, хранилище) v8 1cv8.cf Абонемент ($m)

В статье опишу вариант реализации хранения файлов в томах с использованием хранилища OpenStack API на примере облачного хранилища Selectel.

2 стартмани

10.08.2020    4613    6    malikov_pro    10    

Хранилище внешних отчетов и обработок (интегрируемый модуль)

Групповая разработка (Git, хранилище) v8::УФ 1cv8.cf Абонемент ($m)

Сие идея по принципу хранилища конфигурации была реализована для удобства и надежности совместной работы программистов с внешними отчетами и обработками для БСП справочника "Дополнительные отчеты и обработки": все файлы ВОиО для спр. ДОиО всех подключенных ИБ хранятся и учитываются в одном месте; возможность захвата/освобождения файла ВОиО; создание версий с комментариями (добавление новой или обновление текущей); признак проверенности (для связки работы с аналитиком); проверочный механизм совместимости версий файла ВОиО и конфигурации; быстрое переключение между версиями.

3 стартмани

10.08.2020    5515    7    mr_sav    0    

Использование Git для версионирования расширений, внешних отчетов и обработок 1С:Предприятие

Групповая разработка (Git, хранилище) v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

30.10.2019    7833    12    a_pol    6    

Обновление из хранилища по расписанию

Групповая разработка (Git, хранилище) v8 Абонемент ($m)

Помещаете изменения в хранилище днем, а рабочая база обновляется ночью, не мешая пользователям в течение дня.

10 стартмани

16.08.2019    9154    31    adapter    5    

Конфигурация "Внешнее хранилище версий + картинок + печатных форм + отчетов" и обработки для просмотра

Групповая разработка (Git, хранилище) v8 Абонемент ($m)

Конфигурация позволяет сохранять в себя и в дальнейшем получать: 1. Версии объектов 2. Картинки 3. Печатные формы 4. Варианты отчетов.

1 стартмани

28.12.2015    5091    8    gfo    1    

Работа с хранилищем дополнительной информации (прикрепленные файлы)

Групповая разработка (Git, хранилище) v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

09.04.2013    28299    242    nikolega    10    

Сохрание таблицы (дерева) значений в ХранилищеЗначения/восстановление из ХранилищеЗначения c возможностью произвольной обработки данных

Групповая разработка (Git, хранилище) v8 1cv8.cf Россия Абонемент ($m)

Таблица (дерево) значений - это не сохраняемый в базе данных объект. Но иногда возникает необходимость сохранить ТЗ или ДЗ между сеансами работы. Можно воспользоваться функцией ЗначениеВФайл() (сохраняет любое сериализуемое значение в файл). Чтоб сохранить несколько ТЗ или ДЗ в хранилищезначения необходимо добавить их в массив.

1 стартмани

12.10.2011    13338    30    Shef_zeon    3    

Простейшее хранилище файлов

Групповая разработка (Git, хранилище) v8 1cv8.cf Россия Абонемент ($m)

Простейшее хранилище файлов, в виде отдельного модуля

1 стартмани

29.09.2009    10301    235    strange2007    8