YellowClub

YellowClub

Желтый клуб — сообщество 1С программистов Наша цель — расти профессионально вместе с единомышленниками из 1С сферы Желтый клуб объединяет 1С разработчиков, 1С аналитиков и пользователей платформы 1С Предприятие. Обсуждаем фишки по 1C программированию, управлению проектами, управлению командой, автоматизированное тестирование в 1С Предприятии. Проводим регулярные стримы с интересными людьми из 1С сферы. Иногда встречаемся офлайн в разных городах.
На Пикабу
Дата рождения: 6 августа
28К рейтинг 455 подписчиков 0 подписок 363 поста 22 в горячем
Награды:
Пикабу 17 лет!
5

База знаний по чистой архитектуре⁠⁠

Давно задолжал базу знаний по чистой архитектуре.

База знаний по чистой архитектуре

Конфигурацию для JWT-аутентификации и авторизации через 1С отдал, а полную подборку материалов так и не собрал. Исправляюсь.

Подготовил в одном месте материалы, которые помогут двигаться в теме архитектуры более-менее последовательно.

Что внутри:

👉 Маршрут изучения архитектуры для 1С-разработчика

В «маршруте» я разложил все по шагам:

— зачем вообще нужна архитектура;

— почему use case важнее формы;

— что такое доменная модель;

— зачем нужны диаграммы взаимодействия;

— как думать про ответственности и зависимости;

— почему функции с побочными эффектами ухудшают код;

— где появляются границы и слои;

— зачем нужны тесты;

— как работать с легаси.

👉 Видео по архитектуре

Четыре стрима, которые лучше смотреть по порядку:

— Почему код типовых так сложно понимать

— Интерфейсы и классы в 1С

— Архитектура БСП

— Архитектурный разбор обработок Контура и Диадок для ЭДО

Если времени мало, я бы смотрел первый и третий.

Первый дает общее понимание, третий поясняет на примере БСП

👉 Кейс «от я не знаю, что такое авторизация» до конфигурации с JWT за 8 дней

Это, пожалуй, самый ценный материал в подборке.

Я почти не понимал предметную область авторизации в HTTP API: JWT, токены, подписи, сроки жизни, scopes, периметр, безопасность.

А в итоге за 8 дней с помощью ChatGPT собрал рабочую конфигурацию.

Часто слышу «дайте пример реальных задач под 1С, какие делают нейронки». Показываю полный процесс работы. И это сильно проще, чем кажется:

— как задаю вопросы;

— как наращиваю контекст;

— как фиксирую результат в ТЗ;

— как прошу смотреть на решение глазами архитектора;

— как из каши неизвестных терминов постепенно собирается нормальная архитектурная форма.

Там же оставил ТЗ по подсистеме аутентификации и авторизации HTTP API.

👉 Инструкция, как подключить и оплатить ChatGPT из России

Если вы еще не пользуетесь GPT, Claude или аналогами — это проблема.

Не нужно начинать с агентов, MCP и сложных пайплайнов.

Для начала достаточно работать в чате.

Главное — научиться разговаривать с ИИ, как с напарником, а не ждать магии от одного промпта.

Забирайте базу знаний в боте: https://r.bothelp.io/tg?domain=topgamemakers_bot&start=c...

Показать полностью 1
1

Промт для архитектурного ревью⁠⁠

Ловите немного пользы перед выходными!

Для своего сообщества по Unity разработал промпт для архитектурного ревью кода с помощью ИИ.

Знаю, что в 1С многие тоже активно используют ИИ в разработке, поэтому решил поделиться и с вами.

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

Прикрепляю полный промпт.

Попробуйте прогнать через него свой проект на выходных. Интересно, что он найдет и насколько вы будете согласны с результатами.

А потом обязательно поделитесь в комментариях: какие проблемы обнаружил ИИ и что из его замечаний действительно оказалось полезным?

1

20 лет писали без Архитектуры и все работало!⁠⁠

Ты все усложняешь. Мы 20 лет писали без Архитектуры. Все работало!

Ребята, я понимаю ваше недовольство.

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

Закономерный вопрос: н…а это надо, если раньше работало? Но это не значит, что работало хорошо или что ровно так и должно продолжаться.

Фирме 1С уже 35 лет. А тема Архитектуры, которую мы здесь обсуждаем, в ее современном, прикладном виде намного моложе.

К примеру, «Чистая архитектура» Роберта Мартина вышла в 2017 году. Основоположник всего этого Фаулер, выпустил книгу «Шаблоны корпоративных приложений» в 2002 года. Книга про DDD появилась в 2003 году. Книга Влада Хононова про DDD — в 2021-м. Хононов уже собрал более современный опыт, новые примеры и объяснил их понятнее.

Это первые издания на английском. Только через несколько лет появились переводы на русский и попытка освоения этих идей на практике.

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

В 1С я переношу эти подходы только последние несколько лет. Поэтому понимаю и сложности, и сопротивление: мы осваиваем историю, которая еще только развивается.

А теперь к этому добавился ИИ.

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

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

Ребята, которые сейчас проходят этот путь, — вы стоите у истоков применения современных подходов в проектировании софта в нашем сообществе 1С. Если продолжите применять это на практике, то для вас это будет большим преимуществом. Даже без смены работы, внутри своей команде, на своей должности.

Дальше думайте сами.

Показать полностью
1

В чем заключается работа Архитектора?⁠⁠

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

👉 Юрий написал:

Но ведь подсистема называется "Учет оригиналов ПЕРВИЧНЫХ документов". А договор к ним, если не ошибаюсь, не относится.

👉 Сергей дополнил, что слово «первичный» — это термин из бухгалтерского учета.

👉 А я написал, что бизнес не употребляет такое словосочетание, как «первичный документ».

Мы не знаем как сотрудники фирмы 1С принимали решение на тему того, что подсистема должна учитывать только метаданные типа «Документ». Но можно предположить такой ход рассуждений:

мы будем учитывать в подсистеме «Учет оригиналов первичных документов» только первичные бухгалтерские документы (кстати на мой взгляд, это не тоже самое, что метаданные типа «Документ»).

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

Т.е. в любом случае получаем проблему:

👉 если подсистема бизнесовая, то не должно иметь значения какие метаданные поставляют данные

👉 а если эта подсистема ближе к бухгалтерской (что не доказывает необходимость учета только метаданных типа «Документ»), то как она вообще оказалась в составе БСП

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

А вот анализ языка, выстраивание границ и контроль нарушения границ — вот настоящая работа Архитектора.

Показать полностью
1

Мое мнение по поводу этой подсистемы «Учет оригиналов документов» из 1С:БСП⁠⁠

Мое мнение по поводу этой подсистемы «Учет оригиналов документов» из 1С:БСП

Спасибо за ваш анализ архитектуры подсистемы «Учет оригиналов документов». Отдельное спасибо Александру Чугунову, Валерию Крынину, Константину, Андрею Янакаеву, Парфенову Антону за развернутые ответы.

Теперь мое мнение по поводу этой подсистемы.

1️⃣ Прежде всего, это очень интересная подсистема. В БСП таких немного. Дело в том, что большинство подсистем БСП технические, а эта бизнесовая. Она предоставляет конкретную бизнес-возможность, и относиться к ней нужно по-другому. И раз это так, то у нас возникает ряд ограничений.

Самое важное — как эта бизнес-возможность взаимодействует с другими модулями и частями системы.

Я полностью согласен с Александром Чугуновым, что взаимодействие с другими подсистемами внутри БСП для нас не так важно. Фирма 1С позиционирует БСП как что-то единое, пусть так и будет. Можно было бы разобрать зависимости от других бизнесовых подсистем БСП, но в целом бизнесовые подсистемы БСП более-менее независимы.

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

2️⃣ Coupling через базу данных.

Если внимательно почитать код, то обнаружится, что подсистема «Учета оригиналов документов» обращается к базе данных и читает свойство документа: проведен он или не проведен.

Казалось бы, а что такого? Мы всегда так делаем.

Для начала попробуем разобраться, откуда вообще взялось такое бизнес-правило. Почему нас интересует именно факт проведения документа? Скорее всего и само правило неверное. Возможно, нас должен интересовать факт того, что документ распечатали или куда-то отправили. С точки зрения бизнеса это куда интереснее, чем проведен документ или нет.

Но самое интересное здесь вот что.

Проведение — это состояние самого документа, а не его отслеживаемого печатного оригинала. Оно принадлежит другой бизнес-возможности, которая отвечает за этот документ. А подсистема «Учета оригиналов» зачем-то использует это чужое состояние для принятия собственных бизнес-решений.

И это большая архитектурная проблема.

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

Допустим, завтра мы захотим учитывать оригиналы договоров, которые чаще всего являются в типовых Справочником. Получается, нам придется менять и подсистему «Учета оригиналов», хотя ее собственная бизнес-возможность никак не изменилась.

Вот это и есть coupling через базу данных. К сожалению, 1Сники в этом ничего плохого не видят и очень часто так делают и потом страдают.

Пока вот такие мысли. В следующих постах продолжу.

А вы что думаете? Coupling через базу данных — это действительно большая архитектурная проблема? Или ничего страшного, и так сойдет?

Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества