Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Хранилище для расширений #98

Closed
pantifeek opened this issue May 30, 2019 · 15 comments · Fixed by #115
Closed

Хранилище для расширений #98

pantifeek opened this issue May 30, 2019 · 15 comments · Fixed by #115

Comments

@pantifeek
Copy link

Существует проблема
Невозможно работать с хранилищами для расширений

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

Расширение или улучшение?
расширение вариантов использования конфигурации

@leemuar
Copy link

leemuar commented Jun 14, 2019

Я не очень понял проблему: конвертер вообще не умеет выгружать хранилища расширений? Или вы просто хотите галочку "ЭтоХранилище" в справочнике хранилищ, чтобы визуально можно было отличать хранилища конфигураций от хранилищ расширений?

@pantifeek
Copy link
Author

Совсем не работает с расширениями

@marmyshev
Copy link
Collaborator

marmyshev commented Jun 15, 2019

А почему разработку расширений сразу не начали в гите? расширения в EDT начали раньше поддерживаться чем сделали поддержку хранилище 1С.

@DoublesunRUS
Copy link

Разработку расширения сразу не начали в гите потому, что сначала разработку начали в конфигураторе. В нём делали конфигурацию и расширения.
А теперь когда решили перейти на ЕДТ, нужно конвертировать историю всего.

@vsbronnikov
Copy link
Contributor

Всем привет, столкнулся с такой же проблемой.

Основная проблема в том, что пакетные операции выгрузки файлов обращаются только к основному хранилищу, но не к хранилищам расширений.
При этом все ключи для этого имеются (в различных пакетных командах ключ -Extension <Имя Расширения>).

Я доработал GitConverter и вроде как успешно выгрузил расширения в Git хранилище в формате EDT.
Внесенные изменения:

  1. Добавлен 1 реквизит в справочник ХранилищеКонфигураций.
  2. Добавлен 1 макет пустого расширения (двоичные данные).
  3. На форму добавлено поле нового реквизита.
  4. Добавлена 1 пакетная операция в общий модуль КонвертацияХранилища.
  5. Добавлен ключ "-Extension" в тексты команд пакетных операций.

Пробовал оформить изменения в виде расширения, но т.к. ключ "-Extension" находится внутри каждой пакетной операции, то пришлось бы дублировать весь код пакетных операций.

Я бы хотел поделиться своими изменениями (думаю, что они полезные, например в проекте gitsync такая функция появилась в версии 3.0.).

Подскажи как лучше поступить.

  • Сделать форк проекта? И затем пул реквест (в какую ветку)?
  • Как правильно сделать расширение с такими изменениями?
  • Прислать изменения (diff)?
  • другие варианты?

@marmyshev
Copy link
Collaborator

Начни с общих правил https://github.com/1C-Company/GitConverter/blob/master/CONTRIBUTING.md

@marmyshev
Copy link
Collaborator

marmyshev commented Aug 30, 2019

Добавлен 1 реквизит в справочник ХранилищеКонфигураций.

Можешь пояснить, назначение и тип реквизита? если это "ВыгрузкаРасшерения" булевный - я бы тут сразу рекомендовал сделать перечислением с 2мя значениями "Конфигурация" и "Расширение" для однозначного понимания вариантов выгрузки.

Добавлен 1 макет пустого расширения (двоичные данные).

Поясни, для чего нужно?

Добавлена 1 пакетная операция в общий модуль КонвертацияХранилища.

А чем существующая операция не подходит? ну или давай реквест - там уже по коду может будет понятней...

Добавлен ключ "-Extension" в тексты команд пакетных операций.

Полагаю, что все сделано аккуратно и опционально для этого ключа? :)

@vsbronnikov
Copy link
Contributor

Перед тем, как написал свой комментарий, я как раз и прочитал эти правила. В связи с этим как раз и вопрос. Вижу, что не получится добавить функционал с помощью расширения ГитКонвертер.
Нормально ли будет, если я создам форк, внесу в него изменения и отправлю Pull Request в ветку develop?

@vsbronnikov
Copy link
Contributor

  1. Реквизит "ИмяРасширения". Если он заполнен, то значит это хранилище расширения, если пустой, то это основное хранилище.
    Можно эту ситуацию обыграть. Или галочку, или перечисление, но имя расширения думаю все же нужно.
  2. У конфигуратора нет пакетной операции, которая создает пустое расширение. Можно лишь загрузить расширение (команда /LoadCfg с ключом -Extension).
    Поэтому я добавил новую пакетную операцию после создания чистой конфигурации. Т.е. порядок такой:
  • Создать чистую информационную базу.
  • Загрузить пустое расширение с указанным именем.
  • Подключить созданное расширение к хранилищу.
  1. На мой взгляд достаточно аккуратно. Возможно нужно будет немного подчищать временную папку (но пока не критично).

@marmyshev
Copy link
Collaborator

Реквизит "ИмяРасширения". Если он заполнен, то значит это хранилище расширения, если пустой, то это основное хранилище.

Реквизит - ок.

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

Да, давай лучше явное перечисление - так будет всем понятней.

  • Создать чистую информационную базу.
  • Загрузить пустое расширение с указанным именем.
  • Подключить созданное расширение к хранилищу.

А почему ты нельзя так:

  1. Создал пустую базу
  2. Получил указанную версию из хранилища расширения в эту базу
  3. Выгрузил расширение в xml - и далее как обычно...

Я не тестировал, но кажется такой судя по вот этой документации https://its.1c.ru/db/v8315doc#bookmark:adm:TI000000806 загрузка расширения лишняя операция...
Уверен, что необходимо сначала "подключить расширение к хранилищу" чтобы получить указанную версию?

@marmyshev
Copy link
Collaborator

Перед тем, как написал свой комментарий, я как раз и прочитал эти правила. В связи с этим как раз и вопрос. Вижу, что не получится добавить функционал с помощью расширения ГитКонвертер.
Нормально ли будет, если я создам форк, внесу в него изменения и отправлю Pull Request в ветку develop?

Да, конечно, форк и реквест - то что надо))

@vsbronnikov
Copy link
Contributor

Я не тестировал, но кажется такой судя по вот этой документации https://its.1c.ru/db/v8315doc#bookmark:adm:TI000000806 загрузка расширения лишняя операция...
Уверен, что необходимо сначала "подключить расширение к хранилищу" чтобы получить указанную версию?

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

@vsbronnikov
Copy link
Contributor

При импорте расширения средствами ring необходимо указать имя базового проекта (ключ --base-project-name). Добавил для этого ещё один реквизит "Базовый проект" в справочник "Хранилища конфигураций". Ссылается на хранилища конфигураций с ограничением типа "Основное хранилище".

@vsbronnikov
Copy link
Contributor

Дим, наверное можно закрывать issue?

@marmyshev
Copy link
Collaborator

при релизе закроем

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants