![]() |
|
Запуск внешней обработки из справочника | ☑ | ||
---|---|---|---|---|
0
1ctube
07.04.25
✎
08:09
|
Всем привет.
Добавляю внешнюю обработку в справочник "Внешние Обработки". Пытаюсь подключить програмнно. Что было сделано: Получил ссылку на элемент справочника "Внешние Обработки"; Получил "ДвоичныеДанные"; Получил адрес во временном хранилище "АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные)"; И далее получаю имя обработки "ВнешниеОбработки.Подключить(АдресВоВременномХранилище, , Ложь)" и вот тут затык. В отладчике "ошибка при вызове метода контекста "Подключить". В чем может быть ошибка? Конфа на обычных формах |
|||
1
Мультук
гуру
07.04.25
✎
08:36
|
(0)
Когда же вы, господа "программисты", научитесь а) показывать свой код б) писать версию вашей 1С в) имя и версию вашей конфы, г) про режим совместимости я вообще молучу А не играть в партизан. Это был риторический вопрос. Ибо ответ очевиден - никогда. |
|||
2
Serg_1960
07.04.25
✎
08:42
|
(0) [испанский стыд] Выделите заголовок ветки - "Найти в Яндексе" - профит. Первое попавшееся - https://helpf.pro/faq/view/1434.html
|
|||
3
1ctube
07.04.25
✎
09:39
|
(2) Это я находил... Там нет ни строчки кода "ВнешниеОбработки.Подключить"
|
|||
4
1ctube
07.04.25
✎
09:43
|
(1) Не играю в партизана, С чего вы взяли?
Конфа самописная (не моя). На обычных формах. а) если не было достаточно того, что я описал в вопросе, вот код: ВО = Справочники.ВнешниеОбработки.НайтиПоНаименованию("МояОбработка"); ДвоичныеДанные = ВО.ХранилищеВнешнейОбработки.Получить(); АдресВоВременномХранилище=ПоместитьВоВременноеХранилище(ДвоичныеДанные); ИмяОбработки=ВнешниеОбработки.Подключить(АдресВоВременномХранилище, , Ложь); |
|||
5
arsik
гуру
07.04.25
✎
09:46
|
(4) Вот так попробуй.
ВнешнийОтчетОбработкаДляОткрытияСсылка = ТУТКАКАЯТОССЫЛКА; ИмяОбработкиСлужебное = ДополнительныеОтчетыИОбработкиВызовСервера.ПодключитьВнешнююОбработку(ВнешнийОтчетОбработкаДляОткрытияСсылка); ОткрытьФорму("ВнешнийОтчет." + ИмяОбработкиСлужебное + ".Форма",ПараметрыФормы, ЭтаФорма); Это с клиента (4) Ну тогда глянь как сделано в БСП и сделай так же. |
|||
6
1ctube
07.04.25
✎
09:53
|
(5) Да, такой способ рабочий, но БСП в конфигурации нет. В этом то и проблема(
|
|||
7
Мультук
гуру
07.04.25
✎
10:01
|
<гмхм>
P.S. Любимая байка моего деда: Попал интеллигент в украинский рай. Вокруг куча сала, хлеба, вода в ручейке. И умер. Почему? У него не было с с собой Я был маленьким и удивлялся: -- Деда, как же он умер ? Хлеб можно руками ломать, сало кусать. Дед: -- Вот такие они интеллигенты, даже кусок функции из БСП скопи-пастить не могут |
|||
8
banco
07.04.25
✎
10:19
|
(0)
ИмяФайла = ПолучитьИмяВременногоФайла(); ДвоичныеДанные.Записать(ИмяФайла); Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла); Форма.Открыть(); УдалитьФайлы(ИмяФайла); |
|||
9
Andy13
07.04.25
✎
10:52
|
ТС запутал всех.
В заголовке - запуск внешней обработки. В описании (0) добавление внешней обработки в справочник внешних обработок. Ты это, или сними или надень. |
|||
10
Дмитрий
07.04.25
✎
10:56
|
(0) В форме списка справочника Внешние обработки посмотри.
|
|||
11
Serg_1960
07.04.25
✎
16:19
|
Партизанам пора озвучить версию платформы.
Вот это без БСП даже на 8.2 будет работать :( наверное :) //ТекСсылка = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Имя обработки"); ВнешняяОбработка = Справочники.ВнешниеОбработки.НайтиПоНаименованию("Имя обработки"); Если ВнешняяОбработка.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка Тогда ИмяФайла = ПолучитьИмяВременногоФайла(); ДвоичныеДанные = ВнешняяОбработка.ХранилищеВнешнейОбработки.Получить(); ДвоичныеДанные.Записать(ИмяФайла); Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла); Форма.Открыть(); КонецЕсли; |
|||
12
Волшебник
07.04.25
✎
13:41
|
(11) Это не будет работать. У Вас переменная ТекСсылка присваивается, но не используется.
|
|||
13
Serg_1960
07.04.25
✎
14:24
|
(12) Спс, исправил
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |