1с 8.3 или несбывшиеся надежды
Re: 1с 8.3 или несбывшиеся надежды
Последним коммитом я решил вроде проблему кодировок.
Вроде из непонятного осталось только получить список измененных файлов определенной ревизии , т.е. для commit 45es587 получить полное описание комментария и список файлов со статусом (изменен, добавлен, удален) которые были в этом коммите изменены.
Вроде из непонятного осталось только получить список измененных файлов определенной ревизии , т.е. для commit 45es587 получить полное описание комментария и список файлов со статусом (изменен, добавлен, удален) которые были в этом коммите изменены.
Re: 1с 8.3 или несбывшиеся надежды
Можно получить изменения между двумя коммитами:
Код: Выделить всё
git whatchanged commit1..commit2В реальності все не так, як насправді
Re: 1с 8.3 или несбывшиеся надежды
Ну вроде есть уже и просмотр истории для git.
Теперь хочу сделать такую вещь:
1. Импорт истории из хранилища конфигураций: в принципе тут все ястно
1.1 Делаем отчет по конфигурации с ревизиями с 1 по 1 и т.к. далее, пока не получим ошибку в файле лог, получается этой ревизии еще нет.
1.2 Для каждой ревизии получаем из хранилища cf файл и делаем коммит в хранилище git с комментарием из ранее полученного отчета и списком объектов, которые были измененны. На данном этапе получается полное зеркало хранилища. Так же чуть меняется комментарий добавляем туда номер ревизии 1c, что бы в дальнейшем посмотреть в log последнюю ревизию в хранилище.
2. Сf файл развернуть в файловую систему, вот тут несколько вариантов решения задачки:
2.1 Станадратные средства 1С:
2.1.1 Создаем пустую базу.
2.1.2 Загружаем туда cf файл.
2.1.3 Делаем выгрузку файлов модулей
2.1.4 Файлы модулей перемещаем по нормальным папкам.
2.1.4 Делаем коммит в git исходников с правильным комментарием.
2.2 Для распаковки используем v8reader
2.2.1 Создаем базу с обработкой внутри v8reader.
2.2.2 Запускаем базу и передаем ей путь с cf файла.
2.2.3 v8reader распаковывает cf файл, парсит структуру и получаем полное дерево конфигурации.
2.2.4 раскидываем по папкам это дерево .
2.2.5 делаем commit .
2.3 Для распаковки используем Снегопат.
2.3.1 Создаем пустую базу.
2.3.2 Загружаем cf файл или просто открываем cf файл сразу в кофнигураторе и выгружаем дерево конфигурации в определенную папку.
2.3.3 Делаем коммит в git.
Склоняюсь больше к варианту с v8reader, в теории там можно и сделать выгрузку форм в xml формате, а так же без люди без снегопата смогут использовать данный варинат.
Структура git репозитария думаю таким сделать:
-Папка Конфигурации
\_bin (blob) = тут храним cf файлы.
\_src = тут у нас исходники распакованные.
Ветки:
origin - для конфигурации на поддержке, история изменения конфигурации поставщика.
trunk/master - история конфигурации хранилища.
dev - локальная ветка микрокомитов.
Пока для минимального старта вижу такую схему работы:
1. Работает с хранилищем конфигурации 1С.
2. Ночью регламентным заданием выгружаются cf с хранилища последних изменений и каким либо способом распаковываем на исходники.
3. Скрипт в снегопате, в котором настраивается путь к git репозитарию с исходниками и возможностью посмотреть историю именно по определенному объекту конфигурации (значительно быстрее чем хранилище).
Ну и маленькая интеграция с Redmine, где будет список задач и возможность проставить номер задачи в коммите просто выбрав из списка.
Что-то текста много, прошу к обсуждению, пожелания и критика приветствуется.
p.s.: redmine может установить сегодня каждый 5 коммандами за 20 минут, спасибо openshift и redhad.
Теперь хочу сделать такую вещь:
1. Импорт истории из хранилища конфигураций: в принципе тут все ястно
1.1 Делаем отчет по конфигурации с ревизиями с 1 по 1 и т.к. далее, пока не получим ошибку в файле лог, получается этой ревизии еще нет.
1.2 Для каждой ревизии получаем из хранилища cf файл и делаем коммит в хранилище git с комментарием из ранее полученного отчета и списком объектов, которые были измененны. На данном этапе получается полное зеркало хранилища. Так же чуть меняется комментарий добавляем туда номер ревизии 1c, что бы в дальнейшем посмотреть в log последнюю ревизию в хранилище.
2. Сf файл развернуть в файловую систему, вот тут несколько вариантов решения задачки:
2.1 Станадратные средства 1С:
2.1.1 Создаем пустую базу.
2.1.2 Загружаем туда cf файл.
2.1.3 Делаем выгрузку файлов модулей
2.1.4 Файлы модулей перемещаем по нормальным папкам.
2.1.4 Делаем коммит в git исходников с правильным комментарием.
2.2 Для распаковки используем v8reader
2.2.1 Создаем базу с обработкой внутри v8reader.
2.2.2 Запускаем базу и передаем ей путь с cf файла.
2.2.3 v8reader распаковывает cf файл, парсит структуру и получаем полное дерево конфигурации.
2.2.4 раскидываем по папкам это дерево .
2.2.5 делаем commit .
2.3 Для распаковки используем Снегопат.
2.3.1 Создаем пустую базу.
2.3.2 Загружаем cf файл или просто открываем cf файл сразу в кофнигураторе и выгружаем дерево конфигурации в определенную папку.
2.3.3 Делаем коммит в git.
Склоняюсь больше к варианту с v8reader, в теории там можно и сделать выгрузку форм в xml формате, а так же без люди без снегопата смогут использовать данный варинат.
Структура git репозитария думаю таким сделать:
-Папка Конфигурации
\_bin (blob) = тут храним cf файлы.
\_src = тут у нас исходники распакованные.
Ветки:
origin - для конфигурации на поддержке, история изменения конфигурации поставщика.
trunk/master - история конфигурации хранилища.
dev - локальная ветка микрокомитов.
Пока для минимального старта вижу такую схему работы:
1. Работает с хранилищем конфигурации 1С.
2. Ночью регламентным заданием выгружаются cf с хранилища последних изменений и каким либо способом распаковываем на исходники.
3. Скрипт в снегопате, в котором настраивается путь к git репозитарию с исходниками и возможностью посмотреть историю именно по определенному объекту конфигурации (значительно быстрее чем хранилище).
Ну и маленькая интеграция с Redmine, где будет список задач и возможность проставить номер задачи в коммите просто выбрав из списка.
Что-то текста много, прошу к обсуждению, пожелания и критика приветствуется.
p.s.: redmine может установить сегодня каждый 5 коммандами за 20 минут, спасибо openshift и redhad.
Re: 1с 8.3 или несбывшиеся надежды
sosnae, выглядит круто 
Насчет v8reader - не очень мне нравится, как он работает... а именно - разборка через RegExp. Неправильно это.
Мне больше симпатизирует вариант использования Снегопата, если ещё Александр прикрутит возможность запуска в пакетном режиме - будет вообще то что надо.
Насчет людей без Снегопата - возможно, хватит демо-версии? Или в ней нет нужного функционала?
Выгрузка через Конфигуратор - тоже неплохой вариант, к тому же вполне рабочий, если не нужна структура метаданных и формы. А в 8.3 вообще будет как раз что надо.
--
А вообще - это будет бомба. Я давно о чем-то таком мечтал, также делал выгрузку модулей питоновским скриптом и коммит в git. А вот законченное решение сделать руки не дошли, да и не было тогда Снегопата.
Насчет v8reader - не очень мне нравится, как он работает... а именно - разборка через RegExp. Неправильно это.
Мне больше симпатизирует вариант использования Снегопата, если ещё Александр прикрутит возможность запуска в пакетном режиме - будет вообще то что надо.
Насчет людей без Снегопата - возможно, хватит демо-версии? Или в ней нет нужного функционала?
Выгрузка через Конфигуратор - тоже неплохой вариант, к тому же вполне рабочий, если не нужна структура метаданных и формы. А в 8.3 вообще будет как раз что надо.
--
А вообще - это будет бомба. Я давно о чем-то таком мечтал, также делал выгрузку модулей питоновским скриптом и коммит в git. А вот законченное решение сделать руки не дошли, да и не было тогда Снегопата.
В реальності все не так, як насправді
Re: 1с 8.3 или несбывшиеся надежды
В v8reader меня привлекает возможность разобрать формы и сохранить их в xml , для анализа и просмотра думаю самое то.
Разбор cf делать к сожалению все равно надо делать регламентным заданием , так что скорость разбора будет влиять возможно только при первоначальном импорте из хранилища.
Демо режим не подойдет или же надо будет Сашу просить добавить в демо добавить работу с metadata.
Разбор cf делать к сожалению все равно надо делать регламентным заданием , так что скорость разбора будет влиять возможно только при первоначальном импорте из хранилища.
Демо режим не подойдет или же надо будет Сашу просить добавить в демо добавить работу с metadata.
Re: 1с 8.3 или несбывшиеся надежды
Это, конечно, красиво. Только вот подойдет только для анализа изменений - никакой merge всё равно сделать не получится.
Более того, если в репозиторий выгружать формы - то при merge получим вообще что-то, не соответствующее тому, что находится в конфигурации в действительности.
Более того, если в репозиторий выгружать формы - то при merge получим вообще что-то, не соответствующее тому, что находится в конфигурации в действительности.
В реальності все не так, як насправді
Re: 1с 8.3 или несбывшиеся надежды
ну merge для форм редко когда применим, а вот для быстрого анализа очень даже применим.
Дабы загрузить обратно , даже автоматическими средствами 1С нам все равно необходимо будет вернуть развернутую файловую систему в Справочник.Валюты.МодульОбъекта - в скрипте можно не учитывать разобранные формы.
Дабы загрузить обратно , даже автоматическими средствами 1С нам все равно необходимо будет вернуть развернутую файловую систему в Справочник.Валюты.МодульОбъекта - в скрипте можно не учитывать разобранные формы.
-
JohnyDeath
- Сообщения: 722
- Зарегистрирован: 24 авг 2011, 15:32
Re: 1с 8.3 или несбывшиеся надежды
А вот это видели: http://v8.1c.ru/overview/Term_000000816.htm ?
Звучит очень заманчиво
Звучит очень заманчиво
Re: 1с 8.3 или несбывшиеся надежды
Мне это интересно в том плане, возможно ли это будет запустить в Конфигураторе - имитацию действий пользователя?
По сути готовое средство для автоматизации рутины.
По сути готовое средство для автоматизации рутины.