Как настроить систему контроля версий Git в 1C:EDT и решить вопросы оплаты облачных репозиториев?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При переходе на разработку в среде 1C:EDT (1C:Enterprise Development Tools) перед командами и частными разработчиками встает вопрос выбора и настройки хранилища исходного кода. Популярный сервис GitHub для создания закрытых (приватных) командных репозиториев требует платной подписки, что вызывает трудности с проведением оплаты и предоставлением закрывающих документов для бухгалтерии.

Рассмотрим подробнее, как обойти бухгалтерские сложности, какие существуют альтернативы и как правильно настроить интеграцию 1C:EDT с Git-сервером.

Проблема проведения зарубежных платежей через бухгалтерию

Проанализируем юридическую и финансовую сторону прямой покупки подписок на зарубежных платформах вроде GitHub:

  1. Отсутствие закрывающих документов. При оплате корпоративной картой сервисы предоставляют только инвойсы и электронные квитанции. Налоговые органы часто отказываются принимать их для подтверждения расходов организации, так как отсутствуют стандартные акты выполненных работ или универсальные передаточные документы (УПД).
  2. Обязанности налогового агента. При покупке зарубежного облачного ПО юридическое лицо обязано самостоятельно рассчитывать и перечислять в бюджет НДС налогового агента, а также налог на доходы иностранной организации.

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

Альтернативные решения: Self-hosted Git и локальный GitLab

Выясним, как упростить инфраструктуру и полностью исключить расходы на зарубежные подписки. Оптимальным решением для разработки в 1C:EDT является разворачивание собственного Git-сервера в локальной сети компании или на виртуальном сервере.

Основные варианты бесплатной инфраструктуры:

  1. Установка GitLab Community Edition (CE). Разворачивание собственного сервера GitLab снимает любые ограничения на количество приватных репозиториев и пользователей, а также устраняет необходимость согласования зарубежных платежей с бухгалтерией.
  2. Использование альтернативных версий. Для небольших команд подходят легковесные open-source системы, такие как Gitea или Forgejo.
  3. Российские облачные Git-платформы. Использование отечественных облачных хостингов исходного кода позволяет работать по безналичному расчету в рублях с получением закрывающих документов по ЭДО.

Подключение Git-репозитория к 1C:EDT по шагам

Среда разработки 1C:EDT использует стандартные протоколы передачи данных (HTTPS и SSH). Для программы нет разницы, где именно расположен Git-сервер — на локальном сервере GitLab, в приватном облаке или на внешней платформе.

Разберем порядок подключения проекта в 1C:EDT:

  1. Создадим новый проект или репозиторий на сервере GitLab или в облачном сервисе.
  2. В 1C:EDT перейдем в перспективу работы с Git (или откроем панель Git Repositories).
  3. Выберем команду клонирования репозитория (команда Clone a Git repository).
  4. Укажем URI вашего репозитория (например, по протоколу HTTPS) и данные для авторизации.
  5. Укажем локальную папку на диске для размещения проекта и завершим импорт проекта в рабочее пространство 1C:EDT.

Технические особенности работы 1C:EDT с версиями Git

Для корректной работы 1C:EDT с системами контроля версий необходимо учитывать следующие технические нюансы:

  1. Авторизация по персональным токенам (PAT). При работе по протоколу HTTPS современные сервисы (включая GitLab и GitHub) не принимают обычный пароль от учетной записи. В настройках авторизации 1C:EDT необходимо указывать персональный токен доступа (Personal Access Token).
  2. Использование Git LFS (Large File Storage). Проекты 1С содержат не только текстовые исходники, но и бинарные файлы (картинки, макеты печатных форм, внешние библиотеки). Чтобы репозиторий не разрастался до больших размеров и не вызывал зависания 1C:EDT, обязательна настройка расширения Git LFS.
  3. Слияние веток и разрешение конфликтов. Конфигурация 1С в 1C:EDT представляется в виде множества взаимосвязанных XML-файлов. Конфликты слияния нельзя править через веб-интерфейс GitLab или сторонние текстовые редакторы. Все разрешения конфликтов выполняются исключительно внутри 1C:EDT с использованием встроенного инструмента трехстороннего сравнения и объединения.
← На главную