Е.БУДНИ программиста 1С | Роман Чумадин
5.29K subscribers
149 photos
47 videos
3 files
223 links
Ежедневные будни программиста 1С - это канал с реальными задачами с работы, с собеседований, повседневные хитрости, подборки и гайды. Подойдет для начинающих и опытных

Реклама через автора: @chum1roma
или https://telega.in/c/e_budni_programmer
Download Telegram
РУБРИКА «ЧёПоСтандартам»
Работа в разных часовых поясах

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

2.1. Во всех серверных процедурах и функциях вместо функции ТекущаяДата, которая возвращает дату и время серверного компьютера, следует использовать функцию ТекущаяДатаСеанса, которая приводит время сервера к часовому поясу пользовательского сеанса.


Надо отметить, что это в серверных модулях.
С клиентом все веселее, ведь пользователь может вообще любую дату у себя поставить на компьютере. Если кратко, решается функцией БСП - ОбщегоНазначенияКлиент.ДатаСеанса().
И на эту тему есть хорошая статья на ИС.

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам
20👍174
Новость для тех, кто пропустил в сторис

В этом году будет стенд блогеров 1С на конференции Инфостарт.
Мы объединились группой блогеров, пришли к Инфостарту с идеей о данном стенде и организаторы нас поддержали. И это очень крутая новость.
Пэтому если кто-то захочет пообщаться со мной или другими блогерами на конференции, не нужно будет вылавливать нас между залами)
Стенд должен быть на карте мероприятия, поэтому, думаю, не потеряете. Кому интересно, подходите, пообщаемся!

До конференции 17 дней.

#ЕБ_МыслиЗаметки
🔥14👍9
РУБРИКА «ЧёПоСтандартам»
Массовая конкатенация строк

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

#std782

При массовых(*) операциях конкатенации строк следует использовать методы платформы СтрРазделить и СтрСоединить.
...
следует ориентироваться на 1000 операций конкатенации строк и более (эта величина также может быть еще меньше при увеличении длин строк: чем строки длиннее, тем операции выполняются дольше)


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

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам
🔥14👍6👌4
Стрим в ближайший вторник — Разбор заметок + ответы на вопросы по 1С

Содержание стрима:

🔸 Разбираем мои новые заметки за неделю, которые я сохраняю в отдельном канале Е.Б.LIST
🔸 Стандартный формат ответы на вопросы по сфере 1С (технические, по развитию и т.п.)
🔸 Совместная работа. Эта часть пока на паузе

➡️ Ссылка на трансляцию в VK Live, а также в YouTube ⬅️

Расписание: один раз в месяц, во вторник в 20:00 по МСК.
Когда: дата сообщается заранее. Ближайшая - 30 сентября.
Продолжительность 10-60 минут, в зависимости от контента и количества ваших вопросов.

🔴 Будет запись, если что, пиши вопросы под этим постом!

#ЕБ_РегулярныеСтримы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Обо мне. Мотоциклы

Как-то этим летом стало "скучно" (хотя дел то было полно) и я подумал не открыть ли мне в правах категорию А (мотоциклы) и я пошел обучаться.

К мотоциклам всегда была некая тяга и когда-то лет 10 назад у меня даже был мотоцикл Jawa. Но то было только по выходным, условно "на даче". Фото реальное, мое)
Но до получения прав и покупки мотоцикла пока дело более не доходило.

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

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

Из заметок про мото:
- мир мото - совершенно другой и огромный, как по видам мотоциклов, по экипировке, так и по отношению к вождению и его стилю;
- правильно водить мотоцикл физически довольно сложно. Первые дни болели все мышцы, как после хорошей тренировки в зале;
- Краснодар по длительности сезона отлично подходит для мото. Тут даже сдача экзамена круглый год (если нет льда на площадке);
- экипировка очень важна! Если довелось сесть за мотоцикл, позаботьтесь об экипировке. К сожалению, не во всех мотошколах с этим ОК;
- получение прав ≠ умение водить)

А как вы относитесь к мотоциклам, с точки зрения вождения? (за рулём машины они всем мешают, конечно же)
Пишите в комментариях 💬

#ЕБ_ОбоМне
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥94💊3
Стрим через 1 час — Разбор заметок + ответы на вопросы по 1С

Содержание стрима:

🔸 Разбираем мои новые заметки за неделю, которые я сохраняю в отдельном канале Е.Б.LIST
🔸 Стандартный формат ответы на вопросы по сфере 1С (технические, по развитию и т.п.)
🔸 Совместная работа. Эта часть пока на паузе

➡️ Ссылка на трансляцию в VK Live, а также в YouTube ⬅️

Когда: сегодня в 20:00. по МСК
Продолжительность 10-60 минут, в зависимости от контента и количества ваших вопросов.

🔴 Будет запись, если что, пиши вопросы под этим постом!

#ЕБ_РегулярныеСтримы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4🆒2
ТОП 7 ошибок в запросах по версии стандартов 1С

РУБРИКА «ЧёПоСтандартам»

Типичные причины неоптимальной работы запросов и методы оптимизации

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

Итак, вот ТОП 7️⃣ причин неоптимальной работы запросов (с кратким решением проблемы):

1️⃣ Соединения с подзапросами - использовать временные таблицы;

2️⃣ Соединения с виртуальными таблицами - добавить результат запроса к виртуальной таблице во временную таблицу;

3️⃣ Несоответствие индексов и условий запроса - проверить условие запроса и имеющиеся индексы по метаданным;

4️⃣ Использование логического ИЛИ в условиях секции ГДЕ - разделить запрос на два и объединить результаты;
p.s. для меня когда-то было прям открытие, когда запрос начал работать в 10-ки раз быстрее)

5️⃣ Использование подзапросов в условии соединения - использовать временные таблица;

6️⃣ Получение данных через точку от полей составного типа - использовать функцию ВЫРАЗИТЬ();
p.s. тут надо быть внимательнее, так как иногда это может и не дать результата, если выбираются значения всех типов из реквизита составного типа.

7️⃣ Фильтрация виртуальных таблиц без использования параметров - перенести условие из секции ГДЕ в параметры виртуальной таблицы;
p.s. тут без комментариев, это в целом вопрос к знанию языка запросов)

📢 И конечно же, тут нужно быть внимательнее и проверять, так как в конкретно вашем случае, на вашей СУБД и т.п., ситуация может быть иной, но учитывать эти ошибки возможные точно нужно всегда!

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14114🔥3👌3
Путь на конференции

На этой неделе будет сразу 2 конференции! И по таймингам должен попасть на обе.
1. КУНГ-ФУ КОНФА - 8 октября в 19:00
2. ИНФОСТАРТ Tech Ivent 2025 - 9-11 октября

Уже в пути) Вновь поездом, так как билеты закупались заранее, до того, как в Краснодаре открыли аэропорт)

Для тех кто давно не ездил на поездах, уже во всю ездят двухэтажные поезда)
По высоте салона они сильно проигрывают, конечно же, но в остальном не отличаются.
На удивление, даже есть WiFi местами с интернетом.
14🔥11👏6
Случай с нейросетью (deepseek)

Техническими подробностями делиться не буду, слишком долго рассказывать контекст, попробую передать суть.
Поступила задача написать разовую обработку, которую достаточно хорошо расписал аналитик (за что ему отдельное спасибо).

Обработка разовая, думаю дай попробую дать эту задачу нейросети. Она выкатила ответ, но показалось неоптимальным. Начал делать все с нуля сам.
Что в итоге: я не учел одно условие, которое не было прописано явно, а нейросеть это учла)

Конечно, нейросеть предложила не 100% рабочий код и не учла другие неявные условия, но если бы я в тот момент чуть больше вник в код, который она предложила, то сэкономил бы себе пару часов)

#ЕБ_МыслиЗаметки
22👍164
Итоги по конференциям

Да, уже почти неделя прошла, и только сегодня я добрался до постов)

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

На Инфостарте был целый стенд блогеров 1С! Наш стенд! Стенд с ребятами, с которыми удалось сделать что-то поистине уникальное и крутое:
🔹 организовать стенд;
🔹 бот для викторины;
🔹 розыгрыши;
🔹 активность на стенде.

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

Во время совместной работы было очень приятно работать с такими креативными и смышленными ребятами!

Год назад, когда мне пришла идея стенда, я думал о маленькой стойке. Потом с Дмитрием Котовым (у него, кстати, выходят отличные дайджесты новостей по 1С) мы развили тему до блогерского стенда, привлекли ребят и получилось то, что получилось.
Кто знает во что будет трансформироваться идея блогерских стендов дальше?! Кстати, пишите идеи в комментариях!💬

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

Так же хочу сказать отдельное спасибо вам, подписчикам, которые подходили со словами благодарности за контент, за интересное знакомство и общение!
Поддержка каждого из вас очень ценна для меня и мотивирует на новые идеи и контент!

#ЕБ_МыслиЗаметки
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2110🔥8🤩1
РУБРИКА «ГаджетыПрограммиста»

Всем привет! Этот канал - Е.Б.LIST (1С | Роман Чумадин) изначально предполагался чисто как заметки с других каналов.
Но не так давно я подумал, что было бы здорово тут делиться ещё и гаджетами, которые в тот или иной момент мне очень помогли, или были просто прикольными.

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

