EDT. Не активируется проектный контекст

12.12.22

Разработка - EDT

Проблема не активирующегося контекста проекта в EDT и вариант ее обхода.

Данная статья является не столько информативной для других, сколько заметкой для себя. Но, возможно, поможет кому-то разобраться в проблеме.

Итак, имеем: Ведется разработка тиражного продукта командой из 4 разработчиков трое работают через хранилище, один (я) через EDT. Из хранилища в удаленный репозиторий настроена трансляция с использованием 1С:Гитконвертер.

Один из разработчиков решил тоже перейти на разработку в EDT. Скачал, установил актуальную версию, клонирует репозиторий, и... Проектный контекст не активируется. Предположили, что проблема в клиенте под macOS (т.к. использовался MacBook) решили проверить то же самое под Windows - эффект аналогичный. Вместо конфигурации, в навигаторе видим содержимое каталога локального репозитория

 

 

Решаю провести эксперимент и развернуть проект на своем ноутбуке (под Windows) - проблема повторяется. При этом, на мой стационарный ПК проект клонируется и открывается без проблем. (Наверно, стоит отметить, что на стационарном компьютере я немного экспериментировал с разработкой на Java, по этому настройки могут отличаться от стандартных, это единственное, что сейчас приходит в голову..)

Что ж, начинаем изучать проблему, для этого открываем перспективу "Журнал ошибок" в EDT и видим там проблемные места:

 

 
 Подробный текст ошибки:

 

Первое, что бросается в глаза - java.lang.NumberFormatException: For input string: "version"

Но никакого криминала в версии конфигурации нет, классические 4 числа, через точку.

Далее, хочется сказать спасибо Constantine Manaev из официального ТГ-чата по EDT, который обратил внимание на DistributionSupportFileDeserializer

 

 

Также, Константин предложил временно, для эксперимента, попробовать удалить файл src/Configuration/ParentConfigurations.bin и папку src/Configuration/ParentConfigurations.

Тут надо отметить, что конфигурация стоит на поддержке:

  • БиблиотекаСтандартныхПодсистем (3.1.5.385)
  • БиблиотекаТехнологииСервиса (2.0.6.34)
  • БиблиотекаИнтеграцииС1СДокументооборотом (1.1.18.5)
  • БиблиотекаФункциональныхПодсистем1ССовместно (2.4.12.1)

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

Что ж, пробуем удалить указанные файлы из локального репозитория, перезапускаем EDT, и проект активируется:

 

 

(Дисклеймер: Скрины делались в разное время - какие-то по ходу проверок, какие-то уже для статьи, поэтому где-то тема тёмная, а где-то светлая :) )

Итак, причина найдена. Но повторюсь, отказаться от поддержки пока нельзя, и если удалить файлы из удаленного репозитория, Гитконветрер может прислать их в одном из будущих коммитов.

Собственно, обход проблемы (все то же самое можно делать и через консоль или другие инструменты, тот же VSCode, например, но я буду описывать вариант решения через интерфейс EDT, мы ж 1С-ники, консоль не уважаем, пользуемся только своими инструментами XD )

Вспоминаем о таком чудесном файле в гите как ".gitignore", который позволяет нам настроить какие файлы не будут попадать в индекс, а соответственно, будут игнорироваться гитом. Задействуем эту механику.

С начала, нам надо удалить файлы в удаленном репозитории, синхронизируем локальный репозиторий с удаленным и в EDT переходим в перспективу Git

В этой перспективе мы можем перейти к рабочему каталогу и удалить из него файлы, изменение попадет в индекс, мы можем его закоммитить и отправить в удаленный репозиторий

 

 

Далее, надо создать файл .gitignore и прописать в него, какие файлы должны игнорироваться при следующих коммитах. Но тут стоит признаться, что я не разобрался, как создать файл в Рабочем каталоге из интерфейса гита, по этому сам файл создал в файловой системе. А вот его содержимое уже можно отредактировать в EDT и тогда файл будет проиндексирован, при сохранении и его можно будет отправить коммитом в удаленный репозиторий.

 

 

Собственно, после этих манипуляций, попробовал внести несколько изменений в конфигурацию через хранилище, менял модули, добавлял и удалял метаданные, менял свойства конфигурации - все это было отправлено в удаленный репозиторий, но "плохие" файлы, ожидаемо, не были помещены. (Конечно, пока, не выполняли обновление конфигураций на поддержке которых находится продукт, может еще из-за этого что-то пойдет не так, но в целом уже знаем как решить проблему, будем готовы)

На этом, проблему считаем решенной. Регистрируем ошибку EDT и ждем нового релиза.

EDT Git gitignore .gitignore активация контекста ошибка

См. также

EDT Программист Бесплатно (free)

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

20.09.2024    7781    kraspila    25    

3

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

Заказчики любят EDT+Git за прозрачность и контроль качества. А у разработчиков есть две основные причины не любить EDT – это тормоза и глюки. Расскажем о том, что нужно учесть команде при переходе на EDT+Git.

14.08.2024    7630    lekot    34    

8

DevOps и автоматизация разработки EDT Бесплатно (free)

Даже в рамках одной компании подходы к организации командной разработки могут отличаться: методикой работы с ветками, организацией тестовых и разработческих контуров, параллельным использованием хранилищ или полным переходом на Git. Расскажем, какие варианты распределения серверных стендов и организации CI/CD выбрали для своих команд тимлиды двух отделов, и как у них происходило внедрение 1С:EDT.

05.09.2023    1884    WhatIsLoveMakoveev    0    

5

DevOps и автоматизация разработки EDT Программист Бесплатно (free)

Использование EDT дает преимущества даже для тех, кто до сих пор остается в конфигураторе. Достаточно настроить разбор основного хранилища разработки в GitConverter и автоматизировать CI на GitLab с помощью скриптов на 1С:Исполнителе. Статья о том, как задействовать для кодовой базы проекта валидацию EDT, используя встроенный механизм GitLab Code Quality, и генерировать дымовые тесты для Vanessa Automation.

23.08.2023    5953    doublesun    25    

37

EDT Тестирование QA Программист Бесплатно (free)

EDT позволяет не только полноценно использовать гитфлоу при разработке – изолировать код по веткам в рамках задач и анализировать мерж-реквесты, но и нативно запускать тесты, а также видеть покрытие кода прямо в редакторе. Расскажем о том, как получить от 1С-разработки в EDT максимум пользы и автоматизировать сборку поставки из EDT с помощью Jenkins.

19.07.2023    4859    yukon    12    

40

EDT Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

EDT позволяет работать с кодовой базой конфигураций напрямую – использовать GIT, помещать изменения в ветки и запускать тесты до попадания в основную кодовую базу, чтобы добиться «зеленых ночных сборок» для конфигурации. Разработчик из компании «Первый БИТ» Валерий Дыков на конференции Infostart Event 2021 Post Apocalypse рассказал, как безболезненно перейти на EDT и получить преимущества работы с GIT, продолжая работать в конфигураторе.

01.09.2022    10440    Begemoth80    21    

42

EDT Механизмы платформы 1С Программист Платформа 1С v8.3 Россия Абонемент ($m)

Внешняя обработка позволяет выполнять выборочную выгрузку и загрузку объектов конфигурации 1С.

1 стартмани

26.08.2022    4576    10    user1041830    4    

9

DevOps и автоматизация разработки EDT Обновление 1С Механизмы платформы 1С Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Быстрое обновление конфигурации и базы данных 1С, вместо долгого обновления из EDT (1C:Enterprise Development Tools) при использовании хранилища GIT. Непосредственное обновлении базы на сервере баз данных (минуя сервер 1С) из XML-файлов конфигурации при помощи утилиты автономного сервера 1С - ibcmd.

1 стартмани

13.07.2022    13756    13    Bitnikov    22    

57
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. triviumfan 97 19.12.22 21:30 Сейчас в теме
На днях попробовал пересесть на edt.
Сначала я посмотротрел мини курс УЦ3. Но как только я запустил это жидкое... дальше началось то одно, то другое...
Всё-таки спустя 7 лет это до сих пор помойка, старый добрый конфигуратор работает как часы, железобетонная стабильность.
Регистрируем ошибку EDT и ждем нового релиза.

Ок, через 5 лет снова попробую.
pbahushevichG; +1 Ответить
2. pbahushevichG 17.06.23 12:15 Сейчас в теме
(1)
железобетонная

Я точно так же прихожу посмотреть раз в год и в последние 5 лет все одно и тоже - делают что-то чем могут пользоваться 1 процент программистов, а реально она нужна для 1 из 1 процентов.
А конфигуратор на уровне 7 летней давности работает.... советский подход как он есть
Оставьте свое сообщение