Гонка конфигураторов с помощью экзекутора

Публикация № 1757140 16.11.22

Приемы и методы разработки - Инструментарий разработчика

Выгружать конфигурацию в файлы в последнее время стало супер модно. Контроль версий, Git, CI/CD и вот это вот все. Исходники как тексты сегодня нужны всем. Но возникают вопросы: а каким методом лучше и быстрее выгружать конфигурацию в файлы, а какая версия платформы справляется с этой задачей оперативнее? Моя статья постарается ответить на эти вопросы. Как говорится, заставим попотеть ваши конфигураторы. С помощью 1С Исполнителя 2.0 мы выгрузим конфигурацию ЗУП, используя платформу пяти версий, от 8.3.18 до 8.3.22.

Итак, сразу к делу.

 

Методы выгрузки конфигурации в файлы

Выгрузить конфигурацию в файлы можно:

 Вопрос?

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

 Важно!

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

 

Платформы, участвующие в забеге

Сегодня на нашей арене за звание "Самая быстрая" соревнуются платформы:

  • 8.3.18.1902 от 20.09.2022
  • 8.3.19.1665 от 19.09.2022
  • 8.3.20.2076 от 19.09.2022
  • 8.3.21.1607 от 28.10.2022
  • 8.3.22.1681 (beta) от 04.11.2022

Как видите, самый свежак. Все для вас.

Платформы будут тестироваться под операционной системой Windows 11.

Вы скажете, почему в забеге не участвует 8.3.17? Я думаю, эта версия уходит из эксплуатации. Старушка - сверстница COVID-19. Похоже, пора ей на покой, как ни как с апреля 2020 года вкалывает.

Информация!

Статья была подготовлена до массового выпуска исправительных версий платформ. Подробнее: Срочное сообщение от фирмы «1С»: обновите платформу как можно скорее. Я не стал перезапускать тестирование на этих новых платформах. Судя по письмам от компании 1С в этих версиях исправлялась уязвимость без развития платформы.

 

Как будем испытывать?

Эксперимент будет построен следующим образом: каждая платформа участвующая в забеге выполнит следующие действия:

  • Пять раз выгрузка конфигурации методом BATH
  • Пять раз выгрузка конфигурации методом AGENT
  • Пять раз выгрузка конфигурации методом IBCMD

Почему пять раз? Причины две:

  • Сгладить погрешность измерения
  • Уменьшить влияние «прогрева» системы при выгрузке

В качестве подопытной конфигурации, которую мы будем выгружать в файлы, аж целых 75 раз выступает ЗУП редакции 3.1.24.25 от 27.10.2022. Подключаться будем к файловой ИБ, которая располагается на SSD диске.

Вы спросите, почему именно ЗУП? Хорошо, я отвечу. Во-первых, в этой конфигурации почти нет бинариников. Это вам не УТ11 с сотней драйверов торгового оборудования. Во-вторых, как не странно, это очень небольшая конфигурация. Она меньше БП, УТ, УНФ. Признаюсь, сперва я тестировал выгрузку на конфигурации, которая идет в составе БСП, но она очень маленькая и на ней не так ярко видны колебания времени выгрузки.

 Важно!

Для повторения эксперимента на своей машине вам потребуется в базе ЗУП добавить пользователя с полными правами, с именем “admin” и паролем “123”

 

Кто будет испытывать

Конечно, 75 раз запускать разные командные строки, это так себе удовольствие. Поэтому пишем скрипт. Да не просто скрипт, а на новом Исполнителе 2.0. Вауу!

Детали скрипта будут разобраны ниже.

 

Результат испытаний

Как всегда самое интересное в конце, ну почти в конце.

И так, перед вами результат гонки конфигураторов. В двух словах, что вы видите.

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

 

 

Во-вторых, диаграмма, где по горизонтали отображены наши платформы, а по вертикали среднее время выгрузки конфигурации в файлы в миллисекундах. Цветом столбца выделен метод выгрузки. Обратите внимание на легенду "Mode" справа от диаграммы.

 

 

В-третьих, для самых пытливых, под спойлером приведены исходные данные измерений.

 
 Сырые данные тестирования платформ

 

Вывод и итог

Во всех хороших статьях есть выводы. Моя статья хорошая.

И так выводы.

  1. Есть прогрев конфигуратора. То есть, вторая и далее выгрузка происходят быстрее первой. Чьи кэши заполняются при прогреве конфигуратора или Windows не понятно.
  2. Новые версии конфигуратора работают быстрее во всех режимах. Браво!
  3. Автономный сервер на платформах с 8.3.20 самый быстрый! Это работает многопоточный режим выгрузки. В процессе выгрузки в диспетчере задач видно, как процессор шуршит всеми своими ядрами.
  4. Начиная с версии 8.3.20 скорость выгрузки в пакетном режиме и в режиме агента практически сравнялись. Думаю, в первую очередь это произошло из-за уменьшения времени открытия окна конфигуратора в пакетном режиме.
  5. Конфигуратор в режиме агента показывает самые маленькие колебания времени от версии к версии.
  6. Даже самая медленная выгрузка конфигурации в файлы вполне терпимая.

 

Экзекутор

В процессе тестирования нам все время помогал Исполнитель 2.0. Пришло и его время. И так, подробнее о скрипте, который выгружал конфигурацию.

 

Исполнитель 2.0

В статье использовался Исполнитель 2.0.1.16, который вышел 18.10.2022

Документация: (1С:Исполнитель)
Объектная модель (1C:Исполнитель)
Книжка от ХРУСТАЛЕВОЙ (кем бы она не была) (1С:Предприятие.Элемент)

 

Разработка и отладка

Разработка скриптов ведется в ЛУЧШЕМ редакторе кода, а именно в VSCode (Visual Studio Code)

Для комфортной разработки потребуются установить плагины:

 

Скрипт для тестирования платформ различных версий

Скрипт помимо статьи так же выложен на GitHub.

Структура скрипта:

  • Метод Скрипт – стартовая точка. Содержит настройки путей и версии тестируемых платформ
  • Метод bath – выгрузка конфигурации используя пакетный режим
  • Метод agent – выгрузка конфигурации используя режим агента конфигуратора
  • Метод ibcmd – выгрузка конфигурации с использованием автономного сервера
  • Метод ОчиститьКаталог – очистка каталога с файлами выгруженной конфигурации
  • Метод ЗаписатьВЛог – запись результатов тестирования в текстовый лог файл
 
 Текст скрипта

 

Любителям этого самого, интересного

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

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

 

Литералы в массивах

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

знч ВерсииПлатформы = ["8.3.18.1902", "8.3.19.1665", "8.3.20.2076", "8.3.21.1607", "8.3.22.1681"]

 

Компактность языка

Эта фишка из той темы, что пока сам не попробуешь не поймешь. Оказывается, очень приятно НЕ писать «Тогда - КонецЕсли» и «Цикл - КонецЦикла»
Теперь можно писать так.

если ЛогФайл.Существует()
    Файлы.Удалить(ПолныйПутьКЛогФайлу)
;

Красота!

 

Интерполяция строк

Незаменимая вещь в скриптах. Посмотрите, как изящно можно писать:

пер Аргументы = ["DESIGNER", "/F %ИБ", "/N admin", "/P 123", "/DumpConfigToFiles %CF_FILES"]

При исполнении в строки на места %ИБ и %CF_FILES подставятся значения соответствующих переменных. Вот так просто и удобно. Подсаживаешься на интерполяцию сразу.

 

Управляющие последовательности

Еще про строки. В Исполнителе в строках работают управляющие последовательности, например «\т» для табуляции. Как результат, красивый вывод результата работы скрипта. За вывод в терминал отвечает следующий код:

пер РезультатВыгрузки =
        "IBCMD\т%ВерсияПлатформы\т$ВремяСтарта\т$ВремяЗавершения\т%Длительность\т%{Длительность.ВМиллисекундах()}"
Консоль.Записать(РезультатВыгрузки)

 

 

Соединение по SSH

Стандартная библиотека Исполнителя имеет объекты для подключения к удаленным серверам по SSH. Можно подключиться к серверу Linux или, как в скрипте, к конфигуратору, который работает в режиме агента.

исп СоединениеSsh = новый СоединениеSsh("127.0.0.1", 1543, "admin", "123")

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

исп КонсольSsh = СоединениеSsh.ОткрытьКонсоль()

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

КонсольSsh.СтрокаПриглашения = "designer> "
КонсольSsh.ОжидатьПриглашение(5с)
КонсольSsh.Выполнить("common connect-ib", 2с)
 

 

Тип Длительность

Удобный тип для передачи в объекты информации о длительности. У типа есть человеко-читаемый литерал, например 73с или 1м13с.

КонсольSsh.ОжидатьПриглашение(5с)

 

Отладка

Плагин 1C:Executor для VSCode имеет полноценный отладчик, который умеет все, а именно:

  • Точка останова
  • Информация о переменных в окне "Локальные переменные". Причем, обратите внимание, если переменная это объект то полноценно показываются значения свойств этого объекта
  • Информация о стеке вызова в окне "Стек вызовов"
  • Информация о точках останова в окне "Точки останова"
  • Шагания с заходом и без захода в метод
  • В json файле в котором описывается конфигурация отладки можно указать аргументы командной строки и отлаживать скрипт с передачей в него параметров.

Ну и скриншот, как это все выглядит:

 

Итог и вывод

Статью пора завершать. Итак, какой можно подвести итог:

  • Исполнитель, как скриптовый язык очень неплох. Язык имеет развитую систему типов и богатую стандартную библиотеку.
  • Писать на Исполнителе легко и приятно. Язык компактный. Написанный код легко читается.
  • Порог входа очень небольшой. Опытный программист начинает писать код сразу.
  • Есть поддержка в Телеграмм чате https://t.me/e1c_executor/2

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

Скачать файлы

Наименование Файл Версия Размер
Гонка конфигураторов с помощью экзекутора: программа - скрипт

.sbsl 7,85Kb
0
.sbsl 7,85Kb Скачать
Гонка конфигураторов с помощью экзекутора: результат тестирования

