Отказ от использования хранилищ 1С, переход на Git.

Публикация № 1098810

Разработка - Инструментарий разработчика

Валерий Максимов в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION делится опытом перехода нескольких команд (более 100 разработчиков) от использования хранилищ 1С на системы контроля версий Git.

 

Расскажу немного о нашей компании. Мы являемся бизнес-интегратором, уже более 10 лет занимаемся разработкой различных программных продуктов для крупного бизнеса. У нас большое количество крутых специалистов в разных областях, с некоторыми из которых вы знакомы по секции Highload.
 

 

Я собираюсь рассказать про процесс перехода наших команд с использования хранилищ 1С на системы контроля версий Git:

  • что было у нас до того, как мы решили поменяться, почему мы решили это сделать;
  • как шел этот процесс – основные вехи;
  • что у нас получилось;
  • и потом будет небольшой анонс – я хочу похвастаться, что мы планируем делать дальше.

 

Что было в 1С разработке, почему мы решили меняться?

 

 

Итак, что у нас было в самом начале.
Как и у всех организаций, разрабатывающих решения на платформе 1С, их было некоторое количество. Числа я привел здесь для сравнения, чтобы потом просто было видно, как они меняются. Будем считать, что на старте было более 20 разнородных решений. Это были не информационные системы, а именно конфигурации.
Было большое количество разработчиков. Как опытных, так и стажеров, молодых специалистов. Почему я их здесь выделил? Потому что они, как ни странно, были одним из двигателей прогресса. С более опытными было гораздо сложнее работать, сложнее поменять мировоззрение с классического подхода на новый. 

 

 

Что было еще? У нас при активной разработке начались постоянные проблемы с хранилищем, такие как:

  • Постоянная обрезка больших репозиториев – у нас за полгода одно хранилище разрасталось до 10 тысяч коммитов.
  • Медленная история. Все прекрасно знают, что сравнить две версии в хранилище – нелегкая задача.
  • Фиксация изменений зачастую занимала продолжительное время. 
  • Плюс иногда возникали ситуации разрушения хранилища, когда из-за превышения его размера после очередного коммита выдавалась ошибка: «Неверный формат хранилища данных», которая означала, что хранилище больше не является базой данных.

 

Далее, проблемы при самой разработке, также всем прекрасно известные:

  • Популярные объекты были постоянно заблокированы. 
  • Культуры комментирования не было. Кто-то писал комментарии к изменениям в коде, кто-то не писал. Многие использовали методику комментирования кода, указывая фамилию и номер задачи – но поскольку код ни с чем не соединялся, нельзя было понять, что это за изменения.

 

Код-ревью не проводился. Понять, кто и зачем это сделал, было невозможно. 
Из-за того, что объекты постоянно были заблокированы, качество решений начало активно страдать. Нередко возникали просьбы: «Дай, пожалуйста, мне объект на 15 минут, я сейчас прогружу, оно точно ни на что не повлияет, обещаю». А потом это приводило к различным проблемам и разборкам, кто виноват и почему.

 

 


Но кроме 1С в нашей компании был еще и соседний параллельный мир – большое количество разработчиков, использующих прикладные веб-технологии и прочие вещи. У них было счастье – CI/CD, Git, интеграция с различными системами «из коробки». Про виртуализацию и контейнеризацию я вообще молчу. Это просто какие-то чудеса. 
А мы жили в каменном веке – грустно, печально. И мы решили что-то поменять.

 

Основные этапы перехода.

 

 

Просто так дернуть рубильник, и перейти на Git или на Mercurial, который тоже рассматривался, мы не решились. Нужно было сначала немного подготовиться.
Мы решили, что всех сразу переводить не будем – сначала возьмем пилотную команду, пилотный проект и попробуем поэкспериментировать, посмотреть, что произойдет.
Выбрали варианты, которые будем рассматривать. Были варианты с пачкой хранилищ и переносами между ними – релизными и нерелизными. Хранилище с GIT, с Mercurial, и просто Git.
И начали пробовать эти варианты – осторожно, с болью. 
Часть вариантов отметалась достаточно быстро. В частности, вариант с массой хранилищ и связка хранилища с Git, так как эти решения приводили к еще большему количеству проблем.

 

 

В итоге, после перебора всех вариантов, остановились на использовании только репозиториев Git и… никаких хранилищ. Этот вариант был последним, и по результатам работы команды некоторое время по этой схеме мы поняли, что, в принципе, это работает.

 

 

Все работает... Почти все… Почти всегда… За исключением некоторых ситуаций. В общем, все хорошо, жить можно.
 

 

Что для этого нужно? Для того, чтобы заняться этим процессом, нужно все это подготовить. Неподготовленного человека окунуть в этот процесс – это боль, отторжение, непонимание – зачем, почему, что мне делать.
Потому что инструменты, которые используются в этом процессе, чужеродны для основной массы разработчиков 1С. Они про них даже не знают. Поэтому нужно подготовить docker, рассказать, как это работает и, желательно, людей научить – предоставить им соответствующие материалы.
Так как появляется куча дополнительных действий, лучше эти действия все-таки автоматизировать. Потому что программист – существо ленивое. Если его заставлять что-то делать руками, он будет это саботировать. Поэтому нужно добиться, чтобы какие-то операции перестали требовать его сил и времени. По сути, получилось комплексно. 
И после этого можно внедрять.

 

 

Таким образом, начался очередной этап подготовки – подготовка к внедрению. Я уже говорил – так как нужно автоматизировать часть операций и сохранить связь с предыдущими наработками, которые все-таки велись многие годы, то мы подняли в качестве CI-сервера Jenkins, подняли на нем задачки для переноса изменений из хранилищ 1С в соответствующие им репозитории Git.
И между делом настроили задачи по сборке из исходников конфигурации и выполнению тестов. Это как раз то преимущество, которое мы предоставили разработчикам – то, что не нужно cf-ники собирать, тестировать вручную – оно само работает. Достаточно закоммитить, отправить, и дальше оно само.

 

 

Следующий этап – это документация. Мы зафиксировали соглашения по разработке. Выбрали классическую схему gitflow. Можете почитать, в интернете вся информация есть. Если в общих чертах:

  • в ветке master находятся релизы;
  • в feature-ветках ведется разработка;
  • после тестирования feature-ветка закрывается, попадает в develop (по сути, ночная сборка из нее собирается);
  • потом запускается процесс выпуска релиза, и, если все хорошо, изменения приходят в ветку master;
  • ветка master накатывается на Production, если так настроено. Если не настроено, то выпускается инсталлятор с необходимыми файлами, которые мы отдаем админам для разворачивания на Production.

 

Дальше мы подготовили саму документацию и курс обучения, который мы сделали Step by Step.
Наша компания распределена по стране, ее филиалы находятся в разных городах. И провести очное обучение – это долго, дорого и бессмысленно. 

Поэтому был подготовлен набор задач, где любой человек, имеющий некоторую IT-подготовку, выполняет последовательность шаг за шагом и приходит к цели. Он получает навыки владения данными инструментами и понимание всей технологии разработки.

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

 

 

Следующим этапом было проведение семинаров и рассказ о том, как же это все будет работать.
Для большинства все это казалось «китайской грамотой» - что-то нарисовано, и мы говорим: «Оно работает». Кто-то верил, кто-то не очень.

 

 

Дальше решили, что мы на себе попробовали, теперь мы соберем пилотную команду, проведем обучение, и один их проект полностью переведем на эту схему.
Те цифры, которые здесь приведены – это по нашему курсу. Где-то от двух дней до недели у людей занимает именно процесс вхождения, обучение новым инструментам и понимание всей этой схемы.

Здесь как раз основными двигателями прогресса были именно молодые специалисты, у которых еще не засох мозг и не было «шор». Многие из них были разработчиками на других технологических стеках, поэтому для них вхождение в новый процесс было интересным.

Процесс игры на пилотной команде занял примерно месяц. После этого мы еще раз провели семинар уже для всей аудитории, еще раз рассказали свой процесс, но теперь уже с привлечением пилотной команды, которая рассказала о том, как они живут, что у них получилось. 

 

 

Самые основные моменты, которыми они поделились:

  • Это то, что теперь отсутствуют проблемы с захваченными объектами, никто никому не мешает, разрабатывай сколько хочешь. 
  • Не требуется помещать непроверенный код. 
  • Для редактирования конфигурации можно использовать свой любимый редактор – VSC, IDEA, vim, Notepad++ – кому что нравится. Потому что в большинстве случаев разработка связана именно с доработкой функциональности и разработкой методов в модулях.

 

Запускаем процесс внедрения. Берем всех разработчиков, делим на потоки, переводим все проекты на платформе 8.3 с управляемым интерфейсом в Git, переносим все изменения, указанной командой архивируем все хранилища, чтобы обратной дороги не было. И, «полетели».
Все было хорошо. Процесс перехода всех команд на новую схему разработки в общей сложности занял где-то порядка 3-х месяцев.

Что получилось в итоге?

 

После того, как прошло какое-то время и прошел процесс адаптации, мы подвели некоторые итоги:

  • количество конфигураций у нас стало больше – безотносительно нашим изменениям;
  • количество разработчиков тоже плавно увеличилось – это больше для статистики;
  • теперь у нас все исходники лежат в репозиториях, которые защищены и хорошо структурированы;
  • каждый коммит у нас связан с задачей в Jira – мы ее используем, как багтрекер;
  • мы автоматизировали выполнение некоторых операций (в частности, накатка на тестовый стенд или выполнение тестов вручную) с помощью Jenkins и всегда видим их результат. Разработчики перестали тратить на эти операции свое время. Вместо этого они могут или спокойно кодить, или пить кофе и думать о чистой архитектуре, а работа в это время выполняется.
  • Все текущие и новые сотрудники уже обучились, и сам процесс стал более близок к тому, что мы считаем правильным и красивым. 

 

В итоге – ура, мы все сделали, все классно. Сейчас вы все, наверное, думаете, что все это – чудеса, так не бывает, что никаких проблем нет. 

 

 

Действительно, не все так хорошо. Есть некоторый набор проблем. Я выбрал ключевые, и сейчас по ним пробегусь.

 

 

Первая проблема – это процесс экспорта конфигураций в исходные файлы и импорта обратно, который занимает очень много времени. Решение – использовать EDT. Есть другие пути ускорения этого процесса, но они не очень эффективны. А EDT в данном случае очень помогает, потому что с ним постоянный импорт и экспорт конфигураций в исходные файлы уже не требуется.

Следующая проблема связана с разбором конфликтов. Например, если кто помнит мерж обычных форм, когда вы сравниваете формы на уровне конфигуратора – по картинкам сложно понять, что же изменилось. В управляемом интерфейсе стало чуть полегче, но тоже были свои нюансы. А здесь мы имеем дело с файлами, причем, с XML-файлами, с большой размашистой структурой. И иногда в ситуации, когда одна и та же форма одновременно изменена разными разработчиками, чтобы разобраться, какие изменения, из какой ветки, куда ставить – нужно потратить много времени. Потому что Git при мерже в автоматическом режиме может форму «поломать», он никакую структуру не соблюдает, для него это просто текст. Причем, есть интересные моменты, когда этот XML-файл формы можно загрузить в конфигурацию, но при попытке ее открытия в рантайме система уходит в дамп – непонятно почему. Приходится долго разбираться с этой проблемой. Здесь вариант решения – тимлид должен планировать загрузку своих разработчиков и распределять задачи таким образом, чтобы сокращать ситуации, когда несколько разработчиков редактируют один и тот же объект.

Есть проблема с обычными формами. Как я уже ранее сказал, мы выбрали именно платформу 8.3 и только управляемый интерфейс. Обычные формы стандартными средствами 1С, как конфигуратора, так и EDT, не разбираются и не понимаются. Можно использовать различные сторонние инструменты, но, к сожалению, мы себе такое позволить не смогли, и поэтому просто вывели данные конфигурации за рамки этого процесса.

Версия используемой платформы должна быть не ниже 8.3.10 – там решены многие проблемы с экспортом данных в файлы. И, опять же, это минимальная версия платформы, с которой работает EDT в наиболее стабильном режиме.

Одна из самых сложных проблем для решения – это неприятие разработчиками. Как я уже говорил, некоторые разработчики с большим опытом, особенно те, кто привык работать в одиночку и даже на хранилище переходили с трудом. Для них вообще казалось непонятным, зачем это и что с этим делать. Приходилось проводить индивидуальные беседы, встречи и на пальцах показывать, какой профит человек получит. Сложная задача.

Проблемой для нас было использовать одновременно и Git, и хранилище. Хотя в некоторых инструкциях от вендора и присутствуют такие примеры, даже расписана методика, как это делать – я лично использовать их совместно не рекомендую. Проблем становится больше и работы становится больше из-за постоянного выполнения мержа из Git в хранилище и из хранилища в Git. Усложнение схемы и стоимость ее поддержки гораздо выше, чем неиспользование хранилища вообще.

При использовании новой системы контроля версий и при использовании EDT, в любом случае, вам потребуется увеличение ресурсов на инфраструктуру. Тут никуда не деться. Рабочие машины разработчиков придется апгрейдить, сервер для Git-сервера придется выделить, а то и не один, если мы хотим, чтобы все бэкапировалось и стабильно работало с распределенной нагрузкой. Тут вариантов нет. Либо мы покупаем собственное железо, либо идем в «облака» и используем облачное решение. Оно тоже очень неплохо работает.

Интересное следствие – это повышение стоимости таких разработчиков на рынке. Можете посмотреть на HeadHunter, там сейчас уже много вакансий, где для 1С-разработчиков указаны требования по владению технологиями работы с Git, с тестами и т.д. Если вы хотите, чтобы ваши разработчики об этом не узнали, единственный вариант – отбирайте паспорта, отключайте интернет и т.д. Других вариантов нет.

 

Что делаем сейчас, куда движемся?

 

 

Небольшое хвастовство: 

  • Мы продвигаем развитие CI/CD. Очень много контрибьютить в OpenSource не получается, но все-таки, немного в сообщество мы возвращаем.
  • Продолжаем развивать процесс автотестирования и инструментарий разработчиков.
  • У нас есть несколько вариантов, с помощью которых мы все-таки планируем «затянуть» конфигурации на обычных формах в Git.

 

Резюме.

 

 

  1. Не стоит бояться этой схемы. Надеюсь, мой рассказ помог кому-нибудь сдвинуться с места. Но вы должны понимать, что нужно развиваться. 
  2. Быть первым в этом процессе, как и в любом другом, всегда сложно. 
  3. Нельзя просто заставить людей что-то сделать. Это не работает. Нужно именно провести процесс внедрения. Комплексно: тестирование, обучение, опытная эксплуатация, релиз. По-другому никак.
  4. И, самое главное, верить в себя.

 

В самом конце хочу высказать благодарность компаниям, продукты которых мы активно используем в своих процессах. Здесь я перечислил основные:

  • сообщество OneScript;
  • команда, развивающая sonarqube;
  • Visual Studio Code;
  • Allure;
  • GitLab;
  • Atlassian;
  • и коллеги из команды «Серебряная пуля», генераторы идей и некоторых инструментов.

 

Вопросы:

А как вы все-таки решаете вопросы с объединением форм, когда они рушатся?

Первое: если вы используете EDT, не используйте его возможности работы с Git. Второе: мы уже достаточно неплохо разобрались со структурой, знаем ключевые моменты. Поэтому – распределение задач. Если мы понимаем, что с одним объектом будет работать несколько человек, то мерж проводится с дополнительным контролем, когда человек выполняет закрытие фичи, ему прилетает изменение из dev, инструменты Git позволяют показать изменения и показать конфликты. Конфликты правятся в kDiff с включением интеллекта и использованием некоторых скриптов на OneScript. Есть интересная утилита для мержа XML от компании Oxygen, только она очень дорого стоит.


Речь идет не о типовых конфигурациях? Потому что я знаю, что в EDT нельзя снимать с поддержки и т.д.


По поводу поддержки – пример с типовыми конфигурациями. У меня есть ветка в репозитории, которая называется HRM, и там лежит поставка от вендора. А в корне проекта у меня лежит .gitattribute, в котором написано, что 
parentconfiguration.bin merge=ours
То есть, я его не переношу из этой ветки. Когда мне нужно обновить типовую, я ее обновляю из соответствующей ветки, потом переношу эти изменения в основной ствол, а там у меня версия без поставки. И я продолжаю разрабатывать. Потому что я не лезу в объекты, которые на поставке. А для типовых – берите расширения, они отлично работают. С небольшими хаками они вообще хорошо работают.


Почему именно Git, а не Mercurial и не Bazaar?


У Mercurial проблемы с длинными именами и русским языком. Питонисты ничего про русский язык не знают, для них код и файлы не должны быть на русском. А по поводу Bazaar – чтобы проверить, возьмите ERP, откройте конфигуратор, выгрузите в файлы и попробуйте закоммитить 5,5 миллионов строк в Git и в Bazaar. И посмотрите, кто из них первый рухнет. Git выдерживает. Все остальное – нет.


Есть ли какие-то советы по оттачиванию этого навыка мержа, потому что вы озвучили пример форм, а там еще есть роли, общие реквизиты и прочее. Мы пользуемся Git, но мержить в голом виде какие-то сложные изменения – это что-то невероятное. А этот вопрос вообще нигде практически не затронут.


Во-первых, у вас никто не отбирал конфигуратор. Если у вас проблемы с мержем в Git, вы можете воспользоваться конфигуратором и средствами сравнения-объединения, привычными вам. Это – первый вариант. Второе – есть скриптинг. У всех XML-файлов вполне понятная структура, которая неплохо разбирается. И здесь можно использовать самописные мерж-хуки Git под формат роли, чтобы выполнять их объединение по структуре. Подобная ситуация есть у коллег из сообщества C# - они тоже мержат XML-файлы при слиянии проектов. Можно по аналогии сделать и для 1С-ных файлов. Нормальных, всеядных утилит для объединения XML, к сожалению, нет.

Когда вы вносите изменения, вы же понимаете, какие изменения вы вносите. Если вы роли не трогали, а они у вас изменились – а они изменяются, если у вас стоит автоматическое назначение прав и т.д. Соответственно, это вполне прогнозируемая ситуация. При объединении с другой ветвью, вы можете посмотреть, какие изменения были внесены другим разработчиком и просто перенести эти изменения к себе. Есть такая вещь, как cherry-pick, можно забрать коммит разработчика, связанный с этой ролью, в свою ветку. 

А все-таки, вы разработку ведете именно в конфигураторе, а потом выгружаете это все в файлы и в Git, или непосредственно, в EDT?
И так, и так. Сейчас в приоритете разработка через конфигуратор, а EDT мы пока что активно тестируем. Там есть набор нюансов. У нас, допустим, на данный момент проблема в том, что часть конфигураций работает под интерфейсом 8.2, а EDT умеет работать только под «такси». Вторая глобальная проблема – EDT не умеет работать с внешними источниками данных, он их определяет, как undefined, тут без конфигуратора никак. Но в ближайшее время, как только в EDT еще некоторые баги поправят, мы планируем полностью перейти на него.

****************

Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2018 EDUCATION. Больше статей можно прочитать здесь.

В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.

Выбрать мероприятие.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Drfreeman 85 25.07.19 11:20 Сейчас в теме
"Для редактирования конфигурации можно использовать свой любимый редактор – VSC, IDEA, vim, Notepad++"... ой не знаю. А отладку как вести? Я часто пишу код прямо в отладке, так наглядно видно с чем работаешь.
2. theshadowco 162 25.07.19 11:22 Сейчас в теме
(1) Отладку можно вести и в VSC.

По прошествии года могу сказать, что для работы EDT неплохо подходит.
3. frkbvfnjh 590 25.07.19 11:52 Сейчас в теме
Хорошая попытка, но нет... Сколько лет с хранилищем работаем и чёт не было проблем, наверное я не работал в команде из 100 человек. Вы там чё, операционку на 1С пишите что ли?
user774630; Vovan1975; oleg974; omut; AllexSoft; Йожкин Кот; manlak; noprogrammer; +8 1 Ответить
4. theshadowco 162 25.07.19 11:59 Сейчас в теме
(3) Команд несколько по 5-25 человек, в зависимости от проекта
7. Waanneek 85 25.07.19 14:24 Сейчас в теме
(3)
Сколько лет с хранилищем работаем и чёт не было проблем, наверное я не работал в команде из 100 человек


Вы точно работаете с хранилищем 1с ? =)

Постоянно проблемы:
1) Примерно за год хранилище до ходит до предельного размера и если во время на срезать - рушится (около 1,5 тыс коммитов потом ломается) и это пожалуй самое безобидное.
2) Не редки глюки с КЭШем и подключением, зависают ранее подключеные пользователи, хотя конфигуратор уже закрыт давно
3) на 12х или 13 версиях платформы был глюк с помещением в хранилище - изменения были видны в конфигураторе но не помещались в хранилище и если продобать эти изменения в конфигураторе в котором велась разработка, то делай заного по памяти, когда обнаружится что в хранилище коммита нет.
4) Не применялись к ИБ, в конфигураторе код виден, к базе не применяется (глюки кэша)...

и все это при совместной разработке от 2 до 4х разработчиков на одно хранилище.
eden_gmail; izidakg; +2 Ответить
8. pbabincev 122 25.07.19 21:43 Сейчас в теме
(7)
Наш опыт на одном проекте:
3 года активного развития продукта, около 10 разработчиков, все в одном хрнилище (коммиты не считали)
Ни одной проблемы
Переезжали на новый сервер, хранилище переносили прежнее без обрезания.
НО мы использовали только Сервер хранилища tcp, может поэтому всё было очень стабильно.
В общем, проблем никаких при использовании хранилища мы не видели.
13. Xershi 1020 27.07.19 23:50 Сейчас в теме
(7) 1. Предельный размер это какой? Версия хранилища последняя?
2. Криво вышли, зайти еще раз и выйти, ну или чистить нулевые файлы.
3 и 4 это скорее кривая разработка, сначала нужно получать объекты, а только потом захватывать, некоторые думают что 1С всегда при захвате отработает как надо!
5. acanta 25.07.19 12:27 Сейчас в теме
Можно попросить картинки уменьшить немного, на планшете долго загружается.
6. Fox-trot 117 25.07.19 12:38 Сейчас в теме
(5) они никак к теме не относятся, не парься
for_sale; +1 Ответить
9. ellavs 724 26.07.19 08:14 Сейчас в теме
если вы используете EDT, не используйте его возможности работы с Git

Поясните, пожалуйста, этот момент. Почему рекомендуете не использовать?
Сама работаю с EDT около полугода и тоже не использую его встроенный GIT (но у меня причина вполне банальная - использую git-репозиторий VisualStudioOnline, а там аутентификация по учетной записи от MS не стыкуется с EDT, нужно заморачиваться, чтобы настроить через ключи доступа, поэтому вместо встроенного механизма использую TortoiseGit).
10. theshadowco 162 26.07.19 10:09 Сейчас в теме
(9) В ранних версиях EDT была масса проблем и, откровенно, было неудобно использовать.

В последних версиях (с 1.10) стало гораздо лучше, но по привычке у себя продолжаем испольовать сторонние решения для взимодействия - консоль + gitextensions. Как минимум, не готовы использовать встроенные средства по причине отсутствия поддержки gitflow, а плагин для eclipce в EDT работает не стабильно.
11. for_sale 810 26.07.19 18:05 Сейчас в теме
Очередная статья из серии "Смотрите, как мы умеем!". Думал, будут какие-то инструкции, делёж опыта, картинки. А оказалось - презентация и "верьте в себя, у вас всё получится, гугл в помощь".
user774630; +1 Ответить
12. theshadowco 162 27.07.19 07:25 Сейчас в теме
(11) Анатолий, мне жаль, что вы потратили время, читая эту статью, что вы не нашли в ней ничего интересного для себя.
14. Xershi 1020 27.07.19 23:51 Сейчас в теме
(12) самое вкусное зажали)))
Или ждать в ближайшее время?
17. theshadowco 162 29.07.19 09:09 Сейчас в теме
(14) Какие "вкусности" вы ожидали? Возможно, найду время для публикации.
20. Xershi 1020 29.07.19 10:41 Сейчас в теме
(17) обучающие видео.
Набор скриптов и технические рекомендации.
BaphoBush; Cmapnep; acanta; Fox-trot; theshadowco; +5 Ответить
15. omut 28.07.19 15:31 Сейчас в теме
Не верю в гит и ему подобное до тех пор, пока обычные текстовые файлы не станут исходниками конфигурации по умолчанию. До тех пор, пока существует все эти "выгрузить в файлы" и обратно ничего путного придумать не получится. И все преимущества гит продолжат болтаться одних весах с временем выгрузки-загрузки. Среда разработки должна поддерживать гит нативно или - как минимум - файлы проекта должны поддерживаться гитом нативно. Все остальное жуткое извращение. Хранилище глючит иногда. Но выигрыш от перехода на гит в 99% случаев не оправдает затрат и усложнений. Пробовал подключать к редмайну в связке с сабвершн, с гит. Выгружать файлы... Это кошмар разработчика. Есть места, где все расписано по минутам, где коммиты делаются как-то ночью что ли. Где не нужно вдруг срочно залить обновление и что-то еще поделав вложить свои доделки... Вот там, в местах неторопливого вдумчивого разработчика это все в состоянии выжить. Но не в реальном мире багов, дэдлайнов, живых людей.
16. theshadowco 162 29.07.19 05:49 Сейчас в теме
(15)посмотрите в сторону EDT, там как раз одни исходники и ничего более
18. omut 29.07.19 09:22 Сейчас в теме
(16) обычные формы? В целом проект чудной. Может он стал нормальным по функционалу и полностью заменяет конфигуратор?
19. theshadowco 162 29.07.19 09:42 Сейчас в теме
(18)
Пока полностью во всех случаях не заменяет.
Если проект не использует обычные формы, не находится на поддержке, то конфигуратор не нужен.
21. omut 29.07.19 11:47 Сейчас в теме
(19) Об этом и написал выше. В этом и причина. По совокупности факторов выходит, что нужен конфигуратор. Отсюда вытекает работа с хранилищем. На самом деле, 1С не помешало бы отказаться от хитроумных форматов хранения конфигурации и перейти к человечьим исходникам. И вот с этого момента мы станем полноценными пользователями систем управления версиями :-) Штука очень нужная. Реально не хватает гита или сабвершна. Особенно во время групповой разработки.
BaphoBush; Ozulon; Fox-trot; +3 Ответить
22. acanta 29.07.19 11:52 Сейчас в теме
(21) Как по вашему, такой ресурс как инфостарт( или миста например, если про нее еще не забыли, или ресурс Гилева) в том виде как сейчас, потянет нечто вроде гита? Сколько это может стоить? Сколько может потребовать времени?
Сколько например вы как предприятие-разработчик ПО готовы платить дополнительно за такой сервис из коробки от 1С?
Как по вашему, должна быть организована регистрация пользователей в личных кабинетах 1С для того, чтобы появилась возможность создания сервиса, подобного гиту?
Сколько таких как вы может быть сразу и сколько разработчиков перейдет на сервис в результате реализации данного пожелания, если гит уже есть, и тех, кто в нем работает все устраивает?
Напоминаю, что в 8ке было принято осознанное маркетинговое решение - работать без внешних исходников конфигурации. Почему вы считаете, что оно было ошибочным?
23. Fox-trot 117 29.07.19 12:09 Сейчас в теме
(22) потому как все сделано по аналогии например с фокспро. где сейчас фокспро знаешь?
24. acanta 29.07.19 12:11 Сейчас в теме
(23) А как же, похоронено под грудой потомков и последователей.
Например клиппер компилируемый, в отличие от фокса, работали они оба с одними и теми же DBF.
25. omut 29.07.19 13:59 Сейчас в теме
Коллега вам уже ответил. Аналогия с фокспро верная. Могу только присоединиться. Было ли ошибочным? На мой взгляд: да. В принципе, конфигуратор вполне устраивает. И с этой точки зрения вроде как все нормально. И хранилище устраивает. Кроме тех случаев, когда возникает необходимость организовать ветвление. Ну вот захотелось замутить какое-то альтернативное направление развития, делать много, долго. Не известно что и как в результате выйдет и понадобится ли. А конфигурация на поддержке и постоянно обновляется. Вот было бы неплохо сделать ветку и в ней мутить свои задумки. А параллельно в основной ветке делать текущие обновления. Сейчас для этого приходится делать отдельную конфигурацию...
Но все же идеальная ситуация: конфигурация = проект. Исходники текстовые (может файлы ресурсов еще). И управление версиями какое захотим.
26. Darklight 22 30.07.19 14:53 Сейчас в теме
было
Из-за того, что объекты постоянно были заблокированы, качество решений начало активно страдать. Нередко возникали просьбы: «Дай, пожалуйста, мне объект на 15 минут, я сейчас прогружу, оно точно ни на что не повлияет, обещаю». А потом это приводило к различным проблемам и разборкам, кто виноват и почему.


стало

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

Теперь качество решения страдает из-за неправильных или зятянувшихся сложных мерджей xml файлов

То есть раньше - очередь выстраивалась через блокировку в процессе работы - хоть и всё равно "очередь" - тут это понятие условное
То теперь отдельному человеку(ам) нужно выстраивать эту очередь вручную, на этапе постановки задач - ИМХО "заменили шило на мыло"!

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

Но ведь есть xml ещё и в метаданных. И если через 1С хранилище, скажем, можно было захватывать реквизиты по отдельности - то через GIT - мерджить придётся весь объект
BaphoBush; 7OH; +2 Ответить
29. theshadowco 162 31.07.19 07:50 Сейчас в теме
(26) Напомните пожалуйста, с какой версии можно захватывать реквизиты объекта по отдельности. Много лет не пользуюсь хранилищем и пропустил эту возможность.

Что значит "придется мержить весь объект"?
Объект в исходниках представляет собой набор файлов, содержащих как описание самого объекта, его некоторых частей (таких как формы, макеты и т.д.), а также модули с кодом. В зависимости от того, что было изменено в IDE, изменится часть соотвествующего файла. Если вы уйдете от схемы "я неделю/месяц/год попилю, а потом зафиксирую изменения в scm", а будете фиксировать изменения чаще, то и объединение будет гораздо понятнее. Это как с оновлением типовой для допиленной своей - можно накатить релизы друг за другом, наблюдая процесс изменения, а можно пропустить десяток и потом разом, мужественно накатывать последний, пытаясь догадаться куда делся любимый доработанный объект.
AKnyazkov; +1 Ответить
31. Darklight 22 31.07.19 09:19 Сейчас в теме
(29)

Напомните пожалуйста, с какой версии можно захватывать реквизиты объекта по отдельности. Много лет не пользуюсь хранилищем и пропустил эту возможность.

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


Что значит "придется мержить весь объект"?


Имелась ввиду структура метаданных (понимая, что внутренняя структура некоторые метаданных - ака форм или макетов - вынесена в отдельные файлы)
AKnyazkov; +1 Ответить
30. theshadowco 162 31.07.19 07:57 Сейчас в теме
(26)
Теперь качество решения страдает из-за неправильных или зятянувшихся сложных мерджей xml файлов


Это к вопросу правильности работы, любой инструмент надо уметь готовить, инструкцию все-таки стоит читать до использования.

Дальше мы подготовили саму документацию и курс обучения, который мы сделали Step by Step.
27. 7OH 32 30.07.19 16:59 Сейчас в теме
Верю, что существуют фирмы, где выделят ещё одного(или более человек) - которые все эти изменения будут вручную собирать потом (особенно формы).
При этом у этих людей будет абсолютное понятие ЧТО было сделано и ДЛЯ ЧЕГО.
С трудом представляю, как потом человек садится хотя бы раз в неделю и пытается собрать в одно целое пачки коммитов от каждого программиста.
Пока что даже при количестве 20 человек - как бы убого хранилище не работало, но в реалиях когда бизнес процесс нарисовать это что-то из рода фантастики - удобнее нету.
28. theshadowco 162 31.07.19 07:38 Сейчас в теме
(27) У нас нет таких людей, если вы предположили такое. Честно говоря даж не представлю, как его назвать, такого специалиста: "разборщик конфликтов", "merge-man", "ведущий объединятор"?

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

Как гласит народная мудрость "Не так страшен черт, как его малюют".
AKnyazkov; +1 Ответить
Оставьте свое сообщение

См. также

И тогда наверняка нас захватят облака Промо

Интеграция Бесплатно (free)

Внимание! Данный текст содержит достаточно мало технических подробностей и готовых рецептов. Главным образом некоторые размышления на предмет будущего технологий и профессий. Некое лёгкое чтение на досуге.

28.06.2019    9884    comol    36    

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 4 - NoSQL (MongoDB, Redis)

Интеграция Бесплатно (free)

Если в ИТ-инфраструктуре есть NoSQL решения, с которыми требуется взаимодействовать из 1С, можем использовать прослойку на Golang в стиле RESTful

21.09.2020    3120    dmitry-irk38    11    

«Варп-двигатель» для «среза последних»

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

Решение, позволяющее получить данные, аналогичные "срезу последних" на два порядка быстрее.

10.08.2020    2727    hobi    45    

1С: Документооборот, Data Science и Python

Документооборот и делопроизводство Математика и алгоритмы ДО Бесплатно (free)

В статье рассказывается о создании и обучении модели Data Science на языке Python и интеграции с системой 1С: Документооборот

04.08.2020    1489    Vaganov_Alexey    4    

Развитие 1С программиста Промо

Практика программирования Личная эффективность Бесплатно (free)

Делюсь своим опытом и видением развития 1С программиста.

17.10.2018    20727    pashamak    62    

Кто такой архитектор? Системный или функциональный? Статья 1

Конфигурирование 1С Проектирование Бесплатно (free)

В связи с повальным непониманием того, как устроен процесс разработки в сфере 1С и кто за что отвечает, будут написаны 8 статей. Это первая статья. Она очень актуальна, т.к. многие проектные команды не имеют архитектора, либо используют его не по назначению. В этой статье раскрываю роль архитектора и его значимость. Основываюсь на своём опыте (более 10 лет), также изучал статьи на эту тему от коллег и консультировался с руководителями крупных команд. В данной статье будут раскрыты следующие вопросы: 1. Кто такой архитектор? 2. Какие задачи выполняет архитектор? 3. Можно ли без него обойтись? 4. Чем отличается системный архитектор от функционального архитектора? 5. Кто главный: РП или архитектор? Кому подчиняется проектная команда?

30.06.2020    5980    biimmap    47    

Не спеша, эффективно и правильно – путь разработки. Часть 3. Практика

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

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

29.06.2020    8366    WildHare    33    

Не спеша, эффективно и правильно – путь разработки. Часть 2. Теория

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

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

22.06.2020    9464    WildHare    23    

Подмена заголовка 1С Промо

Универсальные функции Работа с интерфейсом Россия Бесплатно (free)

Подстановка имени базы данных в начало заголовка окон с программой 1С (конфигуратор и предприятие). Удобно при одновременной работе с большим количеством баз данных. Скрипт интересен будет как для программистов, так и для администраторов баз данных. Заголовок можно менять для любой программы, не только для 1С, для этого требуется немного исправить скрипт. Программисту 1С не составит труда переделать скрипт.

08.12.2018    10682    moolex    26    

Не спеша, эффективно и правильно – путь разработки. Часть 1. Парадигма

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

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

15.06.2020    13514    WildHare    34    

Как построить микросервисную инфраструктуру

Интеграция Бесплатно (free)

При росте информационных систем возникает потребность выноса определенной бизнес-логики в отдельное приложение для повышения отказоустойчивости и возможности одновременного использования этой функциональности в различных источниках. О том, как построить микросервисную инфраструктуру с использованием Apache Kafka в качестве шины данных, на конференции Infostart Event 2019 Inception рассказал разработчик группы компаний Автоград Дмитрий Маренин.

15.06.2020    5051    dmarenin    6    

Не программируй - вставляй и копируй. OAuth 2.0 авторизация API Google, получение токенов доступа (refresh и access token)

WEB Облачные сервисы, хостинг Бесплатно (free)

Без программирования, в несколько кликов - простой и быстрый способ трехногой авторизации по протоколу OAuth 2.0 в Google APIs. Получение refresh и первого access token для использования в HTTP-запросах из 1С к API Google. Для приложений типа "Компьютеры".

09.06.2020    3085    uno-c    1    

Автоматизация магазина на Oracle Apex. Обзор аналога 1С Промо

Интеграция Розничная торговля Розничная торговля Бесплатно (free)

Как известно 1С - лидер в автоматизации учета в постсоветском пространстве. Есть ли достойные альтернативы (не дорогие, с возможностью конфигурирования, простые) ? Однозначно да ! Предлагаю Вашему вниманию обзор "буржуйской" технологии Oracle Apex

17.05.2013    59401    avhrst    295    

Как разработать Web приложение и остаться 1С-ником

WEB Бесплатно (free)

Создание современных веб-приложений обходится для бизнеса дорого и требует постоянной актуализации различных фреймворков, что не всегда оправданно. Как применить инженерный подход и предоставить бизнес-пользователям доступ к данным 1С в удобном и защищенном веб-приложении на конференции Infostart Event 2019 Inception рассказал руководитель управления ИТ компании WiseAdvice Олег Филиппов.

18.05.2020    11949    comol    86    

Учимся готовить кроликов с редиской: опыт применения Rabbit MQ и Redis в интеграционных проектах

Производительность и оптимизация (HighLoad) Интеграция Бесплатно (free)

При построении мощных производительных отказоустойчивых решений для интеграции во всем мире активно используются технологии обработки очередей сообщений с помощью брокера RabbitMQ и кэш-сервера Redis. О практическом опыте использования этих технологий при построении ИТ-ландшафта, включающего системы на 1С, на конференции Infostart Event 2019 Inception рассказал Сергей Наумов.

12.05.2020    5328    SergeyN    3    

Визионное программирование

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

Новый способ программирования и его практическая демонстрация.

22.04.2020    4461    mkalimulin    111    

Метод Кларка-Райта. Оптимальное планирование маршрутов грузоперевозок Промо

Математика и алгоритмы Бесплатно (free)

Одной из наиболее важных задач каждого предприятия, осуществляющего доставку грузов в крупных населенных пунктах, является сокращение издержек. Возможное решение данной проблемы заключается в сокращении пробега автотранспорта и, как следствие, уменьшении расхода ГСМ. Появляются такие вопросы ... - СКОЛЬКО НУЖНО МАШИН ДЛЯ РАЗВОЗКИ КОНКРЕТНОГО ОБЪЕМА ГРУЗА ПО АДРЕСАМ ДОСТАВКИ ? - КАК РАЗБИТЬ ТОЧКИ ДОСТАВКИ НА ОПТИМАЛЬНЫЕ ПО ПРОБЕГУ И ЗАГРУЗКЕ МАШИН МАРШРУТЫ ? ... В этой статье Вы найдете один из многих способов получить ответ на эти вопросы.

10.02.2016    59771    mi1man    20    

Как работает 1С размером 13 ТБ в условиях непрерывной разработки

Перенос данных из 1C8 в 1C8 Администрирование СУБД Бесплатно (free)

Обеспечение быстрого непрерывного обмена данными между высоконагруженными системами 1С, покрывающими всю территорию России, требует ответственного подхода к архитектуре и инструментам, используемым для обмена. Как правильно построить такую инфраструктуру и научиться ее оперативно мониторить, в своем докладе на конференции Infostart Event 2019 Inception рассказал разработчик компании «ДНС Ритейл» Максим Старков.

27.03.2020    11386    max_st    52    

Улучшение пооперационного планирования в 1С:ERP 2.4 внешними средствами

Математика и алгоритмы Производительность и оптимизация (HighLoad) Бесплатно (free)

Задача построения оптимального производственного расписания требует сравнения тысяч и десятков тысяч вариантов. Выполнять такие вычисления средствами платформы 1С Предприятие нецелесообразно. Как реализовать пооперационное планирование с использованием генетических алгоритмов и параллельных вычислений в докладе на конференции Infostart Event 2019 Inception рассказал генеральный директор компании «ИНТЕХ» Сергей Сафаров.

02.03.2020    5110    ildarovich    7    

Использование машинного обучения для решения инцидентов. Практическое применение

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

Продолжаю (и заканчиваю) тему с автоматическим решением инцидентов. Перейдем от теории к практике.

25.02.2020    4154    Repich    9    

Информер для сайта , актуальные релизы 1С + Проверка подписки ИТС. Промо

WEB Администрирование данных 1С Сервисные утилиты Бесплатно (free)

Небольшой код который встраивается на сайт и выводит информацию о последних релизах конфигураций 1С

12.09.2014    40767    Malfarion    34    

Технология разветвлённой разработки, использующая git, ci/cd

CI/CD Git (GitHub, GitLab, BitBucket) Методология управления разработкой EDT 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Адаптация и расширение требований к разветвлённой разработке с использованием git и ci/cd, основанное на стандартах 1С

24.02.2020    5756    check2    10    

CI/CD для 1С проектов, унифицировано, с кастомизацией

CI/CD Инструментарий разработчика Бесплатно (free)

Тема CI/CD в связке с 1С не нова, но многих пугает сложность использования и поддержки, необходимость обучения команды. Про то, как унифицировать и упростить поддержку сборочных конвейеров для большого количества решений, в своем докладе на конференции Infostart Event 2019 Inception рассказал начальник отдела компании BIA-Technologies Валерий Максимов.

20.02.2020    6157    theshadowco    11    

Проставление большого количества галочек в активном окне винды Промо

Практика программирования Сервисные утилиты Инструментарий разработчика Россия Бесплатно (free)

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

07.11.2010    30729    Boris-Leleko    9    

О синхронизации ИБ с проектом в EDT

EDT Бесплатно (free)

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

19.02.2020    3588    check2    2    

Использование машинного обучения для решения инцидентов

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

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

18.02.2020    6736    Repich    17    

Гарантированный обмен 1С с внешними системами через сервер очередей Microsoft MSMQ

Внешние источники данных Бесплатно (free)

Описание решения задачи организации обмена 1С с внешними системами с условием гарантированной доставки сообщений и независимой поддержкой архивов сообщений. Быстрый ответ: сервер очередей Microsoft MSMQ.

09.02.2020    7412    da_1c    11    

Алгоритм “хвост змеи для заполнения прямоугольной области”. Промо

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

При разработке http://infostart.ru/public/275582/ столкнулся с необходимостью распределить выделенные задания на прямоугольную область календаря. В результате родился алгоритм, который может пригодиться не только мне и не только в этой задаче.

20.06.2014    27089    milkers    16    

Атака сервера кнопонажималкой

Нагрузочное тестирование Инструментарий разработчика Бесплатно (free)

Чтобы убедиться, что продукт выдержит планируемую нагрузку, необходимо провести нагрузочное тестирование – написать сценарии пользовательских действий и запустить их в несколько потоков, чтобы заранее найти проблемы в бизнес-логике и «узкие места». О том, как упростить написание сценариев тестирования для конфигурации Тест-центр с помощью фреймворка Vanessa Automation на конференции Infostart Event 2019 Inception рассказал ведущий программист компании «ПервыйБИТ» Никита Грызлов.

20.01.2020    5879    nixel    22    

Часовой на страже логов

Практика программирования Инструментарий разработчика Бесплатно (free)

При поддержке решений, которые установлены у большого количества пользователей на различных системах, очень важно вовремя получать подробную информацию о возникших проблемах. О том, как собирать логи и анализировать полученные данные в трекере ошибок Sentry на конференции Infostart Event 2019 Inception рассказал Андрей Крапивин.

13.01.2020    6496    Scorpion4eg    8    

Как программисту перейти с языка 1С Предприятие на Java

ООП Языки и среды Россия Бесплатно (free)

Как изучить язык Java, зная язык 1С.

06.01.2020    13469    ManyakRus    292    

Предметно-ориентированное проектирование (3D) в 1С. Виртуальная машина. Промо

Математика и алгоритмы Бесплатно (free)

Проектирование программного обеспечения - это постоянная битва за простоту.

03.06.2014    40214    Evgen.Ponomarenko    88    

Как управлять качеством кода 1С, используя платформу SonarQube

Рефакторинг и качество кода Инструментарий разработчика Бесплатно (free)

При быстром росте функциональности проводить визуальный Code-Review для обнаружения некачественного кода проблематично. О том, как автоматизировать проверку качества кода 1С с помощью платформы SonarQube на конференции Infostart Event 2019 Inception рассказал ведущий разработчик компании «Командор» Олег Тымко.

30.12.2019    8439    olegtymko    9    

Проброс IP-адреса клиента в http-сервис 1С. Реализация для IIS

WEB Администрирование веб-серверов IIS Бесплатно (free)

Настраиваем веб-сервер IIS для передачи в 1С IP-адреса клиента, вызвавшего http-сервис. Разбираемся с этим же вопросом при использовании фронтэнд вебсервера на примере nginx.

01.12.2019    6408    VKislitsin    9    

Создание промышленной системы для локализации решений на базе 1С

Локализация решений Бесплатно (free)

Статья для тех, кто занимается переводом и локализацией конфигураций, или поддержкой мультиязычных решений. В данной статье, хотелось бы поделиться опытом о том, что должно быть в таких системах, как лучше устроить перевод и т.д. Что, кстати, очень важно для разработчиков мобильных решений :)

28.11.2019    6408    DitriX    21    

Из архивов Web-проектов: Основы теории цвета Промо

Работа с интерфейсом Бесплатно (free)

Казалось бы, все сделано по уму: и ТЗ адекватное, и программа написана в соответствии. А глаз не радует... Для тех кому знакома ситуация, кому важна гармония во всем, посвящается:

17.09.2013    24604    Evgen.Ponomarenko    13    

Может ли оптическое распознавание текста (OCR) работать так же быстро, как сканирование штрих-кода, и что для этого надо сделать? UPD 11.12.19 вошло в релиз https://infostart.ru/public/1166378/

Мобильная разработка Бесплатно (free)

В статье рассматривается решение важной проблемы – сканирование объектов, на которые не нанесен или не может быть нанесен штрихкод или RFID по технологическим причинам, но при этом присутствует номер, артикул или какой-либо другой цифро-буквенный идентификатор. Т.е. распознавание текста с целью идентификации объектов учета. Приложено короткое видео с примерами работы. UPD: функции встроены в конструктор https://infostart.ru/public/1166378/

28.11.2019    4938    informa1555    37    

GitSync 3.0. Шпаргалка по использованию

Git (GitHub, GitLab, BitBucket) Бесплатно (free)

В новой версии GitSync помимо появления новой функциональности, изменилась строка вызова приложения и часть функциональности реализована посредством плагинов. В заметке описывается новый формат строки вызова и принцип подключения плагинов.

26.11.2019    7679    VKislitsin    32    

Swagger для 1С.

OneScript WEB Бесплатно (free)

Решение для формирования Swagger спецификаций, описывающих HTTP сервисы конфигураций 1С.

21.10.2019    12560    botokash    41    

Ускорение реструктуризации таблиц Промо

Инструментарий разработчика Администрирование данных 1С Тестирование и исправление Бесплатно (free)

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

12.09.2013    51775    OLEG4120    32    

Фреймворк для создания бизнес web-приложений

Прочие инструменты разработчика Бесплатно (free)

Для создания систем, решающих узкие бизнес задачи, использовать 1С бывает нецелесообразно. Хочу представить альтернативу - web фреймворк katejs. Будет интересно также тем, кто интересуется web разработкой на современном javascript.

15.10.2019    5192    nep_i    25    

Подбор оборудования для информационных систем на платформе 1С

Интеграция Производительность и оптимизация (HighLoad) Бесплатно (free)

При подборе оборудования по рекомендациям с сайта ИТС возникает противоречие: проводить ли нагрузочные тесты, чтобы определить возможную нагрузку, или достаточно просто взять данные из таблиц статистики? О том, какую тактику применить в том или ином случае, на конференции INFOSTART EVENT 2018 Education рассказал начальник отдела разработки компании IBS Филиппов Евгений.

09.09.2019    9043    jf2000    8    

Интеграция 1С с промышленным оборудованием

Интеграция Бесплатно (free)

Эффективность управленческой информации в производственном процессе зависит от данных, собираемых на нижних уровнях. Про автоматизацию получения этих данных с использованием технологии OPC (OLE for process control) на конференции Infostart Event 2018 Education рассказал Юрий Коноваленко.

06.09.2019    8908    user642664_yurkeshk    12    

Внутреннее качество разработки конфигураций 1С Промо

Практика программирования Математика и алгоритмы Бесплатно (free)

Пиши с верой в то, что твой читатель - это маньяк с дробовиком, знающий твой домашний адрес. Размышления на тему внутреннего качества кода при разработке/доработках конфигураций 1С.

21.06.2013    37794    ig1082    50    

Как должна выглядеть правильная интеграция. Использование Mule ESB и RabbitMQ с 1С

Интеграция Бесплатно (free)

Чем масштабнее проект, тем сложнее настроить все связи. Каждый решает эти проблемы по-своему: кто-то пользуется конвертацией, кто-то пользуется xml и json. Руководитель управления ИТ компании WiseAdvice Олег Филиппов рассказал, как можно применить такие инструменты, как Mule ESB и RabbitMQ.

02.09.2019    9982    comol    3    

Кодогенерация и метагенерация в 1С

Практика программирования Инструментарий разработчика Бесплатно (free)

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    9006    kirovsbis    28    

Раскручиваем Гайку: разработка ПО для роботов на платформе 1С

Разработка Бесплатно (free)

Роботы на 1С стали реальностью. Их разработкой пока на общественных началах занимаются в компании «Цифровой кот». Насколько перспективно это направление, какие возникали сложности, и какая помощь коллег требуется, участникам конференции Infostart Event 2018 рассказал руководитель и ведущий разработчик компании - Юрий Лазаренко.

23.07.2019    7165    TitanLuchs    36    

Горячие символы или новое это хорошо забытое старое. Промо

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

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

07.06.2013    26143    vasiliy_b    70    

Бизнес-аналитика с помощью Power BI

Интеграция Бесплатно (free)

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

11.07.2019    13481    pbazeliuk    19    

Интеграция сценарного тестирования в процесс разработки

Практика программирования Инструментарий разработчика Бесплатно (free)

Разработчик системы «Тестер» Дмитрий Решитко в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION показывает, что процесс тестирования можно очень плотно интегрировать в процесс разработки, что внедрение тестирования – это возможность развития программиста как такового, позволяющая ему упорядочивать ход мыслей и оставаться «в фокусе». Навыки построения процесса кодирования на стыке с тестированием сокращают время на концентрацию, освобождают от страха перед изменениями и улучшают память разработчика.

08.07.2019    9162    grumagargler    7    

Управляй качеством кода 1С с помощью SonarQube

Практика программирования Россия Бесплатно (free)

Управляй техническом долгом проектов 1С с помощью SonarQube. В статье рассматривается пример применения SonarQube при разработке.

07.07.2019    39337    olegtymko    231    

Тестирование интеграций между системами

Интеграция Бесплатно (free)

Как начать разрабатывать интеграцию без реальной «второй стороны»? Как быть уверенным, что обмен не «сломается» при следующем обновлении? О том, какие подходы можно применять при тестировании интеграций и как такое тестирование может выглядеть в целом – в докладе Никиты Грызлова на конференции INFOSTART EVENT 2018 EDUCATION.

01.07.2019    10578    nixel    3