📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Клуб 1С 30.03.2023 г. Разработка на 1С с использованием 1C EDT и Git

SM Lab1:05:27

Transcription

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

Первый сценарий: у нас есть информационная база, есть конфигурации. Мы хотим начать разрабатывать. И второй сценарий: уже есть проект, на нем работает и приходит новый разработчик. Проект, что ему нужно сделать, чтобы собственно начать выполнять задачи. Давайте рассмотрим первый сценарий. А здесь выбираем прикладное решение 1С и задаем какой-нибудь, допустим, путь, где будет лежать проект. Опускаем. А такая небольшая заминка. У меня по умолчанию темная темная тема стоит. Я буду ставить два раза буду ставить светлую тему для удобства, чтобы все видно. Запускается. Так, на сначала приветствует начальная страница. Можно мне почитать, а возможность закроем. Сразу поменяю свою схему. Для этого нужно перезапуск. Ена запустилась. Настроек, которые нам могут быть интересны, настройки находятся в меню окно, параметры, лак, общая. И "Показать состояние кучи". Это настройка, что она делает? Она выводит информацию об использовании оперативной памяти в среде разработки. И также есть кнопка по запуску сборщика мусора. Допустим, села нам много памяти. А по интерфейсу, то есть чем мы по итогу работаем? Работаем с перспективами. Перспективы - это планета, набор инструментов для выполнения определенного круга задач. Чтобы открыть, по умолчанию сейчас открыта перспектива "Один центр прайс". Сна перспектива, где мы работаем. Здесь мы проектируем код, работаем с дерева метаданных. Чтобы открыть новую панель, новую перспективу, можно пойти в меню окно, перспектива, перспективу и выбрать нужно. Либо по этой кнопке открыть, можно открыть и перейти другой перспективу. Посмотрим, как она выглядит. Молчание выглядит таким образом. [музыка] Таким образом, вот также перспектив. Перспектива очередь делятся, как бы, на панели. То есть вот эти навигатор, свойства - это все панели, которые отображает какой-то специфическую информацию. А у перспектив в некоторых перспектив есть как основная панель, вспомогательная панель. Допустим, здесь основная панель - навигатор, и вспомогательные - свойства, схема и так далее. Панель достаточно много. Допустим, в перспективе гид в панелях. Во многих перспективах есть такая кнопка, как она может находиться в состоянии либо ножа там, либо возвратом состояния по умолчанию. Обычно нажата, и она означает, что в этой панели будет отображаться информация по текущему выбранному элементу основной панели. Допустим, основная панель для перспективы - это панели репозитории. Меняться. Но дальше увидим. Так, по панелям. Потому что дополнено. Так, еще одна настройка, который нам также будет интересно, находится на вкладке общая. Клавиши. По сути, горячие клавиши. По умолчанию тут применяется схема, как клипсе. Мы можем для удобства сделать, как в конфигураторе применяется настройка клавишу. Большая часть будет как конфигураторы. Так, ну собственно, теперь с интерфейсом пока закончили. Теперь давайте создадим проект. Чтобы создать проект, воспользуемся панелью информационной базы. Да, кстати, про панели. Панели можно между другими группировать, то есть размещать, сворачивать. Сворачиваем панель, размещается здесь справа или слева, если будет свернутый. И также, допустим, перетягивать, уставать их в любое удобное место. Допустим, сюда. Итак, чтобы создать проект из информационной базы. Вообще, для многих действий существует также множество способов, как это сделать. Я буду показывать один либо несколько вариантов и какие-то плюсы, минусы выделять. Первый вариант, допустим, панели информационной базы. Находим нужную базу, нажимаем правой кнопкой и "Импортировать конфигурацию". Запускается мастер импорта. Здесь мы указываем имя проекта, версия проекта - это по сути версия платформы. У нас 8.3.21 по умолчанию. И импорт. Импорт занимает какое-то время. Демонстрацию будем смотреть на демонстрационной конфигурации, демонстрационное приложение. Одна небольшая. Так что достаточно быстро будет работать. Ну, собственно, проект на создался. Конфигурация импортировалась. Видим дерево метаданных. А и также автоматически открылась панель приложения. Это панель очень похожа на информационные базы. Перетащу удобство. Приложение - это приложение, это информационная база, которая связана с нашим проектом. То есть приложение может быть несколько, там две, пять, десять информационных, которых мы запускаемся и выполняем отладку. Шаг, что нам остается сделать этого шага? Давайте попробуем запустить. Чтобы запустить отладку, нажимаем на кнопку "Оплатить". Как и допустим, тонкий клиент. Запускается приложение. Давайте поставим точку где-нибудь. Посмотрим, как сама отладка работает. Допустим, документ "Заказ", форма документа и переходим в модуль. А в модуле бывает трудно разобраться. То есть поэтому здесь может по нам помочь такая панель, как схема. Показывает в виде структуры, а процедуры, функции, также области. Носик, они здесь были в виде дерева. Так, находим при создании на сервере обработчик. И где-нибудь в начале. Открыть заказ. У нас сработала точка. С новой автоматически открылась перспектива "Отладка". То есть для отладки мы используется отдельно перспектива. Она выглядит вот так. Изначально настройка - это перспективы. То есть здесь множество панелей, и кажется, что немного перегружено. На принципе, никто не мешает. Нужны панель убрать, свернуть или закрыть. Так, и соответственно, отладка у нас работает. Значение переменных мы рассматриваем. И последний шаг, который на этом этапе выполнен, это создадим репозиторий Git и подключим проект этому репозиторию. Но сначала хочу показать папки, как на диске это устроено. Сейчас, а вот мне папка проектов. И вот проект дома. Идите здесь две папки. Сейчас точка метадата - это служебные данные по рабочей области. Ну и по проекту. И собственно сам файл проекта. Вот все наши данные. Теперь давайте создадим репозиторий. Чтобы создать репозиторий, можно воспользоваться. Можно сделать из панели навигатор. Щёлкаем правой кнопкой по проекту. "Групповая разработка", "Общий проект". Кстати, делается один раз. То есть какие настройки по умолчанию. А идем "Разработка", "Git". И здесь нам нужно указать папку по умолчанию, где у нас будет располагаться репозиторий. Желательно, чтобы они взлета отдельно папку. В случае, это вот эта папка. Применить и создаем репозиторий. Была разработка, общий проект. А здесь нажимаем кнопку "Создать". Наша папка и вводим имя. Допустим, ветка по умолчанию мастера. Готово. Сдаем. И репозиторий создан. Давайте посмотрим, что у нас на диске получилось. Так, а тут папка проекта пропала. То есть, но осталось папка служебных данных. А сам проект у нас теперь уже находится здесь. По папке точки можем понимать, что репозитории. И последним шагом нам нужно сделать коммит. И соответственно, ветку. Сейчас у нас нет. А чтобы сделать Амед, переходим перспективы Git. И нам нужна панель индексирования. Вот наши изменения. Добавляем индекс. И пишем сообщение. Фиксировать. Итак, мы создали проект, создали репозиторы, подключили проект к репозиторию, тащили проект к репозиторию, сделали первый кометы, первую ветку. Ну, собственно, можно начинать уже вести разработку. А это что касалось первого сценария. Теперь смотрим второй сценарий. Когда уже есть проект, и но разработчик подключается к проекту. Что ему нужно сделать? А также здесь такая удобная фича, так скажем. Настройки можно сохранять и импортировать, экспортировать. Настройки, которые мы сделали, нам пригодятся. Это в окне параметры. Кнопка. Нажимаем, сохраняем. Допустим, наши настройки. Эксперимента я проект удалю. Твой создам его заново. Проект можно, допустим, с перспективы Git. То есть нас связаны репозитории. Нажимаем правой кнопкой и "Удалить репозиторий". Здесь становятся галки. Горит "Удаленно строки сохранены". Сейчас удалим проект и создадим его еще раз. Хотите? И запускаем. Сейчас второй раз перезапустимся. Я применить эту тему, чтобы было удобнее. Так, проект у нас открылся. И сразу же применим наши сохраненные настройки. Импорт. Вводим настройки и применяем. Тут тоже надо будет перезапуститься после применения настроек. Пока запускается. Когда подключается новый разработчик, первое, о чем, ну, как бы узнает, это путь к удаленному репозиторию, с которым он будет работать. Наш репозиторий выглядит так. А главная страница репозитория. А я пущу моменты авторизации. Единственно, скажу, что зеленый репозиториям, как на GitLab, GitHub, можно работать через два протокола. Ну, какой-то один SSH или HTTP. Но рекомендуется использовать подкол SSH. Для его использования нужно будет, нужно сгенерировать ключ. Вот как это сделать, я концессии останется время. Соответственно, для каждого протокола есть свой путь репозитории. Ну, чтобы с ним работать, для клонирования, соответственно, по кнопке "Кулон". На два пути доступно. Копирую для SSH. Здесь на панели навигатора нажимаю на "Импортировать проекты". Здесь "Клонировать автоматически с буфер обмена". Поставил. Поставил путь. Вот здесь ничего менять не нужно. А если вы будете подключаться через HTTP, то дополнительно нужно будет указывать логин и пароль. Собственно, сама преимущество включая, что один пароль никогда не требуется. Ну, или почти никогда. Далее, на следующем шаге нам отображаются ветки, которые сейчас есть в удаленном репозитории. Сейчас их всего две: мои и девелоп. Ну, собственно, мы отмечаем стих Телец, с которыми мы будем работать. Будем работать с обоими. Далее, а на следующем, на следующем шаге указывается настройки для локального позор. Это сделано будет находиться начальная ветка и имя, как бы, для нас называться удаленной репозиторий по умолчанию. Далее, сейчас выполняется клонирование проекта. Она не очень быстро клонирует проект. Если у вас, допустим, проект ERP, то он может достаточно долго, там где-то полчаса может планировать. Чтобы склонировать быстрее, можно, допустим, другим клиентам, допустим, неплохая плохой клиент быстро клонирует достаточно простой. Здесь нажимаем "Далее", "Готово". Чтобы зря время еще не терять, я не отстрелил внимание на каких-то настройках. То есть, большинство действий сейчас будет "Далее", "Далее", "Готово". Так, проект локальный по истории. Мы создали проект, создали и также репозиторий синхронизирован. То есть подключен к удаленному репозиторе. То есть внутри него указана связь. Давайте откроем перспективы, посмотрим, как он выглядит. Наш репозиторий. Вот видим, сейчас в нем три коммита и две ветки. Вот, давала. Ну, собственно, давайте начнем. Сейчас все действия мы сделали. Репозиторий создали, проект и можем выполнять задачи. Давайте сделаем первую задачу: добавим справочные партнеры. Партнеры. Каждая задача будет выполняться в отдельной ветке. А соответственно, обычно на каждом проекте договариваться, какую ветку считают по умолчанию. И от этой же ветки по умолчанию создаются, допустим, редкие задачи, либо какие-то другие могут предки. Обычно это ветка Main или мастер. Если допустим, посмотрим, то есть одной стороны, как-то экологическое отделение, с другой стороны, говорят на свойства конкретной ветки. Допустим, Main отмечен как ветка по умолчанию. Так, создаем его ветку. Чтобы создать ветку, также с панели навигатор, правой кнопкой, "Групповая разработка". И здесь команда "Создать новую ветку". Еще есть команда "Новая ветка". Вот здесь находится, где прописано. Но рекомендуется использовать эту команду, так как при создании ветки нужно выполнять дополнительные действия, которые по этой команде не выполняются. Чтобы открывается, открылся мастер по созданию веток. Оно перед созданием сделаем настройки по созданию новых лета. Золото можно здесь параметры. А ветки у нас делятся на типы. То есть по умолчанию у них, помимо префиксов, над как бы это основное для гитары, что может быть у группы. Также дополнительно тут есть настройки по созданию. И как мы будем использовать ту или иную базу при создании ветки. То есть, обычно при создании ветки мы указываем базу, либо новому создаем, либо используем какое-то существующее. Вариантов тут причины. Все варианты для нас Интересно только одна настройка "Информационная база для разработки". И здесь выберем пункт "Выбрать информационную базу из списка". Она более приемлема для большинства задач. Указан для каждой группы настройку больше не возвращаться. Итак, настройки мы задали. Выбираем сначала тип ветки при создании. Дальше источник. У нас там и допустим, название. Информационная база. Это так. Редко у нас создалась. Открою еще панель приложения. Да, про панель приложения. Когда мы используем Git, как говорил ранее, то есть приложение - это по сути указание связи между проектом и какой-нибудь базой. Допустим, вот у нас база демо и ДТП связана с нашим проектом. Но когда мы используем Git, для каждой ветки может вестись свой список приложений. Соответственно, мы можем для раз задачи решать в разных базах информационных базах. И есть тут есть такой один нюанс. Когда мы создаем ветку, перед первым запуском нам нужно выполнить полную загрузку конфигурации. По загрузку проекта конфигурацию базу данных. Сделать это можно, допустим, следующим образом. Приложение. Выбираем нужное приложение. Нажимаем правой кнопкой "Обновить конфигурацию". И здесь нажимаем "Готово". В этом методе есть небольшой минус. То есть, пока будет выполняться загрузка, если это первое полная загрузка, то она может быть достаточно долго. Окно будет висеть, и мы не сможем работать с проектом. Настройка "Загружать полностью" сейчас ставить не обязательно. Использовать мастером. А так, в любом случае, первый раз будет полная загрузка. Будет ты об этом знает. Собственно, столько нужно, чтобы принудительно. Если ты думаешь, что нужно запустить ручного пункта обновления. Если мы хотим сравнительно сделать, выполнить обновление полностью, обновляемся. Это галкой. А ну, я рекомендую использовать другой способ. Большинство операций, так как большинство операций детей выполняется фоне. Также хотелось бы запустить обновление фоне, чтобы даже нам поработать с проектом. Посмотреть, что нам нужно будет делать. Для этого, собственно, мы должны запустить отладку. В этот раз запускаем. А посмотрим на настройки отладки. Настройки находится вот здесь. "Конфигурация отладки". В этом окне выбираем "Клиент 1С" и создаем новый конфигурацию. Здесь указано имя, допустим, тонкие. И по настройка настройка - это проект. Он обычно не меняется. По умолчанию всегда один. Обычно приложение, обычно ставлю тонкий клиент. Так, это вариант иногда запускает. Дальше оказывается предложение и версия платформы. У нас ставим по умолчанию. А также можно указать пользователя. И на второй закладке "Параметры запуска", допустим, режим отладки или еще что-нибудь. Ну, настройки я сделал. Это устраивает. Конфигурация запуска может быть сколько угодно много. И допустим, можно такой вариант использовать, как обычный запуск. То есть Антон клиент и с режимом отладки. То есть сделать один конфигурацию и между ними переключаться. Соответственно, все. Сейчас у нас не было запусков. Здесь отображается история запусков. Последнее используемых конфигурации. Запускали отладки, допустим, отладку. Сейчас спрашивает, что требуется полная загрузка и предлагает ее обновиться. Соглашаемся. И у нас обновление происходит фоне. Это мы можем что-то делать. Давайте создадим справочник "Партнеры". При запуске, когда выполняем какие-то действия, в конце может немножко подключать как [музыка] небольшая заминка. Попытка номер два. Сейчас немного подождем. Мы сразу запустим отладку. Она пойдем альтернативным путем. Так, хорошо. У нас что-то пошло не так. Я персонально сейчас проект быстро за пару минут и продолжим. А стоп. Порно. Я кстати репетировал ошибок. У меня не было. Так, ну хорошо, у нас заработало. Изменение у нас выполнение. К слову, надеюсь, а потом расскажу, что это такое. [музыка] Небольшая заминка. План. Создадим новый справочник "Партнеры". Так, вот наш справочник. И добавил под систему, допустим, "Предприятие". Пускаем как почему-то было не было указан. А сейчас была полная загрузка. Поэтому так долго. Проверяем "Предприятие". Вот наш "Партнеры". Так, с нашим выполнить. Теперь нам нужно сделать коммит. Для кометы приходим. И нам нужна панель индексирования Git. Соответственно, вот наши изменения. Добавляем их индексы. Пишем сообщение коммита "Партнеры". Фиксируем. Теперь следующая наша задача - это влить нашу ветку ветку девело. Но чтобы влить, надо нужно сначала перейти ветку девело. Чтобы оперативно также идем "Групповая разработка" и "Переключиться на". Но тут проблема. Кстати, у нас ветки Main, ветку давал не отображает. Мы еще с ней не работали. Чтобы создать локальную ветку, после когда мы работаем репозитории, мы всегда работаем с локальной репозитором и иногда с удаленным. Чтобы создать локальную ветку и сразу связать с удаленной веткой, переходим ветки. Локальные ветки. Удаленные. Надо щелкаем правой кнопкой "Создать ветку". Здесь по умолчанию настройка "Излишную ветку". Означает, что после создания мы автоматически перейдем на 100. Устраивает. Так, ветка создана. Мы перешли. Чтобы слить нашу задачу, идем в "Групповая разработка" и "Слить". Тесто мастер подсказывает, что нам нужно выбрать ветку для влития. Ветку в текущую нас очень девелоп. Выбираем нашу ветку task1 и нажимаем "Настройки". Пока никто не указываем. Посмотрим, как отработать настройки по умолчанию. Сливаем. Слияние произошло. Давайте посмотрим на историю изменений. Нас таким образом. Обратите внимание. А вот этот коммент, он был сделан ветки task1, но сейчас на этот комет ссылается две ветки и task1. То есть таким образом у нас произошло слияние полностью настройками по умолчанию. Но такая история прямолинейная, то есть не очень информативно. Попробуем еще раз слить. Я хочу действия, которые я пытался выполнить, это откат. Допустим, или хотим откатить. Хотим, хотим откатить. Соответственно, ветки предыдущий коммит. Ну, или нужно кометы. Правой кнопкой "Сброс". И вариант "Жесткий". Откатились на тот. Еще есть нюанс с панелью "История". Когда мы перемещаемся, выполняем какие-то действия, то есть панель часто скачет. Но сейчас мы можем подумать, что у нас всего два коммита и одна ветка. Это связано с тем, что с фильтрами этой панели. Фильтр можно настроить в это по этой кнопки. То есть, выпадающий меню. Ставим второе. И эти значения. И в большинстве случаев у нас все кометы, все ветки будут показаны. Еще раз сделать слияние. "Разработка", "Слить ветку". И здесь слияния будет чуть дольше времени. Замечу больше времени. Давайте посмотрим на результат. Что у нас получилось. И уже получше. Вот, у нас была ветка на этом месте. И вот здесь нас прошло слияние. То есть визуально мы по истории видим, что произошло. Это же более информативно. А теперь задачи. Я откачу слияние, чтобы промоделировать один кейс. По второй задаче нам нужно справочник "Контрагенты". Добавить реквизит "Партнер" и вывести его на форму элемента. Давайте сделаем новую ветку. По умолчанию и источник. Название, допустим, 2. База данных. Запустим пока отладку. У нас обновилась. Здесь такая проблема. Справочник "Партнеры" мы добавили в другой ветке. То есть один и никуда еще не вливали. Допустим, она доступна. Мы с ним можем работать. А создавая, как бы, свой справочник. Ну, это как бы тоже неправильно. И что мы можем сделать в ситуации? Мы можем, допустим, скопировать операции в истории. Находим нужный коммент. Это у нас вот этот коммент. Справочник. Выбираем правой кнопкой и "Черепик". Также по умолчанию составляем. Сейчас происходит копирование коммита. И обратите внимание. У нас соответственно ветка тас 2 никаким образом не указывает на ветку task1. Соответственно, копирмит именно скопировался. Понятен. Там можно что камен скопировали по датам. Ну, и поспать полям. Авторы и коммитер. Автор - это тот, кто создал коммит. А камитер - то тут применил. В нашем случае авторы я создал 14:34, а применил 14:39. Конкретно этот комет. Если допустим, комментов много, которые нам нужно применить. Если мы будем делать черепик, то нам надо будет делать каждый камин по отдельности копировать. Либо вариант проще. Мы можем просто слить ветку раз два. Ветку таскать один. И соответственно, появится в ней справочными партнеры. Сливать не будем. Так, у нас уже есть. Но на самом деле, самый оптимальный вариант немножко другой. Я перчусь обратно на ветку девело. Но перед этим были и персонал ветку. Что-то по моему не очень успеваем. Так, удаляем ветку раз два. Также "Групповая разработка". А все операции, которые связаны с бетоном, так или иначе, которую мы можем выполнить из перспективы на Star Price, находится здесь. "Разработка", "Ветку раз два". Готово. Здесь где-то у нас ругается, потому что у нас там скопированный комбит, который они куда еще не валит. Соответственно, мы можем что мы можем потерять какие-то изменения. Об этом в курсе. И поэтому удаляем принудительно. Клетку мы удалили. Два база данных дыма. И в качестве источника мы выбираем не Main, а ветку задач, по которой отобрался. Это справочник. То есть у нас логически, то есть по задаче старозначно не может быть выполнена без первой. То есть в этом нет смысла. Вот. Но мы таким же образом укажем качестве источника ветку задачи. Готово. Ветка она создалась. Допустим, обновление. Итак, нам нужно. Вот наш прочный партнеры. Нам нужно в контрагента добавить реквизит и вывести его на форму. Сейчас обновится информационная база. Запускается. Добавляю новых реквизит "Партнер". И спрашивает партнера. Готово. И выведем на форму, допустим, куда-нибудь вот сюда. [музыка] Пускаем. Проверяем. Не совсем соглашаемся. Так, посмотрим на справочник "Контрагенты". Заходим элементы. Вот наш справочник "Партнер". Дальше мы выполнили. А комменты мы можем делать в панели индексирования Git. Допустим, сейчас напишем. Добавим индекс наши изменения. И пишем сообщение. Чтобы сделать коммент, не всегда бывает удобно переключаться в перспективы Git. Мы можем вытащить эту панель. Вот поступила. То есть перспективы, носит Star Price. Чтобы открыть панель, я по-моему, это не указан, не говорил. Нужно пойти в меню "Окно" и "Показать панель". Если выбираем нужно. Если не находим нужную кнопку. Другой. И здесь ручных панелей находим нужную. "Индексирование Git" называется. Как можете обратить внимание, эти панели они связаны, то есть дублируют друг друга. Я написал сообщение. Это сообщение также здесь отображается. И попробуем слить задачи. И откуда общаемся. Так, давайте сольем первую задачу. Сотками слияния и установим настройку "Открыть редактор сравнения объединения". Настройка называется "Модули с учетом структуры". Она сравнивает модули, как как конфигуратор, то есть по процедурно. Вот. Но с этой настройка связаны один небольшой баг. В процессе слияния, когда мы сливаем, потом сливаем ошибки. Вроде бы никакой нету, но в результате слияния у нас получается такая ситуация, что модуль, где код, где у нас есть области, одна из областей может быть не закрыта. То есть ключевое слово "конец области" может отсутствовать. Точно причину неизвестно. Это, насколько знаю, еще пока не починили. Но скоро, наверное, починят. Такой модуль, соответственно, это синтаксическая ошибка. И такой сконпирование будет ошибка при рантами. Буду рекомендуется ставить настройку "Открыть редактор сравнения объединения". Так как, несмотря на то, что системы могут быть какие-то умными и прочее, прочее, в любом случае процесс слушает контролировать наши изменения. Партнеры и состав системы. Так, сливаем вторую петь. Так, и здесь нас нет такого. Новый реквизит и форме. Можем раскрыть детально посмотреть, что они новый элемент "Партнер". Теперь посмотрим на историю. Она сейчас выглядит. История уже покрасили выглядит. Вот мы видим. Вот наша была ветка девелоп. Мы сначала или первую ветку, а потом вторую задачу. Так, давайте еще третий кейс посмотрим. Что если мы попытаемся ловить только ветку тас 2 без ветки тас 1. Откатимся. Выбрал нужный коммент и брат пункт "Сброс". Жестко бросили. И давайте выполним слияние только Светка. Смотрим. Итак, у нас помимо изменения в контрагенте, у нас также пролетели изменения из первой ветки. То есть, по сути, у нас вы выполняются условия на техническом уровне. То есть Git самостоятельно отслеживает, А что вторая задача у нас не может быть принесена без первого. И соответственно, здесь у нас изменения с первой и второй ветки. Но мы, конечно же, можем мешаться. Допустим, не добавлять справочник партнера. Но это, конечно, свой страхе риск. У нас здесь по умолчанию, по умолчанию устраивает. И объединяем. Готово. Давайте посмотрим на историю. Вот так сейчас выглядит наша история. И давайте на последнюю тему озвучу. Дальше не буду продолжать. Такая будоражающая тема - это конфликты. То есть, как конфликты создаются, как они решаются. Чтобы сымитировать конфликты, создадим две ветки, которые похожие изменения. Создадим первую. Была разработка, создать ветки по умолчанию. То есть ветки Main, допустим, информационную базу не используем. Отладку не будем. А то и допустим, в общем, модуль. Наносим изменения. Как он полезный код. Полезный код написали. Делаем КАМиТ. Вторую ветку. Источник Main. Допустим, 4. И допустим, второй разработчик тоже пишет какой-нибудь полезный. Сохраняем и фиксируем. Давайте попробуем слить обе ветки. Подключаемся ветку девело. Переключились. И вливаем первую ветку. Точнее, 4. С кем-то слияния. Слить. Состояние можно наблюдать, допустим, в этой панели. Она отображает состояние, прогресс выполнения толиной операции. Итак, вот у нас он сразу осмотр, что у нас пытается изменить только в общем модуле. Изменение она устраивает. И у нас произошел конфликт. Понять это можно по фильтру "С новым значением". Он сейчас показывает потенциальные проблемы. И давайте посмотрим, где у нас конфликт. Что случилось? Конфликт у нас ожидалось в общем модуле. Давайте посмотрим. Вот, собственно, у нас конфликтная строка. Два разработчика сделали изменения в одно и то же строке. Соответственно, система не понимает, как и точно обработать такую ситуацию. Но по умолчанию предлагает применить изменения из ветки. С первой ветки. Мы, конечно, можем оставить, либо применить второй ветки, либо решение, допустим, объединить оба решения. Таким образом, просто устраивает. Объединяем. Вот мы решили конфликт. Оно время остается немного. Я дальше продолжать не буду. Если на есть какие-то вопросы, что непонятно, у меня все. А Тимур, спасибо большое. Так, ну что, предлагаю перейти к вопросам и комментариям. Сейчас открою чат. Так, был вопрос у Давыдова Андрея. Андрей, озвучишь свой вопрос? Привет. Да, коллеги, всем привет. Тимур, вопрос такой: если я правильно понял, то говорили, что вот все изменения, которые мы сейчас делаем, они остаются в локальном репозитории, а в удаленной репозитории они отразились. Можете, пожалуйста, показать. Я понял. Да, я немного упустил этот момент. Допустим, мы выполнили слияние, допустим, сделали несколько задач, и они ветку давал. Эту ветку надо отправить. Делается тоже различными способами. Один из, допустим, нажимаем правой кнопкой, "Была разработка" и "А почтовый Origin" или "Отправить ветку в девело". Но по сути, очень похож, похожие действия. Просто это команда выполнит у нас интерактивно. То есть появится окно, где мы можем изменить какие-то настройки. Давайте отправим. Отправить. А вот мы отправили. Сейчас посмотрим репозиторий. Это вот одну минуту назад я отправил. Ответил на вопрос. Да, спасибо огромное. Окей, спасибо, Андрей. Запрос Попов Алексей Геннадьевич, ваш вопрос озвучите. Вы с нами? Познается на уровне функции или на уровне модуля? Но если две разные процедуры, а тут прям точно сказать не могу. Если мы находимся, скорее всего, я не встречал проблем, когда мы допустим меняем здесь что-то и здесь. Результат обычно корректный. Конфликт именно когда мы одну и ту же строчку редактируем. Два коммета разные строки. Соответственно, тут возникает конфликт. Основных случаев конфликт не возникает. Но в любом случае, как бы, желательно, что это контролировать. Результат обычно не возникает. Конфликты форм отображает какие? Ну, в смысле, позволяет разруливать конфликты форм. С формами. Я добавил один реквизит, вы другой. Я понял. Это разные. А ну, соответственно, что, допустим, вот есть реквизит, допустим, вливаем вторую ветку или в первую ветку. Соответственно, нам укажет, что вот здесь нас реквизит, там, допустим, "Партнер", а вы добавили реквизит "Контрагент". Укажет, что это как новый реквизиты, он не пересекается ни с кем, ни с кем-то. Элемент показывает, то свойства элементов реквизитов. Здесь, здесь в этом плане сделали улучшение. А если два одинаковых элемента с одним и тем же именем, то будет конфликт? Я так понимаю, да. Если бы с одним те же именем или если Уй по UID будет пересекаться. Ну, у всех объектов справочников, реквизитов есть. И примеру, увидит будет разные. Номина совпадает, ты нам покажет, что отличает собой вот этот вот, и нужно будет принять решение. То есть, откуда взять меня, мы или не меняем. Это сравнивает или нет? Что макеты для сравнения? Макетов - это, конечно, еще пока открытый вопрос. Проблема для сравнения макетов. Можно написать приложение на 1С. Желательно, чтобы работать обычно документом, как родным объектом. Приложение для двухстороннего сравнения пока это в планах. Пока просто. Окей, коллеги, еще вопросы, комментарии, предложения, уточнения. С поддержкой и дата нет. Поддержка также для детей. Это просто бинарный файл какой-то, который лежит на проекте. Тот именно с поддержкой. Тут можно организовать. То есть, тут нужно организовывать репозиторий определенным образом. То есть, мы делаем специальную ветку, ветку вендора. Потом, соответственно, накатом какие-то свои изменения. Личная вести какие-то свои изменения. Дальше, когда выходит новый Лис, мы обновляем ветку вендора. То есть, именно типовой релиз. И вливаем эти изменения в наш, наши изменения применяем. Вот таким образом происходит. То есть, поддержка какого-то какого-то продукта типового, он поставляемо, скажем так, и его обновление. Поддержка из конфигурации фактически после этого пропадает. Если конфигураторе открыть, потом мнение нет смысла. Кстати, мы из-за этого свое время отказались. Поддержку не поддерживал. Придумать сразу не получилось. Не очень хотелось. Спасибо. Хреньем работает вообще, как бы, это отдельная ветка или это как бы часть этой конфигурации? Начало прослушал. Повторите, пожалуйста. Я имею в виду, работа с расширениями. Каким образом поддерживается? Как ее оформить, подключить к расширение? Здесь расширение нету. Я как бы на словах расскажу. О расширение представляет собой подчиненный проект. По сути, дерево у нас будет отображаться такой же, еще один проект. Ну, как будут указано, что это подчиненный проект. Самостоятельно он может, конечно, быть независимым. И если касаешься, вы имеете в виду, допустим, как работать с Git? Мы можем в зависимости от того, что нам нужно. То есть, допустим, основная конфигурация, основной проект может быть в одном репозитории находиться. Если это связано, может репозиториям. Расширение может быть. Для расширения мы можем сделать отдельный, отдельный репозитории, если это необходимо. Как называется мультирепо? А если мы все номере по истории учитываем, то это море. Соответственно, когда основная конфигурация и расширение, они у нас как бы санируются. Ну, купишь. Я так правильно понял, если мы один раз перешли на эту систему репозитория, то обратно мы вернуться уже не сможем? Да, правильно понимаю. Не сможете вернуться в смысле хранилищу. К работе с хранилищем обратно. Создать хранилище для установки. Вдруг решили, ну, попробовали, что не понравилось, решили откатиться. Ну, заново создайте хранилища. Хранилище, расширение, света, нужно всё без проблем. Вы заранее делаете выгрузку. То есть, какую-то базу данного выгружать проект полностью. Ну, с расширениями со всеми. И уже от этой базы начинаете делать хранилища. Устойчивости работы приложения самого. Глюки какие-то встречаются? Нет, память не хватает, обновления, еще что-нибудь. Я понял. Да, баги случаются. Но в основном они случаются, когда, допустим, если мы что-то не знаем или что-то не понимаем. Допустим, те кнопки нажали. И первым, второй момент, когда у нас по сути, мы работаем с исходниками, с реальными исходника. Как в конфигураторе, иногда есть способ областного залезть в исходники, что там возможно, что-то подкорректировать. Иногда так получается быстрее выполнить какое-то действие. Вот. Но если мы что-то сделаем не так, к примеру, проект может немножко поломаться, и его нужно будет чинить. Но это будет связано с тем, что у нас не будет проходить обновление базы данных. Да, либо будем где-то на каком-то этапе какие-то ошибки. Самой ДТ, обычно она довольно подробно пишет, что не так, где прошла такая ошибка. Вот, и можно все это следить. Ну, как-то понять, чем проблема, исправить. Ошибки встречаются, но они не критичны. Средства какие-то присутствуют или чисто руками? Да, есть. Запускал, просто не говорил, так как у нас по сути проект на диске лежит. Также открою с ноутбуков. Открою папку, покажу структуру папок. А пока так. Сейчас это аудио сами проекты находятся наши дома. А в каждом апрель у каждого проекта рабочей области. А это хранится различные служебные данные по проекту. Что улучшает, быстро выполняется, быстрее таких поиск и другие. Извините, сбился. Вопрос последний, что задавали: тестирование исправления. А соответственно, здесь в это папке накапливается мусор. Бывает достаточно большой. И один из простых приемов, как это можно исправить проект, очистить. Очистить. Здесь по умолчанию все проекты, расширения. Они тоже выбрались. Нажимаем "Очистить". Это по сути, как бы, перечитывает кэш, служебные данные проекта по проекту. Этот условно такой аналог тестирования, только там с базой данных выполняем. А здесь как бы служебными данными самого проекта. Ответил вопрос. Общих чертах. Методика исправления ошибки. Пока непонятно до конца, конечно. Вы что имеете в виду, после исправления какой именно ошибки? Ну, может быть, ставка не уникального индекса, например, именно база данных, там реструктуризация, как-то не так прошла. Вот у нас частенько бывает, и вылетает просто невозможно обновить работу. Работа с база данных, как бы, сюда немножко не входит. Мы работаем с проектом. База данных - это база данных. Более того, пока что идите, к сожалению, вынужден использовать конфигуратор. Я говорю, потому что механизмы это работа не достаточно медленные. Допустим, обновление конфигурации, сказал бы, она должна выполняться совершенно быстро. Даже небольшая конфигурация все равно выполняется не очень быстро. Бывает и хотел сказать, и быть его с головой. [музыка] По поводу баз данных получается, что мы, если у нас проблемы кота в базе данных, соответственно, нужно как-то решать средствами там базы данных, допустим, того же конфигуратор, дали каким-то другими инструментами. В GT мы работаем только с проектом. База данных мы используем и сама и DT, что мне выпало на для выполнения каких-то операций. Обновление проще использовать, по сути, сам конфигуратор. Пакетном режиме запускает, держит сеанс и посла этому определенные команды на выполнение. Понятно. А если какой-нибудь нехороший человек откроет Конфигураторы напрямую, там что-то изменится? Это как-то про это узнает вообще? Скорее всего, да. Бывают случаи, что ты где-то может что-то не узнать, что что-то не увидеть. Такие случаи редкие. Допустим, какие-то действия мы можем выполнить конфигуратор. После что-то может быть неудобно. Но удобно ли нам казаться проще это сделать. Можем сделать это в конфигураторе, сохранить, импортировать обратно. Импортировать и импортировать изменения из информационной базы. Для импорта мы также, как первый раз, выбираем нужную базу, либо здесь, либо здесь. Важно. И нажимаем "Импортировать конфигурацию". Таким образом, можно импортировать, импортировать. Вообще механизм отслеживания изменения в конфигурации. То есть, это то есть инструмент на код одной стороне. То есть, совместно действует конфигуратора и DT. Соответственно, они между собой могут понять, что допустим, что-то изменилось, что конкретно изменилось. Да, допустим, там, чтобы весь проект, допустим, три файла. Эти три файла хотим загрузить. Обычно это и Конфигураторы отслеживают. Бывает иногда проблемы. Достаточно редкие. Допустим, может быть случай, мы написали какой-то код, но код не работает. И Конфигураторы этого года там нет, какой-то причине, куда не попадает. Вот такое бывает достаточно редко. И чтобы варианты решить, полную загрузку, как одна причина требуется. Приблизительно сделать полную загрузку. Отлично. Хорошо. Да, коллеги, да, вопросы закончились. Комментарии, предложения. Ну, отлично. Коллеги, тогда такое, что давайте еще встретимся, потому что не до конца рассмотрели мы тему. Как мы поняли, еще может быть, Тимур нам расскажет еще попросить его провод в нефти отчеты, как делать. Тоже интересная тема. Пора большие файлы, как их там, они сохраняются на стоечка такая есть. Конечно, не эксперт. Не, ну просто как она настраивается. Будет. Я хотел сказать. Да, Тимур, но собственно, тогда, если есть запросы от коллег, предлагаю тебе подготовить следующую тему. Там, я не знаю, на следующую неделю, либо через пару недель. То есть, как соберешься, обязательно мне сразу пиши. Клуб поставим. Вот, коллеги, отправлю опросник небольшой для того, чтобы вы смогли оценить сегодняшнюю тему, вот, написать какие-то комментарии, предложения. Если вдруг у вас есть желание выступить на нашем клубе по 1С, тоже пишите примерную тему, и будем ее разбирать. Вот, на сегодня все. Большое спасибо, что все приснились. Тимур, тебе большой поклон, низкий поклон. Все, всем пока-пока. Хорошего дня.