.xlsx 24,61Kb
0
.xlsx 24,61Kb Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ImHunter 262 16.11.22 08:49 Сейчас в теме
Поправьте BATH -> BATCH :) Bath - это не про конфигуратор и исходники:))
Ну а по сути статьи... Немного познавательно. Но практического смысла просто в выгрузке исходников - немного. По результатам выгрузки ведь важно знать автора участка кода. В случае Конфигуратора и хранилища для этого используем gitsync.
check2; anatox24; Evil Beaver; kuntashov; Somebody1; NiGMa; +6 Ответить
10. infosoft-v 692 17.11.22 08:40 Сейчас в теме
(1) Добрый день.
Автор участка кода устанавливается не во время выгрузки а во время коммита. Когда программист будет коммитить свою часть работы, git для каждой строчки подставит автора.
2. kser87 2274 16.11.22 10:05 Сейчас в теме
Спасибо, познавательно
zqzq; infosoft-v; +2 Ответить
3. nixel 1297 16.11.22 11:40 Сейчас в теме
Странно, что вспомнили про precommit1c, но забыли про vanessa-runner и v8runner)
Дмитрий74Чел; Yashazz; Darklight; +3 Ответить
6. infosoft-v 692 16.11.22 13:36 Сейчас в теме
(3) Никита, поправьте меня, если я не прав.
В библиотеках *runner при выгрузке конфигурации в файлы под капотом запускается конфигуратор в пакетном режиме. Исходя из этого я не стал тестировать *runner а сразу протестировал конфигуратор в этом режиме.

Напротив в библиотеке precommit1c реализован собственный алгоритм разбора конфигураций. Но причину, по которой я не стал тестировать precommit1C указан в статье.
4. Darklight 28 16.11.22 12:09 Сейчас в теме
Хорошая статья - прям два в одном - и замер производительности инструментов выгрузки, и новые примеры по 1С Исполнителю.
Но два замечания:
1. Жаль, что сбросили со счетов precommit1c (хотя не знаю что там за проблемы с управляемыми формами; пока выглядит как явно предвзятое отстранение прямого стороннего конкурента; думаю можно было бы замерить и им тоже, если там уж явно есть косяки с упр формами - то взяли бы примера ещё и другу конфигурацию без упр форм - правда такую поискать надо - сейчас в типовых почти везде есть хотя бы несколько уро. форм, даже в неуправляемых конфигурациях). Вроде бы есть ещё несколько сторонних сервисов по выгрузки конфигурации в xml файлы.
2. Автор проверил выгрузку, но почему-то не протестировал загрузку, а это тоже важно!
3. Автор говорит об усилении роли внешних инструментов в обработке исходников конфигураций 1С. В таких сценариях часто происходит не полная выгрузка/загрузка, а частичная синхронизация (и у 1С есть поддержка такого режима, в т.ч. с автоанализом изменившихся файлов) - вот в таком режиме было бы неплохо тоже протестировать. В том числе при пакетной работе (несколько выгрузок/загрузок) - тут, думаю, Агент конфигуратора проявит себя более эффективно, так что сбрасывать со счетов его не стоит.
А то получается в статье большая её часть собственно не посвящена непосредственно самим тестам - и было бы правильно её дополнить именно информацией по расширенным тестам!
kpotoyalo; +1 Ответить
11. infosoft-v 692 17.11.22 08:53 Сейчас в теме
(4) Спасибо за такой подробный комментарий.

1. Если я ничего не путаю, то precommit1C :
-- раpбирает конфигурацию в свой формат, отличный от формата 1С-XML
-- формат precommit1C не иерархический а линейный

2, 3 Скрипт для тестирования выгрузки, как учебный пример, помог мне прикоснуться к Исполнителю. Я попробовал его в деле решая реальную задачу. Результат этого эксперимента - понимание, того, что исполнитель вполне удобный и мощный инструмент. Вряд ли я буду развивать тему сравнения платформ, цели такой не было. Однако, я точно буду использовать Исполнитель для реальной автоматизации разработки. И вот этими скриптами, думаю можно и нужно будет поделиться.
5. JohnyDeath 300 16.11.22 12:26 Сейчас в теме
IBCMD тоже может работать в режиме агента (не помню с какой именно версии).
Включи в замеры и этот способ. Должно получится еще быстрее.
infosoft-v; +1 Ответить
7. starik-2005 2771 16.11.22 22:36 Сейчас в теме
Батюшке, петон на русском языке? Они придумали разделение блоков отступами?
Дмитрий74Чел; +1 Ответить
12. infosoft-v 692 17.11.22 08:54 Сейчас в теме
(7) Нет, отступы по желанию. Разделитель блоков кода знак ; (точка с запятой)
23. starik-2005 2771 17.11.22 20:18 Сейчас в теме
(12) Инфаркт с миокардом - от такой рубец! )))
8. Asmody 16.11.22 23:29 Сейчас в теме
Раз пошла такая пьянка, кто-нибудь знает, почему конструктор АдминистрированиеСервераV8() пишет "Ошибка при обращении к кластеру. Отсутствует соединение", хотя rac с теми же параметрами цепляется нормально?
13. infosoft-v 692 17.11.22 08:55 Сейчас в теме
(8) Думаю, что скорее всего подскажут тут: https://t.me/e1c_executor/2
15. Asmody 17.11.22 09:16 Сейчас в теме
(13) Спасибо, пойду спрошу туда
9. PerlAmutor 129 17.11.22 06:33 Сейчас в теме
Антивирус отключали на время выгрузки? По моему опыту он влияет очень сильно на скорость загрузки/выгрузки такого количества мелких файлов. Но скорость выгрузки не самая проблемная часть во всем этом. Самое тяжелое это когда запускаешь трехстороннее объединение с файлом обновления, вот тут и 2 часа может идти сравнение.
tormozit; +1 Ответить
14. infosoft-v 692 17.11.22 08:56 Сейчас в теме
(9) Нет, антивирус не отключал. Даже не подумал об этом. Спасибо за уточнение.
16. Darklight 28 17.11.22 09:35 Сейчас в теме
(9)Вы выполняете сравнение-объединение через xml файлы? Это эффективнее, чем встроенный механизм платформы (в т.ч. в EDT)? Даже при обновлении с файла поставки (cfu)? Каким инструментом пользуетесь?
17. infosoft-v 692 17.11.22 10:04 Сейчас в теме
(16) При разработке конфигурации пользуюсь EDT
При разработке обработок Git + VSCode
22. PerlAmutor 129 17.11.22 20:01 Сейчас в теме
(16) Использую Git и mergetool (2 штуки). Это эффективней в любом случае, т.к. сравнить и объединить можно даже то, что не дает сделать конфигуратор. А главное это промежуточное сохранение и возврат к процессу объединения в любой момент без необходимости запускать сравнение заново. Ни конфигуратор ни EDT не могут эффективно справляться с задачей обновления таких конфигураций как ERP. Плюс поведение конфигуратора при сравнении не всегда очевидное, в зависимости от релиза платформы появляются сюрпризы. Т.ч. делаем объединение через гит, а затем запускаем контрольное сравнение через конфигуратор, сначала с конфигурацией поставщика, а затем со старой конфигурацией, чтобы убедиться что не забыли никаких реквизитов документов или не сократили набор составных типов. Главное помнить, что конфигурация из демо-базы не подходит для объединения и обновления. Уже не раз сталкивался с тем, что конфигурация демо-базы отличается от конфигурации оригинальной конфигурации поставщика. Ну и допиливание роли ПолныеПрава головнняка преподносит.
А и еще один плюс - даже если начали процесс объединения месяц назад и весь месяц коллега допиливал рабочую базу, то его доработки потом очень легко и быстро докидываются после полного мержа. Часто даже на автомате, без необходимости решать мерж конфликты. Конфигуратор так не умеет.
18. Tavalik 2832 17.11.22 13:52 Сейчас в теме
Хорошая статья. И выводы есть.

Я выгружаю через пакетный режим конфигуратора, и платформа у нас 8.3.19.1665. Оказывается, это самый медленный из всех возможных способов )
infosoft-v; +1 Ответить
19. Tavalik 2832 17.11.22 13:55 Сейчас в теме
Тоже хочется попробовать в деле 1С:Исполнитель, но все уже давным-давно автоматизировано, отлажено и работает как часы на OScript. Все нет подходящей задачи.
20. Evil Beaver 7726 17.11.22 17:03 Сейчас в теме
21. Tavalik 2832 17.11.22 17:14 Сейчас в теме
(20)
Вот от кого точно не ожидал такого предложения ))
JohnyDeath; dhurricane; Darklight; infosoft-v; +4 Ответить
24. cdiamond 221 18.11.22 08:47 Сейчас в теме
Тесты плохие, только на скорость, без проверки качества. Не сделано самого интересного - сравненение загруженных из XML конфигураций с эталонной выгрузкой в CF с выводом в диаграмму количества расхождений.
Кто хоть раз делал такое тот поймёт. На ЗУП это особенно хорошо проявляется.
28. infosoft-v 692 18.11.22 09:35 Сейчас в теме
(24) У вас, похоже, готовая тема для отличной статьи - исследования! С удовольствием ее почитаю. Маякните, пожалуйста, когда будет готова.
25. cdiamond 221 18.11.22 09:21 Сейчас в теме
(24)
Для живущих в мире розовых пони прилагаю скрин результата сравнения выгрузки XML и CF на платформе 8.3.22.1709
Сравнение ЗУП Корп
Поверье мне, там покорёжено почти всё. Чем новее платформа, тем результаты хуже.
26. Darklight 28 18.11.22 09:23 Сейчас в теме
(25)А вот с этого момент поподробнее - что там расходится?
27. cdiamond 221 18.11.22 09:25 Сейчас в теме
(26) Расходятся конфиги загруженные с XML и CF
29. infosoft-v 692 18.11.22 09:50 Сейчас в теме
(25) "покорёжено" - что обозначает этот термин?
Если я прогоню конфигурацию через преобразование CF v.1 -> XML -> CF v.2 , то, не смотря на то, сто CF v.1 и CF v.2 отличаются, как будет вести себя CF v.2?
-- не будет запускаться в пользовательском режиме?
-- не будет запускаться в режиме конфигуратора?
-- некоторые алгоритмы будут работать по другому?
-- некоторые формы, макеты, роли... будут работать и выглядеть по другому?

На все вопросы ответ один, конфигурация CF v.2 будет вести себя корректно, равно как и конфигурация CF v.1

Bторой момент, методологический.
Раз уж вы сделали преобразование CF v.1 -> XML, то все дальнейшие сравнения и объединения конфигураций проводите только с XML.
Преобразование XML -> CF v.2 нужно только для одной задачи, а именно накатить обновление на информационную базу.
Нет такой нужды или задачи, что бы сравнивать CF v.1 и CF v.2. Или я не знаю такую задачу.
30. cdiamond 221 18.11.22 09:57 Сейчас в теме
(29) Ну вы сами все тесты проводили с базой ЗУП. Это значит что доработки выполняются со вскрытием замка (иначе зачем его выгружать), и естественно эта база требует постоянного обновления. С тотально расходящимися объектами трудозатраты на обновление растут в десятки раз.
То есть мораль проста - если база своя самописка, то наверно можно применять XML. Хотя на чем основывается уверенность что проблем не будет не ясно. Лично я вообще не уверен ни насчет существования проблемы, ни насчет его отсутствия. Если же сопровождаете "вкрытую" типовую требующую обновлений, то будут очень неприятные сюрпризы
33. Dach 353 20.11.22 23:44 Сейчас в теме
(29) "некоторые формы, макеты, роли... будут работать и выглядеть по другому"

Неоднократно сталкивался с проблемами при загрузке конфы из XML, на разных версиях платформы приколы разные.
Из последнего, например - "слетала" привязка обработчиков форм к событиям. То есть, сам код на месте, а привязки нет и он не отрабатывает, соответственно. А задача - из дев-ветки в прод-ветку черри-пиками подтягивались коммиты по принятым в релиз задачам (с ручной обработкой конфликтов человеком - релиз-инженером). В итоге, из-за таких вот косяков платформы пришлось отказаться от этой схемы сборки релиза, хотя она успешно применялась какое-то время и даже была несколько автоматизирована с помощью специальной обработки

Так что да, мне понятна "боль" комментатора выше, когда нужно сравнить cf_1 и cf_2, чтобы убедиться, что в cf_2 ничего не сломалось
38. JohnyDeath 300 01.12.22 14:10 Сейчас в теме
(25) а теперь можешь выгрузить CF_2 на исходники и сравнить их с результатом первой выгрузки?
Сравнить, например, тем же kdiff3
Есть подозрение, что там просто некоторые свойства поменяны местами и/или какие-то свойства по-умолчанию просто не выгружались/загружались
31. IT_Avito 18.11.22 10:41 Сейчас в теме
32. infosoft-v 692 19.11.22 20:10 Сейчас в теме
(31) Спасибо за уточнение. Тогда требуется найти объяснение такому скачку скорости с 8.3.20 для автономного сервера. Есть мысли?
34. VladC# 65 22.11.22 05:58 Сейчас в теме
если ЛогФайл.Существует()
    Файлы.Удалить(ПолныйПутьКЛогФайлу)
;

Вопрос по синтаксису Если - т.е. если начала блока не видно, то лезть вверх и искать что это условный оператор или цикл?
35. Darklight 28 22.11.22 09:48 Сейчас в теме
(34) Да лезть, раз IDE это не показывает. Да - в этом есть некоторое неудобство - но не оно на самом деле надуманное - ситуаций, где конкретизации окончания блока вида "КонецЕсли" "КонецЦикла" реально пригодились бы в чтении кода, не так и много.
А вообще - практика "чистого кода" декларирует правило не писать длинные блоки кода и блоки большой вложенности - проводя декомпозицию кода. Тогда любой блок кода должен условно помещаться примерно "на один экран" листинга, а число вложений (локальных блоков кода; обычно тривиальные 1-2 инструкции вложения не учитывают) не должно быть больше 4-5. Вот эти правила (а не именованные индивидуальные концевики) повышают читаемость кода. Хотя и являются, в общем-то, спорными, т.к. требуют большей упаковки кода в функции, т.е. сокрытия реализации вообще от беглого просмотра. Но всё-равно, это лучше, чем простыни блоков на несколько экранов с неимоверным уровнем вложенности, да ещё и без поясняющих комментариев.
В остальном современная IDE должна интерактивно показывать и границы блоков, и что какой было начало у блока, уметь их сворачивать и разворачивать, и уметь быстро показывать содержимое функции и/или её описание, без смены основной позиции просмотра кода
36. VladC# 65 22.11.22 12:19 Сейчас в теме
(35) Вы являетесь членом команды разработчиков 1С:Исполнитель?
37. Darklight 28 22.11.22 13:06 Сейчас в теме
(36)нет, но разрабатываю другой ЯП
Оставьте свое сообщение

См. также

Безопасная работа с транзакциями во встроенном языке Промо

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    56313    tormozit    63    

[ЕХТ] Фреймворк для Расширений 1С: Обработка событий: описание, примеры и демобаза.

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

21.10.2022    1042    mszsuz    3    

Как передать Таблицу Значений в Динамический Список?

Механизмы платформы 1С Универсальные функции Платформа 1С v8.3 Абонемент ($m)

До версии 8.3.9 ответ однозначен - никак. Потом были добавлены временные таблицы для динамических списков, но официальный ответ остался неизменным - никак. Ну а если очень надо?

1 стартмани

17.10.2022    1146    Dementor    8    

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

Механизмы платформы 1С Платформа 1С v8.3 План видов характеристик Абонемент ($m)

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

1 стартмани

20.09.2022    2268    Alxby    9    

Программное создание динамического списка на управляемой форме. (Динамическое создание динамического списка). Готовая процедура + обработка - демонстрационный пример Промо

Механизмы платформы 1С Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Если у вас возникает необходимость на форму влиять динамически и создавать элементы управляемой формы программно, а особенно хотите вывести программно (динамически) динамический список, вам будет интересна эта процедура. Процедура включает также возможность формирования своей командной панели (а-ля снятие галочки "Автозаполнение" у стандартной командной панели списка).

1 стартмани

19.01.2018    81760    rpgshnik    36    

Что не так с таблицами формы?

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Почему при редактирования строки таблицы нельзя отказаться от изменений? Почему на верхнем уровне дерева можно ввести только один узел? Ответ на эти и другие вопросы один - потому что 1С :) Однако не все так плохо! Возможностей кастомизации в платформе 1С вполне достаточно, чтобы улучшить работу с этим элементом и снять некоторые ограничения.

1 стартмани

19.09.2022    1153    kalyaka    3    

Полезный код для программистов 1С (часть 4). Работа с файловой системой Асинх (аналог общего модуля БСП)

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Абонемент ($m)

Я хотел бы поговорить с вами о файлах. А точнее о том, как сделать работу с ними приятной...

1 стартмани

02.09.2022    2928    vandalsvq    9    

Программная работа с типовыми формами истории данных

Механизмы платформы 1С Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

07.07.2022    780    zeltyr    0    

Некоторая работа с данными через COM Промо

Механизмы платформы 1С Платформа 1С v8.3 Абонемент ($m)

В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.

2 стартмани

05.12.2012    62293    wowik    32    

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

Механизмы платформы 1С Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

10.06.2022    3528    Onwardv    8    

Использование HTML Редактора whizzywig в 1С 8.2 и 1С 8.3 платформах

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Россия Абонемент ($m)

В статье будут разобраны способы использования визуального HTML Редактора whizzywig в 1С 8.2 и 1С 8.3, который существенно меньше по размерам, чем TinyMCE, но при этом обладает большими возможностями. Показано достоинство этого редактора. Приведены обработки, которые работают как на компьютерной платформе, так и пример реализации обработки, которая предназначена для мобильной платформы. Решение испытывалось на платформах 1С 8.2.12 и 8.3.20, и мобильном клиенте 8.3.19.59.

2 стартмани

12.04.2022    782    user1206119    0    

Использование HTML Редактора NicEdit в 1С 8.2 и 1С 8.3 платформах

Механизмы платформы 1С Платформа 1С v8.3 Мобильная платформа Платформа 1C v8.2 Абонемент ($m)

В статье будут разобраны способы использования визуального HTML Редактора NicEdit в 1С 8.2 и 1С 8.3, который существенно меньше по размерам, чем TinyMCE. Показано достоинство этого редактора. Приведены обработки, которые работают как на компьютерной платформе, так и пример реализации обработки, которая предназначена для мобильной платформы. Решение испытывалось на платформах 1С 8.2.12 и 8.3.20, и мобильном клиенте 8.3.19.59.

2 стартмани

11.04.2022    1089    user1206119    7    

Работа со схемой запроса Промо

Инструментарий разработчика Платформа 1С v8.3 Запросы Абонемент ($m)

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, - лучше воспользоваться объектной моделью запроса и использовать объект "Схема запроса". В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом "Схема запроса".

1 стартмани

24.04.2018    56959    kalyaka    40    

Автоматический перезапуск рабочих процессов (rphost) кластера 1С

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Служба Windows, которая выполняет автоматический перезапуск рабочих процессов (rphost) кластера 1С по заданным настройкам. Перезапуск выполняется по превышению настроенного лимита, используемой одним рабочим процессом памяти. Настройка лимита памяти может быть задана, как общая для всех рабочих серверов кластера 1С, так и индивидуально для каждого рабочего сервера по отдельности.

10 стартмани

08.07.2021    3838    zhichkin    0    

Семеро одного не ждут? Асинхронное исследование асинхронности

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Все уже, наверное, знают о появлении в новых версиях платформы асинхронных функций и конструкций Асинх/Ждать. Многие, возможно, уже их используют. Но что будет, если создать свои асинхронные функции, запустить и не дожидаться окончания их выполнения? Неужели можно запустить несколько процессов параллельно?

1 стартмани

08.06.2021    8758    Alxby    47    

Devops на коленке, или Иногда стоит отказаться от gitsync

DevOps и автоматизация разработки Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

08.12.2020    1865    ardn    2    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

Универсальные функции HighLoad оптимизация Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    53273    DarkAn    87    

Библиотека программного изменения формы (УФ)

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

07.08.2020    9019    BuriyLesha    20    

Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В платформе 8.3.15 появились новые методы НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера(). В данной статье рассмотрено готовое решение проверенное и прекрасно работающее на тонком и веб-клиенте.

1 стартмани

25.07.2020    21247    Flashill    15    

Запуск фонового задания во внешней обработке без регистрации в справочнике "Дополнительные отчеты и обработки"

Инструментарий разработчика Управляемые формы 1С:Зарплата и Управление Персоналом 3.x Россия Абонемент ($m)

Описал, как показать прогресс выполнения длительной операции во внешней обработке, и при этом не регистрировать обработку в справочнике "ДополнительныеОтчетыИОбработки". Проверял на БСП версии "3.1.2.264".

1 стартмани

09.03.2020    11939    VinnieThePOOH    7    

Hello world на metadata.js Промо

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»

1 стартмани

11.08.2016    73793    unpete    209    

Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Отправка уведомлений с помощью команды командной строки msg. Оповестить пользователей из серверного модуля или регламентного задания, с помощью командной строки msg.

1 стартмани

05.03.2020    9759    user5300    3    

Удаление записи из табличной части в режиме без использования модальности

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

01.03.2020    2772    vaganovsergey    2    

Вывод сообщений в HTML поле средствами 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Абонемент ($m)

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

2 стартмани

31.01.2020    23052    burni4    16    

Эффективная обработка данных в оперативной памяти за счет использования коллекции "соответствие" Промо

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Разработчики, перешедшие с 7-ки на 8-ку по привычке продолжают использовать универсальные коллекции "список значений", "таблица значений" в задачах, которые в 8-ке существенно быстрее решаются с использованием новой коллекции "соответствие". Эта статья для тех, кто еще не оценил всех преимуществ новой структуры данных. Статья позволит создавать Вам максимально быстрые программы. Приведено несколько примеров, в том числе, решение для задач на графах.

1 стартмани

11.12.2010    59636    ildarovich    40    

Интеграция 1С и Active Directory на сервере

DevOps и автоматизация разработки Платформа 1С v8.3 Управляемые формы Россия Абонемент ($m)

Получить информацию Active Directory на управляемых формах со стороны сервера, под любым пользователем домена.

1 стартмани

21.12.2019    21270    DrZombi    16    

Пауза на платформе 1С, очень нативная и очень бережная к ресурсам

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Иногда необходимо установить паузу при выполнении программных алгоритмов. К сожалению, платформа 1С не имеет решения на уровне глобального контекста, поэтому приходится разработчику придумывать "костыли и велосипеды". Решения, которые "общеприняты": либо используют внешние библиотеки (VBS, WS, ping и пр.), либо нещадно используют ресурсы (бесконечный цикл и т.п.). Хочу предложить еще одно решение, основанное на механизме управляемых блокировок платформы 1С. Итак, приступим:

1 стартмани

25.11.2019    6331    Sibars    65    

Массовое изменение режима поддержки объектов конфигурации

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Что делать, если при сравнении/объединении конфигураций нужно изменить режим поддержки для большого количества объектов? Штатного механизма для выполнения подобной задачи в Платформе нет. Изменять режим для всей конфигурации? Описывается способ, позволяющий выполнить изменение режима только для нужных объектов.

05.11.2019    6064    VKislitsin    12    

XDTO - часть 3 Промо

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

3 стартмани

28.01.2013    217501    Evil Beaver    177    

Многопоточная обработка данных на примере перепроведения документов

Инструментарий разработчика Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Дальнейшее развитие темы фоновой обработки данных - проведение документов в потоках. Настройка параметров и запуск основного процесса (менеджера потоков). Разбивка документов для проведения на не связанные друг с другом наборы и запуск дополнительных фоновых заданий для отдельных потоков. Отслеживание выполнения каждого потока в родительском сеансе.

1 стартмани

17.09.2019    15799    ids79    46    

Описание формата внутреннего представления данных 1С в контексте обмена данными

Механизмы платформы 1С Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на "внутреннюю кухню" платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм "быстрого массива", который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно "на лету" программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

1 стартмани

06.09.2019    24139    Dementor    31    

Централизованное управление кластером 1С Предприятия, состоящим из нескольких рабочих серверов, работающих на платформе GNU/Linux

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

При эксплуатации крупных информационных систем, в состав которых могут входить десятки серверов 1С Предприятия, зачастую возникают ситуации, требующие однотипных действий на всех серверах кластера 1С Предприятия или на всех серверах контура. В настоящей статье представлен способ централизованного управления серверами 1С Предприятия, работающими на платформе GNU/Linux. Подобный подход может быть использован и для других задач, возникающих в процессе эксплуатации крупных систем, с целью сокращения как временных затрат специалистов, так и времени простоя системы.

1 стартмани

26.08.2019    4706    Sloth    0    

Создание внешних печатных форм под управляемым приложением с нуля Промо

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Когда мне пришлось создавать внешние печатные формы под приложения на БСП ("1С: Бухгалтерия предприятия 3.0", "1С: Управление торговлей 11"), я обнаружил, что нет грамотных инструкций. Те, что имелись, использовали так называемые шаблоны: готовые обработки, в которых необходимо выполнять определенные корректировки. Но как создать сам шаблон, конкретных мануалов не было, справочную информацию я нашел на сайте ИТС и, обработав ее, написал статью, где подробно и понятно объясняются все этапы создания внешней печатной формы для управляемого приложения на примере конфигурации "1С: Бухгалтерия предприятия 3.0"

1 стартмани

05.06.2014    354252    signum2009    133    

Менеджер потоков: реализация "любой" задачи в потоках

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Менеджер потоков – один их новых инструментов, который упрощает работу разработчиков. Насколько легко с ним, на конференции Infostart Event 2018 Education показал начальник отдела автоматизации 1С Иван Филимонов компании «Трансстроймеханизация».

01.08.2019    12661    DarkAn    7    

Просто комбо, два в одном, или как напечатать два макета (стандартный и измененный) одной печатной формы

Инструментарий разработчика Платформа 1С v8.3 1С:Бухгалтерия 3.0 Бухгалтерский учет Абонемент ($m)

Алгоритм и расширение (как пример) демонстрируют механизм одновременного использования двух макетов (стандартного и измененного), принадлежащих одной записи регистра «Макеты печатных форм» («ПользовательскиеМакетыПечати») в конфигурации «1С:Бухгалтерия предприятия, редакция 3.0».

1 стартмани

26.06.2019    5460    delta    0    

"Убер на складе": динамический расчет маршрутов с учетом реальных расстояний

Логистика, склад и ТМЦ Механизмы платформы 1С Платформа 1С v8.3 Управленческий учет Абонемент ($m)

Представляю методику и инструмент для динамического расчета маршрутов отбора на высоконагруженных складах для максимального повышения эффективности склада, ускорения проходимости и, как следствие, экономии денег. Это методика и обработка для интеграции в WMS решения. Тестировалось на 1С 8.3.14.1565.

3 стартмани

24.06.2019    22700    informa1555    25    

Заметочки про 1С:Предприятие 8 (редакция 22.06.2012) Промо

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

01.06.2010    196075    alexk-is    413    

Асинхронная работа с текстовыми файлами в 1С 8.3

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В этой статье я рассмотрю основные моменты работы с текстовым файлом в 1С 8.3. (загрузка - выгрузка) в режиме отключенной модальности (асинхронно).

1 стартмани

28.02.2019    12533    signum2009    7    

Баг или фича? Неожиданное поведение платформы

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Рассмотрим несколько случаев неожиданного поведения платформы 1С, а также что с этим можно cделать.

18.02.2019    26468    Infostart    90    

Использование фреймворка "Тестирование 3.0" (https://testingtool.ru) для тестирования веб-приложений

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Рассматривается использование фреймворка "Тестирование 3.0" (https://testingtool.ru) для тестирования веб-приложений.

1 стартмани

24.12.2018    5925    AlexKo    9    

Методика оперативного проведения и управляемые блокировки Промо

Механизмы платформы 1С Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

25.07.2013    83407    GROOVY    176    

Динамическое изменение формы: кнопочная форма выбора справочника

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Динамическое изменение формы на примере кнопочного выбора из справочника.

1 стартмани

18.10.2018    9714    RocKeR_13    14    

HTTP Сервисы: Путь к своему сервису. Часть 4

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 3». В предыдущих частях мы уже о многом поговорили. В этой части поговорим про размер сообщений, о файлах, о порциях и немножко, о регламентах.

1 стартмани

28.09.2018    37673    dsdred    18    

Сортировка метаданных с учетом объектов на замке

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Порой одна конфигурация находится на поддержке нескольких поставщиков (со своими префиксами). Зачастую при обновлении отдельных поставок происходит "перемешивание" объектов с различными префиксами. Работать с такой конфигурацией не очень удобно, но есть способ для сортировки метаданных (в том числе объектов на замке), а также быстрого восстановления сортировки, если случайно очередное обновление было выполнено с взятием порядка метаданных из файла (которое устанавливается по умолчанию).

1 стартмани

16.08.2018    4702    Olenevod    1    

Соответствие типов данных 1С:Предприятие 8.x в MS SQL 2008 Промо

Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Соответствие типов данных 1С:Предприятие 8.x и MS SQL 2008

13.01.2013    23742    Infostart    7    

HTTP Сервисы: Путь к своему сервису. Часть 2

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 1». В этой части будет "Микс" из OData+HTTP-Сервис(Get)+СКД. Наш пример будет работать как в браузере, так и в написанной нами обработке. Работать будем с разными версиями платформ.

1 стартмани

13.08.2018    51929    dsdred    2    

Мониторинг журнала регистрации при помощи Powershell

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Работа с журналом регистрации в формате SQLite внешними средствами на примере мониторинга изменений в конфигурации базы данных.

1 стартмани

12.07.2018    14154    user768334    7    

Заполнение документа Word без ComОбъект

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Идея написать публикацию пришла после прочтения очередного рассказа о том, как файл Word заполнялся через COM-объект в клиент-серверном варианте. При этом падал Сервер 1С. Зачем в принципе использовать файлы Word как шаблоны? Ну, допустим, в организации используется некая внутренняя отчетность, выполнения в корпоративном стиле, и переделать ее на привычные табличные документы нет возможности.

1 стартмани

08.07.2018    21045    nbeliaev    37    

74 полезности из комплексного курса по конфигурированию 1С 8.2 Промо

Механизмы платформы 1С Платформа 1С v8.3 Россия Абонемент ($m)

Курс прошел в октябре 2011 года. До этого уже была определенная подготовка (прочитал несколько книг, прошел несколько интернет-курсов и подготовился по вопросам к экзамену 1С: Профессионал по платформе 8.2). На этом курсе прошел обучение по 4 темам: основные объекты, оперативный учет, периодические расчеты и бухгалтерский учет. Хочу рассказать вам о том, что было не очевидно для меня. Надеюсь и вам пригодится.

1 стартмани

02.03.2012    13721    Flashill    65    

Жизненный цикл управляемой формы. Шпаргалка разработчика

Механизмы платформы 1С Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

29.06.2018    44981    stas_ganiev    26    

Использование регулярных выражений (RegExp) в Linux

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Описывается способ использования регулярных выражений (RegExp) в Linux с использованием тех же компонентов, что и в Windows (COM-объекты VBScript.RegExp).

1 стартмани

20.04.2018    9797    vsbronnikov    12