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

Автор - Роман Чумадин
@chum1roma
Купить рекламу: https://telega.in/c/e_budni_programmer
Download Telegram
Так видит меня нейросеть. Мысли и заметки с конференции!

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

🔸 Было несколько докладов о нашумевшем использовании нейросетей в работе.
Варианты:
- Для автоматизации поддержки, то есть нейросеть обучили инструкциям и она отвечает на вопросы пользователей.
- Для написания (используя вашу базу) или описания (что делает) кода через Copilot.
Тема очень нашумевшая и интересная, но большинство сервисов не позволяют либо внести оплату, либо даже просто использовать сервисы на территории России.

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

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

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

А на фото - это переделанная моя фотография, которую делали на входе конференции)

Случайный пост > > >
ХЕШ строка

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔝 3 сервисов по тестированию 1С навыков и знаний

🔸 1. 1Skiller от Programming Store. Есть 2 варианта тестов: платный и бесплатный. Бесплатный чем-то похож на профессионала от 1С, но вопросы больше по специалисту 1С. В платной версии нет вариантов ответа.
*В бесплатной версии без подготовки набрал 81 из 100 баллов, если пройдете, пишите результаты в комментарии.

🔸 2. 1С-ТЕСТЦЕНТР от компании КРОН совместно с фирмой 1С. Платный, но слышал положительные отзывы. Если кто проходил, поделитесь опытом.

🔸 3. 1С:Учебное тестирование. Подходит для новичков, для проверки своих навыков перед экзаменом 1С:Профессионал.

Легендарный 1С:Профессионал. Не включен в ТОП 3, так как не всегда доступен онлайн.

Ранее был отличный, на мой взгляд, сервис где было тестирование по 1С - это сервис от компании Retratech. Но к сожалению сайт больше не работает и связаться с авторами не удалось. Если кто-то проходил и помнит результаты, жду в комментариях 💬

---------------
Лично я считаю все тесты достаточно условными. Так как с чем-то можно не работать, что-то забывается, но при этом ищется за секунды во время работы и т.п.
А как вы относитесь к тестам по навыкам работы с 1С

---------------
Случайный пост > > >
ТОП 3 сборника задач по 1С

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Публикация своих обработок и использование БСП

Так как работаю в найме, у меня редко появляются решения для общего использования, но иногда все-таки появляются. Решил попробовать сервис 42clouds.com.

Несколько заметок по моментам, с которыми столкнулся, касаются больше применения БСП на практике, и могут пригодиться где-то ещё:

1. Первое с чем столкнулся, это работа дополнительной обработки в безопасном режиме. А моя обработка работает с файлами. Ранее не было необходимости работы в таком режиме, и даже не знал, как это обойти, а оказалось все просто. Нужно запросить разрешение при помощи общего модуля РаботаВБезопасномРежиме и соответствующей функции, например, в моем случае это РазрешениеНаИспользованиеКаталогаВременныхФайлов

Код запроса разрешения будет выглядеть следующим образом:
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина, "Сохранение данных декларации во временные файлы и последующее их чтение");


2. Сведения о внешней обработке. Раньше, чтобы добавить обработку как внешнюю, я использовал свой шаблон фикции СведенияОВнешнейОбработке, но для этого есть специальная функция в общем модуле ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке, которая сама создает нужную структуру и где остается просто переопределить нужные параметры обработки.

3. Нельзя обращаться к имени обработки напрямую из кода.
В моей обработки была дополнительная форма и открыть её простым способом не вышло - ОткрытьФорму("ВнешняяОбработки._ИмяОбработки_.Форма»)
Так как уникальное имя изменяется при работе через сервис.
Для решения данной проблемы нашел два решения:

- Вычислять имя формы из полного имени основной формы:
Лев(ЭтотОбъект.ИмяФормы, СтрНайти(ЭтотОбъект.ИмяФормы, ".", НаправлениеПоиска.СКонца)) + ИмяНужнойФормы


- Либо как советуют разработчики сервиса через ПолноеИмя() через Метаданные() в процедуре ПриСозданииНаСервере определить полное имя объекта для дальнейшего обращения к нему:
ПолноеИмяОбъекта = РеквизитФормыВЗначение("Объект").Метаданные().ПолноеИмя();

И далее в месте использования писать:
ПолноеИмяОбъекта + ".ЧтоНамТребуется"


-------------
Кто знает подобные сервисы, кроме Инфостарт, пишите в комментариях, соберу топ по таким сервисам и опишу их 💬
-------------

Случайный пост > > >
Оксфордская задача с собеседования 1С

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Развитие команды. Внутренний хакатон

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

⚫️ 1. Все просто повторяют своими руками, иногда с небольшими дополнениями;

⚫️ 2. Одна большая задача разбивается на всех по кусочкам;

Если же это только теория, то идет просто обсуждение по теме с ответами на вопросы.

Темы могут быть совершенно разными, не связанными с 1С, но как правило всё-таки технические.

Например, кто-то из команды дома изучает или использует другой язык программирования и рассказывает их отличие, так были хакатоны по Python, Go, C#. Если в рамках 1С, то были по модулям обмена, каким-то внутренним подсистемам, по инструментам разработчика и т.д.

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

Пишите в комментариях как вам такой формат и какие форматы совместного обучения проходят в вашей команде💬

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

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

Делюсь выжимкой с хакатона по работе с Postgre SQL, который готовил на той неделе.

Задача: считать данные из таблицы в базе на Postgre SQL сервере.

Чтобы подключиться к базе и увидеть её структуру, можно воспользоваться программой pgAdmin.
Она бесплатная и можно скачать с официального сайта.

Есть два основных варианта, с помощью которых можно считать данные через 1С:

- ADODB (COM объект)
- Внешние источники данных (объект платформы)

🔹Считать записи первым способом можно используя код из Листинга 1.

На выходе у нас есть подключение к базе, и мы можем делать что нам требуется (на что хватит прав). Можно работать через sql запросы, либо с объектами напрямую.

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

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

❗️ Важный нюанс!!! То подключение, которое мы выполнили в конфигураторе, не сохраняется.
Для того чтобы данный источник заработал в режиме 1С: Предприятие, необходимо либо в коде один раз задать параметры подключения (листинг 2), либо воспользоваться платформенной обработкой "Управление внешними источниками данных". ❗️

🔹 Особенности подключения ADODB:

Требуется драйвер OLEDB
Можем выполнять SQL запросы
Необходимо знать структуру базы данных
Работает медленнее чем второй способ (но есть исключения)

🔸 Особенности подключения через внешние источники данных:

Требуется драйвер ODBC
Можно использовать в динамических списках и СКД
Требуется выполнить подключение в режиме предприятия
Можно работать с объектом в привычном конструкторе запросов
Нельзя использовать временные таблицы после выборки данных из внешней базы. Необходимо предварительно выгрузить результат запроса в ТЗ.
Работает в разы быстрее, чем ADODB

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

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

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Точное время и замер времени выполнения кода

В 1С есть отличная функция ТекущаяУниверсальнаяДатаВМиллисекундах().

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

Но может либо не быть отладки, либо это нужно регулярно.

Например, при работе с 1С в облаке, если у вас нет доступа к конфигуратору. Я так же использовал данную функцию для замера разницы выполнения скорости запроса к базе Postgre SQL. И в рамках секунд мой запрос выполнялся одинаково при использовании двух вариантов соединения с базой, а при замере в миллисекундах разница была многократной.

Пример использования:

ДатаНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();

// Код который хотим замерить на скорость

ДатаОкончания = ТекущаяУниверсальнаяДатаВМиллисекундах();

Сообщить(ДатаОкончания - ДатаНачала); // получаем разницу в миллисекундах

#ЕБ_Повседневность
📢 Ещё немного не технического контента

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

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

Ранее уже был опрос и пост про мотивацию сотрудников, и считаю это отличным дополнением к мотивации и явное проявление лояльности к сотрудникам.

А как вы относитесь к оффлайн мероприятиям на удаленке и бывают ли они у вас? 💬

------------
Кстати, на фото фигурки супергероев 1С, напечатанные мной на 3D принтере для конференции. Незапланированное совпадение с прошлым постом о мотивации)

#ЕБ_Повседневность
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
🔝 Частая ошибка новичков - заблокировать запись документа

Довольно часто к программисту приходит задача с формулировкой: «при таком-то простом условии от бизнеса заблокировать запись документа».
Задача сама по себе несложная, для новичка выглядит очевидным в событии документа ПриЗаписи добавить простое условие и установить Отказ = Истина.

И ошибка заключается в том, что программисты не уточняют следующие вопросы:

- зачем эта блокировка?
Бывает нужно просто вывести сообщение, а блокировать нет необходимости.

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

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

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

- блокировать программное проведение или пользовательское?
Если пользовательское, то эту проверку надо перенести на форму. Если не задаться этим вопросом, можно заблокировать какой-нибудь обмен данными, который возможно происходит и без установленного флага ОбменДанными.Загрузка = Истина.

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

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

📢 В начале карьеры я сам делал такие блокировки, благо мне быстро объяснили опытные коллеги, чем плоха такая «жесткая» блокировка.


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

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯 Ещё одна частая ошибка новичков - обращение к данным из кода. Возможное решение

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

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

Но есть ещё один вариант, это создать специальный справочник "Дополнительные настройки системы".
📢 Программисты передают его друг от друга, не могу сказать откуда это пошло, если знаете, то пишите в комментариях) 💬
Когда-то мне рассказали про него, где-то я его внедрил, а на текущем моем рабочем месте он уже был. Имеет разные вариации, но суть одна - это создавать в нем предопределенные элементы и уже к ним обращаться программно.

Я предлагаю свой вариант, возможно не самый навороченный, но все-таки работающий.
Это справочник с 2-мя реквизитами (значение настройки и флаг "ЭтоСписок") и табличной частью (если нужно хранить некий список).

Видел также вариант что-то типа соответствия, реализованного через 2 ТЧ: ТЧ1-ключи, ТЧ2-ключ и значение.

На скриншоте представлен код обращения к предопределенному элементу напрямую, через "ПолучитьОбъект()", не самый верный вариант.
Как доработать? Сделать обращение к данным через запрос и разместить код в общем модуле повторного использования.

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

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
⚠️ Важнейшее качество программиста 1С

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

Это, умение решать задачи!

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

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

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

Если вдруг вы просто решаете задачи как сказал заказчик или написано в ТЗ и у вас нет роста, попробуйте изменить мышление на предложенное выше! Разницу вы почувствуете.

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

А какое вы считаете самое важное качество в программисте 1с? Пишите в комментариях 💬

#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 Обновлятор-1С

Всем привет!

Однажды я рассказывал об упрощении запуска порции баз через .bat файл.
Но есть отличный инструмент – Обновлятор-1С. Более подробно вы можете почитать о нем на официальном сайте разработчика.

Вкратце о функциях:

Архивация баз;
Безопасность за счет использования официального пакетного запуска платформы 1С;
Работа с файловыми и серверными базами;
Работа с доработанными конфигурациями, хранилищем, расширениями и различными скриптами;
Обновление баз с сайта 1С;
Функции администрирования баз (выгнать пользователей, включить/выключить регламентные задания);
И т. д.

Есть платная и бесплатная версия, но и стоимость платной достаточно подъёмная для любого программиста 1С)

🔝 Кейсы из личного опыта и опыта товарищей:
1. Переезд баз с MS SQL сервера на Postgre SQL. С помощью скриптов настроили выгрузку в DT, и загрузку в DT, в промежутке изменив сервер. В многопоточном пакетном режиме это выполнилось гораздо быстрее и проще.
2. Обновление типовых баз БП. Ну тут все совсем просто и понятно, с типовыми проблем нет.
3. Настройка ежедневного автообновления конфигурации рабочей базы из хранилища, с предварительной архивацией и уведомлением в телеграмме о готовности.

Пишите свой опыт в комментариях об использовании данного инструмента 💬

🔥 А в следующем посте вас ждет небольшой конкурс, где я разыграю 5 ключей на Обновлятор-1С (ПРОФ), в благодарность за ваши подписки, комментарии и реакции.

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

#ЕБ_Оптимизация
#ЕБ_Повседневность
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
🕓 Выполнение внешней обработки по регламентному заданию

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

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

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

🔝 Решение:

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

⚫️ Готово!

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

#ЕБ_Повседневность
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
&ИзменениеИКонтроль в расширениях

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

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

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

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

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

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

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

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

#ЕБ_Повседневность
ПроверкаРегламентныхЗаданийВЗаданномПериоде.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
♻️ Частота и процесс обновления рабочих баз

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

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

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

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

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


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

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

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

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

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

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


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

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

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