// Читаем XML-файл и выводим имена и значения узлов-элементов
Процедура ПрочитатьXML(ПутьКФайлу)
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
Пока ЧтениеXML.Прочитать() Цикл
// Нас интересуют только узлы-элементы с текстовым содержимым
Если ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда
Сообщить("Элемент: " + ЧтениеXML.Имя
+ " / Значение: " + ЧтениеXML.Значение);
КонецЕсли;
КонецЦикла;
ЧтениеXML.Закрыть();
КонецПроцедуры
⚠️ На что обратить внимание: не забывай вызывать
Закрыть() после обхода, если файл остался открытым, повторное обращение к нему из другого места вызовет ошибку блокировки.📝 Домашка (15, 30 мин): создай в учебной базе небольшой XML-файл вручную (3, 5 элементов: товар, цена, количество). Напиши процедуру на основе примера выше, запусти в консоли кода, убедись что все значения выводятся в сообщениях. Попробуй убрать
Закрыть() и запустить дважды, посмотри на ошибку.🔜 Завтра: ЗаписьXML
🧑💻 koderion.ru
📚 День 4 из 5 · Работа с XML и JSON
👋 На прошлом уроке мы научились читать и писать JSON, разобрали ЗаписатьJSON, ПрочитатьJSON и базовые типы. Сегодня идём глубже: реальные данные от внешних систем редко бывают плоскими. Там вложенные объекты, массивы внутри массивов, поля с непредсказуемым набором ключей.
Главная сложность при парсинге сложных структур, это не синтаксис, а логика обхода. Когда JSON содержит массив заказов, в каждом заказе, массив строк, а в каждой строке, вложенный объект с характеристиками, легко запутаться. Ключевой момент: ПрочитатьJSON возвращает либо Соответствие, либо Массив, и дальше ты работаешь с обычными коллекциями 1С, никакой магии.
На одном из проектов видел, как разработчик каждый раз вызывал ПрочитатьJSON заново для каждого уровня вложенности, это и лишние строки, и риск ошибок. Правильный подход: один раз прочитал всё в структуру, дальше обходишь рекурсией или вложенными циклами. Именно это сегодня и разберём.
👇 Продолжение, код и домашка ниже.
👋 На прошлом уроке мы научились читать и писать JSON, разобрали ЗаписатьJSON, ПрочитатьJSON и базовые типы. Сегодня идём глубже: реальные данные от внешних систем редко бывают плоскими. Там вложенные объекты, массивы внутри массивов, поля с непредсказуемым набором ключей.
Главная сложность при парсинге сложных структур, это не синтаксис, а логика обхода. Когда JSON содержит массив заказов, в каждом заказе, массив строк, а в каждой строке, вложенный объект с характеристиками, легко запутаться. Ключевой момент: ПрочитатьJSON возвращает либо Соответствие, либо Массив, и дальше ты работаешь с обычными коллекциями 1С, никакой магии.
На одном из проектов видел, как разработчик каждый раз вызывал ПрочитатьJSON заново для каждого уровня вложенности, это и лишние строки, и риск ошибок. Правильный подход: один раз прочитал всё в структуру, дальше обходишь рекурсией или вложенными циклами. Именно это сегодня и разберём.
👇 Продолжение, код и домашка ниже.
// Парсинг вложенного JSON: заказы со строками
// Пример входящего JSON:
// {"Заказы":[{"Номер":"001","Строки":[{"Товар":"Стол","Кол":2}]}]}
Перем ЧтениеJSON, КореньJSON, МассивЗаказов, Заказ, МассивСтрок, Строка;
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ВходящаяСтрока);
КореньJSON = ПрочитатьJSON(ЧтениеJSON);
// КореньJSON — это Соответствие, ключ "Заказы" — Массив
МассивЗаказов = КореньJSON["Заказы"];
Для Каждого Заказ Из МассивЗаказов Цикл
Сообщить("Заказ: " + Заказ["Номер"]);
МассивСтрок = Заказ["Строки"];
Если МассивСтрок = Неопределено Тогда
Продолжить;
КонецЕсли;
Для Каждого Строка Из МассивСтрок Цикл
Сообщить(" Товар: " + Строка["Товар"] + ", Кол: " + Строка["Кол"]);
КонецЦикла;
КонецЦикла;
ЧтениеJSON.Закрыть();
⚠️ На что обратить внимание: если поле отсутствует в конкретном объекте JSON, обращение по ключу вернёт Неопределено, всегда проверяй перед использованием, иначе получишь ошибку при обходе «пустого» массива строк.
📝 Домашка (15-30 мин): в учебной базе создай обработку. Объяви строковую переменную с JSON: массив из 3 контрагентов, у каждого поле «Имя» и массив «Договоры» с полями «Номер» и «Сумма». Прочитай структуру и выведи через Сообщить каждый договор с именем контрагента. Проверь: что будет, если у одного контрагента массив «Договоры» пустой?
🔜 Завтра: Обмен через JSON API
🧑💻 koderion.ru
Не вызывай ОбщийМодуль.МетодСервера() в цикле, убьёшь производительность
Каждый вызов = отдельный серверный контекст. Собери данные в массив, передай одним вызовом.
🧑💻 koderion.ru
Каждый вызов = отдельный серверный контекст. Собери данные в массив, передай одним вызовом.
🧑💻 koderion.ru
То, что не говорят вслух: рынок 1С тихо перегрелся
🧠 *1С-факт дня*
С 2023 года спрос на 1С-специалистов вырос на 35%, и продолжает расти. Причина: российский бизнес массово переходит с SAP, Oracle и других иностранных систем на отечественное ПО. Это не прогноз, это уже происходит, и рынок не успевает за спросом.
Если вы 1С-специалист, сейчас лучший момент для роста ставки или смены проекта. Если вы бизнес, дефицит кадров реален, и искать специалистов лучше там, где их концентрация максимальна.
koderion.ru
🧠 *1С-факт дня*
С 2023 года спрос на 1С-специалистов вырос на 35%, и продолжает расти. Причина: российский бизнес массово переходит с SAP, Oracle и других иностранных систем на отечественное ПО. Это не прогноз, это уже происходит, и рынок не успевает за спросом.
Если вы 1С-специалист, сейчас лучший момент для роста ставки или смены проекта. Если вы бизнес, дефицит кадров реален, и искать специалистов лучше там, где их концентрация максимальна.
koderion.ru
⏰ Календарь 1С-ника | Май
Завтра, 28 мая, важный дедлайн!
🏢 ОСНО:
Налог на прибыль (авансовый платёж)
└ Осталось: 1 день
✅ Чек-лист в 1С:БП:
1️⃣ Закрыть месяц (Операции → Закрытие месяца)
2️⃣ Проверить корректность доходов и расходов в регистрах НУ
3️⃣ Сформировать справку-расчёт авансового платежа
4️⃣ Создать платёжное поручение с актуальными КБК
5️⃣ Отправить через 1С-Отчётность или выгрузить в банк
⚠️ На что обратить внимание:
• Сверьте обороты по счёту 68.04, частая ошибка в авансах
• Проверьте КБК (в 2024 году обновились реквизиты ЕНП)
• Уведомление об исчисленных суммах подаётся до 25 числа, если забыли, сделайте срочно!
Совет от практиков:
Настройте в 1С регулярную задачу «Закрытие месяца» на 25-26 число, успеете спокойно проверить расчёт до дедлайна, а не в авральном режиме 28-го. И не забывайте про резерв времени на банковский день: платёж в последний момент рискует «зависнуть».
Лайфхак: в 1С:БП есть встроенный «Календарь бухгалтера» (раздел Руководителю → Календарь), он автоматически подсвечивает приближающиеся дедлайны по вашей системе налогообложения.
Нужна помощь со сдачей или настройкой 1С?
🔗 Найти специалиста → koderion.ru
#дедлайны #1С #ОСНО #налогнаприбыль
Завтра, 28 мая, важный дедлайн!
🏢 ОСНО:
Налог на прибыль (авансовый платёж)
└ Осталось: 1 день
✅ Чек-лист в 1С:БП:
1️⃣ Закрыть месяц (Операции → Закрытие месяца)
2️⃣ Проверить корректность доходов и расходов в регистрах НУ
3️⃣ Сформировать справку-расчёт авансового платежа
4️⃣ Создать платёжное поручение с актуальными КБК
5️⃣ Отправить через 1С-Отчётность или выгрузить в банк
⚠️ На что обратить внимание:
• Сверьте обороты по счёту 68.04, частая ошибка в авансах
• Проверьте КБК (в 2024 году обновились реквизиты ЕНП)
• Уведомление об исчисленных суммах подаётся до 25 числа, если забыли, сделайте срочно!
Совет от практиков:
Настройте в 1С регулярную задачу «Закрытие месяца» на 25-26 число, успеете спокойно проверить расчёт до дедлайна, а не в авральном режиме 28-го. И не забывайте про резерв времени на банковский день: платёж в последний момент рискует «зависнуть».
Лайфхак: в 1С:БП есть встроенный «Календарь бухгалтера» (раздел Руководителю → Календарь), он автоматически подсвечивает приближающиеся дедлайны по вашей системе налогообложения.
Нужна помощь со сдачей или настройкой 1С?
🔗 Найти специалиста → koderion.ru
#дедлайны #1С #ОСНО #налогнаприбыль
📝 Новая статья в блоге!
Лицензии 1С:Документооборот 2026: цены и окупаемость ЭДО
Актуальные цены лицензий 1С:Документооборот в 2026 году, расчёт окупаемости перехода с бумаги на ЭДО и реальные кейсы внедрения с цифрами экономии.
👉 Читать: https://koderion.ru/blog/litsenzii-1c-dokumentooborot-2026-okupaemost
Лицензии 1С:Документооборот 2026: цены и окупаемость ЭДО
Актуальные цены лицензий 1С:Документооборот в 2026 году, расчёт окупаемости перехода с бумаги на ЭДО и реальные кейсы внедрения с цифрами экономии.
👉 Читать: https://koderion.ru/blog/litsenzii-1c-dokumentooborot-2026-okupaemost
🧩 Задача дня #71
[1С:ERP Управление предприятием 2.5]
Секрет, о котором молчат внедренцы: типовой отбор по «Партнёру» в списке заказов не покажет долг.
Нужно: получить ТОП-5 партнёров с максимальной просроченной задолженностью по выбранной организации на текущую дату. Используйте регистр РасчетыСКлиентами и измерение ДатаПлатежа.
💬 Пишите решения в комментариях!
🕐 Ответ, сегодня в 19:00
[1С:ERP Управление предприятием 2.5]
Секрет, о котором молчат внедренцы: типовой отбор по «Партнёру» в списке заказов не покажет долг.
Нужно: получить ТОП-5 партнёров с максимальной просроченной задолженностью по выбранной организации на текущую дату. Используйте регистр РасчетыСКлиентами и измерение ДатаПлатежа.
💬 Пишите решения в комментариях!
🕐 Ответ, сегодня в 19:00
Koderion
🧩 Задача дня #71 [1С:ERP Управление предприятием 2.5] Секрет, о котором молчат внедренцы: типовой отбор по «Партнёру» в списке заказов не покажет долг. Нужно: получить ТОП-5 партнёров с максимальной просроченной задолженностью по выбранной организации на…
✅ Решение задачи дня #71
Почему так: виртуальная таблица.Остатки() с параметрами даёт срез на дату без ручных вычислений. Просрочка отсекается условием ДатаПлатежа < ТекущаяДата прямо в параметрах ВТ, это быстрее, чем фильтр в ГДЕ.
⚠️ Ошибки: ставят отбор в ГДЕ (виртуальная таблица сначала развернётся целиком), путают остаток с просрочкой, забывают исключить пустую ДатаПлатежа.
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Орг", Организация);
Запрос.УстановитьПараметр("Дата", ТекущаяДатаСеанса());
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 5
| Ост.Партнер КАК Партнер,
| СУММА(ЕСТЬNULL(Ост.СуммаОстаток, 0)) КАК Долг
|ИЗ
| РегистрНакопления.РасчетыСКлиентами.Остатки(
| &Дата,
| Организация = &Орг
| И ДатаПлатежа < &Дата
| И ДатаПлатежа <> ДАТАВРЕМЯ(1, 1, 1)) КАК Ост
|СГРУППИРОВАТЬ ПО
| Ост.Партнер
|ИМЕЮЩИЕ
| СУММА(ЕСТЬNULL(Ост.СуммаОстаток, 0)) > 0
|УПОРЯДОЧИТЬ ПО
| Долг УБЫВ";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Партнер + ": " + Выборка.Долг);
КонецЦикла;
Почему так: виртуальная таблица.Остатки() с параметрами даёт срез на дату без ручных вычислений. Просрочка отсекается условием ДатаПлатежа < ТекущаяДата прямо в параметрах ВТ, это быстрее, чем фильтр в ГДЕ.
⚠️ Ошибки: ставят отбор в ГДЕ (виртуальная таблица сначала развернётся целиком), путают остаток с просрочкой, забывают исключить пустую ДатаПлатежа.
📅 Ближайшие дедлайны 1С
Сверьте свой календарь отчётности на июнь 2026:
1 июня, уведомление об исчисленных суммах НДФЛ (за 23, 31 мая) 📝
5 июня, уплата НДФЛ, удержанного с 23 по 31 мая 💸
25 июня, уведомление по НДФЛ (за 1, 22 июня) и страховым взносам за май 📊
30 июня, уплата страховых взносов за май и налога на прибыль (ежемесячный авансовый платёж) 💼
Не пропустите! koderion.ru
Сверьте свой календарь отчётности на июнь 2026:
1 июня, уведомление об исчисленных суммах НДФЛ (за 23, 31 мая) 📝
5 июня, уплата НДФЛ, удержанного с 23 по 31 мая 💸
25 июня, уведомление по НДФЛ (за 1, 22 июня) и страховым взносам за май 📊
30 июня, уплата страховых взносов за май и налога на прибыль (ежемесячный авансовый платёж) 💼
Не пропустите! koderion.ru
🧩 Задача дня #72
[1С:Управление торговлей 11.5]
Остатки склада запросом, делаем правильно
Менеджер просит проверять доступность товара перед записью ЗаказаКлиента. Нужно программно получить остаток конкретной номенклатуры на складе заказа на момент времени документа.
Напишите запрос к регистру ТоварыНаСкладах, который вернёт остаток по складу из шапки заказа и переданной номенклатуре (строка табличной части Товары).
💬 Пишите решения в комментариях!
🕐 Ответ, сегодня в 19:00
[1С:Управление торговлей 11.5]
Остатки склада запросом, делаем правильно
Менеджер просит проверять доступность товара перед записью ЗаказаКлиента. Нужно программно получить остаток конкретной номенклатуры на складе заказа на момент времени документа.
Напишите запрос к регистру ТоварыНаСкладах, который вернёт остаток по складу из шапки заказа и переданной номенклатуре (строка табличной части Товары).
💬 Пишите решения в комментариях!
🕐 Ответ, сегодня в 19:00
📚 День 1 из 5 · Git и CI/CD для 1С
🎬 Сегодня стартуем новый мини-курс. За 5 дней разберём: переезд с хранилища на Git, работу в EDT с веткованием, пакетную выгрузку конфигурации в файлы, сборку через Jenkins/GitLab CI и автотесты на Vanessa. Цель, чтобы вы перестали бояться слова «pipeline» и могли внедрить нормальный процесс у себя в команде.
Зачем это вам? Хранилище 1С, штука рабочая, но у неё один тупик: нет веток. Двое правят один объект, кто-то ждёт. Откатить релиз, боль. История захвата ≠ история изменений кода. На одном из проектов команда из 6 человек на ЗУП-доработках буквально стояла в очереди на захват общих модулей.
📄 Часть 1/2
🎬 Сегодня стартуем новый мини-курс. За 5 дней разберём: переезд с хранилища на Git, работу в EDT с веткованием, пакетную выгрузку конфигурации в файлы, сборку через Jenkins/GitLab CI и автотесты на Vanessa. Цель, чтобы вы перестали бояться слова «pipeline» и могли внедрить нормальный процесс у себя в команде.
Зачем это вам? Хранилище 1С, штука рабочая, но у неё один тупик: нет веток. Двое правят один объект, кто-то ждёт. Откатить релиз, боль. История захвата ≠ история изменений кода. На одном из проектов команда из 6 человек на ЗУП-доработках буквально стояла в очереди на захват общих модулей.
📄 Часть 1/2
Koderion
📚 День 1 из 5 · Git и CI/CD для 1С 🎬 Сегодня стартуем новый мини-курс. За 5 дней разберём: переезд с хранилища на Git, работу в EDT с веткованием, пакетную выгрузку конфигурации в файлы, сборку через Jenkins/GitLab CI и автотесты на Vanessa. Цель, чтобы вы…
Git решает это так: каждый разработчик работает локально, в своей ветке. Слияние, через merge/rebase. История, по файлам, а не по объектам конфигурации. Откат релиза, одна команда. Но чтобы это заработало для 1С, конфигурацию нужно сначала превратить в набор текстовых файлов. Этим занимается утилита пакетного режима,
👇 Код и домашка, ниже.
📄 Часть 2/2
DESIGNER /DumpConfigToFiles.👇 Код и домашка, ниже.
📄 Часть 2/2
// Пример: выгрузка конфигурации из хранилища в файлы для Git
// Запускается из CMD/bash, путь к 1cv8.exe подставьте свой
// 1. Подключаемся к хранилищу и обновляем ИБ до последней версии
"C:\Program Files\1cv8\8.3.24.1234\bin\1cv8.exe" DESIGNER ^
/F "C:\Bases\DevBase" ^
/N "Администратор" /P "" ^
/ConfigurationRepositoryF "\\server\repo\ERP" ^
/ConfigurationRepositoryN "ivanov" ^
/ConfigurationRepositoryP "***" ^
/ConfigurationRepositoryUpdateCfg -force ^
/Out "C:\Logs\update.log"
// 2. Выгружаем конфигурацию в дерево XML-файлов
"C:\Program Files\1cv8\8.3.24.1234\bin\1cv8.exe" DESIGNER ^
/F "C:\Bases\DevBase" ^
/N "Администратор" /P "" ^
/DumpConfigToFiles "C:\Git\erp-project\src\cf" ^
/Out "C:\Logs\dump.log"
// 3. Дальше — обычный git
// cd C:\Git\erp-project
// git add .
// git commit -m "Выгрузка из хранилища, версия 152"
// git push origin main
⚠️ Грабли: не коммитьте папку с самой ИБ (
1Cv8.1CD) и временные файлы, добавьте .gitignore с *.1CD, *.log, *.cfl. Иначе репозиторий распухнет до гигабайтов за неделю.📝 Домашка (20-30 мин):
1. Создайте учебную ИБ, подключите к ней любое демо-хранилище (можно поднять локально).
2. Установите Git, создайте пустой репозиторий в отдельной папке.
3. Выгрузите конфигурацию через
/DumpConfigToFiles в подпапку src/cf.4. Сделайте первый коммит. Посмотрите
git log и git status.5. Внесите мелкую правку в любой общий модуль, снова выгрузите, сделайте второй коммит, оцените
git diff.🔜 Завтра: EDT и Git, работа в IDE без танцев с бубном.
🧑💻 koderion.ru
3 ошибки в работе с регистром накопления, из-за которых сходят с ума остатки
💻 Код-ревью
📝 РАЗБОР:
• Записывать = Истина, без этого движения не уйдут в БД при автозаписи
• Очистить(), страхуемся от задвоения при перепроведении
• Период = Дата, привязка к моменту документа
• ВидДвиженияНакопления.Расход, списание остатков
ОПТИМИЗАЦИЯ:
• Сворачивай ТЧ запросом по Номенклатуре+Складу перед циклом, меньше записей в регистре
• Контроль отрицательных остатков делай ОДНИМ запросом после записи, а не в цикле
koderion.ru
💻 Код-ревью
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ТоварыНаСкладах.Записывать = Истина;
Движения.ТоварыНаСкладах.Очистить();
Для Каждого СтрокаТЧ Из Товары Цикл
Движение = Движения.ТоварыНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Склад = Склад;
Движение.Номенклатура = СтрокаТЧ.Номенклатура;
Движение.Количество = СтрокаТЧ.Количество;
КонецЦикла;
КонецПроцедуры
📝 РАЗБОР:
• Записывать = Истина, без этого движения не уйдут в БД при автозаписи
• Очистить(), страхуемся от задвоения при перепроведении
• Период = Дата, привязка к моменту документа
• ВидДвиженияНакопления.Расход, списание остатков
ОПТИМИЗАЦИЯ:
• Сворачивай ТЧ запросом по Номенклатуре+Складу перед циклом, меньше записей в регистре
• Контроль отрицательных остатков делай ОДНИМ запросом после записи, а не в цикле
koderion.ru
🧠 1С-факт дня
Кейс из практики: клиент попросил «мобильное приложение для кладовщиков на складе». Бюджет на нативную разработку, космос. В итоге собрали на Мобильной платформе 1С за неделю, та же конфигурация запустилась на Android-ТСД, iPad руководителя и планшете на Windows.
Один код, три ОС, без переписывания под каждую платформу.
Перед заказом нативной разработки проверьте: возможно, задача решается Мобильной платформой 1С в разы дешевле и быстрее.
koderion.ru
Кейс из практики: клиент попросил «мобильное приложение для кладовщиков на складе». Бюджет на нативную разработку, космос. В итоге собрали на Мобильной платформе 1С за неделю, та же конфигурация запустилась на Android-ТСД, iPad руководителя и планшете на Windows.
Один код, три ОС, без переписывания под каждую платформу.
Перед заказом нативной разработки проверьте: возможно, задача решается Мобильной платформой 1С в разы дешевле и быстрее.
koderion.ru
🧩 Задача дня #73
[1С:Зарплата и управление персоналом 3.1]
⚠️ Этот запрос угробит отчёт по ФОТ на проде!
Бухгалтер просит: вывести сумму начислений по каждому подразделению за месяц. Стажёр написал запрос к регистру накопления Начисления, но в отчёте у одних подразделений сумма верная, а у других, NULL вместо нуля, и итог едет.
Вопрос: как корректно получить суммы с группировкой по подразделению, чтобы пустых значений не было?
💬 Пишите решения в комментариях!
🕐 Ответ, сегодня в 19:00
[1С:Зарплата и управление персоналом 3.1]
⚠️ Этот запрос угробит отчёт по ФОТ на проде!
Бухгалтер просит: вывести сумму начислений по каждому подразделению за месяц. Стажёр написал запрос к регистру накопления Начисления, но в отчёте у одних подразделений сумма верная, а у других, NULL вместо нуля, и итог едет.
Вопрос: как корректно получить суммы с группировкой по подразделению, чтобы пустых значений не было?
💬 Пишите решения в комментариях!
🕐 Ответ, сегодня в 19:00
📚 День 2 из 5 · Git и CI/CD для 1С
👋 Вчера разобрали, чем Git принципиально отличается от хранилища и зачем вообще переезжать. Сегодня, самое практичное: как реально работать в EDT с Git, не сломав себе проект на третий день.
EDT из коробки умеет в Git, отдельный плагин ставить не надо. Создаёте проект из конфигурации, делаете правый клик → Team → Share Project → Git. И всё, ваш проект уже под версионным контролем. Дальше живёте по классической схеме: ветка под задачу, коммиты по ходу работы, merge в основную ветку через pull request.
Главное отличие от хранилища, вы коммитите не «захват объекта», а изменения файлов на диске. EDT раскладывает конфигурацию в текстовые xml/bsl, и Git видит каждую правку построчно. У одного клиента после переезда команда из 6 человек впервые за год увидела нормальный diff по модулю, раньше в хранилище было «кто-то что-то поменял».
👇 Код и домашка ниже.
👋 Вчера разобрали, чем Git принципиально отличается от хранилища и зачем вообще переезжать. Сегодня, самое практичное: как реально работать в EDT с Git, не сломав себе проект на третий день.
EDT из коробки умеет в Git, отдельный плагин ставить не надо. Создаёте проект из конфигурации, делаете правый клик → Team → Share Project → Git. И всё, ваш проект уже под версионным контролем. Дальше живёте по классической схеме: ветка под задачу, коммиты по ходу работы, merge в основную ветку через pull request.
Главное отличие от хранилища, вы коммитите не «захват объекта», а изменения файлов на диске. EDT раскладывает конфигурацию в текстовые xml/bsl, и Git видит каждую правку построчно. У одного клиента после переезда команда из 6 человек впервые за год увидела нормальный diff по модулю, раньше в хранилище было «кто-то что-то поменял».
👇 Код и домашка ниже.
&НаСервере
Процедура ПолучитьСписокЗаказов(ДатаНачала, ДатаОкончания)
// Пример серверной процедуры — её мы будем коммитить в Git
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказКлиента.Ссылка КАК Ссылка,
| ЗаказКлиента.Номер КАК Номер,
| ЗаказКлиента.Дата КАК Дата,
| ЗаказКлиента.Партнер КАК Партнер,
| ЗаказКлиента.СуммаДокумента КАК Сумма
|ИЗ
| Документ.ЗаказКлиента КАК ЗаказКлиента
|ГДЕ
| ЗаказКлиента.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
| И НЕ ЗаказКлиента.ПометкаУдаления";
Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ДатаОкончания));
Результат = Запрос.Выполнить().Выгрузить();
Для Каждого СтрокаЗаказа Из Результат Цикл
Сообщить("Заказ № " + СтрокаЗаказа.Номер);
КонецЦикла;
КонецПроцедуры
⚠️ Грабли: не коммитьте папку.settings и сгенерированные DT-файлы, закройте их через.gitignore сразу. Иначе репозиторий распухнет, а в diff будет каша из служебных метаданных.
📝 Домашка (20-30 мин):
1. Создайте в EDT проект из учебной конфигурации.
2. Share Project → Git, сделайте initial commit.
3. Создайте ветку feature/отчет-заказы, добавьте процедуру выше в общий модуль.
4. Закоммитьте, переключитесь на main, посмотрите diff между ветками.
5. Сделайте merge ветки в main.
🔜 Завтра: Gitsync, мост между хранилищем и Git для гибридных команд.
🧑💻 koderion.ru
Итоги розыгрыша недели
К сожалению, на этой неделе не было участников 😔
Новый розыгрыш, в понедельник! Нажимай кнопку «Хочу участвовать» под постом.
koderion.ru
К сожалению, на этой неделе не было участников 😔
Новый розыгрыш, в понедельник! Нажимай кнопку «Хочу участвовать» под постом.
koderion.ru