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

25.10.20

Задачи пользователя - Рабочее место

Статья является часть блока статей по организации процесса разработки. Задача статьи описать инструкцию по подключению и первоначальной настройке рабочего места с кратким объяснением взаимосвязей между компонентами.

Вводные

  • Различные обработки и расширения для клиентов
    • Разработки нужно тестировать локально, поле доставлять до базы клиента
    • Разработки дорабатываются как локально, так и на стороне клиента
  • Разработка ведется по задачам и изменения нужно привязывать к ним
  • Есть сервисы, как настраивать описано в отдельной статье (ссылка)
    • трекер на базе redmine,
    • git сервер
    • хранилище конфигурации 1С
  • У клиентов различные версии платформы что нужно учитывать при локальном тестировании и взаимодействии с хранилищем конфигурации

 

Вариант решения

1. Расширения привязываются к хранилищу конфигурации и на стороне разработчика и на стороне клиента, после скриптом выгружаются с помощью gitsync в git

Изменения на клиентской стороне отправляются в хранилище.

2. Обработки/отчеты добавляются в папку с git проектом, распаковываются с помощью precommit1c

Изменения на клиентской стороне копируются на локальный ПК вручную (сделал доработку, перенеси, зафиксируй).

 

Порядок настройки

1. Конфигуратор 1С

Берем с официального сайта, устанавливаем нужной версии.

 

2. git клиент, ключи доступа

Ссылка на скачивание https://git-scm.com/downloads, установка с параметрами по умолчанию.

доступ к репозиторию лучше/проще организовать через SSH, поэтому генерируем ключ в git GUI (от присутствует в меню пуск)

 
 скриншоты

при генерации ключа система запросит passphrase (пароль к ключу), на начальном этапе можно оставить пустым.

после генерации будут сформированы файлы с ключами

 
 скриншот

Открытую часть ключа нужно скопировать из GUI

 
 скриншот

 

и добавить в профиль пользователя git сервера

 
 в gitlab
 
 в gogs

 

3. git клиент с интерфейсом, установка имени и email автора коммита

есть множество вариантов, сам использую GitHub Desktop

Ссылка на скачивание https://desktop.github.com/, установка с параметрами по умолчанию, подключаться к github не обязательно, нормально работает и без этого.

При добавлении изменений в репозиторий нужно указывать имя и email автора, эти параметры можно указать глобально

 
 скриншоты

 

4. клонирование репозитория

предполагаю что репозиторий уже создан

Получаем ссылку например "git@gitlab.com:malikov-pro/test.git"

Клонируем репозиторий используя GitHub Desktop

 
 скриншоты

 

5. установка onescript, precommit1c, gitsync

Ссылка на установку onescript https://github.com/EvilBeaver/OneScript/releases, инструкция там же, в результате доступен opm (пакетный менеджер)

Установка precommit1c

opm install precommit1c

Ссылка на проект https://github.com/xDrivenDevelopment/precommit1c

Установка gitsync

opm install gitsync

Ссылка на проект https://github.com/oscript-library/gitsync

 

6. настройка precommit1c для репозитория

переходим в папку с проектом и устанавливаем настройки, скрипт добавляет в папку .git настройки

cd f:\git\client_1c\test\

precommit1c --install
 
 скриншот с результатом

 

7. Организация структуры папок

Писать все в корневую папку неудобно, потому что смешиваются обработки, настройки, расширения. В своей работе организую таким образом

  • src - исходные тексты
    • ExternalConfisurations - расширений
    • ExternalDataProcessors - обработок
  • ExternalDataProcessors - исходные (.erf) данные обработок

Использование

Работа с обработками

1. Добавляю обработку в папку ExternalDataProcessors репозитория

2. захожу в GitHub Desktop

3. вижу изменения обработки

 
 скриншот

4. Указываю задачу в комментарии и добавляю изменения

 
 скриншот

5. отправляю изменения на сервер

 
 скриншот

 

Работа с расширениями в хранилище

1. В хранилище добавляю пользователя export

2. прописываю скрипт с использованием gitsync

 
 скрипт exchange_with_sites.bat

3. перед первым запуском добавляю в корень папки с исходным кодом файлы VERSION и AUTHORS

 
 пример файлов

4. запускаю скрипт

5. отправляю изменения с помощью GitHub Desktop

При использовании gitsync одно добавление в хранилище равняется одному коммиту в репозитории.

 

Итог

Из бесплатных инструментов можно организовать фиксацию изменений разработок в git.

 

Благодарю за внимание.

См. также

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

Модуль или расширение «Сервисный центр для 1С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

14800 руб.

01.11.2012    94134    115    1    

117

SALE! 10%

Рабочее место Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Акцизы Платные (руб)

Помощник ЕГАИС для 1С Розница 2.2/2.3 - обновление сопоставлений алкогольных классификаторов, инвентаризация по марке, проверка накладных по check1.fsrar.ru, поиск продукции по акцизке, запрос новых акцизных марок и многое другое!

12000 10800 руб.

05.01.2016    146866    508    700    

227

Производство готовой продукции (работ, услуг) Рабочее место Пользователь Оперативный учет 8.3.14 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Расширение, добавляющее в Вашу УТ 11, КА 2.5 или ERP 2.5 автомобили, марки, модели, нормо-часы. Есть запись на ремонт, документ заказ наряд, вывод ведомости по заказ нарядам, вывод выработки мастеров.

7200 руб.

29.07.2021    17092    28    17    

34

SALE! 15%

Оптовая торговля Рабочее место Создание на основании Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Полнофункциональное расширение для формирования и ведения учета перевозочных документов всех видов (ТН, ТТН, ЭТрН). Печать документов или отправка через ЭПД (Электронный перевозочный документооборот). Поддержка регистрации нескольких перевозок на одну финансовую реализацию (в виде УПД, например), а также одной перевозки на основании нескольких финансовых реализаций. Формирование всех сопроводительных документов из одной отгрузки. Формирование реестра грузосопроводительных документов, доверенности менеджеров для указания ответственных лиц (руководитель, главный бухгалтер, кладовщик) организации для пользователей ИБ. Гибкая настройка функциональности под потребности организации.

2298 1953 руб.

18.04.2017    48612    229    43    

89

Рабочее место Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Подсистема УРС - это инструмент для гибкой настройки интерфейсов пользователей типовых и измененных конфигураций. Создаем рабочие места для любой должности, выводим отчеты и диаграммы, компонуем данные в планировщиках, создаем сценарии действий - без программирования. Встраивается в любую конфигурацию от "Управления торговлей 10.3" (БП, КАА и т.д.) до "Управления производственным предприятием (ERP) 2.0" (УНФ, УТ11 и т.д.) на платформе 8.3

6900 руб.

13.07.2015    31083    4    27    

37
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1563 06.07.20 12:35 Сейчас в теме
(0) 1 С небольшими расширениями удобно сразу через Гит работать, без хранилищ расширений.

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

2 а структуру проекта рекомендую юзать как в vanessa-bootstrap
посмотри там каталог src
2. malikov_pro 1324 06.07.20 13:13 Сейчас в теме
(1) Хранилищем решаю вопрос доставки до базы, проще получается, подключил, загрузил, сохранил. Обработки использую потому что быстрее реализовать с рег. заданиями и тестировать.

"сразу все плюшки гита." - пока не шибко силен в git, буду изучать при использовании https://infostart.ru/public/1257654/, автор более продвинут в этом вопросе и тема общая.
"посмотри там каталог src" - лучше чем у меня, переделаю, поправлю статью.


Сейчас в типовых применяют механизм патчей через расширения (мне интересен механизм доставки). Есть идея организовать библиотеку модулей (расширениями) с доставкой, налог opm, npm. Вопрос в требованиях, стандартизации интерфейсов и доверии (открытый код и тесты) к модулям. Для infostart задача решаемая.
3. artbear 1563 06.07.20 13:35 Сейчас в теме
(2) Доставка в базы также несложно решается современными средствами 1С и ванесса-раннер.
т.е. разборка, сборка, установка (даже и не в безопасном режиме) делается несложно.
и можно не заморачиваться с разными хранилищами, логинами и пароли.
суть проекта с Гитом - держим все исходники в одном месте. а не разрозненно, как в случае с 1С хранилищами (
malikov_pro; +1 Ответить
4. malikov_pro 1324 06.07.20 14:12 Сейчас в теме
(3) Примерно понял, нужно углубится в тему CI/CD.
"и можно не заморачиваться с разными хранилищами, логинами и пароли." - пока не решен вопрос проверки связанности между расширениями, один раз попробовал, после слил в одно. Сейчас подход "один клиент-одно расширение".
По организации библиотеки расширений есть вариант кого озадачивать?
5. artbear 1563 06.07.20 14:21 Сейчас в теме
6. malikov_pro 1324 09.07.20 02:08 Сейчас в теме
(5) Вариант реализации: приделать к https://infostart.ru/public/1127356/ HTTP сервис, выдать к нему доступ от клиентов. Сделать расширение транспорт по аналогии с обновлениями в БСП добавив внешние обработки. после добавить отправку из клиентской базы в ветку. Доработал у клиента с минимальными усилиями перенес к себе.
Оставьте свое сообщение