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

  Рет қаралды 59,533

Желтый клуб — 1С программирование

Желтый клуб — 1С программирование

Күн бұрын

Записывайтесь на следующий поток курса «Чистый код на 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

Пікірлер: 213
@hihiska
@hihiska 6 ай бұрын
Это было очень очень интересно. Хочется понять и научиться писать доработки, которые по минимуму зависят от обновлений. Видео очень стимулирует изучение документации. Спасибо. Идея о курсе это очень круто.
@yellow_club
@yellow_club 6 ай бұрын
Рад, что полезно 👍
@user-xf9ps9rt4n
@user-xf9ps9rt4n 6 ай бұрын
А мне зашло, посмотрел все. Спасибо, будем стремится к стандартам.
@user-fz2xt9vv7y
@user-fz2xt9vv7y 6 ай бұрын
Спасибо. Очень наглядная демонстрация. Такой подход сильно понятней, чем когда слушаешь выступления без кода. Здорово видеть как понятия выливаются в живой код.
@yellow_club
@yellow_club 6 ай бұрын
Спасибо 🙏 рад, что полезно
@user-fz2xt9vv7y
@user-fz2xt9vv7y 6 ай бұрын
@@yellow_club Отдельное спасибо за Итераторы, В java спокойно использую. Даже мысль не шла, что можно это в 1с сделать. Это прямо прорыв по всем фронтам.
@Amne111
@Amne111 6 ай бұрын
Евгений молодец! Видосы заходят! Газуй дальше!)
@yellow_club
@yellow_club 6 ай бұрын
Спасибо за обратную связь. Очень приятно
@user-jl5bv8ip4g
@user-jl5bv8ip4g 6 ай бұрын
Смотря видео от Евгения повышаем качество своих навыков и продуктов. просто золото, а не видео
@yellow_club
@yellow_club 6 ай бұрын
Спасибо, рад, что полезно
@KsEnIa2073
@KsEnIa2073 6 күн бұрын
Полезно. Благодарю.
@LosashExote
@LosashExote 6 ай бұрын
Давайте так скажу. Нет проблем с чувством собственной важности, чтобы быть 51ым человеком, ищущим к чему придраться в подобном видео. А правда проста - Евгений молодец, двигает сообщество вперед, привлекает интерес к стандартам, количество зрителей на стриме - вот он показатель. А что там на углах… подумайте, приведите себе аргументы, докажите почему вы лично будете делать иначе и делайте. Не стоит Евгения заваливать помидорами - он один, и то честно старается всем всем ответить.
@yellow_club
@yellow_club 6 ай бұрын
спасибо за поддержку
@user-zm7gt9zn5j
@user-zm7gt9zn5j 6 ай бұрын
Есть придирки , а есть конструктивная критика , которая наоборот полезна.
@yellow_club
@yellow_club 6 ай бұрын
@user-zm7gt9zn5j пока конструктивной критики не видно) но иногда конечно случается что-то полезное
@Kristin-qd3dc
@Kristin-qd3dc 5 ай бұрын
Вы супер! Спасибо за видео!
@yellow_club
@yellow_club 5 ай бұрын
Рад, что полезно
@mauzer043
@mauzer043 6 ай бұрын
Досмотрел видос! Получил удовольствие, спасибо! Буду ждать второй поток, сейчас уже все закрыто..
@yellow_club
@yellow_club 6 ай бұрын
Ееееее! Спасибо за отзыв, рад, что полезно
@adamasts
@adamasts 5 ай бұрын
огонь, спасибо тебе, надеюсь не угаснет пламя твоего энтузиазма! мотивируешь хорошо! Пока не посмотрел твое видео не знал что БСП так легко можно запустить! много что интересного расказываешь
@yellow_club
@yellow_club 5 ай бұрын
Рад что полезно
@user-lg9ew1eq9j
@user-lg9ew1eq9j 4 ай бұрын
Спасибо за стрим, есть над чем задуматься
@yellow_club
@yellow_club 4 ай бұрын
Рад, что полезно
@simpat9jko
@simpat9jko 6 ай бұрын
хорошее видео про культуру кода!
@user-kz8rb1fk4s
@user-kz8rb1fk4s 6 ай бұрын
больше спасибо, узнал много нового!
@yellow_club
@yellow_club 6 ай бұрын
Рад, что полезно
@vbRusDeveloper
@vbRusDeveloper 5 ай бұрын
Красавчик!
@user-pw6df6wh1l
@user-pw6df6wh1l 6 ай бұрын
Это ли не чудо, что в час ночи я смотрю шикарный стрим (пусть и в записи). Спасибо!
@yellow_club
@yellow_club 6 ай бұрын
Рад, что проводишь ночь со мной 😂😂😂😂
@user-lc8dw6qu7r
@user-lc8dw6qu7r 6 ай бұрын
Евгений, вы затронули очень интересную тему "ООП в 1С". Вы даете очень полезные мысли на подумать! Спасибо за ваш труд.
@yellow_club
@yellow_club 6 ай бұрын
Спасибо за поддержку
@amaxkaluga
@amaxkaluga 6 ай бұрын
Спасибо, упорядочились в голове некоторые представление. Совершенно не зря потратил полтора часа на просмотр (на х2). И огромное уважение за потраченные тобой 3 часа на сам стрим + чёрт знает сколько на подготовку 🔥👍
@yellow_club
@yellow_club 6 ай бұрын
Рад, что понравилось и было полезно
@maxmurashev6009
@maxmurashev6009 7 ай бұрын
Спасибо за стрим!) Было полезно)
@yellow_club
@yellow_club 7 ай бұрын
Рад, что полезно
@PavelKorolev
@PavelKorolev 7 ай бұрын
Лайк не глядя! ❤
@MegaBEavER1
@MegaBEavER1 7 ай бұрын
Лучше посмотреть, там интересно
@PavelKorolev
@PavelKorolev 7 ай бұрын
@@MegaBEavER1 обязательно посмотрю в записи, не успел :)
@yellow_club
@yellow_club 7 ай бұрын
Вот это я понимаю уровень 😘
@TheL0z4
@TheL0z4 6 ай бұрын
1:39:05 и вот снова здравствуйте :) 1. мы написали через точку т.к. у нас нет ТЧ и ХЗ в объекте. Т.е. отложили возможные проблемы производительности "будущим поколениям" который будут рефакторить наш легаси. 2. мы занимаемся тем что в цикле получаем данные! т.к. мы уже сделали выборку и в обходе результата запроса выполняем получения реквизитов каждого полученного договора. (хотя могли это сделать в том же запросе) 3. мы занялись ответственным чтением, чтобы ло бы не нужно сделать пункт 2 иначе 4. в случае прерывания регламента повторный его запуск задублирует документы, хотя если бы мы сделали один запрос который бы и получил договоры и проверил по каким из них документы уже могут быть сделаны, то повторый запуск регламента не создал бы проблем. ух.. сколько всего можно было бы избежать не пытайся мы запихнуть ООПшные практики туда где они не нужны :) знаю что это все звучит как бурчание старовера на завалинке, но такова боль моей практики
@yellow_club
@yellow_club 6 ай бұрын
1. Это был пример, в котором хочется показать что надо думать перед тем, как писать. Кажется это очевидно. 2. Запросы в цикле не всегда плохо. 3. Делать большую транзакцию на пачку и долгие блокировки это как раз отличный пример, когда маленький атомарный запрос в цикле на короткую транзакцию это много лучше, чем большая толстая транзакция на большую пачку и с огромным диапазоном заблокированных данных вплоть до эскалации :) привет хайлоад, вот так вот. Конечно пример немного натянут, врядли кто-то захочет прям менять договор во время работы регамента, но это пример который хочется показать и чтобы о нем тоже думали! 4. Это правильно, потому я и говорю, что нужен контроль внешний для отслеживания выполнения. А в выборке и правда хорошо бы проверять есть ли уже документы на эту дату. Очень рад что кто-то это заметил! Жаль что не все это увидели.
@TheL0z4
@TheL0z4 6 ай бұрын
​@@yellow_club 3. я ни в коем случае не предлагал делать одну большую транзакцию на весь запрос. Зачем? Блокировку на все договоры по признаку активности - да, наверное стоит (ради сохранения ответственного чтения), но транзакции, конечно, должны оставаться атомарными. не спорю, у моего подхода тоже не мало минусов, но для крупных регламентов выполняемых раз в сутки в свои "технологические окна" они будут более продуктивными.
@asmody_ru
@asmody_ru 6 ай бұрын
Наконец-то кто-то начал это делать. 👏👏👏 Даже по этому видео видно, что платформа нифига не помогает писать хороший код, а иногда даже мешает. Предлагаю во второй серии разобрать более реальный и полезный пример - ввод на основании: как правильно создавать документ на основании разных оснований, и наоборот. Кто там будет провайдером, куда пихать адаптеры и вот это всё.
@yellow_club
@yellow_club 6 ай бұрын
Хорошая идея! Спасибо
@MrTorfable
@MrTorfable 6 ай бұрын
Видос смотрится на одном дыхании, много нового о бсп узнал, спасибо за контент)
@yellow_club
@yellow_club 6 ай бұрын
Получается, ты со мной ночь провёл 😂???
@user-ps9on8we6q
@user-ps9on8we6q 6 ай бұрын
Я за создание Евгением курса по разработке на 1С!
@yellow_club
@yellow_club 6 ай бұрын
Спасибо за поддержку
@user-lg9ew1eq9j
@user-lg9ew1eq9j 7 ай бұрын
Лучший!
@yellow_club
@yellow_club 7 ай бұрын
Спасибо 🙏
@user-zb2su7nu4l
@user-zb2su7nu4l 6 ай бұрын
Подскажите, какое сочетание кнопок вы нажали, чтобы в выделенном фрагменте кода удалить лишние пробелы, табы ?
@vallak1981
@vallak1981 6 ай бұрын
Спасибо за видео. Очень полезное. Не уверен что внедрение и настройка БСП прям необходимы были. Все-таки большинство разработчиков работает в типовых конфигурациях и необходимости в этой задаче нет. Хотя твои неоднократные ссылки в процессе внедрения на документацию думаю полезны. Как тему для видео рассмотри паттерны проектирования, поведенческий тип хорошо проецируется в 1С. А тема хорошо ложится на разбор приемов качественного программирования.
@sol4rinn
@sol4rinn 6 ай бұрын
Приветствую. Спасибо за материал. Каким образом Вы настроили отображение вертикальных полос в методах модуля в конфигураторе?
@BB_user
@BB_user 6 ай бұрын
Сервис - Параметры - Тексты: Табуляция
@yellow_club
@yellow_club 6 ай бұрын
Делаем красивенькое оформление кода в конфигураторе: 1. Табуляция от Федькина: - Символ табуляции "│" (code 2502) - Цвет конструкции "Прочее" стиль: Линия отчета #CCC085 2. Шрифт по Волокитину: - JetBrains Mono, 10 (www.jetbrains.com/lp/mono/) 3. Текущий идентификатор: - стиль: Цвет активности #FACC1F
@vladyan01
@vladyan01 7 ай бұрын
Ещё я видел в типовых рмк, там создают несколько ОписаниеОповещения, передают в процедуру, а процедура в зависимости от результата вызывает ОписаниеОповещения. Что это за паттерн такой?
@TonyMictian
@TonyMictian 6 ай бұрын
Отличный пример "поддержки" open-close в типовых - это переименование в какой-то версии БСП функции "ПолучитьЗначениеРеквизита" в "ЗначениеРеквизитаОбъекта")
@user-oy2gw2sn2j
@user-oy2gw2sn2j 6 ай бұрын
Полезный стрим
@user-su5zk9vw3g
@user-su5zk9vw3g 4 ай бұрын
Вопрос, коль БСП бесплатная, почему нельзя весь БСП сразу добавить? я вот как то добавил часть а потом намучался добавлять другие части по мере развития системы.
@shootnicktm9445
@shootnicktm9445 6 ай бұрын
Надо всплывать из пучин рутины время от времени. Бултыхаешься, подтягиваешь чего есть в типовых, а тут раз и КоннекторHTTP в два клика. Полезное.
@yellow_club
@yellow_club 6 ай бұрын
О да, мне коннектор тоже нравится. Спасибо автору
@user-ey5if2fn5x
@user-ey5if2fn5x 6 ай бұрын
А что за упоминаемый в видео курс по архитектуре игр?
@yellow_club
@yellow_club 6 ай бұрын
www.youtube.com/@KSyndicate
@sol4rinn
@sol4rinn 6 ай бұрын
Евгений, а почему обращаться к реквизитам через точку (разыменование) плохо при наличии сложной структуры объекта (табличные части и прочее)? Вы так шикарно объяснили чем отличается модуль менеджера от модуля объекта (даже я понял, хотя много лет не задумывался об этом), а вот про "беды разыменования" додумать не получается.
@yellow_club
@yellow_club 6 ай бұрын
Потому что из базы данных прочитается вся табличная часть. А в ней может быть до 99 999 строк. Поэтому быстрее прочитать значение конкретного реквизита/реквизитов, а не читать весь объект. Да и оперативки такой объект сожрет слишком много
@sol4rinn
@sol4rinn 6 ай бұрын
@@yellow_club то есть в случае сложной структуры объекта при обращении через точку в память считывается вся таблица объекта из базы данных. Спасибо большое за пояснение.
@yellow_club
@yellow_club 6 ай бұрын
Я бы даже сказал все таблицЫ. Это с прикладной точки зрения Справочник единый объект, а с точки зрения базы данных данные справочника хранятся в нескольких таблицах
@TheL0z4
@TheL0z4 6 ай бұрын
Вот кстати хороший пример почему "области" По стандарту не работают. 47:50 обработчики закинуты в область СлужебныеПроцедурыИФункции хотя должны быть в области обработчиков команд Здесь нет интуитивно понятного интерфейса и связей между желанием разработчика выделить группу процедур в отдельную область и требованием 1с к оформлению.
@GennadiyN
@GennadiyN 6 ай бұрын
Очень интересно! Про роли запишите пожалуйста видео!))
@user-zm7gt9zn5j
@user-zm7gt9zn5j 7 ай бұрын
Посмотрел стрим , говорите правильные вещи , но есть пару замечаний 1. Запросы в цикле. Вы обратили внимание что идет обращение через точку и если объект небольшой то все норм, но вы забыли что у вас цикл по выборке и каждый раз вы читаете объект 2. Желательно в запросе получать все данные , а то получается Вы получили активные договоры , а потом обращаетесь к ним же за тарифом и владельцем так почему же нельзя сразу получить запросом эти данные ? 3. Далее у вас в регламентном задании идет обход выборки результата запроса , но как по мне лучше обходить выборку в модуле менеджера документа начисление Арендной платы , а то получается так что при каждой итерации цикла обхода выборки вы дергаете модуль менеджера . Что не есть хорошо
@user-pl9hn7mg1q
@user-pl9hn7mg1q 7 ай бұрын
тут не про детали , а главное про архитектуру в целом и принципы ООП ... и их применимость в 1С дальше по видео - конкретная реализация конкретных действий "закапсулирована" уже внутрь "Провейдера" конкретных Данных ... и идея именно в этом, что хоть это справочник договоры , что общий модуль - работают одинаково! да, архитектура может и не идеальна... для примера ... создана на лету и по-простому и по-быстрому
@user-zm7gt9zn5j
@user-zm7gt9zn5j 7 ай бұрын
@@user-pl9hn7mg1q , ты не совсем понял смысл моего комментария . Тема стрима - чистый код. Но тут же идет запрос в цикле, что не по стандарту , о которых Евгений говорит на протяжении всего стрима. Дальше , гораздо логичнее собрать все данные и передать их на обработку , а так получается , что в обработке данных мы что-то дополучаем. Общий смысл такой - код который обрабатывает данные не должен дополнительно получать часть данных для обработки. Ну и третье- нужно стараться передать все данные на обработку а не частями ( возможно есть исключения, но явно не в этом случае)
@yellow_club
@yellow_club 7 ай бұрын
Запросы в цикле это плохо. Но когда в цикле идёт создание объекта то на фоне него любой простой запрос меркнет. Но да, делать получение данных в выборке можно и это хороший подход позволивший избавиться от свойств документа в провайдере.
@l00500srl
@l00500srl 6 ай бұрын
Подскажите пожалуйста что за шрифт в модуле?
@yellow_club
@yellow_club 6 ай бұрын
Делаем красивенькое оформление кода в конфигураторе: 1. Табуляция от Федькина: - Символ табуляции "│" (code 2502) - Цвет конструкции "Прочее" стиль: Линия отчета #CCC085 2. Шрифт по Волокитину: - JetBrains Mono, 10 (www.jetbrains.com/lp/mono/) 3. Текущий идентификатор: - стиль: Цвет активности #FACC1F
@olegves1907
@olegves1907 6 ай бұрын
Евгений, благодарю за стрим - про такое разделение областей, признаться, не знал. И имхо, модульность в 1С появится, когда ERP будет собираться из отдельных (обособленно работающих) модулей: УТ+Производство+Финансы+Бухгалтерия+ЗУП+Отчетность+...
@yellow_club
@yellow_club 6 ай бұрын
Угу, это конечно не идеальная модульностью, но продвинулись со времён УПП сильно
@user-uw8nw6lk3p
@user-uw8nw6lk3p 6 ай бұрын
Большое спасибо! Все понравилось. А почему перечисления нужно называть во множественном числе? Там же есть отдельно представление списка? Как раз просится синоним и имя в единственном, а представление списка - во множественном?
@yellow_club
@yellow_club 6 ай бұрын
Такой стандарт по именам метаданных. Я не знаю почему так рекомендует фирма 1С. Может об этом конечно в стандарте написано, но я не помню
@user-jb3jv1nv7d
@user-jb3jv1nv7d 5 ай бұрын
К 2:15:37: Для быстрого создания функций нужно написать начало "функ" (для процедур - "проц"), а после буквы "к" комбинацию "ctrl+q". В появившемся списке выберите нужный вам шаблон и все!
@vladyan01
@vladyan01 7 ай бұрын
Что за провайдер? В чем суть?
@argabid5897
@argabid5897 6 ай бұрын
каким ветром меня сюда занесло? ))) я вообще веб разработчик. Но вообще был опыт взаимодействия с 1С по HTTP. Даже писал небольшое фронтенд приложение которое каким-то чудом встраивалось в окно 1С (встроенный браузер) и взаимодействовало с окружением как его нативное приложение. Неплохо что 1С позволяет так делать
@yellow_club
@yellow_club 6 ай бұрын
Это судьба подсказывает, что пора переходить в 1С сферу))
@phat80
@phat80 6 ай бұрын
Да уж… позволяет… через костыли 😂 Поверьте, ничего хорошего в таком взаимодействии нет. Реализовано оно через одно место. Такое впечатление, что 1Сники добавили поддержку web технологий для галочки.
@phat80
@phat80 6 ай бұрын
@@yellow_clubиз веба в 1С? пфф… скорее наоборот. В вебе работать приятнее, в разы. Последнее время ковыряю Django и просто кайфую от того, насколько приятнее работать с ним, чем было с 1С. Хотя я сам Питон и не особо люблю. Но язык 1С я люблю еще меньше.
@Xserx69
@Xserx69 6 ай бұрын
Парам пам пам) очень нравится канал) автор а можно ролики содержательные минут на 10-15, ну не всегда есть 3 часа, да и не хочется) пожалуйста)
@yellow_club
@yellow_club 6 ай бұрын
Есть темы, которые за 15 минут не раскрыть. Рад, что нравится канал
@ephimantonov3581
@ephimantonov3581 7 ай бұрын
Правильное видео! Правда есть помарки в терминологии, общие модули не синглетоны, у них нет состояния, документы/обработки почти не классы, очень они серверные, тема с областями как-то слабо раскрыта, в теории вроде логично, но на практике, без поддержки в языке хотя бы базового паттерна "публичный/приватный" с соответствующими ошибками времени исполнения, это все игры разума. Например, "Раздел «Служебный программный интерфейс» предназначен для модулей, которые являются частью некоторой функциональной подсистемы.". Написано очень толково, но задайте себе вопрос, как именно определяется эта часть? А если фунция принадлежит двум областям, а если я решил сделать рефакторинг и функция уже перешла в только служебный или только в публичный? Нет формализации, а просто соглашения (стандарты), что влечет за собой неточности в принадлежности фунцкий к контекстам, постоянному усилиям в определении области, нарушение правил самих себе придуманных в итоге не! ведет к ошибкам. Мы конечно как потребители бсп, получаем это все готовым и нам радостно, но попробуйте сами что-то подобное проделать, и постепенно нагрянет мысль, а зачем? С микросервисами в 1с вы тоже немножко погорячились, архитектура не терпит таких грубых приближений. Микросервисы - это стиль разработки программного обеспечения, в котором сложное приложение состоит из множества независимых и взаимозаменяемых компонентов, каждый микросервис представляет собой отдельную функциональную единицу с собственным API и может быть разработан, развернут и масштабирован независимо от других, это не совсем то, что вы имели ввиду.
@yellow_club
@yellow_club 7 ай бұрын
Короче, пять раз перечитал. Не понял мысль твою.
@suinuli2
@suinuli2 7 ай бұрын
Понимание придет с опытом.
@yellow_club
@yellow_club 7 ай бұрын
@suinuli2 помоги расшифровать
@jurybounackoff3025
@jurybounackoff3025 6 ай бұрын
@@yellow_club "есть помарки в терминологии" вот и вся мысль)
@yellow_club
@yellow_club 6 ай бұрын
Ладно, вижу, что плюсуете. Потрачу время на этот сложный для меня текст, если бы автор выделил отдельными абзацами, то читать и понимать было бы проще. Но что есть, то есть. Мысль первая: Правильное видео! Правда есть помарки в терминологии, общие модули не синглетоны, у них нет состояния. Ровно это я на стриме и сказал, общие модули что-то типа синглетонов, но без полей. Мысль вторая: документы/обработки почти не классы, очень они серверные, я не очень понимаю фразу "почти не классы", тут ты либо беременная, либо нет. Это классы, но в них слишком много всего есть, что нам не нужно и проще для создания своих классов использовать обработки. Собственно это я и сказал на стриме Мысль четвертая: тема с областями как-то слабо раскрыта, в теории вроде логично, но на практике, без поддержки в языке хотя бы базового паттерна "публичный/приватный" с соответствующими ошибками времени исполнения, это все игры разума. Например, "Раздел «Служебный программный интерфейс» предназначен для модулей, которые являются частью некоторой функциональной подсистемы.". Написано очень толково, но задайте себе вопрос, как именно определяется эта часть? А если фунция принадлежит двум областям, а если я решил сделать рефакторинг и функция уже перешла в только служебный или только в публичный? Нет формализации, а просто соглашения (стандарты), что влечет за собой неточности в принадлежности фунцкий к контекстам, постоянному усилиям в определении области, нарушение правил самих себе придуманных в итоге не! ведет к ошибкам. Мы конечно как потребители бсп, получаем это все готовым и нам радостно, но попробуйте сами что-то подобное проделать, и постепенно нагрянет мысль, а зачем? Что хотел сказать автор? В каждом языке есть свои ограничения и свои преимущества. Фирма 1С придумала классный подход с областями, который прекрасно ложится в то, что есть. Не понимаю, как я тут напутал с терминологией. Если автор комментария не согласен, то пусть устраивается в фирму 1С и рассказывает, как надо разрабатывать платформу Мысль пятая: С микросервисами в 1с вы тоже немножко погорячились, архитектура не терпит таких грубых приближений. Микросервисы - это стиль разработки программного обеспечения, в котором сложное приложение состоит из множества независимых и взаимозаменяемых компонентов, каждый микросервис представляет собой отдельную функциональную единицу с собственным API и может быть разработан, развернут и масштабирован независимо от других, это не совсем то, что вы имели ввиду. Я не говорил, что написал микросервис. Это ваши догадки. Я сказал, что бытует мнение, что нормально выразить ответственности можно только в микросервисной архитектуре. Что подсистемы 1С приложений адски связаны. Но это не так. Если понимать базовые принципы программирования, то легко написать прекрасную модульную систему, как БСП
@user-tr4nk1bh4p
@user-tr4nk1bh4p 3 ай бұрын
just wow
@van_za
@van_za 6 ай бұрын
Когда говорят то про чистый код то общепринято говорить о разделении приложения слои и инверсии зависимостей, а в контексте 1с материал полезный :)
@yellow_club
@yellow_club 6 ай бұрын
Так весь стрим об этом)
@TrueDeex
@TrueDeex 2 ай бұрын
за контент, конечно, спасибо, лишних слов в речи много - требуется фильтр
@yellow_club
@yellow_club 2 ай бұрын
Например каких?
@user-px7fk3sf2d
@user-px7fk3sf2d 3 ай бұрын
Евгений,а вы шаблоны используете?
@yellow_club
@yellow_club 3 ай бұрын
Нет
@olegshpilevoy
@olegshpilevoy 6 ай бұрын
Зря я похоже не хотел сначала смотреть почти 4 часовое видео. Первые десять минут просто огонь 🔥😂
@yellow_club
@yellow_club 6 ай бұрын
Это ты ещё до 46 минуты не дошёл)
@olegshpilevoy
@olegshpilevoy 6 ай бұрын
Ожидал услышать фразу "Я потерялся!" намного раньше третьего часа программирования 😂 Франч уже бабло получил за это задание и сидит пьет пивас 🍻 Кто-то теряет, а кто-то находит...
@olegshpilevoy
@olegshpilevoy 6 ай бұрын
По поводу префиксов. Это полностью твоя конфа. О префиксах пусть 1С думает в своем БСП. А когда мы расширяем типовые конфы, то мы заботимся о префиксах. Думаю что так справедливо.
@yellow_club
@yellow_club 6 ай бұрын
Деятельность разных команд в 1С, которые отвечают за разные подсистемы, ничем не отличается от любой другой доработки типовых. Так же могут внезапно вылезти одноимённые метаданные и разрабочики типовых нормально с этим справляются
@theProhorKey
@theProhorKey 5 ай бұрын
Я вообще не одинЭсник и не понимаю, как я попал на это видео. Но! Классы в 1с - неожиданно
@olegshpilevoy
@olegshpilevoy 6 ай бұрын
Я правильно понял, что можно смело пользоваться только экспортными методами расположенными в области ПрограммныйИнтерфейс ? Инкапсуляция областями от 1С получается 😊
@yellow_club
@yellow_club 6 ай бұрын
Да
@olegshpilevoy
@olegshpilevoy 6 ай бұрын
@@yellow_club Увидел про это ещё раз подробно на втором часу видео.
@vvv4101
@vvv4101 3 ай бұрын
Покажи конечный вариант данного отчёта. Мне как бухгалтеру интересен конечный вариант
@yellow_club
@yellow_club 3 ай бұрын
Это канал не для бухгалтеров. Тут нет ничего интересного и нужного для бухгалтеров
@vvv4101
@vvv4101 3 ай бұрын
@@yellow_club мне, как бухгалтеру интересны возможности программистов. Мы же вам задачи режим и деньги платим. Вдруг я увижу, что облегчает мой труд. Не видя результат, задания вам не дам
@user-wn4es3oe4o
@user-wn4es3oe4o 4 ай бұрын
ООП в 1с😂
@evgeniuxp2evgeniuxp234
@evgeniuxp2evgeniuxp234 6 ай бұрын
2:54:57 - так не нужно писать код. Есть стандартные функции бсп по получению значений (ия) свойств (а) одного или сразу по нескольким объектам
@yellow_club
@yellow_club 6 ай бұрын
А почему не нужно то?) Обьект без табличных частей, без двоичных данных. Ничего не запрещает так делать в моем случае
@evgeniuxp2evgeniuxp234
@evgeniuxp2evgeniuxp234 6 ай бұрын
​@@yellow_club, потому что это оставил мину, которая однажды может неожиданно подорваться.
@user-gj8cl7dg7x
@user-gj8cl7dg7x 6 ай бұрын
@@yellow_club Потому что внезапно в будущем может появиться в объекте табличная часть, а за ней и двоичные данные, а про это место в коде в тот момент никто не вспомнит
@user-td2bm8lz8d
@user-td2bm8lz8d 6 ай бұрын
Давай курс по чистому коду на 1С!!!!
@yellow_club
@yellow_club 6 ай бұрын
Уже даю) старт курса в ноябре
@AZhdanov
@AZhdanov 6 ай бұрын
Началась рассылка в ТГ о старте набора на курс! То от имени вашей жены, то от имени вашего помощника…
@yellow_club
@yellow_club 6 ай бұрын
Мошенники?)) Меня заблокировал телеграмм, потом аккаунт жены, теперь отдувается Павел. Его пока не заблокировали.
@rupertant3950
@rupertant3950 2 ай бұрын
Кто-то за это платит деньги? Или на курсе преподают что-то другое?
@yellow_club
@yellow_club 2 ай бұрын
Не понял суть вопроса
@evgeniuxp2evgeniuxp234
@evgeniuxp2evgeniuxp234 6 ай бұрын
И почему-то не был рассмртрен вопрос: как защитить базу с которой работают все пользователи от копий разработчиков - где разработчики могут нажать кнопку "выгрузить" и сломать тем самым пользовательскую базу, которая скажем по регламенту загрузит выгруженные данные )
@yellow_club
@yellow_club 6 ай бұрын
Так этот вопрос закрывается правильным созданием рег задания. Может стоило конечно подробнее рассмотреть настройки. Но тогда стрим был бы на 8 часов 😂
@evgeniuxp2evgeniuxp234
@evgeniuxp2evgeniuxp234 6 ай бұрын
​@@yellow_club, это не регламент виноват, а программист со своей копией, когда тестит кнопку выгрузки куда-то
@yellow_club
@yellow_club 6 ай бұрын
Ааа, вот ты о чем
@user-el8sg2vc9n
@user-el8sg2vc9n 6 ай бұрын
Если не фреш, то делается всё просто одним расширением. При запуске приложения проверка на копию, если копия то меняются пути выгрузки, например на те же пути но с постфиксом "_копия". В самописной у меня так сделано, в типовых пока руками меняю 😅 все руки не доходят сделать то что написал выше
@evgeniuxp2evgeniuxp234
@evgeniuxp2evgeniuxp234 6 ай бұрын
@@user-el8sg2vc9n , т.е. в каждой обработке по выгрузке проверять копия это или нет? В типовых, когда впервые загружаешь базу из dt при первом запуске спрашивает это копия или нет - вот как-то надо к этому и привязываться
@JM-et2lx
@JM-et2lx 6 ай бұрын
Интерфейсы в 1с? Паттерны в 1с?
@yellow_club
@yellow_club 6 ай бұрын
И классы в 1С
@suinuli2
@suinuli2 7 ай бұрын
Автором изначально не определено, что он понимает под своим классом / пакетом (весь «Учет аренды» или отдельно общие модули, справочники и документы). Поэтому дальнейшая расстановка областей в коде не имеет смысла.
@yellow_club
@yellow_club 7 ай бұрын
Что такое «свой класс или пакет»? Я создаю подсистему учёта аренды. Не очень понимаю, что не так с областями.
@suinuli2
@suinuli2 7 ай бұрын
Если областями мы хотим обозначить публичные и приватные методы (интерфейс; что не изменится и чем можно пользоваться извне, а что для «служебного» пользования), то сначала нужно обозначить границу публичности и приватности (класс или пакет). В БСП это одна ее подсистема. А у вас? Да и сами понимаете. Общие модули, модуль объекта, менеджера и формы в купе с отсутствием слов export import - это изобретения, которые не вяжутся не то что с ООП, а даже с простой модульностью. Предлагая размазывать логику по этим модулям. Как тут не ошибиться простому одинэснику?:) В другом языке вы бы сделали пакет с несколькими вашими классами, возможно выделив view и persistence (что бы это ни значило:) в отдельные классы. Но глядя на мучения наших сишарперов, где даже названия полей то по-русски писать не рекомендуется, про сделать мышкой конфу для аренды я вообще молчу, задаешься вопросом…
@vladislove1337
@vladislove1337 16 күн бұрын
1Сники в 2024 году работают в IDE уровня Word 2007😂😂😂
@Gesperid
@Gesperid 7 ай бұрын
42:00 Речь про обычные формы же, а не про толстый клиент?!
@yellow_club
@yellow_club 7 ай бұрын
Да, речь об обычных формах
@tsv8560
@tsv8560 6 ай бұрын
Переменную ПредыдущийДень заменить на более короткую Вчера :-)
@tsv8560
@tsv8560 2 ай бұрын
А лучше в Давеча :-)
@user-ix6pr2et3p
@user-ix6pr2et3p 6 ай бұрын
что значит синглтон это плохо....для синхронизации, для кэширования, для UI и еще кучи мест это супер полезный паттерн.
@yellow_club
@yellow_club 6 ай бұрын
Это самый вредный паттерн
@folomba
@folomba 7 ай бұрын
Здравствуйте! Спасибо за обучающие видосики! А что можете сказать про направление 1С? Стоит сейчас тратить своё драгоценное время на изучение платформы и языка 1С?
@Tonik992
@Tonik992 7 ай бұрын
Нужно!
@folomba
@folomba 7 ай бұрын
@@Tonik992 А почему?
@user-oc4ef3lx9e
@user-oc4ef3lx9e 7 ай бұрын
Если с нуля, то можно и другой язык, более востребованный в мире, 1С это в основном РФ
@yellow_club
@yellow_club 7 ай бұрын
Стоит
@folomba
@folomba 7 ай бұрын
@@user-oc4ef3lx9e я 1С хочу выучить чисто, чтобы на работу быстро устроиться. А так я имею опыт изучения PHP, JavaScript, C#, Python и Java. Также могу читать документацию на английском со словарём.
@user-rb8lx5hm3o
@user-rb8lx5hm3o 4 ай бұрын
если чуть по медление было куда лучше было объяснения урока
@kvt5002
@kvt5002 6 ай бұрын
мне кажется у вас абстракции протекают
@yellow_club
@yellow_club 6 ай бұрын
Не может быть)
@kvt5002
@kvt5002 6 ай бұрын
@@yellow_club Вот я теперь понимаю как пишут эти переусложнённые типовые. Раньше код был проще, ошибки исправлялись легче, трава зеленее, деревья выше.
@yellow_club
@yellow_club 6 ай бұрын
Да и мы моложе были) верните наш 2008 год)
@shootnicktm9445
@shootnicktm9445 6 ай бұрын
Почему-то в видео не вылазит и оповещений нет. Если бы не Пикабу- пропустил бы /
@yellow_club
@yellow_club 6 ай бұрын
Ого) круто!
@shootnicktm9445
@shootnicktm9445 6 ай бұрын
@@yellow_clubКруто что видос поймал на сторонней платформе ? =)
@yellow_club
@yellow_club 6 ай бұрын
Да)
@MrTorfable
@MrTorfable 6 ай бұрын
Это сарказм или 127 человек для тебя реально много?)
@yellow_club
@yellow_club 6 ай бұрын
Если тебя в онлайне больше людей слушает, то мое почтение. Для меня 127 человек в онлайне много.
@MrTorfable
@MrTorfable 6 ай бұрын
@@yellow_club ты неправильно понял, я же не с издевкой написал. Я просто думал, что у тебя онлайн гораздо больше)
@yellow_club
@yellow_club 6 ай бұрын
@MrTorfable не) в этот раз самый большой онлайн был. В пике 230 человек
@user-dd5pg1jb1x
@user-dd5pg1jb1x 6 ай бұрын
Идея понятна и так. Не понравилась манера повествования и постоянные кривляния. Для чего было размусоливать на 4 часа. Если автор устал, то разбейте стрим на несколько частей, будет проще, а так очень смешано и скомкано(смешались люди кони...).
@yellow_club
@yellow_club 6 ай бұрын
Просто не смотрите, раз не нравится 😉
@ivanviktorovich6171
@ivanviktorovich6171 7 ай бұрын
Пересматриваю стрим и не понимаю почему ты себя не поместил куда то вниз в маленькое окно
@yellow_club
@yellow_club 7 ай бұрын
Мне так нравится) бесят люди в квадратиках в углу кадра
@divolov7318
@divolov7318 7 ай бұрын
ну типа беседа же. не просто курс, что-то там поясняющий. норм всё
@Gesperid
@Gesperid 7 ай бұрын
Продвижение личного бренда
@yellow_club
@yellow_club 7 ай бұрын
@Gesperid а если я был бы в мелком квадратике сверху, то это бы не было продвижением бренда?)
@Gesperid
@Gesperid 7 ай бұрын
@@yellow_club но не таким эффективным ;)
@iBotMan
@iBotMan 7 ай бұрын
Откровенно говоря, никогда не понимал зачем эти области, никогда ими не пользовался, в смысле открыть область и что-то в ней поискать, всегда ищу через поиск или открываю все методы и смотрю что там есть. ИМХО - хрень полная. Сплошное расстройство, сидел в 1с7.7 - там была сплошная кастылизация(куча внешний самописных dll, всякие лайфхаки с открыть/закрыть форму и т.п.), так как не хватало функционала, перешел на 1с 8.3 - тут начинается опять таже песня... ООП - нет, модульности нет, фирма 1с - это вроде понимает, но это не точно, и начинаются всякие огороды с областями, общими модулями в общем модуле... Сорян, накипело... Но 1с мне нравится, но хочется чтобы в нее внедрили какую Java или python каким-то макаром...
@yellow_club
@yellow_club 7 ай бұрын
Не нада так. Области и интерфейсы нужно понимать, иначе вызовешь метод, который в следующем релизе из подсистемы удалят
@LosashExote
@LosashExote 6 ай бұрын
Да сколько лет еще должно пройти, чтобы люди перестали писать свои комментарии из слов «никогда не понимал» и «а вот в 7.7!». Сколько? Никогда не понимал и не начинай, это не твое, мы в чем виноваты тут? «Сорян накипело»!
@iBotMan
@iBotMan 6 ай бұрын
@@LosashExote во первых ты тут причем вообще? Во вторых прочитай нормально мой комментарий и тогда все твои "сколько лет" пройдут.
@LosashExote
@LosashExote 6 ай бұрын
@@iBotMan А я как только бегло посмотрев писанину вижу, что человек попользовал аргумент «я сидел в 7.7» в конце 2023 года, вообще для чего бы то ни было, автоматически не читаю дальше слов «я никогда не понимал зачем…», это у меня такой скрипт в голове. Подождем обновлений, тогда прочту.
@Xron-TV
@Xron-TV 6 ай бұрын
Ребята, почему 1С, неужели вам нравится эта дичь со стилем 90х и недокодингом?
@yellow_club
@yellow_club 6 ай бұрын
Бапки норм платят и пользу бизнесу приносим. Что ещё нада?
@amaxkaluga
@amaxkaluga 6 ай бұрын
Такие же нюансы как и в других платформах. Так что ничем не хуже если оценивать "итого"
@psyhdanim
@psyhdanim 6 ай бұрын
Потому что 1С позволяет быстро выполнить бизнес задачу. В том числе быстрое прототипирование и выход на MVP
@capitan_nemo
@capitan_nemo 7 ай бұрын
Отличное видео как не надо разрабатывать конфигурации даже для ларьков. Ладно стример не в теме 1С, но он вроде институтского возраста, а принципа классов в программировании не понимает. Возможно это уже диагноз. Дальнейший путь в тимлиды
@yellow_club
@yellow_club 7 ай бұрын
Напиши хоть что-то конкретное) а то обсираешь в формате «все говно, мне не нравица». Такая себе позиция.
@suinuli2
@suinuli2 6 ай бұрын
Мы, мыши, слишком исколоты для другой позиции.
@LosashExote
@LosashExote 6 ай бұрын
Погодите, это заводчанин с легаси УПП 20 летней порвался или что? Возможно, это уже диагноз. Дальнейший путь не смотреть канал Евгения, раз настолько печет. Кто заставлял?
@yellow_club
@yellow_club 6 ай бұрын
@HadgehogsDim продолжишь хамить и я тебя забаню
@JohnJohn31595
@JohnJohn31595 6 ай бұрын
Смотрю я на эту 1с помойку и тошнить начинает
@yellow_club
@yellow_club 6 ай бұрын
Главное, что в 1С сфере нормально и стабильно платят. 400к уже реальные зарплаты для линейных разработчиков
@RussianGirl4
@RussianGirl4 19 күн бұрын
Сколько нужно учиться чтобы понимать такие видео? 😅 я новичок и только 1/500 часть поняла
@yellow_club
@yellow_club 19 күн бұрын
Пару лет, если двигаться в верном направлении)
Как разрабатывают на 1С в больших компаниях
2:00:35
Желтый клуб — 1С программирование
Рет қаралды 28 М.
Разбор загрузки из Excel для мидлов и сеньоров
23:16
Желтый клуб — 1С программирование
Рет қаралды 16 М.
Balloon Pop Racing Is INTENSE!!!
01:00
A4
Рет қаралды 16 МЛН
Monster dropped gummy bear 👻🤣 #shorts
00:45
Yoeslan
Рет қаралды 13 МЛН
GADGETS VS HACKS || Random Useful Tools For your child #hacks #gadgets
00:35
Разбор кода HTTP Сервиса 1С
48:20
Желтый клуб — 1С программирование
Рет қаралды 14 М.
Обзор 1С платформы 8.3.25
1:35:55
Желтый клуб — 1С программирование
Рет қаралды 16 М.
Прокачиваем 1С программиста
1:49:01
Желтый клуб — 1С программирование
Рет қаралды 14 М.
Как писать качественный код на 1С. Техники и приемы от супер 1С программиста
2:43:55
Как прочитать JSON в 1С
18:46
IRONSKILLS - Курсы по 1С
Рет қаралды 26 М.
Александр Маторин - Неадекватное Java-интервью
44:49
Как зарабатывать на собственных 1С продуктах
2:31:58
Желтый клуб — 1С программирование
Рет қаралды 6 М.
Рекомендации по улучшению хорошего кода на 1С
32:00
Желтый клуб — 1С программирование
Рет қаралды 14 М.
Balloon Pop Racing Is INTENSE!!!
01:00
A4
Рет қаралды 16 МЛН