Е.БУДНИ программиста 1С | Роман Чумадин
Kanalga Telegram’da o‘tish
Ежедневные будни программиста 1С - это канал с реальными задачами с работы, с собеседований, повседневные хитрости, подборки и гайды. Подойдет для начинающих и опытных Автор и вопросы по рекламе: @chum1roma
Ko'proq ko'rsatish6 262
Obunachilar
-124 soatlar
+77 kun
-10 93330 kun
Postlar arxiv
Развитие команды. Внутренний хакатон
Во всех командах программисты развиваются по разному.
В нашей команде проходят хакатоны, когда один из разработчиков либо знает какую-то конкретную область, либо изучает нужную область и делится со всеми.
Хакатон проходит в формате встречи разработчиков в зум. Выбирается один человек, который готовится к докладу, ищет теорию и рассказывает её на встрече с примерами и кейсами применения. Далее есть несколько вариантов:
⚫️ 1. Все просто повторяют своими руками, иногда с небольшими дополнениями;
⚫️ 2. Одна большая задача разбивается на всех по кусочкам;
Если же это только теория, то идет просто обсуждение по теме с ответами на вопросы.
Темы могут быть совершенно разными, не связанными с 1С, но как правило всё-таки технические.
Например, кто-то из команды дома изучает или использует другой язык программирования и рассказывает их отличие, так были хакатоны по Python, Go, C#. Если в рамках 1С, то были по модулям обмена, каким-то внутренним подсистемам, по инструментам разработчика и т.д.
На прошедшей неделе была моя очередь подготовки хакатона по теме работы с Postgre SQL. В ближайшее время оформлю выжимку в отдельном техническом посте.
Пишите в комментариях как вам такой формат и какие форматы совместного обучения проходят в вашей команде💬
Случайный пост > > >
Тема скрыта, так как это случайный пост, и быть может вы узнаете для себя неожиданно полезную информацию
#ЕБ_Повседневность
Публикация своих обработок и использование БСП
Так как работаю в найме, у меня редко появляются решения для общего использования, но иногда все-таки появляются. Решил попробовать сервис 42clouds.com.
Несколько заметок по моментам, с которыми столкнулся, касаются больше применения БСП на практике, и могут пригодиться где-то ещё:
⏩ 1. Первое с чем столкнулся, это работа дополнительной обработки в безопасном режиме. А моя обработка работает с файлами. Ранее не было необходимости работы в таком режиме, и даже не знал, как это обойти, а оказалось все просто. Нужно запросить разрешение при помощи общего модуля
РаботаВБезопасномРежиме и соответствующей функции, например, в моем случае это РазрешениеНаИспользованиеКаталогаВременныхФайлов
Код запроса разрешения будет выглядеть следующим образом:
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов(Истина, Истина, "Сохранение данных декларации во временные файлы и последующее их чтение");⏩ 2. Сведения о внешней обработке. Раньше, чтобы добавить обработку как внешнюю, я использовал свой шаблон фикции
СведенияОВнешнейОбработке, но для этого есть специальная функция в общем модуле ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке, которая сама создает нужную структуру и где остается просто переопределить нужные параметры обработки.
⏩ 3. Нельзя обращаться к имени обработки напрямую из кода.
В моей обработки была дополнительная форма и открыть её простым способом не вышло - ОткрытьФорму("ВнешняяОбработки._ИмяОбработки_.Форма»)
Так как уникальное имя изменяется при работе через сервис.
Для решения данной проблемы нашел два решения:
- Вычислять имя формы из полного имени основной формы:
Лев(ЭтотОбъект.ИмяФормы, СтрНайти(ЭтотОбъект.ИмяФормы, ".", НаправлениеПоиска.СКонца)) + ИмяНужнойФормы- Либо как советуют разработчики сервиса через ПолноеИмя() через Метаданные() в процедуре ПриСозданииНаСервере определить полное имя объекта для дальнейшего обращения к нему:
ПолноеИмяОбъекта = РеквизитФормыВЗначение("Объект").Метаданные().ПолноеИмя();
И далее в месте использования писать:
ПолноеИмяОбъекта + ".ЧтоНамТребуется"------------- Кто знает подобные сервисы, кроме Инфостарт, пишите в комментариях, соберу топ по таким сервисам и опишу их 💬 ------------- Случайный пост > > > Оксфордская задача с собеседования 1С #ЕБ_Повседневность
Приглашаем 1С-аналитиков стать авторами курса
Яндекс Практикум — сервис онлайн-образования, здесь помогают освоить цифровые профессии и найти работу в сфере IT и digital. Мы ищем авторов учебного контента — профессионалов в 1С-аналитике.
Задача:
Делиться опытом, объяснять сложное простыми словами и влиять на формирование индустрии: создавать материалы для новых курсов в команде с другими авторами, методистами, редакторами, иллюстраторами и продактами программы, писать тексты уроков, создавать тесты и улучшать существующий контент.
Условия:
• удаленка и гибкий график;
• частичная занятость и возможность совмещать с основной работой;
• достойное ежемесячное вознаграждение.
Что ожидаем:
Опыт от 3 лет и глубокое понимание одной или нескольких тем и технологий:
• Сбор и анализ требований, моделирование бизнес-процессов as-is и to-be. В программе предполагается использование нотации BPMN 2.0.
• Документирование требований в различных форматах: Use case, User story, BRS/SRS и т.д.
• Проектирование метаданных и разработка на встроенном языке 1С.
• Работа в типовых конфигурациях.
• Администрирование и обновление конфигураций.
Откликайтесь по ссылке: https://practicum.yandex.ru/job/vacancy-137
Реклама, АНО ДПО "Образовательные технологии Яндекса", ИНН:7704282033
🔝 3 сервисов по тестированию 1С навыков и знаний
🔸 1. 1Skiller от Programming Store. Есть 2 варианта тестов: платный и бесплатный. Бесплатный чем-то похож на профессионала от 1С, но вопросы больше по специалисту 1С. В платной версии нет вариантов ответа.
*В бесплатной версии без подготовки набрал 81 из 100 баллов, если пройдете, пишите результаты в комментарии.
🔸 2. 1С-ТЕСТЦЕНТР от компании КРОН совместно с фирмой 1С. Платный, но слышал положительные отзывы. Если кто проходил, поделитесь опытом.
🔸 3. 1С:Учебное тестирование. Подходит для новичков, для проверки своих навыков перед экзаменом 1С:Профессионал.
Легендарный 1С:Профессионал. Не включен в ТОП 3, так как не всегда доступен онлайн.
Ранее был отличный, на мой взгляд, сервис где было тестирование по 1С - это сервис от компании Retratech. Но к сожалению сайт больше не работает и связаться с авторами не удалось. Если кто-то проходил и помнит результаты, жду в комментариях 💬
---------------
Лично я считаю все тесты достаточно условными. Так как с чем-то можно не работать, что-то забывается, но при этом ищется за секунды во время работы и т.п.
А как вы относитесь к тестам по навыкам работы с 1С ❓
---------------
Случайный пост > > >
ТОП 3 сборника задач по 1С
#ЕБ_Повседневность
Так видит меня нейросеть. Мысли и заметки с конференции!
Далеко не все доклады удалось посмотреть, но для участников они уже доступны в записи, а для остальных они через какой-то период попадают в общий доступ, как понимаю.
Было несколько докладов о нашумевшем использовании нейросетей в работе.
Варианты:
- Для автоматизации поддержки, то есть нейросеть обучили инструкциям и она отвечает на вопросы пользователей.
- Для написания (используя вашу базу) или описания (что делает) кода через Copilot.
Тема очень нашумевшая и интересная, но большинство сервисов не позволяют либо внести оплату, либо даже просто использовать сервисы на территории России.
Понравились мысли про Pet-проекты (личные, домашние), что даже небольшие проекты нужно автоматизировать в плане тестирования, автосборки и хранения версий. На практике знаю как без этого плохо, но пока не услышишь со стороны, само иногда не доходит)
Классная идея про мотивацию сотрудников, сделав некий исторический онлайн или физический стенд, куда "вывешивать" разработчиков за какие-то заслуженные проекты, весомые механизмы и т.п. Кажется, это может реально дополнительно мотивировать, когда ты не просто сделал, тебя похвалили, дали премию и т.п., а ещё оставили в истории компании.
И самая важная мысль для новичков и не только, не помню на каком докладе была или пришла мне, это выполнение запросов в консоли в рабочей базе только при обдуманной необходимости. То есть, если нет необходимости, то консолью запроса для отладки запроса лучше пользоваться в копии базы и в идеале на отдельном сервере. Так как запрос без отбора или с соединением без условия может положить всю базу. И на это натыкаются не только новички, но и профессионалы с многолетним опытом)
А на фото - это переделанная моя фотография, которую делали на входе конференции)
Случайный пост > > >
ХЕШ строка
#ЕБ_Повседневность
Думал просто Выборка, а оказалось нет)
На конференции Инфостарт был стенд, где можно было пройти демо-тестирование, выбрал тему «Запросы», и нашел для себя интересную функцию у выборки «НайтиСледующий()».
В работе чаще всего использовал «Следующий», поэтому решил изучить какие ещё есть методы у выборки и поделиться с вами.
Выбрать() * для результата запроса – метод предназначен для получения выборки из результата запроса.
Выбрать() ! для выборки – получает выборку из подчиненной выборки, если указан тип обхода результата запроса «ПоГруппировкам»
Выборка = РезультатЗапроса.Выбрать*(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка.Следующий() Цикл
ПодчВыборка = Выборка.Выбрать();
…
Следующий() – метод возвращающий тип булево. Истина если получена следующая запись результата запроса и Ложь если следующей записи нет.
Владелец() – функция, возвращающая результат запроса из которого получена выборка. Обратное действие Выбрать() !
НайтиСледующий() – аналогичен методу Следующий(), но за тем исключением, что переход выполняется не на просто следующую запись, а на следующую запись соответствующую отбору. Отбор задается либо структурой, либо параметрами Значение и Колонка.
Пока Выборка.НайтиСледующий(Новый Структура("Колонка1, Колонка2", Значение1, Значение2)) Цикл
...
ИЛИ
Пока Выборка.НайтиСледующий(Значение, Колонка)) Цикл
...
СледующийПоЗначениюПоля() - аналогичен методу Следующий(), но значение выборки переходит к следующей строке со значением по указанному полю отличным от текущего положения.
Выборка.СледующийПоЗначениюПоля("ИмяПоля");
Получить() – позволяет выбрать запись результата запроса по индексу, аналог квадратных скобок «[]»
Группировка() – функция возвращает имя группировки текущей записи, если она есть
Есть ряд понятных функций выборки по их названию и контексту: Сбросить(), Количество(), Уровень(), ТипЗаписи().
- - - - - - - - -
Случайный пост > > >
Где брать инфу начинающему разработчику
#ЕБ_ПовседневностьСервису онлайн-образования Яндекс Практикум нужны эксперты: выберите свою роль — автора контента, ревьюера или наставника на курсе «1С аналитик» и помогите обучать студентов актуальной цифровой профессии.
Почему это интересно:
• дополнительный доход при нагрузке от 2-3 часов в день;
• удаленка, цифровой офис, никакого микроменеджмента;
• самореализация, профессиональное комьюнити и команда, с которой вы быстро подружитесь.
Общие пожелания:
• желание делиться своей экспертизой и терпение к новичкам;
• умение объяснять, давать конструктивную обратную связь;
• опыт работы 1С аналитиком или функциональным архитектором от 3 лет.
Полное описание ролей:
• автор https://practicum.yandex.ru/job/vacancy-137
• ревьюер https://practicum.yandex.ru/job/vacancy-147
• наставник https://practicum.yandex.ru/job/vacancy-146
А пока я собираю идеи новых постов и заряжаюсь энергией на конференции Инфостарт, пятничное мем-видео)
Нас 2000 ❗️
Всем привет! 👋
Вот нас уже и перевалило на этом канале за 2000! 🎉
Я очень рад этому событию, и в первую очередь благодарю вас, моих подписчиков, за проявленный интерес.
Это подталкивает делать более интересные посты и добавлять новых фишек.
На 1000 подписчиков у канала появились свои стикеры, сейчас, на 2000 появились емодзи, так же в простом и лаконичном стиле.
Мобильная разработка в 1С, тайминги
В рамках подготовки очередного урока для курса PRODUCTSTAR вспомнил свою презентацию из внутреннего митапа в компании.
По схожей тематике планировал и доклад для Инфостарта.
В сторону мобильных приложений тянуло давно, были попытки на Xamarin сделать, но однажды попробовал на 1С и это в разы легче)
Список этапов разработки мобильного приложения с нуля до публикации:
1. Установка платформы 1С– 10 минут;
2. Установка и настройка Apache – 10 минут;
3. Android Studio - 10 минут;
4. Первый запуск эмулятора - 30 минут;
5. Установка компоненты Java и настройки сборщика мобильных приложений 1С – 40 минут;
6. Выпуск приложения и заполнение информации о приложении – 70 минут;
7. Выпуск alpha-версии в Google Play только для узкого круга лиц– 90 минут;
8. Проверка от Google Play – 5 дней.
ИТОГО: 4 часа 20 минут + 5 дней ожидания
*сложность и технические моменты непосредственно приложения не учитываются.
Случайный пост > > >
Вариант паузы в коде
#ЕБ_Повседневность
1С головного мозга или запуск 1С в самых неожиданных местах
В ожидании конференции Инфостарта, бродя по Эрмитажу, пришлось запустить ноутбук для зарядки телефона.
Ну и как не запустить 1С)
А в каких самых неожиданных местах вы запускали 1С, когда надо было что-то срочно сделать или осенило?
Мое самое частое место работы вне рабочего места - это автомобиль, запуск чего-то регламентного или срочная проблема.
Случайный пост > > >
Заметки по работе с хранилищем
#ЕБ_Повседневность
ХЕШ строка. Задача по уникальности/сравнению
На днях столкнулся со следующей задачей: разработать проверку уникальности элементов справочника по элементам табличной части этого же справочника.
Если более предметно, в справочнике Номера ГТД есть табличная часть Прослеживаемые комплектующие, в которой хранятся номера РНПТ для комплектующих с их количеством.
Если есть второй элемент с такими же номерами РНПТ и количеством независимо от порядка, то он считается не уникальным.
По опыту решения прошлых задач, пришел к решению с использованием ХЕШ строки, которую получаю следующим образом:
🔹 Получаю ТЗ из колонок ТЧ;
🔹 Сортирую ТЗ, чтобы всегда было одна последовательность;
🔹 Создаю массив со строками, куда записываю «РНПТ + Количество»;
🔹 Перевожу массив в строку с помощью функции «ЗначениеВСтрокуВнутр()»;
🔹 Создаю объект ХешированиеДанных с типом MD5;
🔹 И получая Хеш сумму, убираю пробелы;
🔹 Затем записываю полученные данные в реквизит объекта.
------------
ТаблицаДляХеширования = ПрослеживаемыеКомплектующие.Выгрузить(,"РНПТ, Количество");
ТаблицаДляХеширования.Сортировать("РНПТ, Количество");
МассивРНПТ = Новый Массив;
Для каждого СтрРНПТ из ТЗ_РНПТКоличество Цикл
МассивРНПТ.Добавить(СтрРНПТ.РНПТ.Код + " " + СтрРНПТ.Количество)
КонецЦикла;
СтрокаДляХеширования = ЗначениеВСтрокуВнутр(МассивРНПТКолво);
ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.MD5);
ХешированиеДанных.Добавить(СтрокаДляХеширования );
РеквизитХЕШ_ТЧ = СтрЗаменить(ХешированиеДанных.ХешСумма," ","");
------------
В итоге остается сравнивать на уникальность не ТЧ, а только один реквизит.
А где вы применяете Хеширование? 💬
Случайный пост > > >
Вспомогательные сервисы
#ЕБ_Повседневность
Третий дайджест за третий кварта
🔴 Посты с 01.07.23 по 30.09.23:
- Обмен 1С с 1С-Битрикс на кейсе веб-интегратора Extyl
- Про сертификат 1С:Специалист
- Выбираем меньшее из зол в вопросе оптимизации
- Пауза() по старинке
- Интересные доклады с 1C-RarusTechDay 2023
- Заметки с курса по подготовке к 1С:Специалист
- Подмена кнопки "Создать" в форме списка/выбора элементов
- Вспомогательные сервисы
- Где брать инфу начинающему разработчику 1С
- Заметки по использованию хранилища 1С
- Распространенные ошибки новичков в формировании движений документов
- Самые частые операции в консоли администрирования рядовым 1сником
- Как заглянуть за кулисы форм
- Пропуск релизов обновления конфигурации
Из общего:
🔹 На канале остается возможность «сделать пост самому». Подробнее тут
🔹 У канала есть свой стикерпак
🔹 Ссылка на мой профиль на площадке GetMentor, это один из вариантов связаться со мной и получить консультацию.
Спасибо всем, кто подписан, за лайки и комментарии!
Пропуск релизов обновления ⚠️
Если взглянуть на скриншот релизов обновления типовой БП 3.0, можно увидеть, что с релиза 137.39 можно обновиться на кучу следующих релизов, которые представлены в колонке «Обновление версии».
В моей практике не встречались компании, которые обновлялись регулярно, успевая попадать в обновление, находясь на предложенных версиях (с которых можно обновиться), на текущем примере это 140.40. За исключением 100% типовых конфигураций, но в таком случае обновление делал не я)
И когда встает вопрос, сколько делать релизов, заметил неоднозначность понятия «перескочить релиз», для кого-то обновиться на 140.40 это тоже перескочить релиз... Для меня, перескочить релиз, это обновиться сразу на 142.56.
Никогда не был приверженцем пропускать рекомендованные релизы, но иногда приходилось и такое делать. Это конечно же на свой страх и риск. Обычно обновляюсь на максимально возможный релиз, на который можно обновиться с текущей версии, и так в несколько этапов, каждый раз выполняя РЗ «Отложенное обновление ИБ»
Недавно узнал, что вроде как такая возможность пока ещё прокатывает в релизах БП, так как там не удаляются важные метаданные и т.п. Но это все опять же, на свой страх и риск.
Кто-нибудь про это что-то знает❓
И как вы относитесь к пропускам релиза?💬
--------------
Вместе случайного поста, рекомендую ознакомиться с прошлым дайджестом, перед выходом нового за 3 квартал.
#ЕБ_Повседневность
