Git для 1С-ника и другие технологии групповой разработки

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

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

35
У многих специалистов в отношении Git сложились стереотипы, мешающие начать работу с этим прекрасным и удобным инструментом. Почему его не стоит бояться, и чем он может упростить жизнь 1С-никам, рассказал архитектор ГК «Невада» Станислав Ганиев.

Немного о личном

ГК «Невада» занимается дистрибьюцией, оптово-розничной торговлей. У нас сеть гипермаркетов и сеть минимаркетов по всему Дальнему Востоку.

Так уж получилось, что я человек с двойной должностью. С одной стороны я архитектор, с другой стороны – руководитель группы разработки.

С чего все начиналось

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

Но чуть раньше, еще в августе 2014 года, всеми нами уважаемый Алексей Лустин проводил вебинар на тему «Git-flow в 1С». Кто-нибудь видел этот вебинар? А кто уже перешел на Git, вообще пользуется им? А есть такие, кто еще думает переходить на Git? Или может быть только-только начал? Отлично, это я удачно зашёл.

Почему не взлетело

Почему чуда не произошло, и до сих пор лишь малая часть коллег пользуется Git. Кто-то думает, что слишком высокий порог вхождения. Я много слышал различных возражений от коллег-разработчиков и от менеджеров разных уровней. Самые популярные из них представлены на картинке.

В ходе своего доклада я постараюсь развеять эти сомнения.

Что такое система контроля версий

Для начала рассмотрим, что такое система контроля версий. Не все еще начали ею пользоваться. Это некое мероприятие или комплекс мероприятий, который позволяет нам ответить на следующие вопросы:

  • что и когда менялось;

  • кем менялось;

  • с какой целью.

Многие из вас, держу пари, пользовались системой контроля версий в той или иной мере. 

  • Например, существует такое понятие, как локальная система контроля версий. Для меня это какие-то сетевые или локальные общедоступные файлы, папки. В их названии может фигурировать дата, время, какое-то краткое описание версий. Это ничто иное, как локальная система контроля версий.

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

Недостатки локальных и централизованных систем контроля версий

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

С хранилищами тоже происходит много казусов: ошибки SDBL, ошибки целостности баз данных... И пока хранилище не починится, работа группы стоит, разрабатывать невозможно, захватить объект невозможно. Создаётся масса неудобств.

Преимущества распределенной системы контроля версий Git

В чем прелесть распределенной системы контроля версий, коей как раз является Git?

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

Но в чем прелесть Git? Работать можно локально и не обязательно иметь постоянное подключение к сети Интернет. Даже если вы улетите в космос, вы можете продолжать коммитить на своём ноутбуке. А вернувшись на землю, подключиться к интернету, синхронизироваться с сервером и радоваться актуальной версии вашего проекта.

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

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

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

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

И тут нам на помощь приходит Git. Это консольная программа, но для того, чтобы приобщить к ней огромную армию пользователей Windows и нас, специалистов 1С (мы ведь тоже не любим консольные программы, не любим командную строку, мы любим на кнопочки нажимать), было разработано огромное количество всяких графических оболочек, которые представляют информацию в таком красивом виде.

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

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

Говоря о преимуществах Git, мы возвращаемся немного в историю его происхождения. Когда Линус Торвальдс в 2005 году дал задачу разработать систему контроля версий, ключевыми требованиями были:

  • производительность;

  • возможность работы большого количества разработчиков (больше тысячи разработчиков);

  • высокая скорость работы.

Все эти цели были достигнуты. 

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

Ветвление разработки. В хранилище мы знаем, что коммиты у нас происходят строго линейно, и когда мы собираем релиз, то выколупать доработки определенных задач или подзадач становится проблематично. У нас был такой инцидент, когда в нашей основной товаро-учетной системе накопилось очень много ошибок. На их устранение подключили целую армию программистов. Было очень много фиксаций в хранилище конфигураций, и мы зашли в тупик с вопросом: «А что же делать со всеми этими задачами? Кто их будет тестировать? Армии тестировщиков нет!». 

