Как открыть код обработки 1с
Всем вечера!
В конфигурации создаётся внешняя обработка-отчёт, в которую хочу залезть и увидеть код, но пока не понимаю как можно открыть такую обработку? По отладке вычислил путь, файл tmp ,поэтому как обработка не открывается. До этого имел дело только с обычными внешними обработками, которые хранятся на диске.
вот место из которого создаётся обработка в процедуре:
Если ЭтоОбработка Тогда
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
Иначе
ВнешнийОтчет = ВнешниеОтчеты.Создать(ИмяФайла);
Форма = ВнешнийОтчет.ПолучитьФорму();
Если Форма <> Неопределено Тогда
Форма.Открыть();
КонецЕсли;
КонецЕсли;
Подскажите, как мне влезть в эту обработку, в её код??
Взять имя файла, скопировать, переименовать, открыть.
Инструкция: как открыть и запустить внешнюю обработку или отчет в 1С
Материал поможет вам разобраться, как запустить любую внешнюю обработку или отчет в информационной базе «1С:Предприятие» 8.2 и 8.3.
Внешняя обработка — это инструмент для создания модификаций прикладных решений 1С без изменения типовой структуры конфигурации. Весь код внешней обработки хранится в отдельных файлах с расширением *.epf.
Рассмотрим последовательность шагов для работы с готовым файлом обработки или отчета.
1. В режиме «1С:Предприятие» через меню «Все функции» открываем Справочник «Дополнительные отчеты и обработки».

2. В открывшемся окне Справочника, нажимаем кнопку «Создать».

В результате открывается окно с предложением выбрать файл внешнего отчета или обработки. Указываем требуемую внешнюю обработку и нажимаем кнопку «Открыть».

3. Далее, форма автоматически заполняется данными из внешней обработки. Необходимо обратить особое внимание на поле «Назначение» — в нем указывается имя Объекта из которого вызывается данная внешняя обработка.

Если это поле не заполнено, то обработку просто не откуда будет вызывать.
И последнее, нажимаем кнопку «Записать и закрыть» и только после этого нужно открыть Объект и пользоваться внешней обработкой.
Что нового для вашей 1С?
Оперативная информация о выходе и содержании свежих версий для 19 типов конфигураций.
Рассылка осуществляется в день выхода обновления. Никакой рекламы, только полезная информация. Посмотрите пример →
Программно открыть дополнительную внешнюю обработку в небезопасном режиме
Пользователи открывали обработку Клиент-банк через Файл-Открыть, но в таком режиме она не давала делать некоторые операции, т.к. все внешние обработки открываются в безопасном режиме у пользователей, не имеющих полных прав.
Выход вроде бы очевиден — добавить в дополнительные внешние обработки.
Но у обработки всего две команды — Выгрузить и Загрузить. Обе вызывают ошибку при запуске. А команды для открытия формы обработки нет:

Можно, конечно, дописать такую команду, но это придется делать каждый раз при обновлении обработки, а она меняется нередко — банк любит модернизации.
Создал пустую внешнюю обработку. Для открытия формы буду использовать тип команды «Открытие формы». Сначала я хотел использовать «вызов клиентского метода», но потом обнаружил, что такую команду нельзя добавить в интерфейс пользователя.
Функция СведенияОВнешнейОбработке () Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки . СведенияОВнешнейОбработке ( СтандартныеПодсистемыСервер . ВерсияБиблиотеки ());
Заголовок = НСтр ( «ru = ‘Открытие клиент-банка’» );
ПараметрыРегистрации . Информация = Заголовок ;
ПараметрыРегистрации . Вид = ДополнительныеОтчетыИОбработкиКлиентСервер . ВидОбработкиДополнительнаяОбработка ();
ПараметрыРегистрации . Версия = «2021-04-23» ;
ПараметрыРегистрации . БезопасныйРежим = Истина;
Команда = ПараметрыРегистрации . Команды . Добавить ();
Команда . Представление = Заголовок ;
Команда . Идентификатор = СтрЗаменить ( Заголовок , » « , «» );
Команда . Использование = ДополнительныеОтчетыИОбработкиКлиентСервер . ТипКомандыОткрытиеФормы ();
Команда . ПоказыватьОповещение = Ложь;
Возврат ПараметрыРегистрации ;
КонецФункции
Вопрос, как открывать дополнительную внешнюю обработку, адресовал в Google, оказывается есть уже готовая функция в БСП. Правда, я не был уверен, что эта функция есть в УНФ, но нашлась поиском.
Сам код по открытию нужно прописывать форме обработки, хотя она и не используется:
ВыполняемаяКоманда = Новый Структура ( «ЭтоОтчет, Ссылка, Идентификатор» , ложь);
ВыполняемаяКоманда . Ссылка = НайтиДополнительнуюВнешнююОбработку ();
Если ВыполняемаяКоманда . Ссылка = Неопределено Тогда
ПоказатьПредупреждение (, «Не найдена дополнительная внешняя обработка с именем объекта КлиентБанк!» );
Возврат;
КонецЕсли;
ОбъектыНазначения = Неопределено;
ДополнительныеОтчетыИОбработкиКлиент . ВыполнитьОткрытиеФормыОбработки ( ВыполняемаяКоманда , ЭтаФорма , ОбъектыНазначения );
КонецПроцедуры
Как видно из кода, обработку ищу по признаку, что она опубликована (используется) и по названию клиентского метода:

Все работает, обработка вызывается. Осталось только разместить этот статер в командах пользователя.

Но тут возникла проблема с безопасным режимом, обработка выдает ошибку:

Начал смотреть код и обнаружил, что эта ошибка из-за того, что у клиента включены зачем-то профили безопасности:

Возможно, раньше база была на облаке, а потом переехала локально.
Попробовал дать разрешение на использование временных файлов (это меня спасало во Fresh):
Разрешение = РаботаВБезопасномРежиме . РазрешениеНаИспользованиеКаталогаВременныхФайлов (Ложь, Истина, «Тест» );
ПараметрыРегистрации . Разрешения . Добавить ( Разрешение );

Оказалось, что нужно указать еще и версию БСП, чтобы обработка корректно работала.

ПараметрыРегистрации . ВерсияБСП = «1.2.1.4» ; //Чтобы работал безопасный режим
В конечном итоге удалось запустить клиент-банк в безопасном режиме, но это потребовало слишком много усилий.

Нашел статью про профили безопасности, но так и не понял, зачем они используются. В общем, против лома нет приема и даже при включенных профилях безопасности можно добиться работы обработки не в безопасном режиме!
Время факт: 1.5 час. Среда: УНФ 1.6.24.107
Как программно открыть вторую форму внешней обработки 1С 8.3

Как открыть вторую форму внешней обработки 1С 8.3, с данными из первой формы. Допустим в первой форме у вас есть табличная часть, реквизиты и прочее.
Все разработки совместимы с 1С УТ11 / УТ10 / УНФ / Розница / КА / ERP.
У меня это одна из самых поисковых тем на сайте. Решил людям помочь — программистам! Не просто словом, а делом.
Как открыть вторую форму внешней обработки 1С 8.3, с данными из первой формы.
Допустим в первой форме у вас есть табличная часть, реквизиты и прочее. Нужно не только открыть вторую форму, но чтобы в ней были данные обработки. Решил ответить на этот вопрос не текстом, а готовой обработкой, которая все это делает (скачать можете ее внизу)
1) Это заготовка, в которой содержится весь код действий.
2) Обработка содержит две формы — основную и дополнительную.
3) Содержит реквизиты как и обычные так и табличную часть.
4) Обработка работает на любой конфигурации 1С 8 — не привязана ни к чему.
5) Работает как и если будет встроенная в 1С, так и как внешняя.
Для красоты эксперемента программно заполнил данными обработку (при открытии все увидите).
Действия очень просты:
1) Открываете обработку
2) Кнопка Открыть дополнительную обработку — откроет вторую форму.
3) Там вы увидите те же данные, что и в первой форме.
4) Данные можно менять как захотите. Есть кнопка Изменить, в которую я заложил автоматическое изменение данных.
5) Выполнить и закрыть. Перенесет измененные данные в первую форму.
Обработка написана по всем правилам клиент-серверного приложения. В том числе без использования модальности (используются оповещения событий).
Пользуйтесь, если вам понравится — можете сказать автору Спасибо (в обработке увидите кнопку) или написать тут комментарий. Буду благодарен!
