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

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

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

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

#ЕБ_Оптимизация
👍10
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» и запустится конфигуратор. Путь может отличаться в зависимости от разрядности платформы.

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

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

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

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

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

#ЕБ_Собеседования – содержит посты с реальными задачами с собеседований или полезными материалами для подготовки к ним.
Например, https://tttttt.me/e_budni_programmer/8 - Задача с собеседования, как поменять 2 переменные местами, не используя третью.
👍8👎1
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
👍20🔥2
ТОП 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
🔥22👍81
Шаблоны текста 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
👍181
‼️Декомпозиция

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

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

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

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

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

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

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

Случайный пост >>>
ТОП книг по 1С

#ЕБ_Повседневность
#ЕБ_Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🤡2
🔄 Обновлятор-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
👍21🔥61
🔝 Миграция между СУБД. Утилита 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
👍37🔥7
Шаблоны текста 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
👍34🔥10