Загрузка метаданных в СППР под Linux (исправление ошибки)

02.07.24

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

Столкнулся с проблемой при загрузке метаданных в СППР из GitLab на сервере 1С под Linux (РЭД ОС 7.3). При загрузке метаданных конфигурации, процесс загрузки длился несколько секунд и "благополучно" (без сообщений об ошибке) завершался. При этом метаданные не загружались.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
Расширение с исправлением:
.cfe 12,40Kb
0
0
1 SM
Скачать Купить за 1 850 руб.

Ошибка возникает на версии СППР 2.0.10.8. На версии 2.0.12.9 предположительно тоже, так как изменений в описанных ниже модулях не произошло.

В ходе разбирательств выяснились два момента:

  1. Для загрузки файлов конфигурации из Git-репозитория, создается файл скрипта. И проблема заключается в том, что этот файл записывается без признака x (executable) и командой bash не запускается. А еще, под Linux, по какой-то причине, файл сохраняется в формате dos, а не unix (из за символов на конце строк скрипт выполняется с ошибкой). Решить эту проблему удалось с помощью команды chmod и утилиты dos2unix
     
     Установка dos2unix

    И пришлось немного дописать код модуля: ОбщийМодуль.ОбщегоНазначенияСППР -> Функция ПолучитьФайлыИзGIT(...)
    Во всех местах, где встречается конструкция: 
    Если ЭтоWindowsСервер Тогда
    	ФайлКоманды.Записать(ФайлКомандыGit, КодировкаТекста.OEM);
    Иначе
    	ФайлКоманды.Записать(ФайлКомандыGit, КодировкаТекста.Системная);
    КонецЕсли;

    сделал вставку
     

    Если ЭтоWindowsСервер Тогда
    	ФайлКоманды.Записать(ФайлКомандыGit, КодировкаТекста.OEM);
    Иначе
    	ФайлКоманды.Записать(ФайлКомандыGit, КодировкаТекста.Системная);
    	//Вставка
    	ЗапуститьПриложение("chmod a+x " + ФайлКомандыGit, КаталогGitРепозитория, Истина);
    	ЗапуститьПриложение("dos2unix " + ФайлКомандыGit, КаталогGitРепозитория, Истина);
    	//КонецВставки
    КонецЕсли;

    Честно сказать, в Linux не силен, так что если кто подскажет, как сделать правильнее, буду благодарен )

  1. После загрузки файлов конфигурации из репозитория начинается их разбор. Но в коде, пути к файлам Linux содержат явным образом указанный разделитель "\", по этому элементы метаданных создавались с ошибками. Для исправления внес изменения в код модуля: ОбщийМодуль.ЗагрузкаМетаданныхEDT -> Процедура ОбработатьОбъектыСодержащиеСсылкиПоТипамМетаданных(Параметры)

    все строки вида
    ТипЗначения = СтрСоединить(ЭлемТипЗнч, "\");
    заменить на
    ТипЗначения = СтрСоединить(ЭлемТипЗнч, ПолучитьРазделительПути());


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

СППР загрузка метаданных git расширение

См. также

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

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

4900 руб.

29.06.2022    10379    84    4    

116

Групповая разработка (Git, хранилище) Программист Руководитель проекта Стажер Бесплатно (free)

Про изменения и новинки в агрегаторе открытых проектов OpenYellow, которые появились с момента его создания: про портал, Github и Telegram

15.07.2024    1823    bayselonarrend    7    

17

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

О проблемах новых 1С-проектов в общем океане открытого программного обеспечения.

07.07.2024    2564    bayselonarrend    57    

33

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

Скрипт для работы с SonarQube и локальным репозиторием Git.<br> Цель проекта – возможность выполнить быструю проверку качества кода перед тем, как помещать доработки в рабочее хранилище. В Sonar и Git выгружается не вся конфигурация, а только объекты из заданного списка.<br> https://github.com/vkrivov/go/

02.07.2024    2349    vkrivov@yandex.ru    8    

17

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

Не знаете, чем бы таким заполнить свой профиль Github? Заполните его своими статьями на Инфостарт! Этот простой workflow сам соберет список ваших последних статей и будет периодически обновлять его для актуализации данных.

08.04.2024    1208    bayselonarrend    2    

33

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

Доработки 1С:ERP на крупных проектах можно организовать, не внося изменения в саму типовую конфигурацию, а используя только расширения и отдельные «микроконфигурации». Расскажем о том, как это сделать без EDT, используя процесс разработки GitHub Flow.

02.04.2024    6763    Begemoth80    24    

51

Групповая разработка (Git, хранилище) OneScript Системный администратор Программист Бесплатно (free)

Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.

25.03.2024    2038    bayselonarrend    3    

41

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

GitFlic – первая в России полностью самостоятельная реализация сервиса для хранения репозиториев с исходным кодом. За три года разработки сервис GitFlic стал полноценным инструментом, которым можно заменить GitLab, GitHub и BitBucket. Расскажем о том, как выстроить в GitFlic процесс автоматического тестирования, статического анализа кода и сборки приложений.

05.03.2024    2905    user1989937    6    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Armando 1400 05.07.24 21:42 Сейчас в теме
Есть подозрение, что разработчики СППР ни разу его не тестировали в Linux. Загрузка метаданных из хранилища тоже не работает.
Оставьте свое сообщение