Загрузить обработку в конфигурацию через пакетный запуск

1. for_sale 976 07.05.19 16:15 Сейчас в теме +1 $m
Добрый день!

Может, кто-то сталкивался и имеет решение данного вопроса?

Есть конфигурация. В ней есть обработка Обработка1. И есть внешняя обработка Обработка1. Как через пакетный, командный или любой другой режим или способ можно заменить внутреннюю обработку Обработка1 внешней обработкой из файла Обработка1?

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

Заранее спасибо.

Уточнение - НЕ подходит способ с выгрузкой конфигурации в файлы и заменой содержимого папки обработки содержимым выгруженной обработки.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
9. пользователь 08.05.19 12:23
Сообщение было скрыто модератором.
...
2. palsergeich 07.05.19 21:06 Сейчас в теме
Самый простой путь - хранилище конфигурации.
В хранилище помещаете новую версию обработки.
Потом смотрите в мануале или в конфигурации АвтоматическаяПрверкаКонфигураций, как обновить БД из хранилища.
PhoenixAOD; +1 Ответить
7. for_sale 976 08.05.19 10:35 Сейчас в теме
(2)
А как поместить в хранилище новую версию обработки? У меня ведь внешний файл обработки.
3. palsergeich 07.05.19 21:08 Сейчас в теме
8. for_sale 976 08.05.19 10:37 Сейчас в теме
(3)
В этой статье ответа на этот вопрос не нашёл. Там только работа с хранилищем, которая и так описана в справке. Ничего о работе с внешним файлом обработки нет.
4. Teut_Vlad 191 07.05.19 21:43 Сейчас в теме
 ДополнительныеОтчетыИОбработки.ЗарегистрироватьОбработку(ОбъектСправочника, ПараметрыРегистрации);

ПараметрыРегистрации:
Значение элемента Тип элемента Ключ Значение
КлючИЗначение КлючИЗначение "Успех" Ложь
КлючИЗначение КлючИЗначение "АдресДанныхОбработки" "e1cib/tempstorage/147ca7cb-43e1-468e-affc-ea3c1ba7a7e8?seanceId=a45aca0a-0f1a-4414-8944-79a445278eab"
КлючИЗначение КлючИЗначение "ИмяФайла" "ВызовЖурналаРегистрацииИзЛюбогоОбъекта.epf"
КлючИЗначение КлючИЗначение "ЭтоОтчет" Ложь
КлючИЗначение КлючИЗначение "ОтключатьПубликацию" Ложь
КлючИЗначение КлючИЗначение "ОтключатьКонфликтующие" Ложь
КлючИЗначение КлючИЗначение "Конфликтующие"
5. palsergeich 07.05.19 21:57 Сейчас в теме
(4)
КлючИЗначение КлючИЗначение "Успех" Ложь
КлючИЗначение КлючИЗначение "АдресДанныхОбработки" "e1cib/tempstorage/147ca7cb-43e1-468e-affc-ea3c1ba7a7e8?seanceId=a45aca0a-0f1a-4414-8944-79a445278eab"
КлючИЗначение КлючИЗначение "ИмяФайла" "ВызовЖурналаРегистрацииИзЛюбогоОбъекта.epf"
КлючИЗначение КлючИЗначение "ЭтоОтчет" Ложь
КлючИЗначение КлючИЗначение "ОтключатьПубликацию" Ложь
КлючИЗначение КлючИЗначение "ОтключатьКонфликтующие" Ложь
КлючИЗначение КлючИЗначение "Конфликтующие"
+

Как я понял, надо не заменить элемент справочника ДополнительныеОбработки, а изменить входящий в состав конфигурации отчет, на внешний файл.
6. Teut_Vlad 191 07.05.19 22:49 Сейчас в теме
(5) да ,верно, не так понял
10. Designer1C 457 08.05.19 12:56 Сейчас в теме
Во времена программирования на CLIPPER 5 существовала возможность послать в другую программу сгенерированную последовательность скан-кодов нажатия клавиш и комбинаций нажатия клавиш. Что позволяло имитировать работу пользователя в другой программе.
Это проходило не со всеми программами, а только с теми, которые не зачищали буфер клавиатуры перед началом своей работы.

Что касается 1С : Предприятия 8, то возникают вопросы :
Зачищает ли программа буфер клавиатуры перед открытием ?
Каким образом сымитировать нажатие ПКМ на нужной строке ветки "Обработки" ?

Да и вопрос к Windows : позволяет ли ОС на компьютере пользователя передавать данные в буфер клавиатуры ?

Это не ответ на Ваш вопрос, а один из вариантов на проработку.

Если предложенное мною направление удастся проработать - дайте знать, какие ответы удалось получить. Мне тоже интересно.
12. for_sale 976 08.05.19 13:56 Сейчас в теме
(10)
Спасибо за ответ, но это даже не направление на проработать. Сейчас вполне есть всякие кликеры, тот же Кликерманн, если нужно что-то наклацать вместо пользователя - ничего сложного в этом нет. Интересует именно работа через командную строку - как средствами платформы сделать загрузку обработки в конфигурацию без пользователя с мышью?
14. ishelper 08.05.19 15:01 Сейчас в теме
(12)
Интересует именно работа через командную строку - как средствами платформы сделать загрузку обработки в конфигурацию без пользователя с мышью?
Все ключи командной строки документированы и многократно опубликованы (надеюсь, сами сможете найти), "секретных" нет. А если и есть - кто вам их выдаст?

Поэтому я бы прекратил эти поиски несуществующего, да и небезопасного решения - однажды в результате чьей-то ошибки вместо "правильной" обработки загрузится и запустится какая-нибудь совсем другая, выполнение которой вызовет необратимые изменения в базе - и кто будет виноват?

Нет уж, пусть программист видит то, что делает.
15. for_sale 976 08.05.19 15:19 Сейчас в теме
(14)
Спасибо за ваши бесценные бесплатные советы, я обязательно сделаю так, как вы мне сказали!

Просто я пишу вопросы не подумамшы. Думаю, а вдруг ключи командной строки не документированы и не опубликованы многократно. Дай, думаю, поищу несуществующее и небезопасное решение.

Но слава Богу, всегда на каждом форуме найдётся такой вот герой, который спасёт базы неопытных программистов от неправильных обработок и необратимых изменений! Низкий вам поклон, благодаря вам я сегодня узнал много нового - что ключи командной строки документированы и многократно опубликованы и что вы сняли с себя ответственность за необратимые изменения в нашей базе!

Тему закрываю, иду нести вашу незамутнённую мудрость другим тёмным программистам!

"Видьте, что делаете, глупцы!!!"
19. ishelper 08.05.19 16:19 Сейчас в теме
(15)
а вдруг ключи командной строки не документированы и не опубликованы многократно.

я сегодня узнал много нового - что ключи командной строки документированы и многократно опубликованы
Повторяетесь, не заметили?
Тему закрываю, иду нести вашу незамутнённую мудрость другим тёмным программистам!
Да уж будьте любезны, ступайте, хватит тут сиськи мять.
21. for_sale 976 08.05.19 16:26 Сейчас в теме
(19)
Да просто не каждый день попадаешь под такой водопад мудрости! Сижу теперь с отвалившейся челюстью, готов внемлить, может, ещё что-то настолько же мудрое выдадите? По стилистике ведь вижу - мудрец с опытом, бессонные ночи нащёлкивания на клавиатуре бесценных советов)) Можно сказать, Неуловимый Джо в сфере мудрости))
11. Designer1C 457 08.05.19 12:59 Сейчас в теме
Интересно, какая ситуация в Вашей работе образовалась, которая потребовала найти такое решение ?
Как я понимаю, дело в пользователях удалённой конфигурации ?
Или в необходимости регулярного обновления ?

В Дополнительные внешние обработки уже получилось, видимо, помещать свою обработку при считывании почты средствами 1С ? Теперь 2-й этап ?
13. for_sale 976 08.05.19 14:05 Сейчас в теме
(11)
В Дополнительные внешние обработки уже получилось, видимо, помещать свою обработку при считывании почты средствами 1С ? Теперь 2-й этап ?

Теперь уже мне интересно стало, что за ситуацию в нашей работе Вы предполагаете под вот эти вопросы))


(11)
В Дополнительные внешние обработки уже получилось

(11)
при считывании почты средствами 1С

это такие сложные процессы, что они должны "наконец-то получиться"?)

На самом деле всё гораздо скучнее. Есть конфигурация, одна из её обработок дорабатывается, делается это во внешней обработке и нужно её регулярно заливать в конфигурацию. При этом в разработке ещё куча всяких других пунктов, вроде обновления, помещения в хранилище и т.п. И почти всё удалось поместить в один пакетный файл, а хочется поместить всё.
16. Designer1C 457 08.05.19 15:20 Сейчас в теме
(13)
Есть конфигурация, одна из её обработок дорабатывается, делается это во внешней обработке и нужно её регулярно заливать в конфигурацию
я это и предполагал. А также предполагал, что конечная конфигурация находится очень далеко (запрет прямого доступа для разработчика) и доступа к ней практически нет. А клиент, под которого ведётся разработка, отказывается загружать обновления своими силами.
17. Designer1C 457 08.05.19 15:29 Сейчас в теме
(13)Не сталкивался я раньше с подобной задачей. Поэтому интересно узнать ответ на вопрос : способ "Загрузить файлы конфигурации" может помочь решить подобную проблему ?
18. for_sale 976 08.05.19 15:44 Сейчас в теме
(17)
Этот способ мне уже известен и он довольно громоздок и неудобен. Думал, может есть какие-то способы с одной командой с участием файла *.epf.
20. ishelper 08.05.19 16:20 Сейчас в теме
(18)
Думал, может есть какие-то способы
Индюк тоже думал...
22. for_sale 976 08.05.19 16:28 Сейчас в теме
(20)
Мы уже видели как индюк думал, он тут ещё мудрость распрыскивал, о том, что должен видеть программист и как от загрузки обработки может произойти в лучшем случае ядерный взрыв, а в худшем - коллапс Вселенной)) Тут таких индюков - в каждой ветке ходят. Недержание мудрости))
23. Сурикат 401 20.07.19 13:15 Сейчас в теме
Через загрузку файлов спокойно загружается.
Нужно только небольшие корректировки файла описания обработки и конфигурации

<xr:ContainedObject>
	<xr:ClassId>c3831ec8-d8d5-4f93-8a22-f9bfae07327f</xr:ClassId>
	xr:ObjectId>af9481a6-54ba-4252-8612-66fe5fc27d68</xr:ObjectId>
</xr:ContainedObject>


заменяем на с сохранением ID, тут Тесты_Unit_Шаблон - имя обработки
и вставляем после блока определения модуля объекта

<xr:GeneratedType name="DataProcessorManager.Тесты_Unit_Шаблон" category="Manager">
	<xr:TypeId>c3831ec8-d8d5-4f93-8a22-f9bfae07327f</xr:TypeId>
	<xr:ValueId>af9481a6-54ba-4252-8612-66fe5fc27d68</xr:ValueId>
</xr:GeneratedType>


везде ExternalDataProcessor меняем на DataProcessor

после тега <AuxiliaryForm/> вставляем теги:
<IncludeHelpInContents>false</IncludeHelpInContents>
<ExtendedPresentation/>
<Explanation/>

и добавить строчку с именем обработки в описание конфигурации (файл Configuration.xml) в тег ChildObjects

Не так и громоздко получается =)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот