0. olegtymko 381 23.06.18 10:21 Сейчас в теме

Повышаем эффективность разработки правил обмена

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. kembrik 3 25.06.18 10:55 Сейчас в теме
Отличная статья, спасибо, в копилку однозначно. А есть ли аналог GitRules для красивого "схлопывания" процедур и функций в Общем модуле "МенеджерОбменаЧерезУниверсальныйФормат" для Кд 3.0?
maxx; olegtymko; +2 Ответить
2. olegtymko 381 25.06.18 11:01 Сейчас в теме
(1) Спасибо.
Есть один из проектов на осень, где я буду копаться в EnterpriseData. Я думаю, что у gitrules появиться возможность это делать. Можете написать issue здесь: https://github.com/otymko/gitrules/issues. Может кто-то раньше меню доберется и доработает=)
40. artkor 113 28.08.19 15:44 Сейчас в теме
Извините, а в таком случае уже ничего поделать нельзя?
START precommit gitrules
FILE: D:\ru\ПравилаОбменаДанными(БП__УТ)(1).xml
D:\ru\src\ПравилаОбменаДанными(БП__УТ)(1).xml\ПравилаКонвертацииОбъектов\Документы\Финансы\ДвижениеДен­ежныхСредств\ДвижениеБезналичныхДенежныхСредств\ПоступлениеБ­езналичныхДенежныхСредств\КонвертацияВалютыПоступление\ПБДС_­ПоступленияОтПродажиИностраннойВалюты
{Модуль C:\Program Files (x86)\OneScript\lib\gitrules\src\core\Модули\РазобратьПравилаОбме­на.os / Ошибка в строке: 157 / {Модуль C:\Program Files (x86)\OneScript\lib\gitrules\src\core\Модули\РазобратьПравилаОбме­на.os / Ошибка в строке: 154 / Внешнее исключение (System.IO.PathTooLongException): The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.}}
Выполнено с ошибками, см. выше.
41. olegtymko 381 28.08.19 16:09 Сейчас в теме
(40) Можно например отключить ограничение длины пути в windows 10.
43. artkor 113 29.08.19 12:42 Сейчас в теме
(41)
отключить ограничение длины пути в windows 10

в win 2016 никакие танцы с бубнами вокруг групповых политик не помогли, пришлось названия подрезать. В целом пакет у Вас мегаполезный - как без этого раньше жил ;)
42. kembrik 3 28.08.19 18:11 Сейчас в теме
(40)
РазобратьПравилаОбме­на.os


РазобратьПравилаОбме<wbr>­на.os


Латиницей бы переназвать
3. ManyakRus 291 25.06.18 11:39 Сейчас в теме
легче вообще не пользоваться правилами обмена :)
всё стереть и сделать COM-обмен
4. olegtymko 381 25.06.18 11:47 Сейчас в теме
(3) В каждом подходе есть свою плюсы и минусы. Для "быстрого старта" правила обмена очень даже подходят. Тем более при небольшой сложности все накликивается мышкой)
7. gorakh 19 25.06.18 12:14 Сейчас в теме
(3)В КД2 есть обмен через COM.
olegtymko; +1 Ответить
12. olegtymko 381 25.06.18 13:04 Сейчас в теме
(7) если рассматриваем БСП, то там есть обмен com с использованием правил обмена. Но в плане разработки ничего не меняется)
Fox-trot; gorakh; +2 Ответить
5. AntonSm 25 25.06.18 11:52 Сейчас в теме
Отличная статья. Спасибо за наводку на gitrules.
olegtymko; +1 Ответить
6. olegtymko 381 25.06.18 11:57 Сейчас в теме
(5) Gitrules писался в попытке представить правила обмена как выгрузку конфигурации в xml. Есть определенные ограничения в функционале, которые со временем должны решиться.
8. acanta 67 25.06.18 12:44 Сейчас в теме
Правильно ли я поняла что после создания правил обмена в конвертации 2 необходимо добавить план обмена конфигураторе, в который следует включить все объекты, на которые есть ПКО и не включать тех, на которые ПКО нет?
10. olegtymko 381 25.06.18 12:50 Сейчас в теме
(8) конфигурации на БСП? Если да, то можно почитать здесь https://its.1c.ru/db/pubcloud1c/content/81/hdoc.
9. fishca 1156 25.06.18 12:48 Сейчас в теме
Пожелания:
1. Добавить ссыль на https://github.com/otymko/gitrules
2. Сконцентрироваться на описании gitrules
11. olegtymko 381 25.06.18 12:53 Сейчас в теме
(9) пожелания приняты)
Вообще в планах было написать отдельную статью о Gitrules и о расширении для КД 2.х, помогающее версионировать правила.
13. herfis 283 25.06.18 13:07 Сейчас в теме
Не могу найти, но точно у кого-то читал ранее про групповую разработку правил обмена через git. Только не помню, как там решалась (и решалась ли) задача декомпозиции правил. С gitrules это превращается в полноценный инструмент. Плюс за подробный мануал.
olegtymko; +1 Ответить
15. olegtymko 381 25.06.18 13:27 Сейчас в теме
14. sisdrou 22 25.06.18 13:20 Сейчас в теме
Идея интересная.... Как это будет работать с большими, объемными конфигурациями. Типовой механизм достаточно долго сравнивает изменения, если тут будет все происходить многократно быстрее, тогда - Да. А так.., это просто забавная фича. Внести ее в работу будет достаточно сложно, с учетом поправки на трафик с депозитарием ..
16. olegtymko 381 25.06.18 13:30 Сейчас в теме
(14) проверял на правилах обмена более 30 тыс. строк. Не особо долго ждал. Могу сделать замер, если вам интересно) Вообще если делать сравнение на git хостингах - это происходит довольно так быстро.
19. sisdrou 22 25.06.18 16:50 Сейчас в теме
(16)
это происходит довольно так быстро


Спасибо.. попробуем.
17. xzfantom 4 25.06.18 14:51 Сейчас в теме
Отличный проект, хорошо использовать даже без групповой обработки, не нужно искать по xml что к чему относится и когда менялось.
А насчет тестирования - почему бы не использовать GitLab Runner, раз всё равно используется гитлаб? И сразу в проекте будет отображаться прошёл/не прошёл.
18. olegtymko 381 25.06.18 14:53 Сейчас в теме
(17) Можно, пока думаю над вариантами. Ближе конечно Jenkins т.к. его использую для gitsync и запуска тестов.
20. stas_ganiev 26.06.18 01:46 Сейчас в теме
Спасибо за статью, жирный плюс!!!
Предлагаю объединить усилия в продолжении проекта: https://github.com/ha1s/ConversionPlus. На анонсированную задумку там уже ишью лежит :))
itkk24; Артано; olegtymko; +3 Ответить
21. olegtymko 381 26.06.18 03:00 Сейчас в теме
(20) Хорошее решение! Посмотрю ваш проект в отпуске)
22. olegtymko 381 26.06.18 03:55 Сейчас в теме
(20) где можно почитать о функционала вашего проекта?
23. stas_ganiev 26.06.18 03:59 Сейчас в теме
(22) Ссылка уже была: https://infostart.ru/public/632457/. Сейчас на gitHab лежит данная версия, дальнейшие планы развития отражены в ишузах. За работу возьмусь в ближайшие дни
24. nytlenc 02.07.18 09:05 Сейчас в теме
Мы не ищем легких путей....
25. olegtymko 381 02.07.18 10:29 Сейчас в теме
(24) Чаще всего их просто нет) Но работать как-то нужно. Что именно вам показалось сложным?
26. nytlenc 02.07.18 10:33 Сейчас в теме
(25) по мне, чем ставить столько инструментов, настраивать, изучать, проще и быстрее сразу все реализовать в конвертации данных.
27. olegtymko 381 02.07.18 12:33 Сейчас в теме
(26) в планах вынести общий функционал в конвертацию данных. Только работу с git сервером для группового доступа все равно не убрать)
28. STivO 59 07.08.18 12:49 Сейчас в теме
У себя настроил под одного клиента, у которого 60 правил обмена. Версионность правил уже использовал раннее через git, но с gitrules намного удобнее стало. Осталось механизм взаимодействия с git напрямую из КД приделать для полного счастья. Пришлось кончено повозиться с длиной полного имени файла.
29. olegtymko 381 07.08.18 12:56 Сейчас в теме
(28) Длина полного имени файл - это прям боль) Как с длиной решили вопрос?
p.s. потихоньку пилится расширение для кд 2.0.
31. STivO 59 07.08.18 20:34 Сейчас в теме
(29) Пока временно изменил модуль РазобратьПравилаОбмены.os. С помощью команды "subst" создается виртуальный диск, который сопоставляется к каталогу, в который в данный момент разбираются правила. Пробовал еще через команду robocopy обходить 260 символов, всё отрабатывало, но медленно. Еще были варианты в интернете, но пока не пробовал их.
32. olegtymko 381 08.08.18 02:19 Сейчас в теме
(31) Да уж, решение не из простых =)
30. Serg O. 172 07.08.18 20:13 Сейчас в теме
git версионирование сравнивает построчно... И при добавлении 1 строки вначале текста меняется N строк всего. Разложение на объекты хорошо, но как обратно собрать версию месячной давности например? Обычное сохранение правил в отдельные файлы и 1С стандарная сравнение файлов иногда лучше (и привычнее) работает... Переход на git синхронизацию неплохая идея, сама 1С уже на EDT с ним работает. Для oScript тоже уже масса автоматов прописана... но все равно это китайская грамота до сих пор для многих. Нет универсального клиента для git и это жаль
33. olegtymko 381 08.08.18 02:29 Сейчас в теме
(30) Если мне нужны правила обмена, допустим которые я коммитил в начале июня, я переключаюсь git checkout на нужный commit и беру файл xml. Для сбора правил из разложенных файлов и папок можно также воспользоваться gitrules assembly. В качестве клиента я использую github desktop - обычно мне его функционала хватает, для разработки и поддержки правил обмена.
34. STivO 59 09.08.18 11:09 Сейчас в теме
Когда ты делаешь коммит определенного правила обмена, а разбираются у тебя все, что есть в каталоге не правильно) и при этом исходники надо отдельно коммитить. В механизме precommit1c, когда ты делаешь коммит определенной обработки, то у тебя разбирается сама обработка и исходники сразу же помещаются в тот же коммит. Так же, когда делаешь установку gitules через консольную команду, то содержимое файла pre-commit в папке hooks затирается. В общем есть над чем поработать)
35. olegtymko 381 09.08.18 13:05 Сейчас в теме
(34) Всегда можно добавить issue на github)
36. infosoft-v 319 25.08.18 16:02 Сейчас в теме
Спасибо за удобный инструмент.
olegtymko; +1 Ответить
37. Korolev 50 30.01.19 13:32 Сейчас в теме
38. Lancelot-2M 100 15.04.19 17:11 Сейчас в теме
Какой смысл сравнивать все через git? Ну если только ради спорта. По настоящему дельной была бы разработка подсистем блокировки правил внутри кд для групповой разработки(что легко), сравнения и слияния(что интересно) и копирования вместе с конфигурациями с прямо записью в таблицы данных (что нудно, но необходимо для порождения новых версий больших правил обмена между большими конфигурациями).
39. olegtymko 381 16.04.19 03:24 Сейчас в теме
(38)
сравнивать все через git? Ну если только ради спорта. По настоящему дельной была бы разработка подсистем блокировки правил внутри кд для групповой разработки(что легк

Лично для меня это использования всех плюшек, предоставляемыми после выгрузки например на gitlab. Код ревью, отслеживание изменений, запуск тестовый. Каждый для себя решает, каким набором инструментов пользоваться)

Так же, доработка КД под совместную разработку тоже имеет смысл (аналог хранилища 1С, но для правил).
44. tambu 9 01.10.19 03:56 Сейчас в теме
(39) Добрый день! Спасибо за статью и за GitRules! Мы у себя начали опытную эксплуатацию.
Если позволите, несколько вопросов:
1. Правильно я понял, что с правилами регистрации GitRules не работает? Он их раскладывает, но при попытке собрать обратно ругается на неправильный тип.
2. Порой GitRules ругается на длинные пути к файлам, мы пока это обошли используя subst. Но может статься, что в самих правилах будет или большая вложенность или длинные названия. Можно эту проблему как-то "победить"?
3. У нас много 1Сников, не знакомых с GIT и пришлось все нужные вызовы команд (клонирование, создание веток, commit, push..) прикрутить в саму конвертацию данных. Если Вы позволите, я после опытной эксплуатации опубликую статью об этом.
45. olegtymko 381 01.10.19 05:42 Сейчас в теме
(44)
1. Сборка правил регистрации пока у меня в тесте лежит. В этом месяце думаю добавлю эти изменения в основной проект.
2. По длинным путями проблема из-за windows + oscript. Кто-то решал проблему на win10 включение длинных путей.
3. Да, конечно. У нас самих кстати КД доработана, чтобы получать правила с GIT, фиксировать локально изменения, отправлять на удаленный репозиторий =)
46. tambu 9 01.10.19 12:02 Сейчас в теме
(45) Спасибо за оперативный ответ :)
Вы сами не будете свою КД выкладывать? Не хочу "дорогу перебегать" :) А так, у нас примерно такой же путь получился, сложные команды (откаты, ребейс, просмотр изменений и т.п) не реализовывали. Только то, что нужно в линейном бизнес-процессе разработки. Получили правила, создали новую ветку, коммитим, когда пора пушим на удаленный репозиторий. Запросы на слияние уже в веб интерфейсе гитЛаба.
47. olegtymko 381 01.10.19 12:45 Сейчас в теме
(46) Планировал, но не раньше декабря. Выкладывайте свою версию, я думаю многим это будет полезно!
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата до 160 000 руб.
Полный день