Режим агента конфигуратора на практике

Публикация № 1395488

Разработка - Конфигурирование 1С

Агент конфигуратора ssh plink epf erf выгрузка в xml внешние обработки

Полезные практические заметки о работе с конфигуратором с режиме агента.

Официальную информацию по агенту можно почитать тут (ИТС). 

Надеюсь кому-то будут полезны мои заметки о работе агента конфигуратора, так как лично меня ожидали некоторые трудности в работе с SSH и вызовом множественных (многострочных/пакетных) команд.

Задача

Выгрузить справочник внешних обработок в XML из нашей УПП для контроля версий с помощью Git и для возможности использовать поиск по программному коду. Обработок более 2000, так что для выгрузки каждой обработки в XML запускать конфигуратор с ключом DumpExternalDataProcessorOrReportToFiles было как-то не спортивно.

Было решено использовать агент с его командой config dump-external-data-processor-or-report-to-files, она же dump-ext-files.

 

Запускаем агент

 Агент - это по сути SSH сервер, который управляет конфигуратором. Так что несмотря на то, что никакая база для выгрузки внешних epf вроде бы и не нужна, все равно пришлось создать отдельную пустую базу для его работы. Строка запуска будет выглядеть так:

c:\Program Files\1cv8\common>1cestart.exe DESIGNER 
/ibname Пустая 
/AgentMode 
/AgentSSHHostKeyAuto 
/AgentBaseDir "C:\Users\i.netkachev\Documents\Внешние в XML\Export" 
/Visible

 Самый интересный параметр это /AgentBaseDir, поскольку все пути используемые при вызове команд будут строиться относительно этого каталога. Параметр /Visible поможет нам убедиться, что все работает. 

Подключаемся к агенту

Мы работаем на Windows 10, в ней уже есть встроенный ssh клиент, но по каким-то причинам он мне не подошёл (кажется не было возможности подсунуть на вход файл с исполняемыми командами).

Для подключения к SSH агента я использовал консольную утилиту plink. Это один исполняемый файл, что может быть очень удобно. Скачать можно с официального сайта (прямые ссылки: x64/x86). 

Для начала подключимся и проверим, а работает ли вообще:

plink.exe -ssh -l admin -pw 1 -P 1543 localhost

где

-l admin -- логин пользователя информационной базы с полными правами/правом работы с агентом

-pw 1 -- его пароль.

-P 1543 -- стандартный порт работы агента

localhost -- адрес агента (может быть быть запущен на другом компьютере).

Если всё хорошо, то мы получим надпись Access granted

Жмем Enter и ...

уже настораживает кодировка. Ничего страшного потом поправим.

Выгрузка обработок

Агент всегда первым делом ждет команду  

common connect-ib

 и только потом в этой сессии мы можем вызывать выгрузку epf (file - целевая папка, ext-file - путь к внешней обработке):

config dump-ext-files --file="..\XML-EPFs\root\blabla.erf" --ext-file="..\EPFs\root\blabla.erf"
 
Скорее всего будет так: Ошибка CommandFormatError - Неверный формат команды

После всего этого нужно отключиться от базы

common disconnect-ib

и, если необходимо, завершить работу самого агента

common shutdown

Пакетная работа с агентом

Вообще plink поддерживает входной файл команд указанный в параметре -m, но этот фокус у меня не прокатил, т.к. агент не может работать без пауз между командами (я так понял это проблема всех терминалов), но слава богу plink поддерживает указание команд в качестве аргумента.

Собираем многострочную команду cmd:

(
echo common connect-ib
timeout /t 5 > nul
echo config dump-ext-files --file="..\XML-EPFs\root\1.erf" --ext-file="..\EPFs\root\1.erf"
timeout /t 1 > nul
echo config dump-ext-files --file="..\XML-EPFs\root\2.erf" --ext-file="..\EPFs\root\2.erf"
timeout /t 1 > nul
echo config dump-ext-files --file="..\XML-EPFs\root\3.erf" --ext-file="..\EPFs\root\3.erf"
timeout /t 1 > nul
echo common disconnect-ib
timeout /t 5 > nul
)| plink.exe -ssh -l admin -pw 1 -P 1543 localhost -T -batch

Тем самым имитируем ввод из cmd с помощью "echo", и притормаживаем следующий ввод с помощью команды "timeout /t 5 > nul", за это время агент успеет выполнить предыдущую команду (иначе ничего не получится). 

