Имя: Пароль:
1C
1С v8
Публикация конфигурации 1С 8.3 на GitHub
,
0 Elisy
 
20.01.15
08:39
Статья показывает, как можно подготовить конфигурацию 1С к публикации в системах версионирования, отличных от хранилища конфигурации 1C. В операции задействован .Net framework и C#, позволяющий аккуратно распределить проект 1С по папкам.

Пример публикации конфигурации на основе старых обновлений БСП четырехлетней давности (с 1.0.7.5 по 1.1.3.1) можно посмотреть по адресу https://github.com/elisy/ssl. Таким же образом теоретически можно публиковать конфигурации в другие системы версионирования. Но, опыт публикации в SVN большого числа измененных файлов был неудачным: SVN-клиент зависал при просмотре лога через Tortoise SVN.
1 Elisy
 
20.01.15
08:41
Полностью статья опубликована здесь
http://habrahabr.ru/post/248303/
2 polosov
 
20.01.15
08:46
С их бы энтузиазмом да в нужное русло...
3 Лефмихалыч
 
20.01.15
09:13
Прикладная ценность этого в чем?
4 Elisy
 
20.01.15
09:22
(2) Тема публикации на ГитХаб обладает новизной, актуальностью и реализуемостью. Чем не "нужное русло"?
5 Deon
 
20.01.15
09:23
(3) цитирую:
Преимущества GitHub по сравнению с хранилищем конфигураций 1С очевидны: ветвления, встроенный багтрэккер, возможность ревизии и обсуждения кода, исправление кода в браузере, отчеты и графики, открытый API.

Очевидности я, правда, не очень понял
6 Elisy
 
20.01.15
09:35
(5) Самое важное - ветвления - то, что не позволяет делать Хранилище конфигурации 1С. Стратегий может быть несколько.

Предположим, есть главная ветка - типовая конфигурация 1С, от нее можно пустить ответвления - измененная конфигурация для каждого клиента. 1С выпускает обновление - обновляется главная ветка GitHub, и теперь стандартным образом можно обновить конфигурацию у каждого клиента через Merge. Если возникнут конфликты, они будут показаны.

Можно главную ветку пустить для текущей разработки и сделать ответвления для каждой стабильной поддерживаемой версии.
7 ilpar
 
20.01.15
09:44
Очень узко. 1С итак узко, а ты еще уже берешь.

Наметься уже на корпоративщиков, чтоб абонентку брать или разовые платежи.
8 Лефмихалыч
 
20.01.15
09:44
(5) это понятно. Я не понимаю, как мне потом с этим барахлом работать? Если брать какой-то пылесос, который вернет все файлы в один каталог, потом соберет cf, из которого я состряпаю базу, в которой буду кодить, то наиух мне ветвления, которые остались в git'е?
9 ilpar
 
20.01.15
09:49
Преимущества хранилищ не 1С при разработке на php к примеру - несколько разработчиков правят один и тот же файл.

К 1С-у это как?
10 Elisy
 
20.01.15
09:50
(7) GitHub-то пошире будет хранилища 1С с возможностью коллективной работы "из коробки", поэтому не соглашусь, что уже получается.
11 Elisy
 
20.01.15
10:02
(5) пустив ветвление, GitHub знает, что произошло в главной ветке с начала ветвления и положит в ветку только произошедшие изменения. Но в ветке за это время могут возникнуть свои изменения (доработки под клиента). Он эти изменения тоже отслеживает. GitHub попробует разрешить самостоятельно конфликты при объединении, если правка возникла в разных местах.

Еще разработчик может работать со своей веткой, не захватывая объект монопольно, как это было бы в хранилище. После разработки происходит этап объединения.
12 Elisy
 
20.01.15
10:08
(9) Здесь также - можно править без захвата в хранилище. Так как все файлы конфигурации теперь в более наглядном формате, чем внутренний формат 1С, разрешать конфликты (если возникнут) стало легче.
13 Cube
 
20.01.15
10:13
(12) "Так как все файлы конфигурации теперь в более наглядном формате, чем внутренний формат 1С"

Сам придумал? Добавь-ка реквизитик в справочник...

Идея, конечно, интересная, но перегибать не стоит... :)
Согласись, что с файлами *.doc никто лучше MS Word не работает, а файлы *.psd нормально открывает только Photoshop...
14 Гёдза
 
20.01.15
10:16
То ветвление про которые ты сказал, в терминах 1с - это поставка
15 Гёдза
 
20.01.15
10:19
можно делать + Х% за каждое письмо
16 ilpar
 
20.01.15
10:51
Управляемые формы тоже кодом рисовать?
17 ilpar
 
20.01.15
10:53
Подчинение команд объектам, редактирование прав ролей.
18 МихаилМ
 
20.01.15
10:58
(0)
сайт http://www.richmedia.us/

обновляется или мертвый ?
19 bolero
 
20.01.15
11:35
(0) делаю так уже пару лет, только не на гитхабе, а в корпоративных репозиториях

скрипт на питоне, а делает ровно то же самое :)

при обновлении смотрю, где ковырялись и насколько глубоко, чтобы понять, в каком месте соломки подстелить

с мерджами есть ньюанс - эти файлы генерируются из конфигурации, а не берутся за основу, поэтому при попытке собрать обратно подправленный xml - может не собраться.
20 Balabass
 
20.01.15
11:41
(18) Interactive Multimedia Oriented ResOurce
21 Elisy
 
20.01.15
11:42
(13) Никто и не предлагает текстом в ручном режиме добавлять реквизиты справочника. Добавил в 1С реквизит, выгрузил в XML, отправил на GitHub
Результирующий справочник будет выглядеть так:
https://github.com/elisy/ssl/blob/master/Catalog/Валюты/Валюты.xml

а с разбиением по версиям так:
https://github.com/elisy/ssl/blame/master/Catalog/Валюты/Валюты.xml
22 EugeniaK
 
20.01.15
12:25
(0) Тоже давно использую Гит, но локально и только для сравнения версий.
Основное хранилище стандартное.
По выгрузке есть удобная понятная 1С-конфигурация http://infostart.ru/public/273126/
23 Elisy
 
20.01.15
12:30
(16) XML-формат хорошо справляется с представлением управляемых форм. Это не внутренний формат 1С в виде {{{...}}}.  
Здесь опять же пример:
https://github.com/elisy/ssl/blob/master/Catalog/Валюты/Form/ФормаЭлемента/Form.xml

для C# есть аналог управляемых форм 1С - Xaml-формы:
https://github.com/fsprojects/FsXaml/blob/master/demos/FSharpDesktopUINumericUpDown/MainWindow.xaml
24 koreav
 
20.01.15
12:39
>>Преимущества GitHub по сравнению с хранилищем конфигураций 1С очевидны: ветвления

http://developerslife.ru/12409
25 Elisy
 
20.01.15
12:40
(14) Да, поставка - подобие ветвления - от корня к ветвям. Нормальное ветвление работает в 2 стороны.
26 tridog
 
20.01.15
12:56
(0) А сколько времени у вас занимает загрузка конфигурации из файлов? Она же нефига не быстро работает.
Т.е. после git pull нужно полчаса ждать пыхтения конфигуратора?

И, кажется, выкладывать код БСП в открытом доступе - незаконно)
27 Лефмихалыч
 
20.01.15
13:09
(26) ты сначала дождись, пока git pull пропыхтится, потом будешь про остальное переживать :)
28 orefkov
 
20.01.15
13:18
(27)
А зачем git pull'у пыхтеть? Это вам не 1С, это быстро работает.
29 Elisy
 
20.01.15
13:31
(18) http://www.richmedia.us/ работает - последняя статья за 12 января
30 tridog
 
20.01.15
13:35
(27) git довольно шустро работает. В отличие от загрузки конфигурации из файлов)
31 Elisy
 
20.01.15
13:48
(19) То есть вы пользуетесь выгрузкой в одну сторону: от 1С в репозитарий, только чтобы рассмотреть внимательнее изменения?
Есть неудобства какие-то? Например, удобно ли смотреть изменения в макетах, где XML с однотипными тэгами? Наглядно ли показывает система изменения в таких XML?
И самое главное - ощущается ли удобство по сравнению с хранилищем конфигураций от 1С?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший