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

Автор - Роман Чумадин
@chum1roma
Купить рекламу: https://telega.in/c/e_budni_programmer
Download Telegram
Итоги розыгрыша 🔥

Всем привет! Рад сообщить победителей розыгрыша из прошлого поста:

🔝 «На страже ваших будней» (Наиля Смолина) - в номинации лучший.

И 4 случайных победителя:

⚫️ «В будни будь с Е.БУДНИ» (Александр Серов)
⚫️ «Программист 1С, отдыхая не в будни - читай Е.Будни!» (Александр)
⚫️ «Незабываемые E.БУДНИ Программиста 1С» (Dmitriy)
⚫️ «Йо-йо-йо, какая у вас платформа, 8-1, 8-2 или 8-3, Е.Будни жжёт, чё-кого, 1С-ник, жди "объект не найден" (Dirk Jently Evil Morty Jake Peralta Tod Zus Pines Stan Bill Nola Lucas Hood)

Всем победителям ключи высланы!

Спасибо тем, кто поучаствовал в розыгрыше!
Вы написали довольно большое количество предложений к слогану канала, что для меня, конечно же очень приятно)
Please open Telegram to view this post
VIEW IN TELEGRAM
Варианты логирования кода 🔂

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

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

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

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

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


А обсудить наиболее интересный вариант, или тот который используете вы, можно в комментариях 💬


> > > Случайный пост < < <

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔝 7️⃣ ИНСТРУМЕНТОВ ПРОГРАММИСТА 1С

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

Представляю свой ТОП 7 таких инструментов:

🔸 1. Консоль запросов - супергерой среди инструментов, позволяющий сразу решить некоторые задачи. Лучше выбрать с возможностью вывода временных таблиц;
💯 На инфостарте есть отличная статья, где собрали все консоли в одном месте!
🔸 2. Консоль отчётов СКД - поможет понять в чем же причина разного результата между консолью и результатом отчёта;
🔸 3. Универсальный редактор реквизитов - позволит быстро посмотреть чем заполнен реквизит и/или его отредактировать;
🔸 4. Групповая обработка реквизитов - стандартная обработка, но не менее полезная;
🔸 5. Выгрузка загрузка данных XML - типовая обработка с ИТС, позволяет сохранить резервную копию объекта либо быстро обменяться данными между однотипными конфигурациями;
🔸 6. Шаблоны отчётов СКД для обычных и управляемых форм - помогут быстрее разрабатывать отчёты, а на старте их будет много;
🔸 7. Обработка чтения табличного документа - как шаблон важных кусочков кода, да и задача по чтению какого-нибудь Excel файла достаточно частая.

🤯 На просторах интернета этих инструментов полно, можете выбрать на свой вкус.

Что с ними делать?

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

------------
Ссылки на часть моих инструментов:
🔹 Консоль запросов для управляемых форм 8.3
🔹 Универсальный редактор реквизитов Управляемый + Обычный интерфейс v 2.4
🔹 Обработка чтения табличного документа (УФ)

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

> > > Случайный пост < < <

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯 Всем привет!

Хотел поделиться новостью - запустил YouTube канал Е.Будни программиста 1С!
На данный момент там есть несколько коротких (shorts) видео мем-формата. Но в планах есть как технические так и разговорные видео.
Если вы активный пользователь сети YouTube, и даже если не активный), буду рад поддержке в любом виде: лайк, подписка, комментарий или репост)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔝 Миграция между СУБД. Утилита ibcmd

На работе часто приходится обновлять копии баз, рабочие оригиналы которых не так давно переехали с сервера под управлением СУБД MS SQL на Postgre SQL. Для создания копий ежедневно обновляется ещё один сервер под управление PostgreSQL. И делал я это через ДТшинк… Пока мне не показали официальную штуку от 1С, позволяющую делать это в разы проще.