Решили, что надо их как-то ранжировать по приоритетам, протестировать немного в другой последовательности, нежели они были закоммичены в разработку, и пустить в релиз. Как это сделать с хранилищем? Никак! 

Были, конечно, приняты определенные управленческие решения: что разработчики сами должны следить за порядком, брать на себя функции тестирования и так далее. Но это уже вопрос десятый.

Другое дело, когда мы говорим о работе с Git. 

Я не зря на предыдущем слайде показал именно этот фрагмент нашего репозитория. Это огромная пачка фич, которая стекается в ветку develop – не что иное, как одна пачка задач, которые сделали несколько разработчиков и одновременно послали pull request в основной ствол разработки. В любой момент эти задачи можно было принять и отправить в продакшен. Очень удобно. Да, Git позволяет управлять именно такой очень гибкой и удобной системой ветвления.

Детальная история. Я про нее уже упомянул. 

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

Немного холивара

Представлю плюсы и минусы Git и хранилища, о которых чаще всего мы сами говорим или слышим от наших коллег.

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

Возможность параллельной работы с объектом, то, как работать с объектом – это самое популярное возражение сторонников хранилища. Здесь мы приходим к тому, что при переходе на Git, мы принимаем на себя иную культуру работы с кодом. Если раньше мы не задумывались о том, какие изменения мы вносим, как они повлияют и будут коррелироваться с изменениями других разработчиков, то теперь, работая с Git, параллельно дорабатывать один и тот же модуль может хоть сотня разработчиков. Но при слиянии кода перед нами встает задача дополнительно проанализировать конфликты и принять решение о том, какие изменения в каждой строке кода мы принимаем для того, чтобы в продуктиве получить то, что мы хотим получить. Здесь на передний план выходит та самая пресловутая операция Code Review (инспекции кода), которая для нас становится неизбежной частью процесса разработки. Те, кто начинает работать с Git, думает, что это плохо, что это неудобно, что это дополнительные трудозатраты. Но это хорошо, потому что это повышает качество вашей разработки и, в конце концов, откликается снижением себестоимости строки кода. Это та самая «чистая архитектура», о которой писал Роберт Мартин.

Open Source – вишенка на торте. Если у вас есть какой-то интересный проект, стартап, которым вы хотите поделиться с сообществом и желаете, чтобы в ваш проект коллеги со всего мира (да что там мира, России!) вносили изменения и добавляли полезную функциональность, то welcome на GitHub. Выкладывайте свои разработки и добро пожаловать в мир Open Source.

Как начать работать с Git

Ну что, появилось желание пощупать Git? 

Подумаем о том, где и какие инструменты мы будем использовать, и как вообще можно выстроить работу нашей группы при использовании Git.

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

Есть интересный подход, который выложен на ИТС, – это разветвлённая система разработки с использованием хранилищ, которая очень напоминает Git-Flow, реализованное на хранилищах. Поэтому если у вас нет возможности использовать Git, но хочется попробовать схему Git-Flow, можете попробовать эту схему.

Если же вас не ограничивают возможности платформы, то самое время попробовать Git.

Как его начал использовать я? И один из вопросов, который мне задали в кулуарах, – начиная с какого количества разработчиков стоит начать использовать Git? Отвечаю: от одного. Я начал пользоваться Git сам для себя. Начал с того, что запушил в репозиторий шаблоны текстов кода, которыми я активно пользуюсь. Мне показалось это очень удобным, и я решил подключить к этому свою группу разработки. Мы добавили туда внешние отчеты, обработки и расширения конфигурации, потом правила обмена. 

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

Дальше - больше: всё, что прямо или косвенно касается этого проекта, добавляется в Git. Ничего не теряется. Более того, после того как мы начали использовать Git, освободилось много времени на действительно полезную работу. Голова и руки освобождаются от необходимости следить за версиями, мучиться вопросами, что куда положить, как хранить. Все это на себя успешно берет Git.

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

И конечно же – это для кого-то любимый, для кого-то ненавистный инструмент EDT, вокруг которого сейчас ходит много споров. Лично я смотрю на его развитие очень оптимистично, и верю, что в скором будущем мы получим тот долгожданный релиз, когда можно будет в EDT эффективно работать даже с очень крупными проектами.

Что нужно, чтобы начать?

Нужно понизить порог вхождения в Git. Чтобы он не казался таким страшным и непонятным для наших коллег, я решил опубликовать на Инфостарте серию статей о том, как подключиться к команде, какой софт поставить, как его поставить. Там всё это очень подробно расписано. Если вы задумываетесь о том, чтобы начать использовать Git, пользуйтесь этой информацией.

Спасибо!

 

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

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

35

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

Комментарии
Избранное Подписка Сортировка: Древо
1. user-z99999 22 28.10.19 16:00 Сейчас в теме
Code Review или инспекция кода, контроль чистоты архитектуры – это обязательная операция

Расскажите как это происходит? Это обучение молодых сотрудников?
Какой регламент этой операции (каждый день или раз в неделю)?
PLAstic; maXon777; +2 Ответить
2. acanta 74 28.10.19 16:06 Сейчас в теме
В любом случае в коллективную разработку на 8ке без гита лучше не соваться.
3. vadver 38 28.10.19 20:26 Сейчас в теме
(2)Ну почему... Лично у меня есть пара-тройка примеров успешных разработок с совершенно обычным хранилищем конфигураций. Даже без сервера.... Дело не в инструменте, а в организации
aexeel; Bassgood; jaroslav.h; CyberCerber; jONES1979; sapervodichka; narutouzumaki_13; acanta; +8 Ответить
4. acanta 74 28.10.19 20:48 Сейчас в теме
(3) вы не один такой
sapervodichka; +1 Ответить
6. Светлый ум 235 29.10.19 12:45 Сейчас в теме
(4) вы и не два такой)
- На создании прототипов и первых версий продуктов редко используется большая команда.
Bassgood; +1 Ответить
5. fenixnow 165 29.10.19 07:31 Сейчас в теме
Гит, гит, гит, я ахитектор, я архитектуру архитектуру! Статья сплошная вода.
aexeel; RhelasTgav; user1298446; w.r.; loda; narutouzumaki_13; +6 Ответить
7. GROOVY 2497 29.10.19 13:20 Сейчас в теме
EDT нативно работает с гитом.
ellavs; acanta; +2 Ответить
14. w.r. 478 30.10.19 17:47 Сейчас в теме
(7) только с сам edt нифига не нативный и очень тормозной
Bassgood; +1 Ответить
8. MaCCapAkIII 29.10.19 14:53 Сейчас в теме
Все здорово, но где мне как единственному разработчику, работающему с конфигурацией 1С, прочитать про конкретные шаги по работе с Git? Я лично столкнулся с рядом существенных проблем, решить которые помочь мне так никто и не смог - все отправляют учиться и читать. Вот примерная последовательность действий, которая у меня приводит к неутешительным результатам:

