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

02.07.24

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

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

Файлы

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

Наименование Скачано Купить файл
Расширение с исправлением:
.cfe 12,40Kb
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Ошибка возникает на версии СППР 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 расширение

См. также

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

Синхронизируйте свой проект EDT с хранилищем конфигурации так же легко, как в git клиенте. По кнопке Pull в проект EDT подтягиваются изменения из хранилища, по кнопке Push ваш коммит из git репозитория проекта EDT улетает в хранилище конфигурации.

09.07.2026    3426    DmitryShehovtsev    9    

25

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

Как дать возможность каждому разработчику 1С вести разработку, тестирование и оптимизацию на собственной полноразмерной копии базы и при этом не тратить миллиарды рублей и тысячи часов на развертывание тестового окружения, а так же экономить дисковое пространство? Расскажем о том, как с помощью инструмента Database Lab получать полноразмерные копии базы 1C на СУБД PostgreSQL за считанные секунды (даже в случае использования многотерабайтных баз).

15.12.2025    11349    nasonkin    18    

31

Инструменты администратора БД Групповая разработка (Git, хранилище) Обновление 1С Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 2.х 1С:Библиотека стандартных подсистем Абонемент ($m)

Обработка, объединяющая в себе использование инструментов БСП по администрированию кластера серверов и запуска скриптов для автоматического обновления конфигурации из хранилища.

4 стартмани

17.11.2025    3065    14    KovrovtsevAS    0    

12

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

Проектная разработка в 1С живет в условиях жестких дедлайнов, меняющихся команд и нестабильных CI/CD. В статье показываем, как быстро и без лишних затрат внедрить Git на ERP-проектах, продать идею себе и команде и избежать типичных подводных камней. Разберем ветвление, подходы к командной работе, интеграцию с таск-трекерами и особенности тяжелых конфигураций.

04.09.2025    22838    bozo    42    

13

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

Плагин, расширяющий функциональность EDT, предоставляя возможность работы с хранилищем конфигурации 1С без использования 1С:ГитКонвертер.

04.08.2025    15759    ZigRinat85    54    

53

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Абонемент ($m)

Позволяет проектировать и выполнять сценарии, состоящие из команд 1С, Git и CMD, а также решать конфликты слияния напрямую из 1С с помощью KDiff3. Предустановлен набор команд для автоматизации сборки CFE-файлов.

1 стартмани

29.07.2025    5855    9    gorsheninsn    6    

29
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Armando 1402 05.07.24 21:42 Сейчас в теме
Есть подозрение, что разработчики СППР ни разу его не тестировали в Linux. Загрузка метаданных из хранилища тоже не работает.
2. check2 407 23.07.24 07:38 Сейчас в теме
(1) 100% проверенная инфа они работают под форточками.
3. bo0s 17 09.08.24 23:18 Сейчас в теме
Доброго времени суток, может подскажете почему может грузить метаданные частично причем без каких либо ошибок ?
5. Live 54 03.09.24 14:29 Сейчас в теме
(3) Посмотрите имена метаданных какие формируются. У меня такое было из-за некорректного разделителя пути (если речь идет о загрузке под Linux). Как раз это вторая из двух проблем.
4. newtraveller 24 30.08.24 17:32 Сейчас в теме
Спасибо, добрый человек! В файловом варианте на ubuntu 22.04 так же из гитлаба не загружалось.

Мне помогла замена на

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


и добавить аргумент в запись файла скрипта (пример такой в этой же конфигурации в другом месте есть):

		Если ЭтоWindowsСервер Тогда
			ФайлКоманды.Записать(ФайлКомандыGit, КодировкаТекста.OEM);
		Иначе
			ФайлКоманды.Записать(ФайлКомандыGit, КодировкаТекста.Системная, Символы.ПС);
		КонецЕсли;

и все заработало!
Student1C; Alex_Iz; Live; +3 Ответить
Для отправки сообщения требуется регистрация/авторизация