Волшебный ключ -batch говорит plink-у о том, что интерактивных действий-подтверждений мы видеть не хотим, а ключ -T делает нечто звучащее как disable pty allocation :)

Что в итоге?

В итоге мы получаем ускорение примерно на 70%, относительно запуска конфигуратора для каждой обработки. 

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

В интернетах искалось очень тяжело, так что решил может эта статья кому-то поможет + прошу в комментарии.

Также прикрепляю обработку-пример, которая выгружает внешние обработки из справочника в файлы, по-пути собирая .bat скрипты вызова plink-а + выгрузка кода модулей из обычных форм (благодаря вот этой крутой публикации: //infostart.me/1c/articles/825100/). Обработка делалась исключительно для себя, так что даже путь прописан хардкодом. Тестировалось на 8.3.11.3034. 

 

 

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

Наименование Файл Версия Размер
Выгрузка внешних обработок в XML через Агент конфигуратора

.epf 9,37Kb
0
.epf 9,37Kb Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. VKislitsin 625 09.03.21 18:51 Сейчас в теме
Очень интересно. Давно сам хотел "помучить" этот режим агента, чтобы понять для чего можно использовать.

Что касается альтернативного способа для озвученной задачи - можно было бы выгружать их непосредственно из СУБД и распаковать. Можно даже средствами самой СУБД (наверняка ведь это SQL Server?).
Полноценного XML, как при выгрузке конфигуратором, не получить, но программный код - весь как на ладони. А ведь именно он нужен?
Вот несколько комментариев на тему распаковки непосредственно в SQL Server:
http://forum.infostart.ru/forum34/topic233969/message2407776/#message2407776
https://forum.infostart.ru/forum9/topic171001/message2322841/#message2322841
http://forum.infostart.ru/forum34/topic243665/message2471644/#message2471644
Оставьте свое сообщение

См. также

Навигатор по конфигурации базы 1С 8.3 Промо

Структура метаданных Универсальные обработки v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.81 от 09.04.2021

3 стартмани

28.10.2018    38700    349    ROL32    72    

Автоматические скидки для наборов в УНФ

Розничная торговля Ценообразование, анализ цен Расширения v8 УНФ УУ Абонемент ($m)

Решение вопроса по расчёту автоматических скидок для наборов в УНФ.

1 стартмани

18.04.2021    288    0    delta    0    

Представления в ЗУП

Зарплата Расчетные механизмы v8 v8::СПР v8::СКД ЗУП3.x БУ Абонемент ($m)

Использование представлений вместо прямого чтения из регистров сведений в ЗУП.

5 стартмани

12.04.2021    1298    3    Gladkov_Anton    12    

Все задачи раздела "Бухгалтерский учет" - 40 шт. (Специалист по платформе 8.3)

Решение задач на 1С:Специалист Механизмы бухгалтерского учета v8 v8::БУ 1С:Франчайзи, автоматизация бизнеса БУ Абонемент ($m)

Решения всех задач раздела "Бухгалтерский учет" для подготовки к сертификации по "1С:Специалист по платформе 8.3".

5 стартмани

11.04.2021    597    4    v_moskalyk    0    

Контроль заполнения реквизита ИНН в справочнике Контрагенты

Расширения Анализ учета v8 v8::БУ БП3.0 Финансовые услуги, инвестиции Россия Абонемент ($m)

ИНН имеет любое юридическое лицо, зарегистрированное на территории РФ. Расширение устанавливает контроль на заполненность реквизита ИНН в справочнике Контрагенты.

1 стартмани

05.04.2021    488    0    andreyR3    0    

Динамическая модификация форм в расширении

Практика программирования Расширения v8 ERP2 Абонемент ($m)

Пример динамического изменения форм расширением конфигурации без заимствования формы.

1 стартмани

05.04.2021    913    0    a.zernin    1    

Простое логирование действий системы

Статистика базы данных Администрирование данных 1С Расширения v8 1cv8.cf Абонемент ($m)

Маленькое расширение для быстрой организации записи и просмота логов действий системы

1 стартмани

21.03.2021    1498    2    Yashazz    3    

ЦУП 2.1.6 Исправленная обработка выгрузки метаданных для платформы 8.2

Структура метаданных v8 1cv8.cf Абонемент ($m)

Обработка предназначена для ЦУП 2.1.6. Исправленная типовая обработка для выгрузки метаданных для конфигурацию, работающих на платформе 8.2 (в т.ч. в режиме совместимости).

1 стартмани

04.03.2021    443    0    SpecRam    0    

"Все функции" только для объектов расширений

Расширения v8 8.3.14 1cv8.cf Абонемент ($m)

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

1 стартмани

28.02.2021    891    3    t278    1    

Дата запрета наоборот, или Запрет менять все документы с даты

Расширения Обработка документов v8 ERP2 БП3.0 Россия Абонемент ($m)

В связи с переходом с БП 3 на Erp c нового года и было придумано это расширение. Бухгалтер может менять прошлый год в БП 3, но не может создавать/менять документы этого года. Получается дата запрета не прошлого периода, а текущего-будущего. В версии 2 : Добавлена дата в регистр сведений, а так же список исключаемых документов.

3 стартмани

10.02.2021    708    0    Jimbo    9    

Добавляем гиперссылку на форму с командой без добавления формы в расширение

Расширения Работа с интерфейсом v8 УНФ Абонемент ($m)

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

1 стартмани

10.02.2021    1115    0    umni4ka    5    

Запрет просмотра оборотов по 70 счету

Расширения Зарплата Роли и права v8 v8::БУ v8::Права БП3.0 Россия БУ Абонемент ($m)

Расширение, запрещающее выбранным пользователям формировать отчеты по 70 счету для конфигурации БП 3.0.

1 стартмани

01.02.2021    957    13    o'neill    5    

Специалист по платформе 8.3. Все задачи раздела "Оперативный учет"

Решение задач на 1С:Специалист Механизмы оперативного учета v8 1cv8.cf Абонемент ($m)

Решения всех задач раздела "Оперативный учет" для подготовки к сертификации по "1С:Специалист по платформе 8.3".

2 стартмани

22.12.2020    1562    13    v_moskalyk    0    

Автозапуск документов, справочников, обработок, отчетов, журналов при запуске программы 1С

Универсальные обработки Расширения v8 8.3.14 1cv8.cf Розница УНФ БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

Универсальное расширение "При запуске программы". Предназначено для автоматического запуска документов, справочников, отчетов, обработок, журналов документов при запуске программы 1С.

1 стартмани

29.11.2020    1668    9    sashs1980    2    

[Расширение] Обход ошибки при записи документов через COM-соединение в 1С Бухгалтерии 3.0.84.42

Обмен данными 1С Расширения v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

При создании и записи документов "Поступление (акты, накладные, УПД)" (возможно и других) через COM-соединение из другой базы возникает ошибка:

1 стартмани

25.11.2020    2170    13    on_this_day    4    

Автоматическое формирование должностных инструкций

Загрузка и выгрузка в Excel Расширения v8 ЗУП3.x Россия УУ Абонемент ($m)

Готовый механизм автоматизации создания должностных инструкций по шаблонам. Заполнение шаблонов Word из Excel, сохранение в БД. Расширение разработано для ЗУП 3.1.

2 стартмани

10.11.2020    1707    4    sizeoff    0    

Регламентное формирование View Таблиц SQL по дереву метаданных

Структура метаданных v8 1cv8.cf Абонемент ($m)

По выбранным метаданным формирует команды на формирование Представлений (View) Скулю и пересоздает таблицы. Работает по расписанию. Отправляет логи в SLACK.

2 стартмани

08.10.2020    1310    1    sergey279    5    

История данных (Версионирование данных). Обычные и управляемые формы. Механизм платформы 1С

Журнал регистрации Структура метаданных Расширения v8 v8::УФ 1cv8.cf Абонемент ($m)

История данных - специальный механизм платформы 1С, который позволяет хранить в базе данных данные объектов конфигурации.

1 стартмани

30.09.2020    3170    29    yuryshestakov    0    

Просмотр структуры базы в СУБД, в том числе расширений

Структура метаданных Расширения Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Структура таблиц базы данных с учётом расширений.

1 стартмани

29.09.2020    5135    49    Yashazz    8    

Создание операции по проводкам документа

Обработка документов Механизмы бухгалтерского учета v8 БП3.0 БУ Абонемент ($m)

Создает операцию с копией (обычной или сторно) проводок выбранного документа. Подходит для любой версии Бухгалтерии 3.0. С помощью обработки можно сделать отдельную операцию со всеми проводками документа. Запускается через Файл - Открыть

1 стартмани

17.09.2020    1576    6    JackGamer_    1    

Решение задания 1С:Специалист по платформе, размещенного на сайте 1С (бухгалтерский учет)

Практика программирования Решение задач на 1С:Специалист Конфигурирование 1С Механизмы бухгалтерского учета v8 Россия БУ Абонемент ($m)

Приводится пример с описанием решения задания 1С:Специалист по платформе, опубликованного на сайте 1С в качестве образца. Бухгалтеский учет.

1 стартмани

16.09.2020    2491    9    buchhalter    0    

Запрет произвольной цены

Расширения Роли и права Ценообразование, анализ цен v8 v8::Права ERP2 УТ11 КА2 Россия УУ Абонемент ($m)

Расширение для запрета произвольной цены в документе Заказ клиента и обработке Подбор товаров в документ продажи.

1 стартмани

06.09.2020    3485    14    user1209971    9    

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

Загрузка и выгрузка в Excel Анализ учета Механизмы бухгалтерского учета v8::УФ БП3.0 Аудит и бухгалтерские услуги, юриспруденция Казахстан БУ Абонемент ($m)

Обработка написана для управляемых форм. Позволяет выгрузить проводки из Регистра Бухгалтерии "Типовой" - на экран пользователя (с последующим ручным сохранением), либо напрямую в файл .xlsx или .txt.

1 стартмани

13.08.2020    1865    1    akimserik1986    0    

Экспорт метаданных в табличный документ

Техническое задание Структура метаданных v8 1cv8.cf Абонемент ($m)

Простая обработка позволяет выгрузить структуру хранения данных из метаданных конфигурации в табличный документ и сохранить его в файл Excel (в обычном и управляемом режимах). Выгрузка включает справочники, документы, перечисления, регистры, константы, планы, бизнес-процессы; включая табличные части и общие реквизиты; включая описания типов, в т.ч. составных, в частности, СправочникСсылка, ЛюбаяСсылка и т.п.

1 стартмани

10.08.2020    2037    9    almedv    2    

Окрашиваем фон поля формы документа через расширение

Работа с интерфейсом Расширения v8 УТ11 Абонемент ($m)

Как я с помощью спецов INFOSTART, фон поля формы документа (ЗаказКлиенту) менял. Не судите строго, статью в основном пишу для себя, чтобы не забыть, но, может, кому и пригодится. Фон менял по условию, что если у номенклатуры не заполнены вес и объем, то в заказе колонки должны подсвечиваться: Если не заполнен объем, то подсвечивается колонка с № товара, а если вес, то колонка с Номенклатурой.

1 стартмани

28.07.2020    2445    1    VID1234    2    

Исправление рассинхронизации местоположения указателя мыши окна операционной системы в режиме RemoteApp (Такси), платформа 15 и более

Расширения Работа с интерфейсом v8 ДО БП3.0 ЗУП3.x Абонемент ($m)

В RDP, режиме RemoteApp под Win2018 происходит рассинхронизация местоположения указателя мыши. Клик мышкой на удаленной машине происходит ровно на высоту нового заголовка ниже чем мышь видна на клиентском экране. Проявляется на платформе 15 и более. Это связано с новыми веяниями 1С в режиме Такси начиная с 15 платформы отключено стандартное окно операционной системы. Похоже, клиент RDP ничего не знает об этом и пытается дорисовать это окно. В результате вот такое поведение.

1 стартмани

27.07.2020    12136    79    rur39    15    

Выполнение кода и получение данных запросов через HTTP сервис

Обмен данными 1С Универсальные функции Расширения v8 1cv8.cf Абонемент ($m)

Универсальное расширение, которое предоставляет доступ к конфигурации через запросы. Позволяет выполнять любой код в конфигурации и получать данные запросов 1С. Код и запросы 1С либо вводятся прямо в базе, либо передаются в запросе http. Для того, чтобы включить возможность выполнять любой код извне, необходимо включить настройку в расширении. Поддерживаются как управляемые, так и обычные формы!

2 стартмани

19.07.2020    3735    4    vladnet    7    

Корректировка РСВ (3 раздел, попадают люди с дополнительными тарифами, по которым не было изменений)

Зарплата Регламентированная отчетность Расширения v8 v8::СПР ЗУП3.x Россия БУ ФОМС, ПФ, ФСС Абонемент ($m)

При заполнении первичной и любой последующей корректировки по РСВ за 2020г. в 3 раздел попадали по несколько раз люди с дополнительными тарифами, по которым отсутствовали изменения.

1 стартмани

15.07.2020    4357    8    fristaller    5    

Соответствие структуры базы данных с SQL таблицами

Структура метаданных v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Данная обработка выводит соответствие структуры базы данных с SQL таблицами в режиме управляемого приложения.

1 стартмани

22.06.2020    2835    32    user1425179    2    

Шаблон-заготовка для "минус первой" линии техподдержки

Расширения v8 УНФ Россия Абонемент ($m)

Попытка дать пользователю ответы на его самые простые вопросы удобно и быстро.

1 стартмани

16.06.2020    2173    1    qazaz2    3    

Отчёт по содержимому КД 2.0

Обмен данными 1С Обмен через XML Перенос данных из 1C8 в 1C8 Конфигурирование 1С Прочие инструменты разработчика v8 КД Абонемент ($m)

Просто отчёт по правилам конвертации - всё, что в них есть.

1 стартмани

05.06.2020    3513    6    Yashazz    4    

Личный кабинет сотрудника для 1С: ЗУП (1С + Vue.js + Node.js)

Зарплата WEB Расширения v8 v8::СПР ЗУП3.x БУ Абонемент ($m)

WEB приложение "Личный кабинет сотрудника" + расширение 1С для тех, кто не хочет публиковать 1С в интернет.

1 стартмани

20.05.2020    6837    4    ShiningPhoenix    35    

Информация при запуске в БП 3.0 - ошибка кодировки

Расширения Тестирование и исправление v8 БП3.0 Россия Абонемент ($m)

Расширение для БП 3.0, исправляет использование неверной кодировки при выводе в форму htm файла. Такое бывает, когда ОС сервера и клиента на разных языках.

1 стартмани

01.05.2020    3836    1    JorjKrut    0    

Быстрый (но тернистый) путь к метаданным картинок в 1С

Структура метаданных v8 1cv8.cf Абонемент ($m)

Задача звучала так: прочитать GPS-геометки из картинок. Всё закончилось бы как у всех, кто брался за эту задачу, – сторонним сервисом или утилитой. Но в обсуждении кто-то сказал, «да 1С так не сможет» …

1 стартмани

15.04.2020    3065    3    утюгчеловек    6    

Создание предопределенных элементов в собственном справочнике, созданном в расширении

Расширения v8 1cv8.cf Россия Абонемент ($m)

Создание "предопределенных" элементов в собственном справочнике, созданном в расширении. Представлена как шаблон на конкретном примере.

1 стартмани

09.04.2020    5072    1    ivnik    6    

Исправление ошибки вида "... Должно быть заполнено хотя бы одно из полей [КИТУ, КИ]..." при работе с маркированной продукцией

Расширения Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Расширение исправляет ошибки вида "... Должно быть заполнено хотя бы одно из полей [КИТУ, КИ] ..." при работе с маркированной продукцией, например при вводе обуви в оборот.

5 стартмани

02.03.2020    3234    3    denmax    0    

Просмотр данных объекта

Структура метаданных Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

Просмотр данных объектов ссылочного типа: элементов справочников, документов, бизнес-процессов, задач.

1 стартмани

18.02.2020    2914    2    armeec    1    

Пример http-интеграции ЗУП и HR-портала

Интеграция WEB Расширения v8 v8::СПР ЗУП3.x Россия Абонемент ($m)

Расширение для ЗУПа с http-сервисами для интеграции с HR-порталом.

1 стартмани

12.02.2020    4097    3    maksip    5    

Интеграция с API Remonline

Обмен данными 1С WEB Интеграция Облачные сервисы, хостинг Расширения v8 v8::УФ 1cv8.cf Абонемент ($m)

Расширение для работы с веб-сервисом Remonline.

2 стартмани

05.02.2020    3806    5    Johny_v    5    

Стандартная загрузка документов из внешнего файла с сохранением соответствий номенклатуры для УТ11/КА2/ERP2

Обработка документов Обмен данными 1С Загрузка и выгрузка в Excel Расширения v8 ERP2 УТ11 КА2 Абонемент ($m)

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

2 стартмани

26.01.2020    3011    3    denmax    2    

1C и защищенное хранение данных на блокчейне: модуль интеграции от Acryl Platform

Защита и шифрование Блокчейн Расширения Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Модуль интеграция 1С и блокчейн платформы "Acryl Platform" без использования внешних компонент. Под катом реализация механизмов Base58, Blake2b, Keccak, Curv25519 (the elliptic curve Diffie–Hellman) в подсистеме "Crypt", примеры генерации ключей, адресов, подписи транзакций, запись данных в блокчейн, чтение и восстановление данных из блокчейн. Код открыть. Лицензия MIT.

1 стартмани

21.01.2020    8228    4    ArtemSerov    18