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

Публикация № 1452242 02.06.21

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

ветвление расширение типовая конфигурация слияние трехстороннее объединение поддержка поставка хранилище Git EDT

Для чего нужно ветвление доработки типовой конфигурации? Как быть с расширениями? Как все это потом связать в одно целое?

Вводные условия

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

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

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

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

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

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

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

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

В процессах доработки, внедрения и сопровождения участвуют только сотрудники ИТ-отдела организации: до 7-ти разработчиков, до 5-ти сотрудников сопровождения (они же консультанты, методологи и тестировщики). При этом, та же команда сопровождает все другие используемые информационные системы организации, кроме технологических. Стандартный "заводской" набор.
Контуры автоматизации разработки, тестирования и развертывания (CI/CD) не используются - масштаб не тот, относительно больших конфигураций "с нуля" не разрабатывается. Есть набор "дымовых" тестов, помогающий при обновлениях и все.

Подходит очередь автоматизации нового контура учета и возникает дилемма.

Требуется одновременно:

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

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

 

Проблемы Git'а и EDT при доработке типовых конфигураций

Само собой, первое что приходит здесь на ум - Git с его ветками. Действительно, решение в мире 1С современное, модное и, на первый взгляд, вполне подходящее под сложившуюся ситуацию.
Но конфигуратор, наиболее привычная среда разработки для пока подавляющего большинства разработчиков 1С, не может работать с Git'ом.
Git, вернее достаточно большое число его клиентов, может работать с отдельно взятыми файлами, в которые сейчас можно выгрузить конфигурацию и/или расширение.
Но, в случае использования такого подхода, процесс разработки грозит стать достаточно сложным и долгим. Выгрузка/загрузка в файлы конфигураций уровня ERP занимает очень продолжительное время. Кроме того, разработчикам придется учиться очень тщательно контролировать работу с Git'ом через файловую систему или учиться работать с большим количеством нового инструментария. И я не уверен, что не возникнет еще одной проблемы, которая описывается чуть ниже.

Напрашивается вроде бы очевидное решение - EDT.
Среда разработки, пусть и относительно новая, но вполне годная для достаточно быстрого освоения разработчиками, с большим количеством "плюшек", которых лишен старый добрый конфигуратор. Сейчас уже поддерживаются самые свежие релизы платформы. Работа с Git'ом поддерживается без лишних "танцев с бубном". Есть возможности расширения функционала с помощью плагинов. И прочая, и прочая...

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

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

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

 

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

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

Разветвленная разработка в конфигураторе

На самом деле, для решения этой задачи можно обойтись штатными средствами 1С. Причем так, как рекомендуется это делать на ИТС.
Коллега sinichenko_alex в статье "Технология разветвленной разработки конфигураций 1С" очень доходчиво и подробно поясняет что и как делать. Я не хотел бы все описывать повторно. Кому будет действительно интересно - прочтите указанную статью.

Применительно же к нашим вводным условиям и через призму рекомендаций ИТС выглядеть все должно примерно так:

  1. Перед разветвлением разработки желательно обновить боевую базу до последнего релиза. В процессе разветвленной разработки до слияния веток делать это нежелательно, поскольку может значительно затрудниться сам процесс слияния. А одновременно обновить и боевую базу и базу ветки не получится, поскольку в конфигурации поставщика базы ветки должна сидеть боевая конфигурация на момент разветвления.
     
  2. В определенный момент из основного хранилища (Хранилище № 1) конфигурации получаем файл поставки, на основании которого создаем центральную базу нашей новой ветки (см. статью). В последнем помещении в хранилище № 1 ставим метку, которая будет показывать нам точку разветвления. Просто для себя, на всякий случай. Особого смысла в ней нет, поскольку в конфигурации поставщика нашей ветки сидит как раз последнее состояние этого хранилища на момент разветвления.
     
  3. В этот же момент из хранилища расширения боевой базы (Хранилище № 2) получаем файл cfe, на основании которого делаем расширение в центральной базе новой ветки. Опять же, в хранилище-родителе (№ 2) помечаем меткой точку разветвления. Вот здесь это сделать уже обязательно! А еще неплохо бы сохранить этот самый исходный cfe-файл. Почему - поясню позже.
     
  4. Из центральной базы новой ветки создаем новые хранилища основной конфигурации (Хранилище № 3) и расширения (Хранилище № 4)
     
  5. В этих хранилищах (3 и 4) ведем разработку в рамках автоматизации нового контура учета.
     
  6. Параллельно в хранилищах 1 и 2 дорабатываем и исправляем ошибки боевого функционала.
     
  7. По завершении разработки и тестирования в рамках автоматизации нового контура учета обновляем основную конфигурацию ветки (Хранилище № 3) с помощью нового файла поставки, полученного из боевой конфигурации (Хранилище № 1). Как это делать подробно описано все в той же статье.
    В итоге получим в хранилище № 3 все изменения боевой базы и функционал нового контура учета.
     
  8. Обновляем расширение в конфигурации ветки (хранилище № 4) с помощью исходного файла cfe, полученного в момент разветвления, и нового файла cfe, полученного из расширения боевой базы на текущий момент (хранилище № 2). Как именно это сделать проще - опишу чуть ниже.
     
  9. Тщательно тестируем "слитые" конфигурации в базе ветки.
     
  10. Обновляем основную конфигурацию и расширение в боевой базе с помощью обычного "Сравнить, объединить...", используя cf и cfe-файлы, полученные из базы ветки после пункта 9. Фиксируем изменения в хранилищах № 1 и 2. Ликвидируем базу ветки вместе с хранилищами 3 и 4.

 

Слияние веток расширения

Теперь вернемся к пункту 8. Дело в том, что расширения не обладают функционалом основной конфигурации в плане создания, хранения и использования при обновлениях конфигурации поставщика. В лучшем случае, в конфигураторе можно использовать сравнение/объединение для расширений.
Но при таком подходе очень легко затереть те изменения, которые были внесены в расширение в Хранилище № 2 изменениями, внесенными в Хранилище № 4.
Для качественного слияния двух веток нужна общая отправная точка - начало новой ветки из пункта 3. Чтобы сравнением с ней двух файлов cfe в настоящий момент (Хранилище № 2 и Хранилище № 4) найти тонкие места в виде дважды измененных свойств и уделить им максимальное внимание при слиянии веток.

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

Итак, как же действовать:

  1. Получаем актуальные файлы cfe из хранилищ № 2 и 4.
     
  2. Получаем нашу "отправную точку" - файл cfe перед разветвлением - из помеченного нашей меткой в предыдущей главе помещения в хранилище № 2 (если, конечно, вы не сохранили его еще тогда, при разветвлении):
     
  3. Берем любую базу (которую вы, например, использовали для разработки) отключаем ее расширение от хранилища. После чего последовательно загружаем в расширение наши три файла и выгружаем каждый раз расширение в файлы в разные папки - "начало ветки", "боевая" и "ветка":




    Наша цель - получить три папки с файлами для загрузки их в проекты EDT
     
  4. Открываем EDT, создаем три новых проекта расширений из наших папок в одной рабочей области, указывая соответствующие наименования проектов. Проекты расширений в EDT могут существовать и без родительских проектов.
    Так как объемы расширений обычно значительно меньше больших конфигураций (если, конечно, следить за ними и не допускать огульного массового расширения ненужных объектов), то проекты создаются достаточно быстро:


     
  5. Теперь осталось воспользоваться тем самым трехсторонним сравнением/объединением, ради которого все и затевалось. Выбирать главный источник для сравнения/объединения следует исходя из соображений наибольшего числа изменений в нем с момента разветвления. Для нашего случая - это проект "ветки":


     
  6. В итоге получим примерно следующую картину:

     
  7. То есть, EDT самостоятельно отметила нам объекты, которые безусловно должны быть перенесены в общее расширение. Кроме того, с помощью фильтра внизу формы сравнения можно ограничить список различий до тех объектов, объединение которых вызвало у EDT затруднение. Это как раз наши дважды измененные объекты - и в хранилище № 2, и в хранилище № 4.
    Их объединение EDT предлагает провести нам вручную:


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

     
  8. Как я уже говорил, у нас не стоит цели получить результат объединения в проекте EDT. Нам это надо сделать в конфигураторе, а EDT нам нужен в качестве "подсказки".
    Поэтому открываем конфигуратор, загружаем в конфигурацию расширения тот файл cfe, который мы получили из ветки (хранилище № 4). Запускаем сравнение/объединение расширения с файлом cfe, который мы получили из боевой базы (хранилище № 2).
    Снимаем все флажки и аккуратно расставляем их в соответствии с тем, как установила нам их EDT (два монитора очень помогут!). А также аккуратно повторяем все манипуляции по ручному слиянию дважды измененных объектов:


    Ах, если бы можно было бы из EDT сохранить настройки объединения, а в конфигураторе применить их... Но увы, эти настройки объединения конфигуратор не понимает.
     
  9. Собственно, все. Результат объединения сохраняем в cfe, сравниваем/объединяем с ним расширение в боевой базе, помещаем все изменения в хранилище.
     

Послесловие

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

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

Главное, не пытаться в таком ключе разрабатывать несколько веток одновременно, тогда точно запутаемся все. Ну, да это не про наши ресурсы :-)

Всем спасибо за внимание! Особенно тем, кто осилил сей опус до конца!

 

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

  1. [БЕСПЛАТНО] "Откат" данных без транзакций. Расширение для легкого возврата к "исходному" или выбранному состоянию после любых изменений данных
     
  2. Быстрое формирование наборов данных Объект схемы СКД
     
  3. Комплексный контроль остатков. Для одного или сразу нескольких логически связанных регистров накопления. Универсальное решение уровня данных для контроля не только складских остатков
     
  4. Подсистема "Диспетчеризация обслуживания". Предварительная запись, планирование, регистрация и анализ этапов обслуживания или производства для любых конфигураций на платформе 8.3.6+ с использованием планировщика
     
  5. Даты запрета изменения по пользователям в режиме "Общая дата" для БП 3, ЗУП 3 и других конфигураций на УФ, использующих БСП

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. FreeArcher 149 08.06.21 08:17 Сейчас в теме
Спасибо за статью, у нас такой же подход к разработке. УТ11 конфа (новые объекты) + расширение. Только отдел уже 9 разработчиков (и хотелось бы ещё расширят штат за счет удаленщиков). В хранилище, самые популярные объекты всегда захвачены, буквально очередь до драки :)

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

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

На EDT начали разрабатывать типовые конфигурации, должно быть все нормально уже, я надеюсь...
native-api; Алексей Воробьев; +2 Ответить
2. Алексей Воробьев 163 08.06.21 08:43 Сейчас в теме
(1) Спасибо за отзыв.
Ваша ситуация совсем не подходит под описанный метод. Множество коротких задач, которые должны попадать в рабочую среду в короткие же сроки - это как раз целиком одна из веток в описанной концепции.
Вторая ветка должна появиться при появлении задачи внедрения большого программного блока, которым в той же УТ раньше вообще никак не пользовались, но поступил запрос на его внедрение. А внедрение предполагает масштабную доработку. Скажем, от 100+ часов.
Вот в этой ситуации и следует применять описанный подход, когда рабочая база дорабатывается по-мелочи одновременно с разработкой нового функционала, который попадет в рабочую среду только после его полной разработки, тестирования и слияния веток...

Песню про то, что вендор перешел на разработку типовых конфигураций в EDT, я слышал (преподносилось исключительно как инсайды) на конференциях Инфостарта и в 2019, и в 2020 году. Но, по крайней мере, ни в ERP (а, соответственно, ни в УТ, ни в КА), ни в ЗУПе я этого не заметил.
Ведь если бы это было так, то описанных в начале статьи отличий (артефактов) после "прогонки" конфигурации через проект EDT не возникало бы. Все эти "артефакты" прилетали бы в конфигурации еще от вендора.
Или при выпуске релизов вендором используется дополнительное ПО, избавляющее от подобных артефактов конфигурацию...

В любом случае, если вы не приняли решение зафиксировать у себя версию вендора и более не обновлять рабочую базу, а только самостоятельно ее дорабатывать, то использовать EDT нельзя! Это очень повредит при необходимости обновления.
Если же база более не обновляется, а только дорабатывается собственными силами (а сейчас такое редкость), то EDT и Git - то что доктор прописал :-)
Оставьте свое сообщение

См. также

Приемы быстрой работы в EDT/Git

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

Статья даёт ответы на некоторые вопросы, возникающие у разработчиков, которые погружаются в океан технологий EDT и Git, омывающий царство DevOps... Сколько и какие ветки нужны? Какой репозиторий выбрать? Кто должен сливать доработки в мастер ветку или ветку версии? Как не тратить время в EDT на ресурсоёмких операциях? Зачем нам сборочный конвейер и как его построить? Зачем нам нужно тестирование и как его реализовать? Как вести разработку, если есть разработчики, не умеющие вести разработку в EDT или не имеющие технической возможности, но нам нужны их skills в 1С? Что такое фантомы и нужно ли с ними бороться? Как слить 20 доработок с конфликтами и уложиться в 4 часа? Опыт использования модных технологий в реальных проектах.

30.03.2023    3908    check2    10    

64

Получаем статистику по git-репозиторию в разрезе разработчиков

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

Итак! Представим, что наступил момент, когда разработка через исходный код реализована на предприятии в полном объеме. Мы разрабатываем в EDT или конфигураторе (но выгружаем конфигурацию в исходный код), версионируем внешние отчеты и обработки и расширения, собираем релизы, проверяем код статическим анализом, в разработке царит гармония и мир. Красота! Но менеджерам этого мало, всегда хочется чего-то еще, и вот мне прилетает задача - дай статистику по вкладу в код каждого разработчика.

13.03.2023    1151    ardn    3    

25

Формула успешного внедрения DevOps и Agile в 1С: от неудачи к неудаче без потери энтузиазма

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

На конференции Infostart Event 2021 Post-Apocalypse выступил директор практики БИТ:ERP компании Первый БИТ Глеб Стальной. В ходе доклада он рассмотрел трансформацию проектного подхода в продуктовый, рассказал про имплементацию «современных» практик DevOps и продемонстрировал инструменты для разработки, взаимодействия с бизнесом и клиентами, применяемые в его команде.

27.02.2023    980    glebushka    1    

8

Кровь, пот и GIT

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

Ведущий разработчик 1С Андрей Карпов на конференции Infostart Event 2021 Post-Apocalypse поделился ошибками, которые совершают новички в работе с GIT. В докладе четыре кейса с пошаговыми инструкциями, которые позволят не допускать конфликтов в разработке.

17.01.2023    6393    karpik666    46    

62

Прокси хранилища 1С (IIS, OneScript)

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

Избавляемся от версионной зависимости, проверяем комментарии, вызываем веб-хуки, делаем красивые пути. И все это на привычном IIS и понятном OneScript.

08.12.2022    5411    kamisov    31    

84

Что, если Continuous Integration – это прежде всего практика, а не набор инструментов?

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

Рано или поздно многие компании приходят к практикам DevOps. И начало этому – Continuous Integration. О том, что происходит в команде специалистов 1С, когда они переходят на Git, и почему простое внедрение CI-инструментов не решает проблему подходов к разработке, в докладе на Infostart Event 2021 Post-Apocalypse рассказал руководитель компании ПрогТехБизнес Александр Анисков.

07.12.2022    1588    vandalsvq    0    

23

Управление хранилищами без боли

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

Когда хранилищ много, возникает вопрос удобного управления ими. Андрей Овсянкин на онлайн-митапе «Инструменты автоматизации рутины в 1С-разработке» рассказал, как настроить перенос хранилища на новую версию платформы без перепрописывания путей у каждого разработчика, и как безболезненно обеспечить для хранилища запрет коммита с пустым комментарием.

28.11.2022    6975    Evil Beaver    12    

90

И снова распаковщик. Теперь на чистом 1С. YellowPacker

Инструментарий разработчика Групповая разработка (Git, хранилище) 8.3.14 Конфигурации 1cv8 Абонемент ($m)

V8Unpack-подобный распаковщик, который делает практически то же, что и всем известный инструмент. Для работы с файлами cf, cfe, epf, erf. Только на языке 1С, без использования внешних файлов, библиотек и компонент.

5 стартмани

22.08.2022    5856    32    VKislitsin    27    

89

Технология доработки типовой конфигурации с использованием конфигуратора

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

Как обычно происходит процесс доработки типовой? Разворачивается и используется рабочая база из какой-то типовой поставки 1С (БП/ERP/ЗУП и т.д.). Далее бизнес постоянно приносит требования по доработке типового функционала (отдельный вопрос, зачем это нужно). Возникает задача организовать постоянное изменение типовой конфигурации группой программистов. На мой взгляд, это довольно частая задача. Хотелось бы рассмотреть возможные варианты ее решения. Нигде не нашел упоминаний о подходах решения такой задачи, хотя, думаю, многие работают в таком режиме.

16.07.2022    1797    partizand    13    

8

Отражаем хранилище в репозиторий git, Jenkins'ом

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

Описание приемов по настройке копирования хранилища 1С в репозиторий git. С помощью gitsync, под управлением Jenkins.

16.06.2022    1762    ImHunter    1    

21

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

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

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

08.06.2022    1838    curdate    10    

7

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

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

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

2 стартмани

23.05.2022    2294    2    frutty    4    

9

Скрипт перепривязки базы к хранилищу конфигурации

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

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

17.04.2022    1337    malikov_pro    0    

13

Выгрузка версии хранилища в XML файлы

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

Скрипт, выполняющий выгрузку произвольной версии из хранилища в XML.

17.03.2022    1194    kraynev-navi    2    

7

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

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

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

1 стартмани

23.12.2021    3664    0    Evgeny.Bogomolnyy    3    

2

Стек технологий для 1С

Инструментарий разработчика Рефакторинг и качество кода Групповая разработка (Git, хранилище) Механизмы платформы 1С Бесплатно (free)

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

29.11.2021    32371    mrXoxot    63    

429

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

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

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

1 стартмани

25.11.2021    3860    18    Maito    2    

2

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

Групповая разработка (Git, хранилище) Платформа 1С v8.3 8.3.14 Конфигурации 1cv8 1С:Управление торговлей 10 1С:Управление производственным предприятием Абонемент ($m)

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

1 стартмани

11.08.2021    4425    8    Serg O.    6    

8

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

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

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

2 стартмани

11.08.2021    4386    9    kabanoff    4    

6

Девопсы в 1С: микросервис распознавания штрихкодов

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

Распознавание штрихкода из сканированного документа в PDF.

09.08.2021    2511    alexey_kurdyukov    8    

9

Как подключиться к хранилищу конфигурации на сервере за NAT, если есть доступ по RDP?

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

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

01.06.2021    4392    Dipod    13    

53

Мастер-класс: Реализация цикла CI/CD на практическом примере с использованием системы Тестер

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

На онлайн-митапе Инфостарта «DevOps в 1С» выступил Дмитрий Решитко – руководитель отдела разработки в компании C.T. Consultants Inc. Дмитрий провел мастер-класс, в котором продемонстрировал, как создавать новую функциональность в конфигурации с одновременным использованием инструмента тестирования и реализовать автоматизированное тестирование конфигурации при помещении кода в репозиторий на GitLab.

