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

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

Сегодня вроде бы банальный стандарт, но только для опытных. Если вы новичок, рекомендую зазубрить)
#std447

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

2. Объект РегистрСведенийМенеджерЗаписи следует применять только тогда, когда выполнение операций с регистром сведений требует использования отбора одновременно по всем измерениям.
...

3. В остальных случаях следует использовать объект РегистрСведенийНаборЗаписей.
...


Опытным предлагаю поделиться историями, связанными с программной записью РС, а именно, к каким ошибкам/крахам это привело) 💬

🔝 В начале моей карьеры, незнание особенностей приводило к двум вещам: замедлению работы и/или полному очищению регистра)
Благо, были копии!

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам
Please open Telegram to view this post
VIEW IN TELEGRAM
👍195
Личная заметка про мошенничество.

Всем привет! Когда-то был такой пост, но хочу дополнить.
Речь про телефонное мошенничество. По-хорошему сразу отсеивать такие звонки и не продолжать общение, но может так получится, что позвонят они в «удачное» время и когда вы в «нужном» месте. Так я минут 20 пытался понять, мошенники или нет мне позвонили из гос.органов. Потому что до момента начала мошеннической схемы идет хороший «прогрев»)

Что в моем случае дало понять, что это мошенники:
🔹 1. Неправильное произношение местных улиц (не то ударение). Тут надо сказать, это может быть нормой, так как я живу в Краснодаре, а это Кубань и тут присутствует разное произношение одних и тех же слов).
🔹 2. Непривычные разговорные слова для данной местности. Мелочь, но дополняет совокупность остальных факторов.
🔹 3. Ошибка в графике работы места, куда вас приглашают (да, мошенники уже и зовут на встречу, но это в «будущем»). Можно выяснить параллельно разговору, посмотрев график работы. Звонить могут, тоже, кстати, в выходной, что странно.
🔹 4. Посмотреть реакцию на вопрос в лоб «а вдруг вы мошенник». Кто же вам признается… Но нормальные люди скажут куда вы сами можете позвонить, чтобы дозвониться до них (номер телефона в этом случае вам нужно искать тоже самим, а не записывать под диктовку)
🔹 5. Кульминация разговора заключалась в том, что «а теперь, зайдите на сайт …» Ну и резкий негатив при отказе от этих действий.

Суть поста в том, что нужно задумываться и анализировать ситуацию до последнего (в рамках разумного))

💬 Пишите в комментариях, какие признаки мошенничества выявляли вы, вдруг кому-то пригодится

#ЕБ_МыслиЗаметки
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍11🔥8
Изменения по графику постов и стримов!

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

Но хочу внести ряд изменений:

🔹 1. Убрать мемы по пятницам. Для этого есть отдельный канал в моем соавторстве с Дмитрием Котовым - Жёлтая ржомба (1С Мемы), кому интересны мемы, я думаю, перешли туда уже давно.

🔹 2. Еженедельные стримы проходят в режим ежемесячные стримы)
Тут за три прошедших месяца я пробовал разные форматы, какие-то не зашли вам, какие-то не подходят мне.
Но изначальный формат "Ответы на вопросы" мне кажется всё-таки полезный и судя по первым стримам - вам тоже. Поэтому именно на эту тему и будут ежемесячные стримы. Так как они будут раз в месяц, то уведомлять буду о них за 3 дня и в день проведения.

🔹 3. Другие темы стримов оставлю, но в хаотичном режиме. Есть подготовленная тема, значит делаю стрим по ней.

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

Личные заметки оставляем, рубрику "ЧёПоСтандартам" тоже.
В планах вернуться к разносторонним постам технической тематики, а то стало редкостью)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1254😎2❤‍🔥1
РУБРИКА «ЧёПоСтандартам»
Проверка на пустой результат выполнения запроса

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

#std447

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

Неправильно:

Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;

Правильно:

Возврат НЕ Запрос.Выполнить().Пустой()

...


