Практика чистого кода на 1С

Sdílet
Vložit
  • čas přidán 1. 06. 2024
  • Записывайтесь на следующий поток курса «Чистый код на 1С» по ссылке: codeway.school/?...
    Отправим ссылку на сайт курса в телеграмм бота.
    Рассказываю о подходах к разработке на 1С.
    Показываю на что обращаю внимание, когда пишу код на 1С.
    Разбираю некоторые особенности архитектуры БСП.
    Показываю, как делают интерфейсы в типовых и что это такое
    НАВИГАЦИЯ
    00:00:00 Объясняю задачу
    00:02:08 Внедрение БСП
    00:07:46 Трою у жму не туда
    00:11:20 Настройка системы после внедрения БСП
    00:15:54 Об интерфейсах в БСП
    00:17:54 Обработчики обновления
    00:23:41 Проверяю внедрение БСП и убираю лишние кнопки
    00:30:05 Создаю справочники и документы
    00:37:20 Добавляю данные
    00:39:40 Правлю метаданные
    00:40:47 Добавляю движения
    00:44:26 Интегрируюсь с БСП
    00:46:27 Делю модуля на области
    00:54:59 Создаю отчета
    00:58:25 Отвечаю на вопросы
    01:00:06 Как организовать связь «многие ко многим»
    01:07:16 Добавляю рег задание
    01:11:31 Интегрирую рег задания с БСП
    01:17:39 Отвечаю на вопросы
    01:21:10 Готовлю бизнес логику для решения задачи
    01:30:06 Получаю договоры
    01:34:39 Создают документы
    01:37:01 Включил подчинение справочников
    01:38:46 Получать данные через точку иногда можно
    01:40:55 Проверяю код
    01:43:10 Стандарт «Ответственное чтение»
    01:52:45 Инъекция зависимостей
    01:57:02 Добавляю графики
    01:59:50 Зачем интерфейсы в БСП
    02:02:39 Поддержка принципа Open Close в БСП
    02:06:26 Какие входные параметры нужно проверять
    02:10:54 Отвечаю на вопросы
    02:12:21 Пишу логику графиков
    02:28:25 Заказчик меняет требования: хочу договоры хранить во внешней системе
    02:30:23 Создаю новый класс Итератор
    02:38:31 Добавляю КоннекторHTTP Бондаревского
    02:44:50 Дописываю итератор
    03:05:00 Тест Канарейки
    03:06:21 Отвечаю на вопросы
    03:10:00 Обсуждаем всякое
    03:18:00 Может запилить курс по чистому коду на 1С
    ДОП. МАТЕРИАЛЫ:
    База со стрима: cloud.mail.ru/public/6PSv/mCg...
    Стандарт ответственное чтение: its.1c.ru/db/v8std/content/64...
    Стандарт транзакции: its.1c.ru/db/v8std#content:78...
    #1c #чистыйкод
    ==========
    Информационные площадки "Жёлтого клуба":
    Телеграмм канал: t.me/+h2Ipfl1Gdms3OGYy
    Телеграм чат: t.me/yellowclub_vrn
    Группа ВКонтакте: vk: yellowclub_official
    Подписывайся на канала Желтого клуба, чтобы не пропустить интересных гостей
    / @yellow_club

Komentáře • 218

  • @LosashExote
    @LosashExote Před 7 měsíci +31

    Давайте так скажу. Нет проблем с чувством собственной важности, чтобы быть 51ым человеком, ищущим к чему придраться в подобном видео. А правда проста - Евгений молодец, двигает сообщество вперед, привлекает интерес к стандартам, количество зрителей на стриме - вот он показатель. А что там на углах… подумайте, приведите себе аргументы, докажите почему вы лично будете делать иначе и делайте. Не стоит Евгения заваливать помидорами - он один, и то честно старается всем всем ответить.

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      спасибо за поддержку

    • @user-zm7gt9zn5j
      @user-zm7gt9zn5j Před 7 měsíci +1

      Есть придирки , а есть конструктивная критика , которая наоборот полезна.

    • @yellow_club
      @yellow_club  Před 7 měsíci

      @user-zm7gt9zn5j пока конструктивной критики не видно) но иногда конечно случается что-то полезное

  • @TheL0z4
    @TheL0z4 Před 7 měsíci +5

    1:39:05 и вот снова здравствуйте :)
    1. мы написали через точку т.к. у нас нет ТЧ и ХЗ в объекте. Т.е. отложили возможные проблемы производительности "будущим поколениям" который будут рефакторить наш легаси.
    2. мы занимаемся тем что в цикле получаем данные! т.к. мы уже сделали выборку и в обходе результата запроса выполняем получения реквизитов каждого полученного договора. (хотя могли это сделать в том же запросе)
    3. мы занялись ответственным чтением, чтобы ло бы не нужно сделать пункт 2 иначе
    4. в случае прерывания регламента повторный его запуск задублирует документы, хотя если бы мы сделали один запрос который бы и получил договоры и проверил по каким из них документы уже могут быть сделаны, то повторый запуск регламента не создал бы проблем.
    ух.. сколько всего можно было бы избежать не пытайся мы запихнуть ООПшные практики туда где они не нужны :)
    знаю что это все звучит как бурчание старовера на завалинке, но такова боль моей практики

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      1. Это был пример, в котором хочется показать что надо думать перед тем, как писать. Кажется это очевидно.
      2. Запросы в цикле не всегда плохо.
      3. Делать большую транзакцию на пачку и долгие блокировки это как раз отличный пример, когда маленький атомарный запрос в цикле на короткую транзакцию это много лучше, чем большая толстая транзакция на большую пачку и с огромным диапазоном заблокированных данных вплоть до эскалации :) привет хайлоад, вот так вот. Конечно пример немного натянут, врядли кто-то захочет прям менять договор во время работы регамента, но это пример который хочется показать и чтобы о нем тоже думали!
      4. Это правильно, потому я и говорю, что нужен контроль внешний для отслеживания выполнения. А в выборке и правда хорошо бы проверять есть ли уже документы на эту дату. Очень рад что кто-то это заметил! Жаль что не все это увидели.

    • @TheL0z4
      @TheL0z4 Před 7 měsíci

      ​@@yellow_club
      3. я ни в коем случае не предлагал делать одну большую транзакцию на весь запрос. Зачем? Блокировку на все договоры по признаку активности - да, наверное стоит (ради сохранения ответственного чтения), но транзакции, конечно, должны оставаться атомарными. не спорю, у моего подхода тоже не мало минусов, но для крупных регламентов выполняемых раз в сутки в свои "технологические окна" они будут более продуктивными.

  • @hihiska
    @hihiska Před 7 měsíci +9

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

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Рад, что полезно 👍

  • @asmody_ru
    @asmody_ru Před 7 měsíci +4

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

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Хорошая идея! Спасибо

  • @user-jl5bv8ip4g
    @user-jl5bv8ip4g Před 7 měsíci +3

    Смотря видео от Евгения повышаем качество своих навыков и продуктов. просто золото, а не видео

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Спасибо, рад, что полезно

  • @user-ps9on8we6q
    @user-ps9on8we6q Před 7 měsíci +7

    Я за создание Евгением курса по разработке на 1С!

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Спасибо за поддержку

  • @user-xf9ps9rt4n
    @user-xf9ps9rt4n Před 7 měsíci +1

    А мне зашло, посмотрел все. Спасибо, будем стремится к стандартам.

  • @user-fz2xt9vv7y
    @user-fz2xt9vv7y Před 7 měsíci +1

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

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Спасибо 🙏 рад, что полезно

    • @user-fz2xt9vv7y
      @user-fz2xt9vv7y Před 7 měsíci

      @@yellow_club Отдельное спасибо за Итераторы, В java спокойно использую. Даже мысль не шла, что можно это в 1с сделать. Это прямо прорыв по всем фронтам.

  • @KsEnIa2073
    @KsEnIa2073 Před 21 dnem

    Полезно. Благодарю.

  • @adamasts
    @adamasts Před 6 měsíci

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

  • @Kristin-qd3dc
    @Kristin-qd3dc Před 6 měsíci

    Вы супер! Спасибо за видео!

  • @Amne111
    @Amne111 Před 7 měsíci +1

    Евгений молодец! Видосы заходят! Газуй дальше!)

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Спасибо за обратную связь. Очень приятно

  • @user-pw6df6wh1l
    @user-pw6df6wh1l Před 7 měsíci +7

    Это ли не чудо, что в час ночи я смотрю шикарный стрим (пусть и в записи). Спасибо!

    • @yellow_club
      @yellow_club  Před 7 měsíci +2

      Рад, что проводишь ночь со мной 😂😂😂😂

  • @mauzer043
    @mauzer043 Před 7 měsíci +2

    Досмотрел видос! Получил удовольствие, спасибо! Буду ждать второй поток, сейчас уже все закрыто..

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Ееееее! Спасибо за отзыв, рад, что полезно

  • @user-lg9ew1eq9j
    @user-lg9ew1eq9j Před 5 měsíci

    Спасибо за стрим, есть над чем задуматься

  • @simpat9jko
    @simpat9jko Před 6 měsíci

    хорошее видео про культуру кода!

  • @user-kz8rb1fk4s
    @user-kz8rb1fk4s Před 7 měsíci +1

    больше спасибо, узнал много нового!

  • @user-lc8dw6qu7r
    @user-lc8dw6qu7r Před 7 měsíci +3

    Евгений, вы затронули очень интересную тему "ООП в 1С". Вы даете очень полезные мысли на подумать! Спасибо за ваш труд.

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Спасибо за поддержку

  • @amaxkaluga
    @amaxkaluga Před 7 měsíci +3

    Спасибо, упорядочились в голове некоторые представление. Совершенно не зря потратил полтора часа на просмотр (на х2). И огромное уважение за потраченные тобой 3 часа на сам стрим + чёрт знает сколько на подготовку 🔥👍

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Рад, что понравилось и было полезно

  • @TonyMictian
    @TonyMictian Před 7 měsíci +1

    Отличный пример "поддержки" open-close в типовых - это переименование в какой-то версии БСП функции "ПолучитьЗначениеРеквизита" в "ЗначениеРеквизитаОбъекта")

  • @shootnicktm9445
    @shootnicktm9445 Před 7 měsíci +3

    Надо всплывать из пучин рутины время от времени. Бултыхаешься, подтягиваешь чего есть в типовых, а тут раз и КоннекторHTTP в два клика. Полезное.

    • @yellow_club
      @yellow_club  Před 7 měsíci

      О да, мне коннектор тоже нравится. Спасибо автору

  • @vbRusDeveloper
    @vbRusDeveloper Před 5 měsíci

    Красавчик!

  • @user-jb3jv1nv7d
    @user-jb3jv1nv7d Před 5 měsíci

    К 2:15:37: Для быстрого создания функций нужно написать начало "функ" (для процедур - "проц"), а после буквы "к" комбинацию "ctrl+q". В появившемся списке выберите нужный вам шаблон и все!

  • @user-zb2su7nu4l
    @user-zb2su7nu4l Před 7 měsíci

    Подскажите, какое сочетание кнопок вы нажали, чтобы в выделенном фрагменте кода удалить лишние пробелы, табы ?

  • @vladyan01
    @vladyan01 Před 7 měsíci

    Ещё я видел в типовых рмк, там создают несколько ОписаниеОповещения, передают в процедуру, а процедура в зависимости от результата вызывает ОписаниеОповещения. Что это за паттерн такой?

  • @maxmurashev6009
    @maxmurashev6009 Před 7 měsíci +6

    Спасибо за стрим!) Было полезно)

  • @user-kz7es6qz7l
    @user-kz7es6qz7l Před 5 dny

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

    • @yellow_club
      @yellow_club  Před 4 dny

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

    • @user-kz7es6qz7l
      @user-kz7es6qz7l Před 4 dny

      @@yellow_club , исходя из материалов статьи на хабре "Вы не умеете работать с транзакциями", если внутри кода, вызываемого в попытке, начатая нами транзакция уже была отменена или зафиксирована, повторная отмена транзакции в нашем перехвате вызовет исключение

    • @user-kz7es6qz7l
      @user-kz7es6qz7l Před 4 dny

      @@yellow_club, исходя из материалов статьи "Вы не умеете работать с транзакциями", если внутри кода, вызываемого в блоке "Попытка", начатая нами транзакция была отменена или зафиксирована, отмена уже не активной транзакции в блоке "Исключение" вызовет исключение

    • @user-kz7es6qz7l
      @user-kz7es6qz7l Před 4 dny

      @@yellow_club, понял, благодарю за обратную связь!)

  • @MrTorfable
    @MrTorfable Před 7 měsíci +3

    Видос смотрится на одном дыхании, много нового о бсп узнал, спасибо за контент)

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Получается, ты со мной ночь провёл 😂???

  • @PavelKorolev
    @PavelKorolev Před 7 měsíci +1

    Лайк не глядя! ❤

    • @MegaBEavER1
      @MegaBEavER1 Před 7 měsíci

      Лучше посмотреть, там интересно

    • @PavelKorolev
      @PavelKorolev Před 7 měsíci

      @@MegaBEavER1 обязательно посмотрю в записи, не успел :)

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Вот это я понимаю уровень 😘

  • @vallak1981
    @vallak1981 Před 7 měsíci

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

  • @TheL0z4
    @TheL0z4 Před 7 měsíci +1

    Вот кстати хороший пример почему "области" По стандарту не работают.
    47:50 обработчики закинуты в область СлужебныеПроцедурыИФункции хотя должны быть в области обработчиков команд
    Здесь нет интуитивно понятного интерфейса и связей между желанием разработчика выделить группу процедур в отдельную область и требованием 1с к оформлению.

  • @user-su5zk9vw3g
    @user-su5zk9vw3g Před 5 měsíci

    Вопрос, коль БСП бесплатная, почему нельзя весь БСП сразу добавить? я вот как то добавил часть а потом намучался добавлять другие части по мере развития системы.

  • @sol4rinn
    @sol4rinn Před 7 měsíci

    Приветствую. Спасибо за материал. Каким образом Вы настроили отображение вертикальных полос в методах модуля в конфигураторе?

    • @BB_user
      @BB_user Před 7 měsíci

      Сервис - Параметры - Тексты: Табуляция

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Делаем красивенькое оформление кода в конфигураторе:
      1. Табуляция от Федькина:
      - Символ табуляции "│" (code 2502)
      - Цвет конструкции "Прочее" стиль: Линия отчета #CCC085
      2. Шрифт по Волокитину:
      - JetBrains Mono, 10 (www.jetbrains.com/lp/mono/)
      3. Текущий идентификатор:
      - стиль: Цвет активности #FACC1F

  • @user-lg9ew1eq9j
    @user-lg9ew1eq9j Před 7 měsíci +1

    Лучший!

  • @user-oy2gw2sn2j
    @user-oy2gw2sn2j Před 7 měsíci

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

  • @user-ey5if2fn5x
    @user-ey5if2fn5x Před 7 měsíci +1

    А что за упоминаемый в видео курс по архитектуре игр?

  • @GennadiyN
    @GennadiyN Před 7 měsíci +1

    Очень интересно! Про роли запишите пожалуйста видео!))

  • @sol4rinn
    @sol4rinn Před 6 měsíci

    Евгений, а почему обращаться к реквизитам через точку (разыменование) плохо при наличии сложной структуры объекта (табличные части и прочее)? Вы так шикарно объяснили чем отличается модуль менеджера от модуля объекта (даже я понял, хотя много лет не задумывался об этом), а вот про "беды разыменования" додумать не получается.

    • @yellow_club
      @yellow_club  Před 6 měsíci +1

      Потому что из базы данных прочитается вся табличная часть. А в ней может быть до 99 999 строк. Поэтому быстрее прочитать значение конкретного реквизита/реквизитов, а не читать весь объект. Да и оперативки такой объект сожрет слишком много

    • @sol4rinn
      @sol4rinn Před 6 měsíci

      @@yellow_club то есть в случае сложной структуры объекта при обращении через точку в память считывается вся таблица объекта из базы данных. Спасибо большое за пояснение.

    • @yellow_club
      @yellow_club  Před 6 měsíci +1

      Я бы даже сказал все таблицЫ. Это с прикладной точки зрения Справочник единый объект, а с точки зрения базы данных данные справочника хранятся в нескольких таблицах

  • @user-zm7gt9zn5j
    @user-zm7gt9zn5j Před 7 měsíci +2

    Посмотрел стрим , говорите правильные вещи , но есть пару замечаний
    1. Запросы в цикле. Вы обратили внимание что идет обращение через точку и если объект небольшой то все норм, но вы забыли что у вас цикл по выборке и каждый раз вы читаете объект
    2. Желательно в запросе получать все данные , а то получается Вы получили активные договоры , а потом обращаетесь к ним же за тарифом и владельцем так почему же нельзя сразу получить запросом эти данные ?
    3. Далее у вас в регламентном задании идет обход выборки результата запроса , но как по мне лучше обходить выборку в модуле менеджера документа начисление Арендной платы , а то получается так что при каждой итерации цикла обхода выборки вы дергаете модуль менеджера . Что не есть хорошо

    • @user-pl9hn7mg1q
      @user-pl9hn7mg1q Před 7 měsíci

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

    • @user-zm7gt9zn5j
      @user-zm7gt9zn5j Před 7 měsíci

      @@user-pl9hn7mg1q , ты не совсем понял смысл моего комментария . Тема стрима - чистый код. Но тут же идет запрос в цикле, что не по стандарту , о которых Евгений говорит на протяжении всего стрима.
      Дальше , гораздо логичнее собрать все данные и передать их на обработку , а так получается , что в обработке данных мы что-то дополучаем. Общий смысл такой - код который обрабатывает данные не должен дополнительно получать часть данных для обработки. Ну и третье- нужно стараться передать все данные на обработку а не частями ( возможно есть исключения, но явно не в этом случае)

    • @yellow_club
      @yellow_club  Před 7 měsíci

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

  • @olegves1907
    @olegves1907 Před 7 měsíci +1

    Евгений, благодарю за стрим - про такое разделение областей, признаться, не знал. И имхо, модульность в 1С появится, когда ERP будет собираться из отдельных (обособленно работающих) модулей: УТ+Производство+Финансы+Бухгалтерия+ЗУП+Отчетность+...

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Угу, это конечно не идеальная модульностью, но продвинулись со времён УПП сильно

  • @ephimantonov3581
    @ephimantonov3581 Před 7 měsíci +8

    Правильное видео! Правда есть помарки в терминологии, общие модули не синглетоны, у них нет состояния, документы/обработки почти не классы, очень они серверные, тема с областями как-то слабо раскрыта, в теории вроде логично, но на практике, без поддержки в языке хотя бы базового паттерна "публичный/приватный" с соответствующими ошибками времени исполнения, это все игры разума. Например, "Раздел «Служебный программный интерфейс» предназначен для модулей, которые являются частью некоторой функциональной подсистемы.". Написано очень толково, но задайте себе вопрос, как именно определяется эта часть? А если фунция принадлежит двум областям, а если я решил сделать рефакторинг и функция уже перешла в только служебный или только в публичный? Нет формализации, а просто соглашения (стандарты), что влечет за собой неточности в принадлежности фунцкий к контекстам, постоянному усилиям в определении области, нарушение правил самих себе придуманных в итоге не! ведет к ошибкам. Мы конечно как потребители бсп, получаем это все готовым и нам радостно, но попробуйте сами что-то подобное проделать, и постепенно нагрянет мысль, а зачем? С микросервисами в 1с вы тоже немножко погорячились, архитектура не терпит таких грубых приближений. Микросервисы - это стиль разработки программного обеспечения, в котором сложное приложение состоит из множества независимых и взаимозаменяемых компонентов, каждый микросервис представляет собой отдельную функциональную единицу с собственным API и может быть разработан, развернут и масштабирован независимо от других, это не совсем то, что вы имели ввиду.

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Короче, пять раз перечитал. Не понял мысль твою.

    • @suinuli2
      @suinuli2 Před 7 měsíci +1

      Понимание придет с опытом.

    • @yellow_club
      @yellow_club  Před 7 měsíci

      @suinuli2 помоги расшифровать

    • @jurybounackoff3025
      @jurybounackoff3025 Před 7 měsíci

      @@yellow_club "есть помарки в терминологии" вот и вся мысль)

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Ладно, вижу, что плюсуете. Потрачу время на этот сложный для меня текст, если бы автор выделил отдельными абзацами, то читать и понимать было бы проще. Но что есть, то есть.
      Мысль первая:
      Правильное видео! Правда есть помарки в терминологии, общие модули не синглетоны, у них нет состояния.
      Ровно это я на стриме и сказал, общие модули что-то типа синглетонов, но без полей.
      Мысль вторая: документы/обработки почти не классы, очень они серверные,
      я не очень понимаю фразу "почти не классы", тут ты либо беременная, либо нет. Это классы, но в них слишком много всего есть, что нам не нужно и проще для создания своих классов использовать обработки. Собственно это я и сказал на стриме
      Мысль четвертая: тема с областями как-то слабо раскрыта, в теории вроде логично, но на практике, без поддержки в языке хотя бы базового паттерна "публичный/приватный" с соответствующими ошибками времени исполнения, это все игры разума. Например, "Раздел «Служебный программный интерфейс» предназначен для модулей, которые являются частью некоторой функциональной подсистемы.". Написано очень толково, но задайте себе вопрос, как именно определяется эта часть? А если фунция принадлежит двум областям, а если я решил сделать рефакторинг и функция уже перешла в только служебный или только в публичный? Нет формализации, а просто соглашения (стандарты), что влечет за собой неточности в принадлежности фунцкий к контекстам, постоянному усилиям в определении области, нарушение правил самих себе придуманных в итоге не! ведет к ошибкам. Мы конечно как потребители бсп, получаем это все готовым и нам радостно, но попробуйте сами что-то подобное проделать, и постепенно нагрянет мысль, а зачем?
      Что хотел сказать автор? В каждом языке есть свои ограничения и свои преимущества. Фирма 1С придумала классный подход с областями, который прекрасно ложится в то, что есть. Не понимаю, как я тут напутал с терминологией. Если автор комментария не согласен, то пусть устраивается в фирму 1С и рассказывает, как надо разрабатывать платформу
      Мысль пятая: С микросервисами в 1с вы тоже немножко погорячились, архитектура не терпит таких грубых приближений. Микросервисы - это стиль разработки программного обеспечения, в котором сложное приложение состоит из множества независимых и взаимозаменяемых компонентов, каждый микросервис представляет собой отдельную функциональную единицу с собственным API и может быть разработан, развернут и масштабирован независимо от других, это не совсем то, что вы имели ввиду.
      Я не говорил, что написал микросервис. Это ваши догадки. Я сказал, что бытует мнение, что нормально выразить ответственности можно только в микросервисной архитектуре. Что подсистемы 1С приложений адски связаны. Но это не так. Если понимать базовые принципы программирования, то легко написать прекрасную модульную систему, как БСП

  • @l00500srl
    @l00500srl Před 7 měsíci +1

    Подскажите пожалуйста что за шрифт в модуле?

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Делаем красивенькое оформление кода в конфигураторе:
      1. Табуляция от Федькина:
      - Символ табуляции "│" (code 2502)
      - Цвет конструкции "Прочее" стиль: Линия отчета #CCC085
      2. Шрифт по Волокитину:
      - JetBrains Mono, 10 (www.jetbrains.com/lp/mono/)
      3. Текущий идентификатор:
      - стиль: Цвет активности #FACC1F

  • @vladyan01
    @vladyan01 Před 7 měsíci

    Что за провайдер? В чем суть?

  • @argabid5897
    @argabid5897 Před 7 měsíci +2

    каким ветром меня сюда занесло? ))) я вообще веб разработчик. Но вообще был опыт взаимодействия с 1С по HTTP. Даже писал небольшое фронтенд приложение которое каким-то чудом встраивалось в окно 1С (встроенный браузер) и взаимодействовало с окружением как его нативное приложение. Неплохо что 1С позволяет так делать

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Это судьба подсказывает, что пора переходить в 1С сферу))

    • @phat80
      @phat80 Před 7 měsíci

      Да уж… позволяет… через костыли 😂 Поверьте, ничего хорошего в таком взаимодействии нет. Реализовано оно через одно место. Такое впечатление, что 1Сники добавили поддержку web технологий для галочки.

    • @phat80
      @phat80 Před 7 měsíci

      @@yellow_clubиз веба в 1С? пфф… скорее наоборот. В вебе работать приятнее, в разы. Последнее время ковыряю Django и просто кайфую от того, насколько приятнее работать с ним, чем было с 1С. Хотя я сам Питон и не особо люблю. Но язык 1С я люблю еще меньше.

  • @user-uw8nw6lk3p
    @user-uw8nw6lk3p Před 7 měsíci +1

    Большое спасибо! Все понравилось. А почему перечисления нужно называть во множественном числе? Там же есть отдельно представление списка? Как раз просится синоним и имя в единственном, а представление списка - во множественном?

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Такой стандарт по именам метаданных. Я не знаю почему так рекомендует фирма 1С. Может об этом конечно в стандарте написано, но я не помню

  • @TrueDeex
    @TrueDeex Před 3 měsíci

    за контент, конечно, спасибо, лишних слов в речи много - требуется фильтр

  • @Xserx69
    @Xserx69 Před 7 měsíci +2

    Парам пам пам) очень нравится канал) автор а можно ролики содержательные минут на 10-15, ну не всегда есть 3 часа, да и не хочется) пожалуйста)

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Есть темы, которые за 15 минут не раскрыть. Рад, что нравится канал

  • @olegshpilevoy
    @olegshpilevoy Před 7 měsíci

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

    • @yellow_club
      @yellow_club  Před 7 měsíci

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

  • @olegshpilevoy
    @olegshpilevoy Před 7 měsíci

    Я правильно понял, что можно смело пользоваться только экспортными методами расположенными в области ПрограммныйИнтерфейс ? Инкапсуляция областями от 1С получается 😊

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Да

    • @olegshpilevoy
      @olegshpilevoy Před 7 měsíci

      @@yellow_club Увидел про это ещё раз подробно на втором часу видео.

  • @evgeniuxp2evgeniuxp234
    @evgeniuxp2evgeniuxp234 Před 7 měsíci +1

    2:54:57 - так не нужно писать код. Есть стандартные функции бсп по получению значений (ия) свойств (а) одного или сразу по нескольким объектам

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      А почему не нужно то?) Обьект без табличных частей, без двоичных данных. Ничего не запрещает так делать в моем случае

    • @evgeniuxp2evgeniuxp234
      @evgeniuxp2evgeniuxp234 Před 7 měsíci

      ​@@yellow_club, потому что это оставил мину, которая однажды может неожиданно подорваться.

    • @user-gj8cl7dg7x
      @user-gj8cl7dg7x Před 7 měsíci

      @@yellow_club Потому что внезапно в будущем может появиться в объекте табличная часть, а за ней и двоичные данные, а про это место в коде в тот момент никто не вспомнит

  • @van_za
    @van_za Před 7 měsíci +1

    Когда говорят то про чистый код то общепринято говорить о разделении приложения слои и инверсии зависимостей, а в контексте 1с материал полезный :)

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Так весь стрим об этом)

  • @user-px7fk3sf2d
    @user-px7fk3sf2d Před 3 měsíci

    Евгений,а вы шаблоны используете?

  • @user-tr4nk1bh4p
    @user-tr4nk1bh4p Před 3 měsíci

    just wow

  • @vvv4101
    @vvv4101 Před 4 měsíci

    Покажи конечный вариант данного отчёта. Мне как бухгалтеру интересен конечный вариант

    • @yellow_club
      @yellow_club  Před 4 měsíci

      Это канал не для бухгалтеров. Тут нет ничего интересного и нужного для бухгалтеров

    • @vvv4101
      @vvv4101 Před 4 měsíci

      @@yellow_club мне, как бухгалтеру интересны возможности программистов. Мы же вам задачи режим и деньги платим. Вдруг я увижу, что облегчает мой труд. Не видя результат, задания вам не дам

  • @JM-et2lx
    @JM-et2lx Před 6 měsíci

    Интерфейсы в 1с? Паттерны в 1с?

  • @user-wn4es3oe4o
    @user-wn4es3oe4o Před 5 měsíci

    ООП в 1с😂

  • @evgeniuxp2evgeniuxp234
    @evgeniuxp2evgeniuxp234 Před 7 měsíci +1

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

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Так этот вопрос закрывается правильным созданием рег задания.
      Может стоило конечно подробнее рассмотреть настройки. Но тогда стрим был бы на 8 часов 😂

    • @evgeniuxp2evgeniuxp234
      @evgeniuxp2evgeniuxp234 Před 7 měsíci

      ​@@yellow_club, это не регламент виноват, а программист со своей копией, когда тестит кнопку выгрузки куда-то

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Ааа, вот ты о чем

    • @user-el8sg2vc9n
      @user-el8sg2vc9n Před 7 měsíci

      Если не фреш, то делается всё просто одним расширением. При запуске приложения проверка на копию, если копия то меняются пути выгрузки, например на те же пути но с постфиксом "_копия".
      В самописной у меня так сделано, в типовых пока руками меняю 😅 все руки не доходят сделать то что написал выше

    • @evgeniuxp2evgeniuxp234
      @evgeniuxp2evgeniuxp234 Před 7 měsíci

      @@user-el8sg2vc9n , т.е. в каждой обработке по выгрузке проверять копия это или нет? В типовых, когда впервые загружаешь базу из dt при первом запуске спрашивает это копия или нет - вот как-то надо к этому и привязываться

  • @theProhorKey
    @theProhorKey Před 6 měsíci

    Я вообще не одинЭсник и не понимаю, как я попал на это видео. Но! Классы в 1с - неожиданно

  • @user-td2bm8lz8d
    @user-td2bm8lz8d Před 7 měsíci

    Давай курс по чистому коду на 1С!!!!

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Уже даю) старт курса в ноябре

  • @rupertant3950
    @rupertant3950 Před 2 měsíci

    Кто-то за это платит деньги? Или на курсе преподают что-то другое?

    • @yellow_club
      @yellow_club  Před 2 měsíci

      Не понял суть вопроса

  • @suinuli2
    @suinuli2 Před 7 měsíci

    Автором изначально не определено, что он понимает под своим классом / пакетом (весь «Учет аренды» или отдельно общие модули, справочники и документы). Поэтому дальнейшая расстановка областей в коде не имеет смысла.

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Что такое «свой класс или пакет»?
      Я создаю подсистему учёта аренды.
      Не очень понимаю, что не так с областями.

    • @suinuli2
      @suinuli2 Před 7 měsíci

      Если областями мы хотим обозначить публичные и приватные методы (интерфейс; что не изменится и чем можно пользоваться извне, а что для «служебного» пользования), то сначала нужно обозначить границу публичности и приватности (класс или пакет). В БСП это одна ее подсистема. А у вас?
      Да и сами понимаете. Общие модули, модуль объекта, менеджера и формы в купе с отсутствием слов export import - это изобретения, которые не вяжутся не то что с ООП, а даже с простой модульностью. Предлагая размазывать логику по этим модулям. Как тут не ошибиться простому одинэснику?:) В другом языке вы бы сделали пакет с несколькими вашими классами, возможно выделив view и persistence (что бы это ни значило:) в отдельные классы. Но глядя на мучения наших сишарперов, где даже названия полей то по-русски писать не рекомендуется, про сделать мышкой конфу для аренды я вообще молчу, задаешься вопросом…

  • @vladislove1337
    @vladislove1337 Před měsícem

    1Сники в 2024 году работают в IDE уровня Word 2007😂😂😂

  • @AZhdanov
    @AZhdanov Před 7 měsíci

    Началась рассылка в ТГ о старте набора на курс! То от имени вашей жены, то от имени вашего помощника…

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Мошенники?))
      Меня заблокировал телеграмм, потом аккаунт жены, теперь отдувается Павел. Его пока не заблокировали.

  • @diamaxel
    @diamaxel Před 7 měsíci

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

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Это самый вредный паттерн

  • @Gesperid
    @Gesperid Před 7 měsíci +1

    42:00 Речь про обычные формы же, а не про толстый клиент?!

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Да, речь об обычных формах

  • @ivanviktorovich6171
    @ivanviktorovich6171 Před 7 měsíci +3

    Пересматриваю стрим и не понимаю почему ты себя не поместил куда то вниз в маленькое окно

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Мне так нравится) бесят люди в квадратиках в углу кадра

    • @divolov7318
      @divolov7318 Před 7 měsíci

      ну типа беседа же. не просто курс, что-то там поясняющий. норм всё

    • @Gesperid
      @Gesperid Před 7 měsíci

      Продвижение личного бренда

    • @yellow_club
      @yellow_club  Před 7 měsíci

      @Gesperid а если я был бы в мелком квадратике сверху, то это бы не было продвижением бренда?)

    • @Gesperid
      @Gesperid Před 7 měsíci

      @@yellow_club но не таким эффективным ;)

  • @MrTorfable
    @MrTorfable Před 7 měsíci +1

    Это сарказм или 127 человек для тебя реально много?)

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Если тебя в онлайне больше людей слушает, то мое почтение.
      Для меня 127 человек в онлайне много.

    • @MrTorfable
      @MrTorfable Před 7 měsíci

      @@yellow_club ты неправильно понял, я же не с издевкой написал. Я просто думал, что у тебя онлайн гораздо больше)

    • @yellow_club
      @yellow_club  Před 7 měsíci

      @MrTorfable не) в этот раз самый большой онлайн был. В пике 230 человек

  • @olegshpilevoy
    @olegshpilevoy Před 7 měsíci

    Зря я похоже не хотел сначала смотреть почти 4 часовое видео. Первые десять минут просто огонь 🔥😂

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Это ты ещё до 46 минуты не дошёл)

    • @olegshpilevoy
      @olegshpilevoy Před 7 měsíci

      Ожидал услышать фразу "Я потерялся!" намного раньше третьего часа программирования 😂 Франч уже бабло получил за это задание и сидит пьет пивас 🍻 Кто-то теряет, а кто-то находит...

  • @user-rb8lx5hm3o
    @user-rb8lx5hm3o Před 5 měsíci

    если чуть по медление было куда лучше было объяснения урока

  • @tsv8560
    @tsv8560 Před 6 měsíci

    Переменную ПредыдущийДень заменить на более короткую Вчера :-)

    • @tsv8560
      @tsv8560 Před 2 měsíci

      А лучше в Давеча :-)

  • @folomba
    @folomba Před 7 měsíci

    Здравствуйте! Спасибо за обучающие видосики! А что можете сказать про направление 1С? Стоит сейчас тратить своё драгоценное время на изучение платформы и языка 1С?

    • @Tonik992
      @Tonik992 Před 7 měsíci +2

      Нужно!

    • @folomba
      @folomba Před 7 měsíci

      @@Tonik992 А почему?

    • @user-oc4ef3lx9e
      @user-oc4ef3lx9e Před 7 měsíci +3

      Если с нуля, то можно и другой язык, более востребованный в мире, 1С это в основном РФ

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Стоит

    • @folomba
      @folomba Před 7 měsíci

      @@user-oc4ef3lx9e я 1С хочу выучить чисто, чтобы на работу быстро устроиться. А так я имею опыт изучения PHP, JavaScript, C#, Python и Java. Также могу читать документацию на английском со словарём.

  • @kvt5002
    @kvt5002 Před 7 měsíci +1

    мне кажется у вас абстракции протекают

    • @yellow_club
      @yellow_club  Před 7 měsíci +2

      Не может быть)

    • @kvt5002
      @kvt5002 Před 7 měsíci +2

      @@yellow_club Вот я теперь понимаю как пишут эти переусложнённые типовые. Раньше код был проще, ошибки исправлялись легче, трава зеленее, деревья выше.

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

      Да и мы моложе были) верните наш 2008 год)

  • @shootnicktm9445
    @shootnicktm9445 Před 7 měsíci

    Почему-то в видео не вылазит и оповещений нет. Если бы не Пикабу- пропустил бы /

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Ого) круто!

    • @shootnicktm9445
      @shootnicktm9445 Před 7 měsíci

      @@yellow_clubКруто что видос поймал на сторонней платформе ? =)

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Да)

  • @user-dd5pg1jb1x
    @user-dd5pg1jb1x Před 6 měsíci +1

    Идея понятна и так. Не понравилась манера повествования и постоянные кривляния. Для чего было размусоливать на 4 часа. Если автор устал, то разбейте стрим на несколько частей, будет проще, а так очень смешано и скомкано(смешались люди кони...).

    • @yellow_club
      @yellow_club  Před 6 měsíci

      Просто не смотрите, раз не нравится 😉

  • @iBotMan
    @iBotMan Před 7 měsíci +3

    Откровенно говоря, никогда не понимал зачем эти области, никогда ими не пользовался, в смысле открыть область и что-то в ней поискать, всегда ищу через поиск или открываю все методы и смотрю что там есть. ИМХО - хрень полная. Сплошное расстройство, сидел в 1с7.7 - там была сплошная кастылизация(куча внешний самописных dll, всякие лайфхаки с открыть/закрыть форму и т.п.), так как не хватало функционала, перешел на 1с 8.3 - тут начинается опять таже песня... ООП - нет, модульности нет, фирма 1с - это вроде понимает, но это не точно, и начинаются всякие огороды с областями, общими модулями в общем модуле... Сорян, накипело... Но 1с мне нравится, но хочется чтобы в нее внедрили какую Java или python каким-то макаром...

    • @yellow_club
      @yellow_club  Před 7 měsíci +3

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

    • @LosashExote
      @LosashExote Před 7 měsíci

      Да сколько лет еще должно пройти, чтобы люди перестали писать свои комментарии из слов «никогда не понимал» и «а вот в 7.7!». Сколько? Никогда не понимал и не начинай, это не твое, мы в чем виноваты тут? «Сорян накипело»!

    • @iBotMan
      @iBotMan Před 7 měsíci +1

      @@LosashExote во первых ты тут причем вообще? Во вторых прочитай нормально мой комментарий и тогда все твои "сколько лет" пройдут.

    • @LosashExote
      @LosashExote Před 7 měsíci

      @@iBotMan А я как только бегло посмотрев писанину вижу, что человек попользовал аргумент «я сидел в 7.7» в конце 2023 года, вообще для чего бы то ни было, автоматически не читаю дальше слов «я никогда не понимал зачем…», это у меня такой скрипт в голове. Подождем обновлений, тогда прочту.

  • @Xron-TV
    @Xron-TV Před 7 měsíci +2

    Ребята, почему 1С, неужели вам нравится эта дичь со стилем 90х и недокодингом?

    • @yellow_club
      @yellow_club  Před 7 měsíci

      Бапки норм платят и пользу бизнесу приносим. Что ещё нада?

    • @amaxkaluga
      @amaxkaluga Před 7 měsíci

      Такие же нюансы как и в других платформах. Так что ничем не хуже если оценивать "итого"

    • @psyhdanim
      @psyhdanim Před 7 měsíci +1

      Потому что 1С позволяет быстро выполнить бизнес задачу. В том числе быстрое прототипирование и выход на MVP

  • @JohnJohn31595
    @JohnJohn31595 Před 7 měsíci +3

    Смотрю я на эту 1с помойку и тошнить начинает

    • @yellow_club
      @yellow_club  Před 7 měsíci +1

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

  • @capitan_nemo
    @capitan_nemo Před 7 měsíci +1

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

    • @yellow_club
      @yellow_club  Před 7 měsíci +3

      Напиши хоть что-то конкретное) а то обсираешь в формате «все говно, мне не нравица». Такая себе позиция.

    • @suinuli2
      @suinuli2 Před 7 měsíci

      Мы, мыши, слишком исколоты для другой позиции.

    • @LosashExote
      @LosashExote Před 7 měsíci

      Погодите, это заводчанин с легаси УПП 20 летней порвался или что? Возможно, это уже диагноз. Дальнейший путь не смотреть канал Евгения, раз настолько печет. Кто заставлял?

    • @yellow_club
      @yellow_club  Před 7 měsíci

      @HadgehogsDim продолжишь хамить и я тебя забаню

  • @RussianGirl4
    @RussianGirl4 Před měsícem

    Сколько нужно учиться чтобы понимать такие видео? 😅 я новичок и только 1/500 часть поняла

    • @yellow_club
      @yellow_club  Před měsícem

      Пару лет, если двигаться в верном направлении)