Так видит меня нейросеть. Мысли и заметки с конференции!
Далеко не все доклады удалось посмотреть, но для участников они уже доступны в записи, а для остальных они через какой-то период попадают в общий доступ, как понимаю.
🔸 Было несколько докладов о нашумевшем использовании нейросетей в работе.
Варианты:
- Для автоматизации поддержки, то есть нейросеть обучили инструкциям и она отвечает на вопросы пользователей.
- Для написания (используя вашу базу) или описания (что делает) кода через Copilot.
Тема очень нашумевшая и интересная, но большинство сервисов не позволяют либо внести оплату, либо даже просто использовать сервисы на территории России.
🔸 Понравились мысли про Pet-проекты (личные, домашние), что даже небольшие проекты нужно автоматизировать в плане тестирования, автосборки и хранения версий. На практике знаю как без этого плохо, но пока не услышишь со стороны, само иногда не доходит)
🔸 Классная идея про мотивацию сотрудников, сделав некий исторический онлайн или физический стенд, куда "вывешивать" разработчиков за какие-то заслуженные проекты, весомые механизмы и т.п. Кажется, это может реально дополнительно мотивировать, когда ты не просто сделал, тебя похвалили, дали премию и т.п., а ещё оставили в истории компании.
❗️ И самая важная мысль для новичков и не только, не помню на каком докладе была или пришла мне, это выполнение запросов в консоли в рабочей базе только при обдуманной необходимости. То есть, если нет необходимости, то консолью запроса для отладки запроса лучше пользоваться в копии базы и в идеале на отдельном сервере. Так как запрос без отбора или с соединением без условия может положить всю базу. И на это натыкаются не только новички, но и профессионалы с многолетним опытом)
А на фото - это переделанная моя фотография, которую делали на входе конференции)
Случайный пост > > >
ХЕШ строка
#ЕБ_Повседневность
Далеко не все доклады удалось посмотреть, но для участников они уже доступны в записи, а для остальных они через какой-то период попадают в общий доступ, как понимаю.
🔸 Было несколько докладов о нашумевшем использовании нейросетей в работе.
Варианты:
- Для автоматизации поддержки, то есть нейросеть обучили инструкциям и она отвечает на вопросы пользователей.
- Для написания (используя вашу базу) или описания (что делает) кода через Copilot.
Тема очень нашумевшая и интересная, но большинство сервисов не позволяют либо внести оплату, либо даже просто использовать сервисы на территории России.
🔸 Понравились мысли про Pet-проекты (личные, домашние), что даже небольшие проекты нужно автоматизировать в плане тестирования, автосборки и хранения версий. На практике знаю как без этого плохо, но пока не услышишь со стороны, само иногда не доходит)
🔸 Классная идея про мотивацию сотрудников, сделав некий исторический онлайн или физический стенд, куда "вывешивать" разработчиков за какие-то заслуженные проекты, весомые механизмы и т.п. Кажется, это может реально дополнительно мотивировать, когда ты не просто сделал, тебя похвалили, дали премию и т.п., а ещё оставили в истории компании.
А на фото - это переделанная моя фотография, которую делали на входе конференции)
Случайный пост > > >
ХЕШ строка
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔸 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С
#ЕБ_Повседневность
Так как работаю в найме, у меня редко появляются решения для общего использования, но иногда все-таки появляются. Решил попробовать сервис 42clouds.com.
Несколько заметок по моментам, с которыми столкнулся, касаются больше применения БСП на практике, и могут пригодиться где-то ещё:
РаботаВБезопасномРежиме
и соответствующей функции, например, в моем случае это РазрешениеНаИспользованиеКаталогаВременныхФайлов
Код запроса разрешения будет выглядеть следующим образом:
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина, "Сохранение данных декларации во временные файлы и последующее их чтение");
СведенияОВнешнейОбработке
, но для этого есть специальная функция в общем модуле ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке
, которая сама создает нужную структуру и где остается просто переопределить нужные параметры обработки.В моей обработки была дополнительная форма и открыть её простым способом не вышло -
ОткрытьФорму("ВнешняяОбработки._ИмяОбработки_.Форма»)
Так как уникальное имя изменяется при работе через сервис.
Для решения данной проблемы нашел два решения:
- Вычислять имя формы из полного имени основной формы:
Лев(ЭтотОбъект.ИмяФормы, СтрНайти(ЭтотОбъект.ИмяФормы, ".", НаправлениеПоиска.СКонца)) + ИмяНужнойФормы
- Либо как советуют разработчики сервиса через ПолноеИмя() через Метаданные() в процедуре ПриСозданииНаСервере определить полное имя объекта для дальнейшего обращения к нему:
ПолноеИмяОбъекта = РеквизитФормыВЗначение("Объект").Метаданные().ПолноеИмя();
И далее в месте использования писать:
ПолноеИмяОбъекта + ".ЧтоНамТребуется"
-------------
Кто знает подобные сервисы, кроме Инфостарт, пишите в комментариях, соберу топ по таким сервисам и опишу их
-------------
Случайный пост > > >
Оксфордская задача с собеседования 1С
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Развитие команды. Внутренний хакатон
Во всех командах программисты развиваются по разному.
В нашей команде проходят хакатоны, когда один из разработчиков либо знает какую-то конкретную область, либо изучает нужную область и делится со всеми.
Хакатон проходит в формате встречи разработчиков в зум. Выбирается один человек, который готовится к докладу, ищет теорию и рассказывает её на встрече с примерами и кейсами применения. Далее есть несколько вариантов:
⚫️ 1. Все просто повторяют своими руками, иногда с небольшими дополнениями;
⚫️ 2. Одна большая задача разбивается на всех по кусочкам;
Если же это только теория, то идет просто обсуждение по теме с ответами на вопросы.
Темы могут быть совершенно разными, не связанными с 1С, но как правило всё-таки технические.
Например, кто-то из команды дома изучает или использует другой язык программирования и рассказывает их отличие, так были хакатоны по Python, Go, C#. Если в рамках 1С, то были по модулям обмена, каким-то внутренним подсистемам, по инструментам разработчика и т.д.
На прошедшей неделе была моя очередь подготовки хакатона по теме работы с Postgre SQL. В ближайшее время оформлю выжимку в отдельном техническом посте.
Пишите в комментариях как вам такой формат и какие форматы совместного обучения проходят в вашей команде💬
Случайный пост > > >
Тема скрыта, так как это случайный пост, и быть может вы узнаете для себя неожиданно полезную информацию
#ЕБ_Повседневность
Во всех командах программисты развиваются по разному.
В нашей команде проходят хакатоны, когда один из разработчиков либо знает какую-то конкретную область, либо изучает нужную область и делится со всеми.
Хакатон проходит в формате встречи разработчиков в зум. Выбирается один человек, который готовится к докладу, ищет теорию и рассказывает её на встрече с примерами и кейсами применения. Далее есть несколько вариантов:
Если же это только теория, то идет просто обсуждение по теме с ответами на вопросы.
Темы могут быть совершенно разными, не связанными с 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 и внешними источниками данных, буду рад, если поделитесь им в комментариях💬
#ЕБ_Повседневность
Делюсь выжимкой с хакатона по работе с Postgre SQL, который готовил на той неделе.
Задача: считать данные из таблицы в базе на Postgre SQL сервере.
Чтобы подключиться к базе и увидеть её структуру, можно воспользоваться программой pgAdmin.
Она бесплатная и можно скачать с официального сайта.
Есть два основных варианта, с помощью которых можно считать данные через 1С:
- ADODB (COM объект)
- Внешние источники данных (объект платформы)
🔹Считать записи первым способом можно используя код из Листинга 1.
На выходе у нас есть подключение к базе, и мы можем делать что нам требуется (на что хватит прав). Можно работать через sql запросы, либо с объектами напрямую.
🔸Второй вариант позволяет сразу увидеть структуру самой базы данных.
Внешние источники данных - это обособленный объект конфигурации, который позволяет работать с данными различного формата и совместимыми программами. Под работой предполагается не только чтение данных, но и хранение и изменение.
При создании внешнего источника данных можно либо вручную задать структуру внешних таблиц, либо воспользоваться конструктором таблиц, в котором задаются параметры подключения и выполняется подключение к базе данных. После подключения к БД, появляется структура базы и можно выбрать нужные таблицы.
Для того чтобы данный источник заработал в режиме 1С: Предприятие, необходимо либо в коде один раз задать параметры подключения (листинг 2), либо воспользоваться платформенной обработкой "Управление внешними источниками данных".
🔹 Особенности подключения ADODB:
🔸 Особенности подключения через внешние источники данных:
До этого мне не приходилось использовать такой объект как внешние источники данных, но у него явно есть большой потенциал.
Если у вас есть опыт работы с базами на Postgre SQL и внешними источниками данных, буду рад, если поделитесь им в комментариях
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Точное время и замер времени выполнения кода
В 1С есть отличная функция ТекущаяУниверсальнаяДатаВМиллисекундах().
Если обрамить ею участок кода, то можно более точно замерить время выполнения.
Да, для этого можно использовать замер производительности, который я затрагивал в своем посте ранее.
Но может либо не быть отладки, либо это нужно регулярно.
Например, при работе с 1С в облаке, если у вас нет доступа к конфигуратору. Я так же использовал данную функцию для замера разницы выполнения скорости запроса к базе Postgre SQL. И в рамках секунд мой запрос выполнялся одинаково при использовании двух вариантов соединения с базой, а при замере в миллисекундах разница была многократной.
Пример использования:
#ЕБ_Повседневность
В 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с? Пишите в комментариях
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет!
Однажды я рассказывал об упрощении запуска порции баз через .bat файл.
Но есть отличный инструмент – Обновлятор-1С. Более подробно вы можете почитать о нем на официальном сайте разработчика.
Вкратце о функциях:
Есть платная и бесплатная версия, но и стоимость платной достаточно подъёмная для любого программиста 1С)
1. Переезд баз с MS SQL сервера на Postgre SQL. С помощью скриптов настроили выгрузку в DT, и загрузку в DT, в промежутке изменив сервер. В многопоточном пакетном режиме это выполнилось гораздо быстрее и проще.
2. Обновление типовых баз БП. Ну тут все совсем просто и понятно, с типовыми проблем нет.
3. Настройка ежедневного автообновления конфигурации рабочей базы из хранилища, с предварительной архивацией и уведомлением в телеграмме о готовности.
Пишите свой опыт в комментариях об использовании данного инструмента
> > > Случайный пост < < <
#ЕБ_Оптимизация
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
Варианты логирования кода 🔂
Довольно частая задача для программиста - это сохранить какой-то промежуточный результат выполнения кода.
Бывает это требуется сделать, когда нет возможности подключить отладку, либо сохранить тело запроса обмена данными.
Для решения данных задач есть множество вариантов, сегодня расскажу о наиболее частых.
⏩ 1. Запись в журнале регистрации.
Это нормальный вариант, если это очень редко требуется, когда, например, критичная ошибка. Но для постоянной записи, данный вариант использовать нехорошо, так как может разрастаться и захламляться журнал регистрации.
⏩ 2. Запись в регистр сведений.
Отличный вариант, если требуется делать постоянные записи, например по http запросам в сторонние API. Но требует добавление нового регистра сведений в конфигурацию. Выходом может стать расширение, если у основной конфигурации установлен нужный режим совместимости.
⏩ 3. Запись в файл.
Подойдёт, если нам нужно постоянно сохранять какие-то примитивные данные, делать это независимо от транзакции или нет возможности добавить регистр сведений. Для этого задаётся каталог, куда пишутся файлы именем текущей даты и далее можно уже считывать эти данные вручную, давать пользователям, либо обрабатывать другими программами.
⏩ 4. Передача данных в другую базу.
Например, по http сервису, и уже в той базе хранить нужную информацию.
У этого варианта есть как плюсы, так и минусы. К минусам можно отнести необходимость поддержки дополнительной базы и обмена между ними. А к плюсам я бы отнес то, что можно настроить хранение в нужном виде, хранить столько сколько нужно информации по объему, и если это не требуется для дальнейшей обработки в основной базе, то и захламляться основная база не будет.
А обсудить наиболее интересный вариант, или тот который используете вы, можно в комментариях💬
> > > Случайный пост < < <
#ЕБ_Повседневность
Довольно частая задача для программиста - это сохранить какой-то промежуточный результат выполнения кода.
Бывает это требуется сделать, когда нет возможности подключить отладку, либо сохранить тело запроса обмена данными.
Для решения данных задач есть множество вариантов, сегодня расскажу о наиболее частых.
Это нормальный вариант, если это очень редко требуется, когда, например, критичная ошибка. Но для постоянной записи, данный вариант использовать нехорошо, так как может разрастаться и захламляться журнал регистрации.
Отличный вариант, если требуется делать постоянные записи, например по http запросам в сторонние API. Но требует добавление нового регистра сведений в конфигурацию. Выходом может стать расширение, если у основной конфигурации установлен нужный режим совместимости.
Подойдёт, если нам нужно постоянно сохранять какие-то примитивные данные, делать это независимо от транзакции или нет возможности добавить регистр сведений. Для этого задаётся каталог, куда пишутся файлы именем текущей даты и далее можно уже считывать эти данные вручную, давать пользователям, либо обрабатывать другими программами.
Например, по http сервису, и уже в той базе хранить нужную информацию.
У этого варианта есть как плюсы, так и минусы. К минусам можно отнести необходимость поддержки дополнительной базы и обмена между ними. А к плюсам я бы отнес то, что можно настроить хранение в нужном виде, хранить столько сколько нужно информации по объему, и если это не требуется для дальнейшей обработки в основной базе, то и захламляться основная база не будет.
А обсудить наиболее интересный вариант, или тот который используете вы, можно в комментариях
> > > Случайный пост < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM
В повседневной жизни программиста встречаются однотипные задачи, для решения которых используются одни и те же инструменты.
Представляю свой ТОП 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 (в нем нет возможности сделать регламентное задание через расширение).
----------------
> > > Случайный пост < < <
#ЕБ_Повседневность
Если у вас типовая конфигурация 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
&ИзменениеИКонтроль в расширениях
Расширение представляет собой конфигурацию заимствованных и измененных объектов, подключаемой к конкретной основной конфигурации.
Механизм расширений постоянно развивается, за этим стоит следить, так как никогда не знаешь в какой момент это тебе пригодится.
В повседневной жизни они помогают в следующих случаях:
🔹 Быстро внести правку в своем коде либо типовом релизе, когда обновления рабочих баз выходят редко;
🔹Доработать конфигурацию для своих нужд, при этом четко разделяя границы, где типовой код, а где наш;
🔹 Расширения даже позволяют создать свой тиражный продукт под определённую конфигурацию (особенно, когда появилась возможность добавлять метаданные в расширения).
С версии платформы 1С 8.3.15 появилась возможность заменять код основной конфигурации в режиме «Вызывать вместо (с контролем)», что добавляет аннотацию «&ИзменениеИКонтроль». Это позволяет при проверке применимости расширения удостовериться, что код основной конфигурации после обновления не изменился относительно той версии Процедуры/Функции которая была до внесения изменений.
При данной аннотации необходимо применять специальные вставки:
🔸 Для удаления участков кода: #Удаление и #КонецУдаления
🔸 Для добавления участков кода: #Вставка и #КонецВставки
Процесс работы данной аннотации схож с аннотацией «Вместо», но дополняется контролем. При вызове проверки применения можно даже сразу и восстановить изменения (доступно при использовании сторонних программ сравнения объединения, можно почитать в прошлом посте).
Использование заимствования с контролем значительно упрощает процесс поддержки конфигурации как при обновлении на типовые релизы, так и при поддержке индивидуальных конфигураций.
---------------
> > > Случайный пост < < <
#ЕБ_Повседневность
Расширение представляет собой конфигурацию заимствованных и измененных объектов, подключаемой к конкретной основной конфигурации.
Механизм расширений постоянно развивается, за этим стоит следить, так как никогда не знаешь в какой момент это тебе пригодится.
В повседневной жизни они помогают в следующих случаях:
🔹 Быстро внести правку в своем коде либо типовом релизе, когда обновления рабочих баз выходят редко;
🔹Доработать конфигурацию для своих нужд, при этом четко разделяя границы, где типовой код, а где наш;
🔹 Расширения даже позволяют создать свой тиражный продукт под определённую конфигурацию (особенно, когда появилась возможность добавлять метаданные в расширения).
С версии платформы 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, добавляется строка:
Шаблоном для этой строки является следующая строка:
Работая над одной большой задачей, я вношу все данные заранее, а дата подставляется автоматически.
То же самое и с закрывающим комментарием.
----------------
📢 На практике я сталкивался только с одним исключением, когда не надо обрамлять код комментариями - при разработке в EDT в связке с GIT. Там в этом такой необходимости нет (EDT позволяет сразу увидеть историю внесения изменений по конкретной строке), если дело не касается типового кода (той части конфигурации, которая на поддержке).
----------------
> > > Случайный пост < < <
----------------
#ЕБ_Повседневность
#ЕБ_Оптимизация
На больших предприятиях, при доработке типовых (и не только) конфигураций, есть требование - обрамлять добавляемый код комментариями. Необходимо это для идентификации разработчика, который внес правки.
Есть стандартные шаблоны, например, для создания конструкции «Если». Чтобы его вызвать необходимо ввести строку «Если» и нажать горячие клавиши Ctrl + Q. После чего будет предложено ввести условие и автоматически создастся конструкция на встроенном языке 1С.
----------------
Используя этот механизм, можно создать свои шаблоны текста!
Для начала блока ввожу строку "/+" и горячие клавиши Ctrl + Q, добавляется строка:
// ++ e-mail / №задачи / 10.04.2023
Шаблоном для этой строки является следующая строка:
// ++ e-mail / №задачи / <?"", ДатаВремя, "ДФ=dd.MM.yyyy"><?>
Работая над одной большой задачей, я вношу все данные заранее, а дата подставляется автоматически.
То же самое и с закрывающим комментарием.
----------------
----------------
> > > Случайный пост < < <
----------------
#ЕБ_Повседневность
#ЕБ_Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
♻️ Частота и процесс обновления рабочих баз
Если вы связаны непосредственно с организацией процесса обновления, то вам может пригодиться данный пост, чтобы узнать другие варианты.
На своей практике я работал с такими вариантами:
🔹 1. Самый распространенный - хаотично, надо обновили, не надо можем и забыть вообще. Актуально для небольших фирм, где практически нет доработок.
🔹 2. Раз в 1-2 недели. Второй по распространенности вариант. В целом хороший вариант, но промежутки достаточно большие. И как правило все косяки испавляются либо в не рабочее время, либо расширениями. В редких случаях есть рисковые счастливчики обновляющие "демонически".
🔹 3. Каждый день в технический перерыв. Мой идеальный вариант, когда есть технологическое окно, например, в обед. Особенно хорошо, если обновление ещё и автоматическое.
Варианты как организовано технически обновление:
🔸 1. Рабочая база подключена напрямую к разработческому хранилищу (в случае работы через конфигуратор). По мне так это один из лучших вариантов с точки зрения "цены/качества". В основном в мелких фирмах.
Нюанс в сложности обновить срочно какой-то объект с которым работало несколько человек. Все затянуть тоже нельзя и можно подтянуть часть лишнего.
🔸 2. Рабочая база обновляется через конфигурацию сравнением-объединением/загрузкой целиком.
🔸 3. Два хранилища под рабочую базу и под разрабочтаский контур. Нюанс в том, что нужно аккуратно переносить во второе хранилище, так как сравнением-объединением можно перенести лишнего или вовсе забыть что-то.
🔸 4. Работа через EDT в связке с GIT. Тут подтягивается полноценный DevOps, все что можно автоматизируется и в целом отличный практически вариант. Но дорогой на старте.
📢 А с какой частотой и как у вас организовано обновление рабочих баз?
> > > Случайный пост < < <
#ЕБ_Повседневность
Если вы связаны непосредственно с организацией процесса обновления, то вам может пригодиться данный пост, чтобы узнать другие варианты.
На своей практике я работал с такими вариантами:
🔹 1. Самый распространенный - хаотично, надо обновили, не надо можем и забыть вообще. Актуально для небольших фирм, где практически нет доработок.
🔹 2. Раз в 1-2 недели. Второй по распространенности вариант. В целом хороший вариант, но промежутки достаточно большие. И как правило все косяки испавляются либо в не рабочее время, либо расширениями. В редких случаях есть рисковые счастливчики обновляющие "демонически".
🔹 3. Каждый день в технический перерыв. Мой идеальный вариант, когда есть технологическое окно, например, в обед. Особенно хорошо, если обновление ещё и автоматическое.
Варианты как организовано технически обновление:
🔸 1. Рабочая база подключена напрямую к разработческому хранилищу (в случае работы через конфигуратор). По мне так это один из лучших вариантов с точки зрения "цены/качества". В основном в мелких фирмах.
Нюанс в сложности обновить срочно какой-то объект с которым работало несколько человек. Все затянуть тоже нельзя и можно подтянуть часть лишнего.
🔸 2. Рабочая база обновляется через конфигурацию сравнением-объединением/загрузкой целиком.
🔸 3. Два хранилища под рабочую базу и под разрабочтаский контур. Нюанс в том, что нужно аккуратно переносить во второе хранилище, так как сравнением-объединением можно перенести лишнего или вовсе забыть что-то.
🔸 4. Работа через EDT в связке с GIT. Тут подтягивается полноценный DevOps, все что можно автоматизируется и в целом отличный практически вариант. Но дорогой на старте.
> > > Случайный пост < < <
#ЕБ_Повседневность
Please open Telegram to view this post
VIEW IN TELEGRAM