BGcalls. Программист 1С
1.81K subscribers
44 photos
98 links
Здесь обсуждаем все, что должен знать программист от стажера до миддла.

Практикум по доработке типовых
https://bgcalls.ru/
Предзапись на практикум, анонсы @bgcalls_bot
Download Telegram
Сегодня в эфире рубрика #стандарты_разработки, где мы разбираем основные стандарты простыми словами.

Стандарт 440 Использование дублирующего кода

Дублирование кода - это такой подход, когда мы копируем фрагменты кода или даже целиком процедуры и функции.

Почему это может стать проблемой:

- Если в код закралась ошибка - исправлять нужно во всех местах, можно пропустить
- Если нужно изменить логику - опять же, нужно искать все вхождения и легко ошибиться
- Раздувается код, становится сложнее для понимания

Простой пример - частая задача: есть некоторая табличная часть: номенклатура, цена, количество, сумма.
Нужно при изменении количества и цены пересчитывать сумму.

Код на скрине.
Видим, что в обработчиках событий одинаковый код.

1.Вынесем его в отдельную процедуру
2. Процедуру стоит разместить в общем модуле (а не модуле формы этого же документа), тогда мы сможем к ней обращаться и из форм других документов, где тоже есть похожие ТЧ.

Этот стандарт перекликается с принципом программирования DRY (Don’t repeat yourself - не повторяйся)

🤣 Подписывайтесь на канал BGcalls. Программист 1С #ЧистыйКод
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍5
Отвечаем на частые вопросы: Для кого подойдет практикум
✔️Вы прошли базовые курсы или изучали разработку 1С самостоятельно и не понимаете, что делать дальше
✔️Уже пробовали проходить собеседования , но не хватило знаний
✔️Рассматриваете переход в 1С из другой сферы и хотите попробовать свои силы перед тем, как решаться на большие изменения
✔️Уже работаете программистом 1С, но на работе нет наставника и не хватает обратной связи

Узнали себя? Ближайший старт практикума - в мае
👉 Программа и условия https://bgcalls.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Как построено обучение на курсе
Чаще всего программист 1С занимается доработкой существующего решения, а не пишет конфигурацию с нуля. Поэтому мы не будет писать очередную "конфигурацию для складского учета с нуля за 2 часа". Мы будем решать типичные задачи, разбираться с БСП и учится писать код по стандартам разработки от компании 1С.

Получить навык программирования можно только программируя.
- Не достаточно смотреть видеоуроки и повторять действия преподавателя.
- Нельзя дать алгоритмы решения на все случаи жизни

Поэтому мой подход чем-то похож на методику "перевернутый урок" ( flipped classroom), где ученик сначала проделывает работу дома, а потом мы вместе разбираем изученное.

Отзывы учеников прошлых потоков говорят о том, такое обучение наиболее эффективно.
И этот навык - разобраться с задачей (а не просто повторить по шаблону) - именно то, что потребуется в реальной работе.

На этой неделе еще действует промокод за раннюю запись
Если у вас есть промокод - не забудьте его применить

👉 Не знаете подойдет ли вам курс, остались вопросы?
Пишите @sAnastasia
👍4🔥1
Зачем нужны курсы, если есть интернет?
Если вы читаете это сообщение, скорее всего, вы уже знаете, что в интернете сейчас полно обучающих видео по 1С на любой вкус.

Когда я начинала карьеру программиста в 2008 году всё было иначе: у нас был учебник Радченко и еще официальные курсы от учебных центров 1с.

Сейчас же материалов много. Платных и бесплатных. Стало ли проще? Нет.
Наоборот,
- работодатели уже не готовы брать стажера с полного нуля. Ожидают, что вы знаете основы.
- Очень сложно разобраться в обилии материалов, что именно изучать? Что важно, а что второстепенно? Каким источникам стоит доверять?

В 2025 году вам нужен не преподаватель - "говорящая голова", вам нужен наставник - проводник.

Какая роль наставника?
Дает четкий план, где собрано только действительно нужное. Без воды и без теории ради теории.
Дает обратную связь, покажет "подводные камни" и будет сопровождать на всем пути обучения
Делится опытом, показывает приемы, типовые паттерны, которые используются в реальной работе.

Устали разбираться во всем самостоятельно и кажется, что тонете в горе бесплатных (или платных) видеоуроков?
Приходите на Практикум разработки.
В майской группе еще есть места, стартуем в 20х числах мая, закончим как раз к сентябрю, началу сезона вакансий.
🔥3👍2
Новая порция отзывов от выпускников (выпуск февраль 2025)

👉Хочу еще больше отзывов
🔥11👍1
Начинаем 19 мая
Группа уже собирается в закрытом чате, но еще можно присоединиться к нам.

А пока делюсь отзывом выпускника зимнего потока
Как сами оцениваете свои навыки до и после курса? Какие были ожидания от обучения и оправдались ли они?
Ожидания оправдались. Хотелось получить опыт решения реальных задач или приближенных к ним - все это имело место в курсе. Конечно, еще во многом надо разбираться, но уже нет сложностей и "затыков" на каждой строке кода; появилось больше уверенности в работе, азарт.

Что понравилось на курсе? Что оказалось самым полезным?
Большое количество практики; необходимость работать не в пустой конфигурации, а в типовой, что заставляет разбираться и в чужом коде, встраиваться в него - думаю, это та составляющая, которой не хватает в других курсах.

Что еще вы хотели бы сказать
Спасибо, курс позволил за достаточно небольшое количество времени подняться на несколько ступеней. Если сравнивать с тем, что дают курсах Нетологии, которые параллельно прохожу, то здесь знания получены намного более глубокие. Хотя, думаю, там бы процентов 80 студентов разбежались бы, испугавшись объема и сложности :)


Еще можно присоединиться к группе!

Есть вопросы? не знаете, подойдет ли вам Практикум? Пишите @SAnastasia
🔥31
💬 Изначально я предполагал, что курс будет поверхностным — очередным повторением основ. Однако за 3 месяца мы разобрали не только теорию, но и получили серьезную практику. Результат превзошел ожидания — это лучший курс из всех, что я встречал на данный момент.

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

Только практика, только хардкор🤣

11 поток стартует уже в следующий понедельник
👉Присоединяйтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍1
Всем привет! Уже в понедельник 19 мая, начинаем наше погружение в дивный мир 1С.
Разберемся с типовыми задачами программиста, с работой с БСП, расширениями, программной доработкой форм.

4 месяца вас будет сопровождать наставник, к которому можно обратиться с любым вопросом. Даже несколько, т.к. мне помогают кураторы - выпускники прошлых потоков (а теперь - действующие программисты 1С).

Если вы откладывали решение - время пришло.
На тариф с обратной связью осталось 2 места.
На тариф "Слушатель" запись доступна без ограничений (но только до понедельника)
🔥7🤔1
Наткнулась на объяснение, что такое блокировки на примере яблок

Вот например, про избыточные блокировки:
Покупатель Иванов хочет купить одно яблоко. Он перебирает все яблоки из ящика по одному, выбирая, какое лучше. При этом продавец записывает в своей книге все яблоки ("бронь для Петрова")
В это время подходит Петров ...

Чем кончилось дело, кто в итоге остался голодным - читайте в статье на сайте ИТС

🤣 Подписывайтесь на канал BGcalls. Программист 1С
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Хотите задачку?
Есть регистр сведений Цены поставщиков, периодический
Измерения:
- Товар
- Поставщик
Ресурс:
- Цена

Нужно получить запросом самую последнюю цену по каждому товару (не важно у какого поставщика последний раз покупали)
#вопросы_собеседование

🤣 Подписывайтесь на канал BGcalls. Программист 1С
Please open Telegram to view this post
VIEW IN TELEGRAM
BGcalls. Программист 1С
Хотите задачку? Есть регистр сведений Цены поставщиков, периодический Измерения: - Товар - Поставщик Ресурс: - Цена Нужно получить запросом самую последнюю цену по каждому товару (не важно у какого поставщика последний раз покупали) #вопросы_собеседование…
Задачку помните? Итак, все кто назвал самый очевидный ответ - взять срез последних - ошиблись.
Срез последних возвратит последние значения по каждому набору измерений (в нашем случае по каждой паре Товар - Поставщик). А нам то надо одну по каждому товару...

Пример:
10.05 зарегистрирована цена на молоко у поставщика "Рога и Копыта" - 100 рублей за литр
08.05 записали цену на молоко у поставщика "Буренка - 90 рублей за литр

Потестируйте в консоли запросов: Срез последних вернет 2 записи(!), т.к. набор измерений у нас разный


Решение можете найти в комментах к задаче
Оно сводится к "имитации" среза последних по 1 измерению: поиск максимального периода установки цены по каждому товара и далее получения цены на эту дату.

Для закрепления предлагаю решить другую типичную задачку, где используется такой же прием: Курсы валют на дату документов

#вопросы_собеседование
👉Подписывайтесь на канал Борис Георгиевич позвонит🤣
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
#вопросы_собеседование

Как при записи документа проверить, что определенные реквизиты изменились?

Например: Если в утвержденном ранее Заказе изменили сумму, то заказ нужно перевести в статус "На согласование"
Как узнать, изменилась ли сумма?

Разбор - в следующих выпусках. Stay tuned
Пока пишите ваш ответ в комментарии


👉Подписывайтесь на канал BGcalls. Программист 1С 🤣
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Разбираемся Как проверить, что изменился реквизит

Предположим, надо проверить изменился ли реквизит "Сумма"

👉В простейшем случае код будет примерно такой:

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

СуммаДоИзменения = Ссылка.Сумма;
Если Сумма <> СуммаДоИзменения Тогда
\\ что-то сделать
КонецЕсли;

КонецПроцедуры

Мы сравниваем значение реквизита объекта с значением, полученным через ссылку.

В событии ПередЗаписью данные еще не сохранены в БД и по ссылке мы получим "старое" значение.

👉Но это еще не всё. Дело в том, что при обращении к ссылке считывается весь объект целиком, все реквизиты и табличные части. Какой выход? Получить значение реквизита ссылки запросом.
Подробнее об этом в посте Чтение реквизитов из БД

#вопросы_собеседование
👉Подписывайтесь на канал BGcalls. Программист 1С🤣
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7
Важный навык программиста, которому не учат на "новичковых курсах" - писать чистый код.
Давайте сначала разберемся, что же это такое?
Поможет нам Роберт Мартин и его книга "Чистый код. Создание, анализ и рефакторинг".

Что такое чистый код?

Грэди Буч: "Чистый код прост и прямолинеен. Чистый код
читается, как хорошо написанная проза. Чистый
код никогда не затемняет намерения проектировщика"

Дэйв Томас "Чистый код может читаться и усовершенствоваться другими разработчиками, кроме его исходного автора."

Зачем нам вообще писать чистый код?

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

А вы, когда пишите код, задумываетесь о там, насколько легко в нем разобраться другим людям?
👍14🔥7
В комментариях к посту про чистый код - то, с чем сталкивается каждый программист:

Со временем стал получаться вменяемый код. Когда я открываю уже написанное через несколько месяцев, каждый раз думаю...это что я так писала?? 😱

Именно так и выглядит профессиональный рост. Если вам стыдно за код, который вы писали полгода назад - значит вы не стоите на месте 💪

А как расти? Только практика.
Невозможно научиться программировать, просматривая видеоуроки. Только писать код и набивать свои шишки.

В сентября стартует очередной поток Практикума доработки типовых
Запись уже идет: bgcalls.ru
8👍6
Сегодня расскажу подробнее о том, из чего состоит Практикум.

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

Вторая часть. Прикладные задачи
Это самая полезная часть, ради которой всё и затевается.
Нас ждут обмены, приемы доработки типовых (в т.ч. через расширения), программная доработка форм.
Все задачи "основаны на реальных событиях".
И конечно, будем учиться использовать возможности БСП.

Более подробную программу ищите на странице http://bgcalls.ru/
А также в закрепе канала - забирайте Дорожную карту для самостоятельного изучения

Для тех, кто хочет пройти этот путь не в одиночку, а с наставником - До 26 августа действует ранняя цена. А учиться начнем 8 сентября.

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

Любой вопрос по курсу можно задать мне лично - @sAnastasia
👍5🔥4
Это отзывы Анастасии и Максима, ребята учились в одном потоке (весна 2025)
Как видите, оценки у ребят разные.

Оценку 10 из 10 получать всегда приятно, а критику - менее приятно (но очень полезно!!). Поэтому и вам покажу, и прокомментирую.
Зачем? Чтобы не создавать ложных ожиданий от Практикума.

Итак, давайте посмотрим, чего не хватило автору второго отзыва.
🟡Цельности и "верхнеуровневого" понимания устройства конфигурации.

И правда, такую задачу Практикум не решит...
Надо ли понимать как устроена конфигурация, смотреть на доработку "сверху" и понимать, на что она может повлиять?
Конечно, да.

👉 Плохие новости: для этого нужна практика (много практики) и насмотренность. Курс - это только первые шаги.
👉 Хорошие новости: на позиции джуна задачи, скорее всего, вам будут приходить после того, как над ними поработал аналитик / опытный техлид. Принимать архитектурные решения, которые могут "все сломать", вам и не дадут вот так сразу.

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


Получилось много слов, вторую часть отзыва прокомментирую завтра. Не переключайтесь.

👉Прочитать больше отзывов для того, чтобы принять взвешенное решение
👍6