Сегодняшний гаджет - это подставка для ноутбука. Складная, легкая, прочная, переносная и долговечная.
Мне она зашла больше, чем с вентиляторами (в основном они шумят, хлипкие и такую подставку не возьмешь с собой).

Как оказалось, когда мы с блогерами выбирали призы для стенда, такая подставка есть у большинства. Это меня в свою очередь и натолкнуло на данную рубрику, так как может кто-то не знает о существовании каких-то прикольных гаджетов.

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

СсылкаНаФиолетовыйМП, СсылкаНаСинийМП

p.s. пост не является рекламой, а ссылки на товары тут только для удобства открыть посмотреть)

Цена: 300-400 р.
Рекомендую всегда смотреть похожие, так как бывает можно найти повыгоднее.

#ЕБ_ГаджетыПрограммиста
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥51
А где стандарты по расширениям!?

РУБРИКА «ЧёПоСтандартам»


Сегодня не будет ссылки на стандарты 1С, потому что я их не нашел. Может плохо искал?
Подскажите, кто-то видел стандарты по расширениям 1С?

Если же их все-таки нет, то хотелось бы озвучить свой стандарт, который я пропагандирую)

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


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

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

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

#ЧёПоСтандартам
👍21🔥43
Стрим в ближайший вторник — Разбор заметок + ответы на вопросы по 1С

Содержание стрима:

🔸 Разбираем мои новые заметки за неделю, которые я сохраняю в отдельном канале Е.Б.LIST
🔸 Стандартный формат ответы на вопросы по сфере 1С (технические, по развитию и т.п.)
🔸 Совместная работа. Эта часть пока на паузе

➡️ Ссылка на трансляцию в VK Live, а также в YouTube ⬅️

Расписание: один раз в месяц, во вторник в 20:00 по МСК.
Когда: дата сообщается заранее (обычно это вторник последней недели месяца).
Ближайшая - 28 октября.
Продолжительность 10-60 минут, в зависимости от контента и количества ваших вопросов.

🔴 Будет запись, если что, пиши вопросы под этим постом!

#ЕБ_РегулярныеСтримы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня короткая рекомендация на канал Дмитрия Котова | 1С Заметки ✔️

1Сник пишет для 1Сников: дайджесты новостей, стримы, мемы, инсайды, проводит митапы и многое другое.

Залетайте 🔗по ссылке на канал, и сердечко каждому за подписаться ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤡4🔥3
Стрим через 1 час — Разбор заметок + ответы на вопросы по 1С

Содержание стрима:

🔸 Разбираем мои новые заметки за неделю, которые я сохраняю в отдельном канале Е.Б.LIST
🔸 Стандартный формат ответы на вопросы по сфере 1С (технические, по развитию и т.п.)
🔸 Совместная работа. Эта часть пока на паузе

➡️ Ссылка на трансляцию в VK Live, а также в YouTube ⬅️

Когда: сегодня в 20:00. по МСК
Продолжительность 10-60 минут, в зависимости от контента и количества ваших вопросов.

🔴 Будет запись, если что, пиши вопросы под этим постом!

#ЕБ_РегулярныеСтримы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍742
РУБРИКА «ЧёПоСтандартам»
Получение предопределенных значений на клиенте
и
Использование предопределенных элементов

Как получить предопределенный элемент? Довольно просто, учитывая, что есть самая простая конструкция:
.... = Справочники.НашСправочник.НашПредопределенныйэлемент;

НО, новички могут забывать про работу на клиенте:

#std443

Для получения значения ссылок на предопределенные элементы справочников, планов видов характеристик, планов счетов, планов видов расчета, ссылки на значения перечислений, системных перечислений и точек маршрута бизнес-процессов в коде, выполняемом в клиентском коде (тонкий клиент, веб-клиент), где объекты типа СправочникМенеджер.<ИмяСправочника>, ПеречислениеМенеджер.<ИмяПеречисления> и т.п. не доступны, предназначена функция глобального контекста ПредопределенноеЗначение.
Например:

ЮрФизЛицо = ПредопределенноеЗначение("Перечисление.ЮридическоеФизическоеЛицо.ЮридическоеЛицо");


и про то, что хоть элемент может быть предопределенным, его могли и удалить в базе:

#std697

При использовании в конфигурации Библиотеки стандартных подсистем (БСП) версии 2.1.4 и выше рекомендуется использовать функцию ПредопределенныйЭлемент общего модуля ОбщегоНазначения или ОбщегоНазначенияКлиент, которая возвращает Неопределено для несуществующих в ИБ предопределенных элементов:

... = ОбщегоНазначенияКлиент.ПредопределенныйЭлемент("ПланВидовРасчета.Начисления.ОкладПоЧасам");


P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам
👍303