Автоматическая проверка обновлений для расширения 1С через GitHub

05.02.25

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

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

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

 

 1. Подготовка репозитория на GitHub


- Создайте репозиторий на GitHub (например, My-1C-Updater).  
- Добавьте файл version.txt в корень репозитория.  


   Формат файла:  
2.0|Добавлена интеграция с онлайн-кассами. Исправлены ошибки отчетов.


   - Первое число — версия, после  |  — описание изменений.  

 

  
Пример файла version.txt в репозитории.

 

 

 2. Настройка обработки в 1С

 

Добавьте в вашу обработку процедуру проверки версии:  

Процедура ПроверитьОбновление()
    Перем ТекущаяВерсия = 1.0; // Текущая версия обработки
    
    Попытка
        Соединение = Новый HTTPСоединение("raw.githubusercontent.com", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL());
        Запрос = Новый HTTPЗапрос("/ваш-логин/My-1C-Updater/main/version.txt");
        Запрос.Заголовки.Вставить("User-Agent", "1C-Application");
       	Запрос.Заголовки.Вставить("Accept", "*/*");
 
        Ответ = Соединение.Получить(Запрос);
        Если Ответ.КодСостояния = 200 Тогда
            ДвоичныеДанные = Ответ.ПолучитьТелоКакДвоичныеДанные();
            ЧтениеТекста = Новый ЧтениеТекста(ДвоичныеДанные, КодировкаТекста.UTF8);
            ТекстОтвета = СокрЛП(ЧтениеТекста.Прочитать());
            
            Части = СтрРазделить(ТекстОтвета, "|", Ложь);
            Если Части.Количество() < 1 Тогда
                Сообщить("Ошибка формата version.txt!");
                Возврат;
            КонецЕсли;
            
            Попытка
                НоваяВерсия = Число(Части[0]);
                Описание = ?(Части.Количество() > 1, Части[1], "");
            Исключение
                Сообщить("Некорректный номер версии!");
                Возврат;
            КонецПопытки;
            
            Если НоваяВерсия > ТекущаяВерсия Тогда
                Сообщить("Доступна новая версия: " + НоваяВерсия + "! 
                          |Что нового: 
                          |" + Описание + "
                          |Скачать: //infostart.ru/...");
            //Иначе
            //    Сообщить("Ваша версия актуальна.");
            КонецЕсли;
        Иначе
            Сообщить("Ошибка при проверке обновлений: " + Ответ.КодСостояния);
        КонецЕсли;
    Исключение
        Сообщить("Ошибка: " + ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры

Код проверки обновлений в модуле обработки.

 

Как это работает:

  1. Пользователь запускает обработку.

  2. Код обращается к вашему GitHub-репозиторию и читает файл version.txt.

  3. Если версия в файле больше текущей (например, в version.txt — 2.0, а у пользователя 1.5), выводится сообщение со ссылкой.

 

 

 3. Обработка ошибок

 

 Типичные проблемы и решения:

- Ошибка 404:  
  Убедитесь, что путь к файлу в коде совпадает с репозиторием.  

- Ошибка SSL:  
  Обновите корневые сертификаты или используйте ЗащищенноеСоединениеOpenSSL().  

- Пустое тело ответа:  
  Проверьте, что `version.txt` доступен по ссылке в браузере. Файл должен открываться по пути https://raw.githubusercontent.com/ваш-логин/My-1C-Updater/main/version.txt 

 

 4. Интеграция с интерфейсом

 

Добавьте вызов процедуры ПроверитьОбновления() в место, где будет происходить проверка версии:  
 

Пример работы 

 

Если у вас есть вопросы или предложения — оставляйте их в комментариях! 😊   

Успешной разработки! 🚀

GitHub Обновления

См. также

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Пакет обновлений для старых конфигураций 1С:КА 1.1, ЗУП 2.5 и БУХ 2.0 - УСН, НДС 5%, 7%, НДФЛ новая шкала 2025, ЕФС-1, Расчет страховых взносов, Статистика, СЗВ-ТД, 2-НДФЛ, Регламентированная отчетность, Кадровый учет, Прослеживаемость импортных товаров. С 14.04.25 ожидается увеличение стоимости на 10%

30690 руб.

01.04.2020    156174    577    392    

267

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

Использования систем контроля версий — стандарт современной разработки. На курсе научимся использованию Хранилища 1С и GIT при разработке на 1С:Предприятие 8. Разберем подходы и приемы коллективной разработки, научимся самостоятельно настраивать системы и ориентироваться в них.

4900 руб.

29.06.2022    13467    112    4    

146

Обновление 1С Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1C:ERP Абонемент ($m)

Внешняя обработка для обновления расширений и дополнительных обработок 1С из GitHub. Поддерживает как публичные, так и приватные репозитории, фильтрацию релизов по версии конфигурации, скачивание .cfe, .epf, .erf.

1 стартмани

15.04.2025    541    2    Aleksandr    0    

11

Обновление 1С Запросы Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Данный инструмент помогает анализировать доработанную конфигурацию после обновления на новый релиз и находить «битые» тексты запросов, в которых участвуют несуществующие в новом релизе метаданные.

2 стартмани

06.02.2025    2190    17    XilDen    26    

36

Обновление 1С Программист Бухгалтер Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Бухгалтерский учет НДС Абонемент ($m)

Обновление для конфигурации Управление торговлей 10.3.88.3 добавляет поддержку ставок НДС 5% и 7%, обеспечивает корректную печать этих ставок на актуальных моделях торгового оборудования (АТОЛ, ШТРИХ, ревизия 4004), содержит актуальные правила обмена с конфигурацией "Бухгалтерия предприятия 3.0" для передачи новых ставок. Новые ставки НДС поддерживается в печатных формах УПД, ТТН и т.д. В состав дистрибутива включены обработки для обслуживания торгового оборудования ККТ нового формата (Штрих-М и АТОЛ)

5 стартмани

31.01.2025    3213    82    karpik666    87    

24

Работа с интерфейсом Обновление 1С Программист Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Бесплатно (free)

После обновления УНФ до 3.0.10.178 у ряда клиентов исчезла часть функционала: отчёт "Движение товаров", кнопка "Глаз" в Расходной накладной, часть документов складских перемещений. Для решения проблемы надо установить константы, чьё название подпадает под шаблон "Использовать подсистему NNN (Константы)" и соответствует "пропавшему" функционалу по смыслу.

16.01.2025    1509    dime2    6    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 2005 05.02.25 12:39 Сейчас в теме
Поддерживаю.

Долго искал вариант для хостинга проверки обновлений. Перепробовал все, от Яндекса и Гугла до экзотики типа mega.io. Все сервисы отдают не сам файл, а некую ссылку, которую фиг распарсишь, в отличие от гитхаба, который отдает сразу файл. Результат: если у вас нет своего сайта, то гитхаб - оптимальный вариант.
Nonik; 0x00; +2 Ответить
2. RocKeR_13 1413 05.02.25 14:32 Сейчас в теме
(1) У меня с давних времен валяется бесплатный сайт на ucoz - там и ftp есть, и прямые ссылки на файлы. В итоге там просто обновляю файлы с актуальной версией и описанием обновлений)) С GitHub тоже отличный вариант
SerVer1C; +1 Ответить
3. ixijixi 2005 05.02.25 15:11 Сейчас в теме
(2)
ucoz
Спасибо за наводку) Думаю, коллеги могут еще примеров на кидать в комментах
0x00; RocKeR_13; +2 Ответить
10. webester 26 20.02.25 08:35 Сейчас в теме
(3) Яндекс, гугл, селектел, да тысячи их на самом деле. Навскидку, не вспомнишь первый десяток. Но хотя бы раз в месяц, что-то попадается на глаза. Не говоря о том, что, нет проблемы вытащить наружу апач или nginx где-то, если цели коммерческие.
6. SerVer1C 884 05.02.25 18:47 Сейчас в теме
(1) В чем проблема при получении файла с файлообменника? Вроде бы можно любой файл скачать.
7. ixijixi 2005 05.02.25 20:21 Сейчас в теме
(6) Практика — критерий истины. Советую проверить самостоятельно, дабы убедиться в обратном.
9. webester 26 20.02.25 08:30 Сейчас в теме
(1)
Все сервисы отдают не сам файл, а некую ссылку, которую фиг распарсишь

Пользоваться api не пробовали?
4. karpik666 3951 05.02.25 15:42 Сейчас в теме
Спасибо, навели на мысль, думаю versions даже не понадобится, можно обратиться к разделу releases, например, https://github.com/andrei-karpov/1c_kkt_54fz/releases , и из него уже получить всю нужную информацию, в том числе достаточно фильтровать по дате публикации и отображать все изменения.
nikitazherebtsov; Nonik; dsdred; ixijixi; +4 Ответить
5. TochkaScarab 05.02.25 17:39 Сейчас в теме
Идея хорошая - единственное: считаю что формат номера версии надо доработать в сторону строки типа 8.5.1.189 ;)
8. dsdred 3817 06.02.25 13:23 Сейчас в теме
Оставьте свое сообщение