1. Завел репозиторий в bitbucket.
2. Клонировал этот репозиторий на локальный диск.
//вообще только начинаю общаться с системами контроля версий, работаю один, показалось интересным контролировать все стадии доработок и не держать в голове кучу информации.
3. В папку, которая локальная копия репозитория выгрузил конфигурацию в файлы через "Конфигурация - Выгрузить конфигурацию в файлы". То есть была создана структура каталогов с файлами xml, bsl и прочими.
//конфигурации пробовал разные. Сильно переписанную УТ, Розницу, БП2
//при выгрузке конфигурация часто ругается на длинные имена файлов и длинные имена каталогов. Игнорирую. Так как если с каталогами я еще что-то могу поделать, то с именами файлов на данном этапе своего развития - нет.
4. Далее делал первоначальную синхронизацию локального каталога с облаком и тянул в облако все гигабайты выгруженных файлов.
5. Дальнейшая разработка влекла за собой повтороные инкрементные выгрузки (как я понял сама платформа по записям в служебном файле контролирует что изменилось и выгружает) и обмен с облачным репозиторием. Все изменения в модулях bsl видел. Про синхронизацию изменений (возможно проблемную) форм услышал только на форуме и даже боюсь пока об этом думать. Как решать такие коллизии если возникнут пока не знаю.
6. Проблемы начались при попытке загрузки. Дорабатывал УТ. Все пункты с 1 по 5 делал дома, после возникла необходимость доработать на рабочем комьютере. Клонировал облачный репозиторий на локальный компьютер, попробовал загрузить из файлов "Конфигурация - Загрузить конфигурацию из файлов" и начал получать ошибки. Первый вариант - некая ошибка в xml, подробно не вспомню, но что-то про неуникальное имя. Второй вариант - загрузка проходит, но конфигурация становится пустой, пропадают все объекты...

Если брать работу с обработками - там вроде все более или менее понятно. Вместе с текстовой информацией из файлов обработки можно синхронизировать также сам файл обработки. Но тут вопрос. Если мне надо перейти на версию обработки с ветки №6 из десяти веток - epf тоже версионируется при синхронизации или нет? Подозреваю, что нет.
А вот с конфигурациями совсем не понимаю. Концептуально не понимаю. Вот выгрузил я конфигурацию в файлы. Каждая ветка имеет некие доработки в неких файлах и если мне надо перейти/вернуться на определенный этап разработки - как это сделать? Что-то читал про "автоматическую сборку cf из файлов, но так и не нашел как и что. Или я в принципе неверно работаю? Хранилищем конфигурации не пользуюсь в принципе, так как не знаю, что это такое.
Сумбурно, но это суть проблемы. )

Забыл. Бинарные файлы, как мне сказали, с Git не версионируются.
getnight; ntemny; Summer_13; +3 Ответить
10. Алексей Воробьев 18 30.10.19 09:43 Сейчас в теме
(8)Да, очень сумбурно. Ну да ладно...

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

Для чего? Чтобы гонять разработку из дома в офис и наоборот? Для этого существует удаленный рабочи стол, не нужно ничего таскать туда-сюда да еще через облако...

Опять же увидел: БП2. То есть пытаетесь прикрутить Git к обычным формам? Такое себе, хотя теоретически возможно...

Если конфигурация на УФ, есть команда или разработка нескольких задач ведется параллельно одним разработчиком (а смысл? работайте по приоритетам), плюс частые хотфиксы и мелкие доработки, то Git, конечно же, рекомендован.

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

Если аппаратные ресурсы позволяют (хороший проц, много памяти и диск SSD) можно начать знакомство с Git из EDT. Встроенный функционал Git'а в EDT вполне работоспособен. Но тут только конфигурации на УФ.

Если разработчик один - да не нужно вам облако! Хватит локального репозитория и удаленного рабочего стола, если работаете из нескольких мест. Локальный репо можно бэкапить как простую папку...
Если таки сильно нужно (несколько разрабов) - можно развенуть Git-сервер в локальной сети (какой-нить Bonobo гит-сервер)

Но для начала - хранилище... Это несложно. Сделайте для хранилища папку локально или в шаре. Поместите конфигурацию в хранилище из конфигуратора. Далее захватывайте отдельные объекты, редактируйте и помещайте назад в хранилище. Подключаете другую конфу (у другого разраба или боевую базу) - все изменения автоматически применятся к этой конфе. Можно относительно безболезненно обновлять конфигурацию из хранилища и т.п.
12. MaCCapAkIII 30.10.19 10:40 Сейчас в теме
(10)
Если разработчик один - да не нужно вам облако! Хватит локального репозитория и удаленного рабочего стола, если работаете из нескольких мест. Локальный репо можно бэкапить как простую папку...
Если таки сильно нужно (несколько разрабов) - можно развенуть Git-сервер в локальной сети (какой-нить Bonobo гит-сервер)

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

Это понятно. Просто хочу изучит md кратчайшие сроки технологию групповой разработки, возможно впоследствии получится поменять текущий вид деятельности на 1С, а работать в команде не умею. И на обучение, боюсь, работодатель времени не даст.
Если у меня в работе 7+ конфигураций - работать с 7+ хранилищами для разных конфигураций? Я когда пробовал с СКВ работать визуально нагляднее показалась работа с несколькими различными репозиториями.
Понравилась идея с локальным репозиторием для одного меня. С удаленным рабочим столом - тоже вопрос интересный. На работе все данные хранятся локально, после окончания рабочего дня все обесточивается и подключиться возможности нет...
15. Алексей Воробьев 18 31.10.19 08:28 Сейчас в теме
(12)
Я так думаю, что в большинстве случаев в командах, в которых реально поставлен процесс групповой разработки, используются исключительно четкие инструкции по следованию этому самому процессу и от "умения" или "неумения" работать в команде будет мало что зависеть. Понимать, чего требуют эти инструкции, это да - было бы неплохо. Но скорее всего сходу и необязательно... Просто выполнять их для начала.
Обучение сведется к инструктажу и все.

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

Если работодатель заинтересован в вашей работе в нерабочее время, то, думаю, в его интересах обеспечить необходимые для этого ресурсы типа удаленного рабочего стола и т.п.
Если "в этой конторе все сложно!", как иногда бывает, то точно вы на верном пути в плане смены вида деятельности и(или) места работы...
9. PLAstic 218 30.10.19 09:13 Сейчас в теме
А где "другие технологии групповой разработки"? Надо или переименовать статью, или добавить их всё же.
11. ImHunter 162 30.10.19 09:45 Сейчас в теме
(9) Например:
Есть интересный подход, который выложен на ИТС, – это разветвлённая система разработки с использованием хранилищ, которая очень напоминает Git-Flow, реализованное на хранилищах.
13. RuslanZ 403 30.10.19 12:27 Сейчас в теме
Надо же, именно сегодня обработка в тему https://infostart.ru/public/1147220/
Оставьте свое сообщение

См. также

Разбор любого JSON-объекта в соответствующую структуру 6

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика WEB

Данная публикация предназначена разработчикам 1С, которым приходиться разбирать данные формата JSON. Выложенный пример кода создает объект типа Структура, полностью повторяющий структуру данных формата JSON.

13.11.2019    695    user665435_al.windstorm    13       

Переход на разработку с хранением в Git, часть 1, подготовка репозитория 79

Статья Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Хранилище Git (GitHub, GitLab, BitBucket)

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

29.09.2019    3848    malikov_pro    0       

FastCode - сервис поиска кода 1С 50

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

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

10.09.2019    5430    m.bolsun    22       

Как мы разрабатываем в EDT 63

Статья Программист Нет файла v8 Бесплатно (free) EDT

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

23.08.2019    5889    ivanov660    21       

1С:EDT. Первые шаги… или есть ли альтернатива конфигуратору? 83

Статья Программист Нет файла v8 Windows Бесплатно (free) EDT

Заменить конфигуратор сложно, а в некоторых случаях невозможно, если, например, нужно оперативно подправить код непосредственно в рабочей конфигурации…

15.08.2019    8839    ellavs    80       

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ 146

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    11185    ids79    27       

Групповая обработка (Управляемая консоль отчетов) 28

Статья Программист Нет файла v8 v8::УФ v8::Запросы 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Бесплатно (free) Обработка документов Инструментарий разработчика Обработка справочников

Статья предназначена тем, кто понимает, зачем нужна групповая обработка в консоли запросов. Рассматривается групповая обработка в консоли Управляемая консоль отчетов.

13.05.2019    4023    Evg-Lylyk    10       

Перенос и резервное копирование настроек конфигуратора 56

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Удобный перенос между рабочими местами и резервное копирование настроек конфигуратора через подсистему "Инструменты разработчика".

14.04.2019    5453    tormozit    18       

Как добавить типовую форму для СКД (для начинающих) (1С 8.3, управляемые формы) 9

Статья Программист Стажер Нет файла v8 v8::УФ v8::СКД Бесплатно (free) Инструментарий разработчика Работа с интерфейсом

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

25.03.2019    6118    ellavs    9       

Git + 1С. Часть 2. Реализация Git workflow в 1С-разработке по шагам 129

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Управление проектом

В этой части мы рассмотрим наиболее распространённую схему workflow при групповой разработке с использованием Git. Как приступить к доработке по поставленной задаче; исправить ошибку, обнаруженную на этапе тестирования; отправить свой код на слияние в предстоящий релиз; и т.д. Постараемся охватить большинство задач, составляющих основной цикл разработки

28.01.2019    10518    stas_ganiev    18       

Автоматизация тестирования с помощью WinAutomationUI 28

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

Рассматривается использование инструмента WinAutomationUI для создания автоматизированных сценарных тестов на примере 1 + 1 = 2.

11.12.2018    4210    AlexKo    30       

[8.3] Анализ планов запросов (Управляемая консоль отчетов) 134

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Консоль запросов

Новый инструмент! Позволяет удобно работать с планами запросов, анализ планов в файловой базе.

19.11.2018    14615    Evg-Lylyk    6       

Метрики, графики, статистика = Prometheus + Grafana 109

Статья Программист Нет файла v8 v8::ОУ Россия Бесплатно (free) Инструментарий разработчика

Снятие метрик из базы данных 1С с хранением в Phrometheus и красивое оформление на основе Grafana. Или как мы создавали комфортные условия административному персоналу на отдельно взятом складе.

23.10.2018    10317    197    freewms    64       

Git + 1С. Часть 1. Как подключиться к команде разработки и начать использовать Git 277

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Управление проектом

Первая статья из цикла инструкций по работе с Git в 1С-разработке. Рассмотрим, как настроить рабочее место, как получить свою "копию" проекта для разработки и приступить к полезным действиям. Все примеры будут изложены в рамках трёх практических кейсов: 1. Моя команда дорабатывает типовую конфигурацию, использует приватный репозиторий на BitBucket, в котором версионируются внешние отчеты/обработки, расширения конфигураций и правила обмена; 2. Я участвую в стартап-команде, которая разрабатывает свою конфигурацию с использованием Git и GitLab; 3. Я принимаю участие в развитии OpenSource-продукта на GitHub как заинтересованный разработчик (контрибьютор).

18.10.2018    36810    stas_ganiev    72       

Взгляд на практику разработки в EDT из зазеркалья 116

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) EDT

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

26.07.2018    18199    ivanov660    104       

Практика применения инструментов продвинутого разработчика 1С 156

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

Статья адресована разработчикам. Будет чуть-чуть теории, будут воспоминания, и потом пойдет практика.

23.07.2018    20268    artbear    22       

Лайфхак: исходники внешних обработок и отчетов 1С - это просто. 34

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

Важно: статья далеко на любителя всяких таких git'ов, gitlab'ов и oscript'ов.

22.06.2018    7984    new_user    11       

Создание поставки конфигурации 97

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика

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

27.02.2018    13958    Vladimir_412    6       

Легкий способ обновления измененной конфигурации 41

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Инструментарий разработчика

Легкий способ обновления измененной конфигурации. Сервис подготовки расширения конфигурации

25.10.2017    19060    avk72    63       

Консоль запросов для УФ с возможностью передачи готовой ТЗ в качестве параметра 15

Статья Программист Нет файла v8 v8::УФ Россия Windows Бесплатно (free) Консоль запросов

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

