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

Автор - Роман Чумадин
@chum1roma
Купить рекламу: https://telega.in/c/e_budni_programmer
Download Telegram
Сегодня, так сказать «Открыть канал», хотелось бы с простой темы, но достаточно частой – это рутина!

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

Слышал про использование дополнительного ПО для подобных задач, типа «Обновлятор». Если у вас есть опыт или другие идеи, то пишите в комментарии!

#ЕБ_Оптимизация
image_2023-03-04_20-10-24.png
113.5 KB
Всем привет!

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

И нашел подходящий вариант- старый добрый “.bat” файл!
Суть файла сводится к 3 строкам

@echo off
start "" "C:\Program Files (x86)\1cv8\common\1cestart.exe" enterprise /S"YouServer/YouBase1" /N"YouUser" /P"YouPass"
Exit

Генерацию файла так же оптимизировал, через Excel.

Параметры запуска можно использовать и другие, например, вместо «ENTERPRISE» можно поставить «DESIGNER» и запустится конфигуратор. Путь может отличаться в зависимости от разрядности платформы.

#ЕБ_Оптимизация
ТОП 15 ГОРЯЧИХ КЛАВИШ в конфигураторе 1С

При работке с конфигуратором 1С можно использовать огромное количество горячих клавиш🔥, но думаю мало кто знает их все наизусть…

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

И так, вот он – ТОП 15 горячих клавиш (расположены в порядке частоты использования):

Ctrl + С - Копировать;
Ctrl + V - Вставить;
Ctrl + Пробел - вызов подсказки;
Ctrl + A - Выделить все;
Ctrl + F - Найти;
F3 – Найти следующий;
Shift + F3 - Найти предыдущий ;
Ctrl + T - найти в дереве конфигурации, узнал не так давно, но удобно из модуля позиционироваться на нем в дереве конфигурации;
F12 – переход к определению процедуры или функций на которой установлен курсор;
Ctrl + (минус) - перемещает назад в модуль, из которого ушли через F12;
F5 - начать/продолжить отладку;
F9 - установить/снять точку останова;
F10 - шагнуть на следующую строку кода;
F11 – шагнуть с заходом во все процедуры и функции;
Ctrl + M - объединение ячеек при редактировании макета табличного документа;
Ctrl + Q – вызов текстового шаблона, использую для подстановки комментариев в коде.

Пишите в комментариях, какие клавиши у вас являются более горячими!👇

#ЕБ_Оптимизация
Описание ТЕГов канала:

#ЕБ_Повседневность –этим тегом обозначены посты с обычными повседневными задачами, которые попадаются рядовому программисту 1С. Задумка данной темы в том, чтобы начинающие разработчики могли узнать о том, что их ждет, а опытные разработчики могли прокомментировать/дополнить решение той или иной задачи, либо предложить совершенно иное решение. Так же в рамках тега рассматриваются различные механизмы платформы либо сторонние.

#ЕБ_Оптимизация – по данному тегу можно найти различные лайфхаки по ускорению и автоматизации повседневной деятельности.
Например, https://tttttt.me/e_budni_programmer/6 - запуск множества баз одним кликом по файлу “bat.”

#ЕБ_Собеседования – содержит посты с реальными задачами с собеседований или полезными материалами для подготовки к ним.
Например, https://tttttt.me/e_budni_programmer/8 - Задача с собеседования, как поменять 2 переменные местами, не используя третью.
Phoenix BSL, или как просто следить за форматированием кода❗️

Phoenix BSL это сторонний инструмент от Oleg Tymko (otymko), размещенный на Git Hub.
На данный момент ещё в разработке, но пользоваться уже можно.
https://github.com/otymko/phoenixbsl

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

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

На практике данный инструмент:
- подскажет где опечатка в коде;➡️
- где служебные слова некорректно отформатированы по регистру;
- если строка слишком длинная;‼️
- сложные алгоритмы для восприятия, когда много вложенных условий либо цикло;🔔
- и многое др.

Установка и использование достаточно простые. Скачали, установили и запустили. На скрине привел пошаговые этапы установки.

🟢После запуска приложения в конфигураторе нажимаем в модуле с кодом:
CTRL + I - анализ кода на замечания.
CTRL + K - форматирование кода.
CTRL + J - "исправить все в модуле" - автоматическое исправление определенных замечаний (см. "Быстрые исправления").

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

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

#ЕБ_Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
ТОП 7️⃣ ИНСТРУМЕНТОВ ПРОГРАММИСТА 1С

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

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

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

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

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

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


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


Ссылки на часть моих инструментов:

Консоль запросов для управляемых форм 8.3 - https://infostart.ru/public/938606/

Универсальный редактор реквизитов Управляемый + Обычный интерфейс v 2.4 - https://infostart.ru/public/14747/

Обработка чтения табличного документа (УФ) - https://infostart.ru/public/1276368/

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

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

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

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

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

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

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

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

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

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

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

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

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

#ЕБ_Повседневность #ЕБ_Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
‼️Декомпозиция

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

👨‍💻Общаясь с коллегами про такие принципы, мы заговорили про декомпозицию задач. Декомпозиция – это операция мышления, состоящая в разделении целого на части.🤔

Например, когда нам прилетает здоровенная задача, которую нужно быстро решить, а мы начинаем мыслить «то делать то и с чего начать, она же такая большая, пойду попью чаёк…»🤯. Так вот, декомпозиция задач позволяет разбить её на более мелкие части и задачи, а в особенности на те, которые мы уже умеем решать.

Более живой пример:
❗️Задача: Выгрузить номенклатуру с ценами на сайт в формате JSON.

Абстрагируемся от уже имеющихся готовых решений и попробуем разбить на более простые блоки:
🔸 1. Получить данные запросом из справочника Номенклатура и соединять её с РС Цены номенклатуры;
🔸 2. Сформировать текст в формате JSON содержащий структурируемые данные;
🔸 3. Узнать какое подключение к сайту.
🔸 4. Собрать все в удобном интерфейсе.

В итоге у нас четкий план из простых задач.

И как обычно это бывает «телефоны нас прослушивают» и начинают предлагать подходящий контент, как например ролик про то как научиться жонглировать за 20 минут.
Суть как раз в декомпозиции, разделить процесс жонглирования на небольшие этапы, оттачивая их и уже после этого, объединяя результаты, получать навык😼 и всего за 20 минут. Тоже самое работает и в программировании.

Случайный пост >>>
ТОП книг по 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
🔝 Миграция между СУБД. Утилита 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
Шаблоны текста 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