Вопрос для опытных, встречали ли какие-то извращения по поводу проверки результата запроса на своей практике? Делитесь в комментариях 💬

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2264
РУБРИКА «ЧёПоСтандартам»
Нумерация редакций и версий

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

Чем ещё полезен данный стандарт, что когда вы впервые столкнетесь с тем, что нужно поднять версию типовой конфигурации, то нужно знать какой именно раздел можно увеличить без вреда - последний (4-ый) - номер сборки.
А многие могут и не задумываться почему, например, бухгалтерия 3.0.ХХ.ХХ, почему УТ 11.5.ХХ.ХХ и т.д. а в стандарте все описано)

#std483

{Р|РР}.{П|ПП}.{З|ЗЗ}.{С|СС}

где:
Р - номер редакции (минимум 1 цифра, может занимать и больше разрядов);
П - номер подредакции (минимум 1 цифра, может занимать и больше разрядов);
З - номер версии (минимум 1 цифра, может занимать и больше разрядов);
С - номер сборки (минимум 1 цифра, может занимать и больше разрядов).

Пример:

1.6.4.7 – 7-я сборка, 4-ой версии, редакции 1.6


Так же для понимания, стоит и глянуть связанный стандарт, который описывает что такое версия, а что такое редакция: Общие сведения о выпуске конфигураций - #std484

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам
👍177❤‍🔥3
1 сентября - Первый день отпуска

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

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

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

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

А вы как переносите частую смену работы?💬

#ЕБ_МыслиЗаметки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍189❤‍🔥2
В преддверии конференции Инфостарт

В этом году я пока ещё снова без доклада) Но от компании я все-таки еду на Tech Event 2025.

Программа конференции, если что уже готова.

Для тех же, кто ещё не купил билет, не успел или т.п. идет флешмоб с аватарками в ретрофутуристичном стиле, рекомендую поучаствовать, вдруг повезет выиграть билет)
Все подробности в официальном посте тут.
Кратко: нужно зарегаться в ChatGPT, отправить ему фото и промт.

А в посте мой результат, делитесь своим результатом после участия во флешмобе в комментариях на этом канале тоже)
👍17👏6🤔3
Нужен совет и подсказка!

В очередной раз обратился ко мне подписчик за помощью - добавить в макет печать и подпись.
За основу использовалась вот эта статья.

Конфигурация Розница 2.3, доработка типового макета через расширение (сам макет и процедура формирования).
Файлы печати и подписи решено было сохранить в справочнике файлы.

И все бы ничего, но при печати картинка не отображается. Просто пустая.
Отладка попадает в доработанный код, картинка-файл подбирается запросом и все отрабатывает.

Попытки и возможные причины, которые проверялись:
- имя картинки только латиницей;
- делать не через объект Картинка, а через ПараметрКартинки у ячейки табдока;
- уместить картинку в макете в одну ячейку (чтобы не выходило ни за область печати, ни за область ячейки);
- чистка КЕШа (ну а почему бы и нет));
- были мысли про формат файла, но пробовали разные файлы, и они отрабатывали в типовой более новой версии конфигурации и если их добавить в самом макете.

Возможно дело в том, что картинка как-то не так хранится в справочнике Файлы... либо в чем-то ещё.

Постоянного доступа к проблемному "месту" у меня нет, поэтому жду в комментариях гипотетические решения данной проблемы) 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔124👍4👨‍💻2
Чем закончилась борьба с картинкой?!

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

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

Пока решением стало внести правки в основную конфигурацию (там уже были правки)

С чем связано такое поведение непонятно, возможно глюк платформы.
Платформа 8.3.27.1559, а вот у расширения совместимость 8.3.12, возможно причина как раз в этом...

Если вдруг сталкивались или есть идеи, тоже пишите в комментариях 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍7🤯5😁3
РУБРИКА «ЧёПоСтандартам»
Работа в разных часовых поясах

Далеко не все программисты, особенно в начале своей карьеры, помнят и задумываются про часовые пояса, а это очень важный момент.
#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