31.05.2021    2541    grumagargler    0    

18

Технология разветвленной разработки конфигураций 1С

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

Вся групповая разработка любой организации, где работает более 2-х программистов, в превосходящем большинстве случаев строится вокруг хранилища конфигурации. Те из нас, кто обращался к стандартам разработки 1С как минимум раз в жизни и читал их полностью (а может, и просто слышал от коллег), наверняка знают, что существует «Технология разветвленной разработки конфигураций» https://its.1c.ru/db/v8std#content:709:hdoc но не все поняли, как на самом деле эту замечательную вещь применять на практике, а кто-то понял и вероятнее всего думает, что «это к нам не относится, командная разработка по такой технологии в нашей организации не получится в силу определённых причин и потому применять её, к сожалению, я один не могу и не буду», до конца не разобравшись во всех аспектах, но это ошибочное мнение. В этой статье я постараюсь описать свой опыт, рассказать о преимуществах использования данной технологии, дать понять, что технология разветвленной разработки конфигураций на самом деле вещь индивидуальная и каждый для себя решает сам, применять её или нет, а также внести понимание, что у вас вообще нет никакой зависимости от своих коллег, работая в хранилище конфигурации при использовании этой технологии.

19.05.2021    10458    sinichenko_alex    45    

128

Ненавязчивая локальная разработка с traefik2, docker и letsencrypt

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

Перевод статьи по проксированию HTTP траффика до сервисов развернутых в docker контейнерах. Оригинал от 24.09.2020.

16.05.2021    5485    malikov_pro    0    

8

Распаковка файлов обработок/отчетов при работе с GIT precommit

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

Скрипт для выгрузки в файлы внешних обработок и отчетов без использования сторонних приложений на платформе Windows с использованием 1С Enterprise и VBS.

16.03.2021    2950    8    dvissarov5    3    

6

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

Групповая разработка (Git, хранилище) Платформа 1С v8.3 1С:Конвертация данных Абонемент ($m)

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

1 стартмани

11.03.2021    8051    23    tambu    13    

28

[oscript] Проверка подключения рабочей базы к хранилищу

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

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

1 стартмани

11.12.2020    1458    ardn    0    

11

Хранилище значения. Заметки

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

Некоторые подробности про общеизвестный инструмент.

03.11.2020    28283    Yashazz    16    

52

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

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

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

2 стартмани

10.08.2020    6401    6    malikov_pro    10    

12

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

Групповая разработка (Git, хранилище) Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

3 стартмани

10.08.2020    7660    13    mr_sav    0    

5

Работа с хранилищем конфигурации из режима 1С: Предприятие минуя конфигуратор

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

Описание приемов работы с хранилищем конфигурации 1С из режима 1С: Предприятие минуя конфигуратор. Статья содержит ряд примеров работы с хранилищем по протоколу HTTP, описание "внутренностей", а также демонстрационную обработку

3 стартмани

11.06.2020    8840    MaxxG    23    

55

Краткий вывод результатов Unit тестов

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

XSL преобразование файла результата Unit тестов.

1 стартмани

16.03.2020    4714    0    shmalevoz    0    

4

Технология разветвлённой разработки, использующая git, ci/cd

Групповая разработка (Git, хранилище) 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Адаптация и расширение требований к разветвлённой разработке с использованием git и ci/cd, основанное на стандартах 1С

24.02.2020    9783    check2    10    

76

Краткое руководство по внесению изменений в конфигурацию

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

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

1 стартмани

13.01.2020    28662    sapervodichka    41    

220

GitSync 3.0. Шпаргалка по использованию

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

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

26.11.2019    16676    VKislitsin    48    

117

Минимизация изменений в коде / Использование Хранилища общих настроек

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

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

14.11.2019    3627    biimmap    34    

3

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

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

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

06.11.2019    6139    vasilev2015    20    

23