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

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

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

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

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

 
 Содержание

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

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

Начало работы над задачей

Работу по каждой задаче следует выполнять в отдельных ветках, называемых "фича". По соглашению в команде, имя фичи содержит, как правило, номер задачи из трекера. Например, у нас принят шаблон: feature9999. Фича начинается в основном стволе разработки (обычно это ветка develop) и сливается в него по окончании разработки.

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

Переход на ветку develop и получение изменений

 
 cmd
 
 SourceTree

В списке веток выполняем двойной щелчок по ветке develop. Активная ветка выделяется полужирным начертанием и появляется колечко слева от имени.

Для получения изменений в текущую ветку нажимаем кнопку "Получить" и в открывшемся окне нажимаем ОК (ничего в нём не меняем):

На этом рисунке также видно, что SourceTree любезно информирует о наличии новых трёх коммитов в текущей ветке (возле кнопки "Получить" и рядом с именем ветки). Кроме того, видно, что в неактивной ветке master также есть один не полученный коммит.

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

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

Процесс жизнедеятельности задачи

Фиксация изменений

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

Напомню, что в процессе коммита изменённые файлы проходят через несколько состояний: сначала они индексируются (или собираются "в очередь" на фиксацию, add), затем производится коммит (commit) проиндексированных изменений в локальный репозиторий, и в конце выполняется отправка (push) изменений в удалённый репозиторий. Некоторые инструменты по работе с Git делают несколько или все эти операции одновременно, так что для разработчика процесс происходит быстро и не напряжно. Но в целом положение дел с вашими файлами именно такое.

 
 cmd
 
 SouceTree

О появлении новых изменений в SourceTree сигнализирует надпись "Незакоммиченные изменения" в продолжении текущей ветки, при этом в списке "Файлы не в индексе" появится перечень всех изменённых файлов. Нажмите "Индексировать всё" (или выделите нужные для фиксации файлы и нажмите "Индексировать выделенное").

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

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

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

Что мы получили в результате коммита:

  1. Ветка фичи продвинулась на одну позицию, обрела комментарий об изменениях в данной точке, и теперь выделена жирным шрифтом, что показывает ее текущее положение;
  2. Подробное описание коммита в развёрнутом виде;
  3. Перечень файлов, подвергшиеся изменению. Да, их тут чуть больше, чем мы индексировали, т.к. сработал precommit1c, но об этом чуть позже;
  4. Построчное описание изменений текущего (выделенного) файла.

Теперь, чтобы отправить наши локальные изменения в удалённый репозиторий, нажмём кнопку "Отправить", и в открывшемся окне (ничего в нём не меняя) еще раз нажимаем "Отправить".

В этом простом примере заодно было показано, как работает Precommit1c: в момент коммита он автоматически раскладывает внешнюю обработку на исходные файлы и бережно раскладывает их в папке src с учётом иерархии. И то же самое он будет делать и с расширениями конфигурации, если вы ведёте разработку с их использованием.

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

Отмена изменений и других последствий невнимательности

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

Отказ от индексирования изменений

Лично моя - самая частая ошибка :) Сначала индексируешь всё (удобно ведь одной кнопкой), а потом вспоминаешь, что не всё-то и надо было. Или вдруг вспоминаешь, что нужно было часть текущих изменений зафиксировать отдельным коммитом. Убираем файл из области индексирования:

 
 cmd
 
 SourceTree

 Для удаления файла из индекса предусмотрены две кнопки "Убрать всё из индекса" и "Убрать из индекса выделенное"

Игнорирование файлов, файл .gitignore

Файл .gitignore (именно так, с точкой и без расширения) и механизм игнорирования позволяют отключить от версионирования часть файлов из вашего репозитория. Это очень удобно, когда, например:

  • В локальном репозитории есть файл с локальными настройками или сведениями о состоянии проекта, но его смысл теряется при переходе к удалённому репозиторию. Такие файлы полезны только при работе на локальной машине, но их не надо коммитить. Пример такого файла - файл VERSION, необходимый при работе с gitsync;
  • В локальном репозитории вы храните дополнительные рабочие файлы проекта, которые нужны только вам, но их не нужно версионировать и делать достоянием всей команды. У меня в репозитории с правилами обмена таковыми являются файлы с описанием структуры конфигураций. Они лежат в одном месте со всем, что связано с обменами, но при этом не мешают другим разработчикам.

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

Если вы работаете с Git из консоли, то этот файл следует создать и настроить вручную.

 
 SourceTree

 Если файл еще не коммитился (новые файлы помечаются вопросительным знаком), то в его контекстном меню доступен пункт "Игнорировать...". При этом есть возможность выбрать вариант игнорирования.

Следует отметить, что сам файл .gitignore тоже коммитится и версионируется. Это может сбить с толку новичка, когда, например, после получения изменений из develop система вдруг перестаёт видеть часть файлов разработчика. Или при создании новой фичи не действует игнорирование, которое только что настраивал, но настройка осталась в другой фиче, которая еще не слита в develop.

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

Отмена изменений в индексе

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

 
 cmd
 
 SourceTree

 Изменённый файл отмечается значком с тремя точками, для таких файлов в контекстном меню доступна команда "Отменить"

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

Внимание! Не все операции с выделенными строками возможны. Зачастую система требует, чтобы выделенные строки составляли непрерывный диапазон. А в операции с не подряд идущими строками (как на картинке) может быть отказано.

P.S. Отменяется выделение строки одинарным щелчком по ней же.

Просмотр изменений

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

 
 cmd
 
 SourceTree

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

Для просмотра всех изменений одного файла, достаточно найти его в списке коммита и в контекстном меню выбрать первый пункт "Журнал для выбранного":

Откроется окно журнала для выбранного файла, с перечнем всех коммитов, в рамках которых был изменён этот файл:

И тут встаёт ожидаемый вопрос: а если в текущем коммите нет файла, историю которого я хочу посмотреть? Или я вообще уже забыл, в каком коммите он последний раз изменялся? В этом случае просто воспользуйтесь командой git blame.

Да, да, я немного лукавил, когда говорил, что при использовании графической GUI-оболочки вы можете полностью отказаться от командной строки :)). Ни одна GUI не способна охватить весь спектр возможностей Git. И время от времени вы будете прибегать к помощи терминала. Он даже штатно вызывается из SourceTree в меню "Действия - Открыть в терминале...".

Еще один приём, который удобно применять при код-ревью - это просмотр изменений между двумя релизными коммитами. Если выделить первый коммит и, зажав клавишу Ctrl, выделить второй, то будут отображены все изменения, произведённые между этими двумя фиксациями:

О других методах отладки в Git можно почитать здесь.

Слияние готовой фичи в develop

Когда работа над задачей завершена, готовый код объединяется с общей веткой разработки develop. Этот процесс называют слиянием, или merge в терминах Git.

Смержить изменения можно тремя способами: а) Выполнить merge локально, и результат слияния отправить в origin; б) Выполнить запрос на слияние (pull-request) в общий репозиторий разработки; в) Выполнить pull-request из своего fork в авторский репозиторий. О последнем варианте есть отличная статья Антона Иванова, рекомендую к прочтению. В ней же описаны и основные приёмы работы с запросами на слияние.

Сразу стоит остановиться на моменте, который сбивает с толку многих новичков: "Из какой ветки в какую принимается код, когда я выполняю merge?". Ответ прост: значение имеет то, на какой ветке feature1 вы сейчас находитесь. А при выполнении команды, скажем, git merge feature2, вы принимаете к себе новый код. То есть, feature2 вливается в feature1.

Вариант 1. Локальный merge

 
 cmd
 
 SourceTree

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

Откроется дополнительное окно для выбора коммита, из которого следует взять код для слияния. Выделяем нужный и щёлкаем "ОК". (Чтобы спозиционироваться на последнем коммите заранее известной ветки, бывает удобно воспользоваться кнопкой "Перейти на" в верхнем правом углу).

Если не было конфликтов слияния, то код принимается в родительскую ветку и выполняется локальный коммит. Теперь остаётся только отправить новую версию файла в удалённый репозиторий с помощью кнопки "Отправить".

Вариант 2. Создание запроса на слияние

Pull request, или запрос на слияние, отличается от простого слияния тем, что изменения никогда не принимаются сразу. При каждом таком запросе сливаемые ветки переходят в особое состояние, когда ожидают решения архитектора/тимлида о принятии новой версии. Работа эта (и создание запроса, и ответ на него) выполняется на сайте git-сервиса. Для всех сервисов процесс очень похож, приведу пример для GitHub.

На странице проекта нажимаем кнопку "New pull request"

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

После проверки нового кода, владелец проекта нажмёт кнопку "Merge pull request", после чего изменения будут приняты в родительскую ветку.

Вместо заключения. О чём договариваемся в команде

  1. Выбор модели ветвления;
  2. Правила именования фич;
  3. Частота выполнения коммитов в процессе работы;
  4. На какой версии платформы работает вся команда? Важный момент, поскольку от релиза к релизу платформа может немного менять формат выгрузки конфигурации в файлы, да и в самих файлах содержится информация о версии платформы, которой они были созданы. При нарушении этой договорённости, коммиты отдельных сотрудников будут вызывать такое количество изменений, что польза самого использования Git сойдёт на "нет". Пропишите это в Readme к своему репозиторию (как, собственно, и все остальные правила вашей команды);
  5. Именование коммитов. Хорошая статья на эту тему - здесь;
  6. Состав файла .gitignore.

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Vladimir Litvinenko 2291 29.01.19 01:06 Сейчас в теме
для начала предстоит решить, какую модель ветвления вы будете использовать

По сравнению и применимости моделей ветвления (точнее воркфлоу) хотел бы поделиться ссылками на лучшие публикации, которые встречал по этой теме. Они правда на английском. C сайта Atlassian, где вообще очень много хороших методических материалов:

Модель с одной веткой и общее сравнение моделей: https://www.atlassian.com/git/tutorials/comparing-workflows
Модель фича-бранчей: https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow
Гитфлоу: https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
Форки и пул-реквесты: https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow


P.S.: Из прошлой публикации https://infostart.ru/public/864097 пропала информация о том, что будет отдельная статья про применение Visual Studio Code при разработке на 1С. Надеялся, что выйдет. Больше нет в планах её публиковать?
JohnyDeath; eeeio; zeegin; +3 Ответить
3. stas_ganiev 29.01.19 03:44 Сейчас в теме
(1) Может и будет)) Просто не хочется обещать, вдруг опять что-то пойдёт не так...
2. drmaxart 78 29.01.19 01:07 Сейчас в теме
Большое спасибо за статью! Давно ожидали продолжения 1-й части!
stas_ganiev; +1 Ответить
4. zeegin 45 29.01.19 05:23 Сейчас в теме
При активном использовании CI/CD можно избежать использование веток develop, release и hotfix совсем.

Это то, что рекомендуется в вариантах github flow и gitlab flow.
stas_ganiev; +1 Ответить
5. kalyaka 576 29.01.19 08:38 Сейчас в теме
(4) пожалуйста дайте ссылку на рекомендацию или поясните как тогда работать с хотфиксами и планированием релизов?

Думаю над организацией релизного управления и у меня пока классическое понимание: планирование релиза, сборка, тестирование, выпуск в продукт, исправление ошибок хотфиксами. При этом хотфиксы не идут в ветку develop, а при очередном релизе затираются нормальным решением.
6. zeegin 45 29.01.19 08:59 Сейчас в теме
(5) суть DevOps а в том, что у тебя был бы в мастере код всегда готовый к релизу. Любой комит может быть релизом. Фактическим релизом становится тот, на который ты повесишь тег.

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

Для гитхаб флоу это так, в гитлаб флоу рекомендуется еще и деливери делать отдельными ветками типа с мастера можно отмерджить в ветеупрепрод где стейдж окружение и тесты уже не покомитные продукта, а скопом все окружение как копия прода, а с препрода можно отмерджить в прод.
serge_grand; JohnyDeath; stas_ganiev; +3 Ответить
7. chea06 132 31.01.19 12:50 Сейчас в теме
> git add FileName
> git commit -m "my comment" -a


использование параметра -a в команде commit делает бессмысленной вышеуказанную команду "git add FileName", потому как добавляет автоматом все изменения в индекс, а вы судя по всему хотели в индексе видеть только FileName
stas_ganiev; +1 Ответить
8. exzanimo 30.03.19 22:03 Сейчас в теме
Интересно увидеть 3 часть :)
SirYozha; +1 Ответить
11. N!ghtmare 25.04.19 20:35 Сейчас в теме
(8)
Согласен.
(0)
Самое интересное начинается при деплое. Собрать cf из Гита(если соберётся) и ...
12. ellavs 696 26.04.19 07:53 Сейчас в теме
(11)
Собрать cf из Гита(если соберётся)

Работаю с EDT, там конфигурация из исходников вроде нормально собирается. Т.е. работа происходит изначально с исходниками, из которых при каждом тестовом запуске собирается конфигурация.
9. kasper076 59 16.04.19 14:03 Сейчас в теме
(0) Как работаете с ветками? Под каждую ветку заводите отдельную базу? Используете инкрементальные выгрузку и загрузку из/в конфигуратор? Как осуществляете переход между ветками, в которых созданы новые объекты?
14. stas_ganiev 26.04.19 19:25 Сейчас в теме
(9)Под разные конфигурации следует создавать отдельные репозитории. Ветки репозитория - это истории жизни разных версий одного проекта, но никак не разные проекты.
Переход между ветками - обычным образом. Какие у вас с этим сложности?
15. kasper076 59 06.05.19 09:57 Сейчас в теме
(14) Ветки создаются под каждую задачу. Но если в рамках задачи создается новый объект конфигурации, то как быть тут? В одной ветке объект есть, в других нет.
16. stas_ganiev 06.05.19 10:07 Сейчас в теме
(15)Тут следует поступать так же, как и в хранилище: добавляем объект и сразу вливаем его в основной ствол, предварительно сделав минимальные необходимые настройки. Ветку фичи при этом не закрываем и продолжаем в ней работать.
Другой вариант (без помещения в основной ствол): те, кому нужен новый объект, мержится от вашей фичи напрямую к себе. Потом уже не важно, кто первый смержить объект в дев, это уже легко разруливается гитом.
17. kasper076 59 06.05.19 12:40 Сейчас в теме
(16) В итоге нужно обновлять все свои ветки, чтобы данный объект был в них, либо заводить под базу с новым объектом отдельную базу. Так?
18. kasper076 59 06.05.19 13:52 Сейчас в теме
(17)
заводить под *ветку с новым
10. kasper076 59 16.04.19 14:03 Сейчас в теме
13. NNomad 26.04.19 11:33 Сейчас в теме
Подскажите, пожалуйста, может кто сталкивался с проблемой различия кодировок в именах файлов и их содержимым?
Использую стандартную функцию Конфигурация->Выгрузить конфигурацию в файлы.
При изменении настроек кодировок в SourseTree корректно работает что-то одно.
Поведение программы видно на скриншотах.
Прикрепленные файлы:
19. strange2007 142 23.01.20 08:15 Сейчас в теме
Вот прям чувствую, что GIT прикольная штука, но не могу придумать, где ж она поможет в реальной жизни((((
Честное слово, уже много раз думал
20. stas_ganiev 1166 23.01.20 08:23 Сейчас в теме
(19)При разработке правил обмена очень здорово помогает. Давно версионируем правила, не раз помогало в спорных ситуациях и при расследовании инцидентов. Плюс, не надо тыркать друг друга и объяснять тестировщикам и внедрецам, откуда какие правила брать, - каждый просто берет их из нужной ветки.
Также, на прошлом месте работы у нас был весь проект в Git: расширения конфы + внешние отчеты и обработки. Удобно тем, что всё причастное к конфигурации лежит в одном месте, а в истории версий релизов фиксируются все измененные файлы. Не возникает вопроса, где какая обработка у кого лежит
21. strange2007 142 23.01.20 08:56 Сейчас в теме
(20) Спасибо. Правила обмена, это идеальный пример. Правда спасибо.

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

В общем для себя немного прояснил. Но мне кажется, если поменять методику, то git и в этих случаях не понадобится и использовать будет удобней.
22. stas_ganiev 1166 23.01.20 10:15 Сейчас в теме
(21)Предложите такую методику, и сообщество скажет вам "Спасибо!" :)
23. strange2007 142 23.01.20 10:28 Сейчас в теме
(22) С удовольствием, но я слишком слаб и немощен. С 2009 года всем рассказываю про клёвости, а люди просто не понимают и выбирают путь трудный и тернистый. Самое простое - нафига плодить кучу того, что надо потом в git пихать, если лучше привести к нормальности БП предприятия и не напрягаться? Тем более писанина так или иначе приводит к позорному закидыванию помидорами, потому что команда закапывается в писанине. И не важно на сколько она структуирована.
Увы, это подтверждал на многих предприятиях
I_r_a; acanta; stas_ganiev; +3 Ответить
24. stas_ganiev 1166 23.01.20 10:39 Сейчас в теме
(23)Если надумаете внедрять правила обмена с Гитом, то обратите внимание на это: https://infostart.ru/public/632457/
strange2007; +1 Ответить
25. strange2007 142 23.01.20 10:59 Сейчас в теме
(24) Спасибо. Это честное спасибо.

Но пока что я и дальше буду работать по старинке:
- Все обмены делать так, что бы в них надо было лазить один-два раза в год и только для очень мелких доработок
- К КД2 (тройку то я не знаю) подпускать только того, кто сможет внятно объяснить как конвертировать субконто.
- Не подпускать к обмену на 1.2 км любого человека, который начинает работу со слов: "ада! что тут за фигня написана? ща исправлю мигом"
26. buganov 146 27.05.20 10:18 Сейчас в теме
За статью жирный плюс!
Подскажите, пожалуйста, вот выгрузил я сорцы в гит, а как потом собирать их? Вручную. или каким то образом можно тоже автоматизировать процесс?
stas_ganiev; +1 Ответить
27. stas_ganiev 1166 28.05.20 01:25 Сейчас в теме
(26) Можно автоматизировать, есть отдельные инструменты для этого
28. buganov 146 28.05.20 12:05 Сейчас в теме
(27) а можно и мне о них? Хочу у себя в компании внедрить гит для начала хотя бы для внешних обработок, а то вечные грабли при групповой доработке...
Оставьте свое сообщение

См. также

Подсистема "Инструменты разработчика" v5.34 Промо

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Интегрированный набор инструментов разработчика: - консоль кода - консоль запросов - консоль построителя отчетов - консоль компоновки данных - консоль заданий - конструктор запроса - справочник алгоритмов - исследователь объектов - интерфейсная панель - настройка журнала регистрации - анализ журнала регистрации - настройка техножурнала - анализ техножурнала - подбор и обработка объектов - редактор объекта БД - редактор констант - редактор параметров сеанса - редактор изменений по плану обмена - редактор пользователей - редактор предопределенных - редактор хранилищ настроек - динамический список - поиск дублей и замена ссылок - контекстная подсказка - синтакс-помощник - поиск битых ссылок - поиск ссылок на объект - структура хранения БД - удаление объектов с контролем ссылок - и прочее

23.09.2007    475623    4340    tormozit    2662    

Нейроконструктор

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

Изучайте нейронные сети и экспериментируйте вместе с расширением конфигурации "Нейроконструктор". Навыки программирования не требуются.

20.05.2020    2598    19    user1404129    9    

Шпаргалка. Автоматическое тестирование внешних отчетов и обработок в нескольких информационных базах

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

Используем Автоматизированное тестирование на практике. Простой код для обновления и запуска внешних отчетов и обработок в нескольких ИБ. Создаем рабочее решение с нуля.

02.05.2020    2773    0    pparshin    21    

Автоматизация управления закупками: специфика проектов, методология работ или "как не наступить на грабли"

Управление проектом v8 ERP2 УУ Бесплатно (free)

В этой статье речь пойдет об автоматизации закупочной деятельности. Причем не о том, как настраивать рабочие места, документы и реквизиты в 1С:ERP. А о том, что на самом деле обычно нужно компании, когда она заявляет об «автоматизации процессов закупок». И о том, как правильно подойти к этой самой автоматизации, чтобы проект не стал «вечным долгостроем», а внутренние заказчики (руководство компании, руководители отделов и департаментов) получили действительно полезный результат. Подробнее тему автоматизации МТО можно изучить на курсе //infostart.ru/public/1201558/

06.04.2020    2721    0    1СERP    4    

Как правильно купить 1С Промо

Управление проектом v8 1cv8.cf Бесплатно (free)

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

23.03.2018    13679    0    raiml    27    

Универсальные инструменты 1С

Универсальные обработки Прочие инструменты разработчика v8 1cv8.cf Бесплатно (free)

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

21.01.2020    18122    295    cprit    84    

EDT + УТ 11.4 + БП 3.0 + Расширения. ЧАСТЬ 03

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

Групповая разработка в EDT.

21.01.2020    3357    0    abc120000    3    

Опыт внедрения/разработки продуктов 1С

Управление проектом v8 1cv8.cf Россия Бесплатно (free)

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

16.01.2020    5612    0    BraunAlex    11    

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

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

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

25.10.2017    22047    0    avk72    63    

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

Обмен данными 1С Управление проектом v8 ERP2 Бесплатно (free)

Данная статья описывает трудности интеграции 1С: ERP с негибкой внешней системой производственного учета. Статья поможет консультантам/менеджерам проектов обойти стороной те грабли, с которыми познакомились мы.

14.01.2020    3071    0    user1042803    5    

EDT + УТ 11.4 + БП 3.0 + Расширения. Часть 02

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

Продолжение "путевых заметок" про EDT...

09.01.2020    4953    0    abc120000    30    

EDT + УТ 11.4 + БП 3.0 + Расширения. ЧАСТЬ 01

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

...продолжаем мучить(ся с) EDT

28.12.2019    5330    0    abc120000    8    

Такие разные франчайзи. Часть вторая: Особенности реализации крупных проектов, Глава 2. Проектная технология при внедрении «1С:ERP» Промо

Управление проектом v8 ERP2 Бесплатно (free)

Очередная статья о бизнесе франчайзи 1С. Здесь мы постараемся рассказать о том, какой подход используется при относительно крупных проектах, в частности, при внедрении «1С:ERP», дадим описание этапов проекта, укажем, какие риски имеет каждый этап работ, расскажем, уместны ли при внедрении «1С:ERP» такие модные методики, как Agile, автоматизированное тестирование и пр. Автор статьи Андрей Мироненко.

24.04.2017    29030    0    1СERP    85    

EDT 1.16. Первые 20 часов работы

EDT v8 Россия Бесплатно (free)

Первое знакомство с 1C:Enterprise Development Tools, версия 1.16.0.363.

25.12.2019    9355    0    abc120000    11    

Мониторим производительность с помощью 1С RAS

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

Подключаемся и анализируем данные через 1С RAS. Необходимо выполнить 5 пунктов и серьезный инструмент мониторинга будет у вас в руках.

19.12.2019    8662    0    ivanov660    16    

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

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

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

13.11.2019    6265    0    user665435_al.windstorm    14    

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

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

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

09.02.2015    31704    0    boogie    21    

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

Инструментарий разработчика Git (GitHub, GitLab, BitBucket) v8 1cv8.cf Россия Бесплатно (free)

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

28.10.2019    11163    0    stas_ganiev    16    

Почему можно начать внедрение ЕРП с регламентированного учета и что нам мешает это сделать?

Управление проектом Бухгалтерский учет v8 ERP2 1С:Франчайзи, автоматизация бизнеса Россия БУ Бесплатно (free)

В этой статье постараемся разобрать риски запуска ЕРП с регламентированного учета и обосновать возможность такого запуска.

25.09.2019    8493    0    Praktika_resheniy    15    

Про ТабДок или TabDoc Pro

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

Табличный документ – всем знакомый и привычный компонент продукта 1С. Про оптимизацию работы табличного документа, его проблемы и недостатки в своем докладе на конференции Infostart Event 2019 Education рассказал ведущий программист BIA-Technologies Князьков Алексей.

11.09.2019    5511    0    AKnyazkov    26    

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

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

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

29.09.2014    99105    0    ekaruk    127    

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

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

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

10.09.2019    8711    0    m.bolsun    22    

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

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

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

23.08.2019    10440    0    ivanov660    24    

Как внедрить 1С:Документооборот в условиях хаоса

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

Не всегда проекты можно внедрить по заранее спланированному алгоритму. Скорее, даже никогда проекты не удается выполнить по универсальному плану: в каждой конкретной ситуации есть свои сложности и свои проблемы. Опытом внедрения 1C:Документооборот в отсутствии описанных процессов и утвержденной структуры предприятия на конференции поделилась руководитель отдела автоматизации торговой сети РЕМИ Марина Лимонтова (г. Владивосток).

21.08.2019    12174    0    limm28    14    

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

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

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

26.06.2015    19658    0    Infactum    23    

Быстрый ввод кода

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

Упрощение рутинного ввода кода.

19.08.2019    4153    0    ranis888    13    

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

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

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

15.08.2019    19035    0    ellavs    104    

Подходы, методы и инструменты UX/UI для разработки эффективных интерфейсов на 1С

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

Интерфейсам в 1С обычно уделяют мало внимания. Это в итоге снижает востребованность платформы, делает ее неконкурентной, лишает большой доли рынка. Как не потерять старых клиентов и привлекать новых с помощью интерфейсов, а главное – как сделать «правильный» интерфейс, рассказал участникам конференции Infostart Event 2018 Education управляющий партнер и основатель консалтинговой группы WiseAdvice Иван Тягунов.

07.08.2019    9545    0    IvanAT1981    14    

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

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

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

11.04.2015    75367    0    DitriX    297    

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

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

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

17.07.2019    28314    0    ids79    27    

1Script.Web. Интернет-приложения на языке 1С

WEB OneScript Инструментарий разработчика v8 Бесплатно (free)

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    18362    0    Evil Beaver    33    

Корпоративный мозг на 1С и Python

Управление проектом v8 1cv8.cf Бесплатно (free)

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

17.05.2019    22786    0    user995065    74    

Организация эффективной техподдержки 1С внутри компании Промо

Управление проектом v8 1cv8.cf Бесплатно (free)

Как сделать общение с пользователями эффективным, правильно организовать работу программистов 1С и перестать быть "шестируким Шивой"

10.03.2015    37064    0    adapter    36    

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

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

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

13.05.2019    8261    0    Evg-Lylyk    10    

Где теряется эффективность?

Управление проектом Личная эффективность v8 1cv8.cf Бесплатно (free)

Общее понятие об эффективности командной работы. Где она теряется, где ее ищут, и почему ничего не получается.

03.05.2019    6340    0    1c-intelligence    13    

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

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

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

13.08.2014    21797    0    m.bolsun    68    

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

Инструментарий разработчика v8 1cv8.cf Бесплатно (free)

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

14.04.2019    8627    0    tormozit    18    

Особенности реального внедрения 1С:ТОИР

Управление проектом Бухгалтерский учет v8 1cv8.cf Машиностроение и приборостроение Россия Бесплатно (free)

Часть 1. Учет объектов ремонта. Интеграция ТОИР с учетной системой. Планирование ремонтов.

29.03.2019    10189    0    Aprsoft    3    

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

Консоль запросов v8 1cv8.cf Россия Бесплатно (free)

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

03.04.2014    25365    0    yuraos    2    

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

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

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

25.03.2019    11335    0    ellavs    9    

Как запустить 1С:ERP 2 на тысячу пользователей и не написать ни одной страницы ТЗ?

Управление проектом v8 ERP2 Бесплатно (free)

Глеб Стальной делится опытом построения полного цикла процесса DevOps на проектах 1С с помощью использования современных инженерных практик – разработки через поведение, автоматизации ночных сборок, непрерывного анализа качества кода и т.д. В статье много внимания уделяется работе с инструментами (Slack, Zoom, Jira, Confluence, Jira Service Desk, Bitbucket, Vanessa Behavior, БИТ.Адаптер, Jenkins, SonarQube 1C (BSL) Plugin, Allure и т.п.)

17.01.2019    20458    0    glebushka    59    

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

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

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

07.06.2013    23323    0    m.bolsun    46    

Код по цене пачки пельменей и сорок бочек скрама

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

Быстрый код по цене пачки пельменей и сорок бочек скрама пятому столику.

10.01.2019    10678    0    Alex_Japanese_Student    143    

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

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

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

11.12.2018    6233    0    AlexKo    30    

Как получить сервер разработки под 1С в Azure на 80% дешевле

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

Разговоров про облака в ИТ-индустрии очень много в последнее время. Часто споры сводятся к тому, как правильно считать стоимость владения.

05.12.2018    5071    0    zhogov    15    

Как не нужно "запускать" проекты 1С Промо

Управление проектом v8 УПП1 Оптовая торговля, дистрибуция, логистика Пищевая промышленность Бесплатно (free)

Описываю мою практику работы над проектами совместно с компаниями Франчайзи. И рекомендации по работе с такими проектами.

24.02.2013    102127    0    axxell    132    

Мой опыт: Внедрение ERP системы

Управление проектом v8 1cv8.cf Бесплатно (free)

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

03.12.2018    6818    0    dinopopyys    21    

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

Консоль запросов v8 1cv8.cf Бесплатно (free)

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

19.11.2018    18182    0    Evg-Lylyk    6    

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

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

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

23.10.2018    15981    0    freewms    75    

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

Инструментарий разработчика Управление проектом v8 1cv8.cf Бесплатно (free)

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

18.10.2018    57544    0    stas_ganiev    73