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

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С:Предприятие 8 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

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

16800 руб.

01.11.2012    103043    124    1    

135

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

Расширение, добавляющее в конфигурации 1С:УТ 11.5, КА 2.5 и ERP 2.5 автомобили, марки, модели, нормо-часы. Предусмотрена запись на ремонт, документ заказ наряд, вывод ведомости по заказ нарядам, вывод выработки мастеров.

14400 руб.

29.07.2021    21469    42    18    

48

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

Удобное отображение аналогов номенклатуры в 1С для УТ 11, КА 2, ERP прямо в списке. Легкое добавление и удаление аналогов к номенклатуре. Доработка в виде расширения, изменение конфигурации не требуется.

12500 руб.

19.03.2019    54210    446    81    

116

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

Расширение "Входной контроль" в 1С:ERP, КА 2.5, УТ11.5 и предназначено для удобства отражения операций входного контроля и их результатов в учетной системе, а также фотофиксации брака.

18000 руб.

02.02.2019    40145    46    22    

45

Рабочее место Учет рабочего времени Пользователь Руководитель проекта 1С:Предприятие 8 1C:Бухгалтерия Управленческий учет Платные (руб)

Конфигурация СКУД предназначена для выдачи пропусков с qr-кодами и для учета рабочего времени сотрудников. Кроме того, конфигурация подойдет для организации пропускной системы на предприятиях, при массовых мероприятиях и др.

12000 руб.

16.02.2018    46425    10    25    

19

Рабочее место Логистика, склад и ТМЦ Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

24000 руб.

19.08.2015    17699    4    5    

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

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

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

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


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