11.07.2016    12762    vadim1011985    7       

Поиск несериализуемых значений при помещении в хранилище 12

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика Практика программирования Универсальные функции

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

02.03.2016    20586    balanton    2       

Подсветка синтаксиса 1С в текстовых редакторах Atom, Sublime Text, VS Code 101

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Разработка внешних компонент

Пакеты, добавляющие поддержку синтаксиса языка 1С:Предприятие 8 в текстовые редакторы Atom, Sublime Text и VS Code. И не только.

02.02.2016    23211    nixel    38       

Дай дернуть! О веб-сервисах, Linux'ах и добрых поисковых сайтах 61

Статья Программист Нет файла v8 1cv8.cf Linux Бесплатно (free) Инструментарий разработчика Администрирование данных 1С WEB

О веб-сервисах, апачах и *nix'ах. - установим на новенький убунту старенький апач с php. - дернем сервис из php-скрипта. - создадим приложение, позволяющее дергать произвольный сервис с произвольными данными. - ну и что там получится по пути в лес...

30.12.2015    22942    starik-2005    4       

xUnitFor1C - набор инструментов для выполнения тестирования (модульного/юнит, приемочного, сценарного для 1С 8.3, интеграционного) в 1С:Предприятии 8 178

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика

xUnitFor1C - простой и мощный фреймворк для тестирования в 1С. Позволяет тестировать в разных режимах обычное приложение, тонкий и толстый клиент управляемого приложения. Поддерживаются любые платформы 1С - от 8.2.17 до 8.3.5 и выше. Любые наборы тестов могут прогоняться в полностью автоматическом режиме. Автозапуск используется в различных build-серверах в системах Continuous Integration. Также возможно очень простое создание тестовых данных на основании табличных макетов. Эти макеты можно генерировать из реальных боевых данных. Полученные данные в тестах загружаются одной строкой кода. В статье я кратко описал историю продукта + вставил небольшое описание различных возможностей нашего фреймворка + список полезных статей/примеров/видео, обучающих/рассказывающих о практическом применении инструмента

13.11.2015    37983    artbear    45       

Сервис обмена кодом 28

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика

Бывало так, что вам нужно быстро показать кому-то свой код, но опубликовать его негде, так как популярные сервисы просто не поддерживают раскраску кода 1С? Теперь решение есть!

26.06.2015    18083    Infactum    23       

Многопоточность в 1С, клиент-серверный вариант 60

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Математика и алгоритмы

Многопоточность - это свойство системы выполнять одновременно более одной операции (в пределе - более одной программы), позволяя в ряде случаев добиться существенного роста производительности программного продукта...

21.06.2015    30863    starik-2005    50       

Универсальная функция для программного выполнения СКД 110

Статья Программист Нет файла v8::СКД 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика Универсальные функции

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

20.05.2015    27046    dj_serega    18       

1C:Enterprise Development tools (EDT) или кодим в Eclipse 254

Статья Программист Нет файла v8 Windows Бесплатно (free) EDT

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

11.04.2015    71451    DitriX    297       

Перевод интерфейса конфигурации с использованием программы 1С:Переводчик 33

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

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

09.02.2015    28799    boogie    21       

Генерация кода управляемой формы (декомпиляция элементов) 514

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика Практика программирования Работа с интерфейсом

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

29.09.2014    93426    8967    ekaruk    123       

Типовой механизм упрощенного изменения конфигурации в ERP 2.0 и УТ 11 213

Статья Системный администратор Программист Нет файла v8 УТ10 ERP2 Windows Бесплатно (free) Инструментарий разработчика Практика программирования Работа с интерфейсом

В ERP 2.0 (и соответственно в УТ 11) появился функционал для упрощенной возможности модификации конфигурации разработчиками. Он касается в частности изменения форм объектов и размещения подписок на элементы, теперь задача изменения конфигурации на поддержке упростилась. Также появились дополнительные возможности в новой версии платформы 8.3.5, которые также упростят задчу.

22.09.2014    50419    ivanov660    49       

Просмотр SQL-таблиц из 1С. Возможность очистки таблиц 26

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Обработка позволяет соединиться с SQL-сервером (SQL-авторизация), получить список баз на сервере, после выбора базы - получить список таблиц. Позволяет вывести таблицу на просмотр, при необходимости очистить таблицу средствами SQL (delete from), просмотреть соответствие имен таблиц объектам конфигурации, в которой запущена база

29.08.2014    18934    377    Abadonna    4       

TurboConf:Шаблоны - сервис для поиска и хранения фрагментов кода 43

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Сервис добавляет в Конфигуратор возможность поиска и хранения фрагментов кода. Делитесь своими шаблонами с другими разработчиками или используйте уже готовые!

13.08.2014    20126    m.bolsun    68       

Консоль запросов. Очередная гайка. 18

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Консоль запросов

Небольшое дополнение к консоли запросов. Позволяет создавать функцию вместе с текстом запроса.

23.07.2014    6668    mdmdvd    3       

Конвертер юникода в кириллицу 8

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Как преобразовать строку на юникоде в строку на кириллице, например, вот это: "/u042E/u043D/u0438/u043A/u043E/u0434" в это: "Юникод"

25.04.2014    10055    Mart    1       

Сохранение в Excel из WEB-клиента 13

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Не всегда корректно отрабатывает сохранение в Excel из 1C при работе в WEB-клиенте. Мне попалась ситуация, когда не отрабатывал код "ТабличныйДокумент.Записать(...)" и выдавалась ошибка "неизвестная ошибка.: object doesn't support this property or method" Ниже предложена процедура сохранения в Excel, корректно работающая во всех типах подключения.

24.04.2014    18673    Tavalik    1       

Подсистема "COMExchange": консоль запросов в режиме «Консоль кода». 8

Статья Системный администратор Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Консоль запросов

Описана возможность использования обработки «Консоль запросов 1С+ADO» в качестве «консоли кода». При этом имеется возможность помещения результатов вычислений в «табло формул». Кроме результатов вычислений в это «табло» можно также вывести время выполнения и описание обработанных ошибок времени исполнения.

03.04.2014    23746    yuraos    2       

Автоматизированное тестирование в 8.3 164

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика

В данной статье будет рассмотрен новый механизм системы "1С:Предприятие 8" поддерживаемый начиная с платформы версии 8.3. Механизм позволяет легко и быстро создавать различные сценарии тестирования, без необходимости написания сложных процедур и функций для имитации действий пользователя.

06.03.2014    55138    M.Shalimov    45       

Изменение данных среды выполнения «на лету» в процессе отладки с помощью внешней обработки 9

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика

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

13.02.2014    8065    Рэйв    7       

Перенос таблицы значений между клиентом и сервером 50

Статья Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Инструментарий разработчика Практика программирования

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

10.12.2013    78117    Draconus    35       

Native ВК для 1CV8: независимое чтение файлов *.xls и *.xlsx 152

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

Не требует установленного в системе Microsoft Office (Excel) и Open Office. Технология Native, не требует регистрации в реестре

15.08.2013    28732    383    Abadonna    161       

Свойства файла (версия, ширина/высота изображения и т.д.) 6

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика

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

29.07.2013    11012    zsrg    1       

V8 FORMATTER: Расширенная версия 78

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Бесплатно (free) Инструментарий разработчика

Форматирование кода модуля одним хот-кеем, ввод "неудобных" символов без переключения раскладки.

22.07.2013    17858    190    Abadonna    124       

VM1C - виртуальная машина для 1С 43

Статья Программист Нет файла v8 1cv8.cf Россия Windows Бесплатно (free) Инструментарий разработчика

Демонстрация возможностей виртуальной машины для 1С. Создаем и выполняем код модулей в режиме Предприятия в реальном времени.

07.06.2013    21951    m.bolsun    46