Эта штука – утилита ibcmd
. Устанавливается вместе с кластером серверов 1С. Позволяет администрировать базу, создавать её, выгружать в ДТ или файлы.
Через неё можно было выгружать и загружать ДТшник уже относительно давно, но именно с версии платформы 23, появилась возможность делать это без промежуточной выгрузки в файл .dt, а это в разы ускоряет время выполнения. Например, раньше базу в районе 100 гигабайт выгрузить и загрузить у меня занимало 3,5 часа, сейчас 35 минут. И данная утилита позволяет переносить базы между разными СУБД, что тоже очень удобно.

🤯 Вот для примера как выглядит скрипт для командной строки Windows для переноса базы с MS SQL и создания на Postgre SQL:
ibcmd infobase replicate --data=ВРЕМЕННОЕ_МЕСТОПОЛОЖЕНИЕ --dbms=MSSQLServer --database-server=ИМЯ_СЕРВЕРА_ИСТОЧНИКА --database-name=ИМЯ_БАЗЫ --database-user=ИМЯ_ПОЛЬЗОВАТЕЛЯ_СЕРВЕРА--database-password=ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_СЕРВЕРА --target-dbms=PostgreSQL --target-database-server=ИМЯ_СЕРВЕРА_ПРИЕМНИКА --target-database-name=ИМЯ_БАЗЫ --target-database-user=ИМЯ_ПОЛЬЗОВАТЕЛЯ_СЕРВЕРА --target-database-password=ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_СЕРВЕРА --target-create-database


Выполнять нужно перейдя в каталог платформы командой:
cd C:\Program Files\1cv8\8.3.23.1865\bin


Более подробно про утилиту и её параметры можно почитать на ИТС.

> > > Случайный пост < < <

#ЕБ_Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
Про менторство 🤯

Всем привет! Обо мне и канале вы можете узнать в этом закреплённом сообщении.

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

Почему это актуально?
Нет возможности спросить у коллег по разным причинам, либо они уже посылают подальше;
Не хочется показаться некомпетентным перед знакомыми;
Нет времени самому изучать какой-то новый механизм;
И самая частая ситуация даже у опытных разработчиков «да бл…, должно же работать», тут выручает взгляд со стороны.

А есть примеры?
Да, вот некоторые из них, в формате проблема / решение:
⚫️ Не добавляются параметры в типовой отчет на СКД / Сделали через предопределяемый модуль.
⚫️ Считывание файла на сервере из веб-клиента / Добавление расширением регистра для отложенного чтения файлов
⚫️ Требуется учет спецификаций отличный от типового / Составлена архитектура для дальнейшей доработки конфигурации через расширение
⚫️ Не отрабатывает обмен через web-сервис 1С / При проверке параметров web-сервиса выявили неверную настройку

Это платно?
Конечно да, так как любая работа должна оплачиваться!
1 час консультации стоит 5 000 рублей
В эту стоимость входит не только час консультации, но и предварительная подготовка. Бывает решение находится до консультации, а на консультации мы просто обсуждаем и проверяем работоспособность вместе.

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

-----------

🤯 Мой профиль можно найти на разных площадках, но для вашего удобства, я запустил бота с «горячей» кнопкой, по которой вы сразу можете описать свою проблему и чего хотите от консультации со мной.
⬇️⬇️⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
🕓 Выполнение внешней обработки по регламентному заданию

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

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

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

🔝 Решение:

Создаем внешнюю обработку, в которой прописываем в функции СведенияОВнешнейОбработке команду с типом использования - «ВызовСерверногоМетода»;
Добавляем процедуру ВыполнитьКоманду;
Регистрируем нашу внешнюю обработку как дополнительную в информационной базе;
Устанавливаем расписание;

⚫️ Готово!

----------------
🤯 Из личного опыта, могу сказать точно, что это полезный механизм, так как это бывает и быстрее реализовать и проще поддерживать, чем обычное регламентное задание. Механизм так же может пригодиться, когда в базе режим совместимости с платформой ниже 8.3.23 (в нем нет возможности сделать регламентное задание через расширение).
----------------
> > > Случайный пост < < <

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔝 Про канал с видео-мемами из области 1С и около того

Всем привет!

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

Поэтому возникла идея, и мы с Дмитрием Котовым (ссылка на его канал) решили объединить свои мемы в одном канале - Жёлтая ржомба (1С:Мемы)
Концепция канала строится именно на видео-мемах. Теперь мои, и не только мои, мемы будут выходить на другом канале, и иногда я буду репостить их в этот канал.

⬇️ Кому заходят видео-мемы, то welcome на наш с Дмитрием совместный канал ⬇️

🔽🔽🔽
Жёлтая ржомба (1С:Мемы)
🔼🔼🔼
Please open Telegram to view this post
VIEW IN TELEGRAM
🕯 Поиск места на диске

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

WinDirStat – средство просмотра статистики использования диска.

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

❗️ Примеры из работы:
1. Поиск места на сервере где лежат копии баз. Сколько бы места не было, рано или поздно все равно кончается, приходят новые разработчики и т.п., приходится выискивать)
2. Поиск вредителей, которые хранят тяжелые файлы всякие CF и DT файлы или выгрузки данных у себя на рабочем столе на сервере.

🤯 Сам также использую эту программу на личном ПК, когда навожу порядок.

А вы много храните ненужных тяжелых файлов? Пишите в комментариях 💬

---------------
> > > Случайный пост < < <

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
&ИзменениеИКонтроль в расширениях

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

Механизм расширений постоянно развивается, за этим стоит следить, так как никогда не знаешь в какой момент это тебе пригодится.

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

С версии платформы 1С 8.3.15 появилась возможность заменять код основной конфигурации в режиме «Вызывать вместо (с контролем)», что добавляет аннотацию «&ИзменениеИКонтроль». Это позволяет при проверке применимости расширения удостовериться, что код основной конфигурации после обновления не изменился относительно той версии Процедуры/Функции которая была до внесения изменений.

При данной аннотации необходимо применять специальные вставки:
🔸 Для удаления участков кода: #Удаление и #КонецУдаления
🔸 Для добавления участков кода: #Вставка и #КонецВставки

Процесс работы данной аннотации схож с аннотацией «Вместо», но дополняется контролем. При вызове проверки применения можно даже сразу и восстановить изменения (доступно при использовании сторонних программ сравнения объединения, можно почитать в прошлом посте).

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

---------------
> > > Случайный пост < < <

#ЕБ_Повседневность
This media is not supported in your browser
VIEW IN TELEGRAM
А вы уточняете детали у заказчика?

Ещё больше видео-мемов из мира 1С в канале Жёлтая ржомба (1С:Мемы)
ТОП 3 конференции по 1С

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

🔸 Зачем нам ходить на конференции?
- Расширять кругозор в используемых технологиях разработки/управления;
- Находить новых знакомых;
- Перенимать чужой опыт;
- Отвлекаться от своих рутинных дел)

🔸 Но можно ещё и выступать на таких конференция. Зачем?
- Это будет для вас личный челлендж, преодолев который будет внутренняя гордость;
- Вы получите опыт публичных выступлений;
- Как правило, вам придется изучить более досконально ту тему, с которой вы выступаете, а то и смежные;
- Возможность заявить о себе, повысить свой статус;
- Быть может получить крутой оффер по трудоустройству;
Поэтому если есть возможность не только посетить, но и выступить – не отказывайтесь!

Итак, вот мой 🔝3️⃣ конференций по 1С

🔷 Онлайн-конференция для 1С-разработчиков 1C:DevCon
Официально, бесплатно, онлайн и уже совсем скоро 13-14 апреля!

🔷 1C-RarusTechDay
Проходит с 2020 года, но на данный момент официальная информация о том, будет она проходить или нет в 2024 году пока отсутствует. Обычно она проходит в июле, поэтому время пока есть)

🔷 INFOSTART TECH EVENT 2024
На данный момент она расширилась на 2 конференции:
Для аналитиков: с 30 мая по 1 июня
Для всех сразу: с 10 по 12 октября

📢 Если вы знаете другие классные конференции, то пишите о них в комментариях 💬

🤯 Мне запомнилась моя первая большая конференция – это DUMP конференция, которая проходит на Урале. Для расширения кругозора и общения с ИТ комьюнити в целом, самое то. В этом году будет 26 апреля.

К событиям из мира 1С я бы отнес ещё возможности для студентов:
🔸 Различные олимпиады и соревнования по 1С. В этом году уже прошли, но на будущий год можно начинать готовиться)
🔸 День 1С:Карьеры – ознакомительное мероприятие, но можно бесплатно попробовать себя на экзамене Профессионал.

#ЕБ_Конференции
Please open Telegram to view this post
VIEW IN TELEGRAM
ПроверкаРегламентныхЗаданийВЗаданномПериоде.epf
17.3 KB
Повседневная задача – обработка для всех

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

Проверка регламентных заданий в заданном периоде

🔝 Если она вам принесла пользу, и вы хотите поддержать, то можете скачать за стартмани, но для моих подписчиков она доступна совершенно бесплатно)

> > > Случайный пост < < <

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Шаблоны текста 1С (комментарии)

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

🔝 Для этого подходит типовой механизм платформы 1С – Шаблоны текста.

Есть стандартные шаблоны, например, для создания конструкции «Если». Чтобы его вызвать необходимо ввести строку «Если» и нажать горячие клавиши Ctrl + Q. После чего будет предложено ввести условие и автоматически создастся конструкция на встроенном языке 1С.

----------------

Используя этот механизм, можно создать свои шаблоны текста!
🤯 Чаще всего я использую шаблоны как раз для комментариев.

Для начала блока ввожу строку "/+" и горячие клавиши Ctrl + Q, добавляется строка:

// ++ e-mail / №задачи / 10.04.2023

Шаблоном для этой строки является следующая строка:

// ++ e-mail / №задачи / <?"", ДатаВремя, "ДФ=dd.MM.yyyy"><?>

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

----------------

📢 На практике я сталкивался только с одним исключением, когда не надо обрамлять код комментариями - при разработке в EDT в связке с GIT. Там в этом такой необходимости нет (EDT позволяет сразу увидеть историю внесения изменений по конкретной строке), если дело не касается типового кода (той части конфигурации, которая на поддержке).

----------------
> > > Случайный пост < < <
----------------

#ЕБ_Повседневность
#ЕБ_Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Типичная встреча с заказчиком)
У кого так же бывает, пишите в комментариях 💬

Ещё больше видео-мемов
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет! Довольно часто мне предлагают сделать совместный курс на разные тематики, но как правило я отказываюсь по разным причинам.
Но это все отговорки. Если вам реально хотелось бы увидеть курс от меня, то проголосуйте в этом опросе!
Anonymous Poll
21%
Пили. Новый курс, новый взгляд.
20%
Хотим только курсов в виде практики
12%
Нужны курсы для начинающих
27%
Нужны курсы для junior'ов и перехода в midl'ов
33%
Нужны курсы для более опытных midl'ов
13%
Курсов хватает
1%
Свое мнение напишу в комментариях
♻️ Частота и процесс обновления рабочих баз

Если вы связаны непосредственно с организацией процесса обновления, то вам может пригодиться данный пост, чтобы узнать другие варианты.

На своей практике я работал с такими вариантами:

🔹 1. Самый распространенный - хаотично, надо обновили, не надо можем и забыть вообще. Актуально для небольших фирм, где практически нет доработок.

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

🔹 3. Каждый день в технический перерыв. Мой идеальный вариант, когда есть технологическое окно, например, в обед. Особенно хорошо, если обновление ещё и автоматическое.


Варианты как организовано технически обновление:

🔸 1. Рабочая база подключена напрямую к разработческому хранилищу (в случае работы через конфигуратор). По мне так это один из лучших вариантов с точки зрения "цены/качества". В основном в мелких фирмах.

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

🔸 2. Рабочая база обновляется через конфигурацию сравнением-объединением/загрузкой целиком.

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

🔸 4. Работа через EDT в связке с GIT. Тут подтягивается полноценный DevOps, все что можно автоматизируется и в целом отличный практически вариант. Но дорогой на старте.


📢 А с какой частотой и как у вас организовано обновление рабочих баз?

> > > Случайный пост < < <

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM