Имя: Пароль:
1C
1С v8
Программно открыть Дополнительную обработку
0 dred999
 
30.08.16
15:22
Всем привет!
есть Бухгалтерия предприятия, редакция 3.0 (3.0.43.245).
В нее загружена внешняя обработка Обработка_1.
Не могу ее открыть программно.
нашел здесь статью по такой же проблеме но у него Бух 8.2
Кто нибуть подскажет?

Вот мой кусок кода и ругается: Интерактивные операции недопустимы.



ВнешняяФорма = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Обработка_1");

ИмяФайла = ПолучитьИмяВременногоФайла();
ДвоичныеДанные = ВнешняяФорма.ХранилищеОбработки.Получить();
ДвоичныеДанные.Записать(ИмяФайла);
ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);
Форма = ВнешняяОбработка.ПолучитьФорму();
Форма.Открыть();
1 Горогуля
 
30.08.16
15:23
>Интерактивные операции недопустимы
всего три слова. какие не понятны?
2 dred999
 
30.08.16
15:29
(1) Не понятно :)
3 Горогуля
 
30.08.16
15:30
а какие? ну фих с ним, другой вопрос: на зачем?
4 Cyberhawk
 
30.08.16
15:31
Через временные файлы открывают обработки только олдфаги
5 dred999
 
30.08.16
15:31
(4) Хорошо, как открыть ее????
6 Горогуля
 
30.08.16
15:32
(4) и авторы БСП
7 dred999
 
30.08.16
15:33
(6) Вы подскажите как правильно это сделать???))
8 Горогуля
 
30.08.16
15:34
(7) мышью
9 Cyberhawk
 
30.08.16
15:35
(6) Авторы версий до 2.2.какой-то там...
(5) Обработка - это объект БД, его в общем случае нельзя открыть. Можно открыть форму этого объекта...
10 dred999
 
30.08.16
15:36
(9) пробую так:

ВнешняяФорма = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Инвентаризация Антивор");

Обработка = ВнешняяФорма.ПолучитьОбъект();
Форма = Обработка.ПолучитьФорму("Форма");
Форма.Открыть();
11 Cyberhawk
 
30.08.16
15:38
Что в результате метода ПолучитьОбъект?
12 Горогуля
 
30.08.16
15:38
(9) да? отстал в развитии
13 dred999
 
30.08.16
15:41
(12) Отстал :((((
14 dred999
 
30.08.16
15:42
Интерактивные операции недоступны. Ошибка осталась
15 Горогуля
 
30.08.16
15:42
(14) какие планы?
16 Cyberhawk
 
30.08.16
15:43
(14) Так код на сервере выполняешь что ли?
17 Fragster
 
гуру
30.08.16
15:44
достаточно разместить обработку в каком-нибудь разделе и посмотреть через замер, как БСП её открывает
18 hhhh
 
30.08.16
15:46
(14) на клиенте надо открывать форму, а вы наверно на сервере
19 dred999
 
30.08.16
15:46
(16) Код на сервере. На клиенте он не знает объекты справочник
20 Горогуля
 
30.08.16
15:46
(17) ты сейчас пытаешься призвать к отладчику человека, который не знает, что такое "Интерактивные операции недоступны"
21 Cyberhawk
 
30.08.16
15:49
(20) Отладка там не сработает, т.к. некуда точку останова поставить. (17) пишет не для отладки, а для подсмотра кода...
22 Горогуля
 
30.08.16
15:51
(21) ну хорошо
(17) ты сейчас пытаешься призвать к конфигуратору...
23 oslokot
 
30.08.16
15:52
Делаю всегда так.
Последовательность действий:

1. найти на сервере свою обработку в справочнике и вернуть ее двоичные данные на клиента
2. на клиенте записать их во временный файл
3. на клиенте начать помещение файла
4. на клиенте после помещения файла подключить обработку
5. и открытьформу на клиенте

Профит!
24 MrAvPika
 
30.08.16
15:54
Открытьформу("внешняяобработка.имяобработки.форма.форма");
25 Горогуля
 
30.08.16
15:54
(23) может, ты знаешь, на кой хрен это всё?
26 Неверный Параметр И
 
30.08.16
15:54
(19) А на сервере некому открывать формы. В результате транзакция с идентификатором процесса вызвала взаимоблокировку ресурсов с другим процессом и была выбрана в качестве жертвы для ее разрешения. Запустите транзакцию повторно.
27 oslokot
 
30.08.16
15:54
(25) асинхронно и всё такое, как то так
28 dred999
 
30.08.16
15:55
(23)

вот что люди здесь пишут про временный файл

   Cyberhawk
4 - 30.08.16 - 15:31
Через временные файлы открывают обработки только олдфаги
29 Горогуля
 
30.08.16
15:55
(27) тоже нет
30 oslokot
 
30.08.16
15:55
(28) а хрен его знает, не разбирался. потом как-нибудь
31 oslokot
 
30.08.16
15:55
я олдфаг, епт)
32 MrAvPika
 
30.08.16
15:56
(29) может он хочет, чтоб у него где-то была кнопка, которая открывает эту обработку
33 Неверный Параметр И
 
30.08.16
15:56
(23) А через клиента временный файл обратно на сервер протаскивать - это с какой версии?
34 oslokot
 
30.08.16
15:57
(33) хм, обратно на сервер? зачем, я не таскаю
35 oslokot
 
30.08.16
15:57
(32) канеш
36 Неверный Параметр И
 
30.08.16
15:58
(34) Пункт 3 этачо?
37 Fragster
 
гуру
30.08.16
15:58
(32) в БСП можно причипоривать команду обработки к объектам
38 Deon
 
30.08.16
15:59
Через временный файл стоит открывать для отладочки. Палюбэ.
39 Горогуля
 
30.08.16
16:00
(32) а я ради этой кнопки интерфейс настраиваю
40 dred999
 
30.08.16
16:00
Вообщем ни кто толком не скажет как это сделать?
41 MrAvPika
 
30.08.16
16:02
(40) (24) вот же, вроде то, что тебе нужно
42 oslokot
 
30.08.16
16:03
(36) дык на клиенте же?
43 Fragster
 
гуру
30.08.16
16:03
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, ВладелецФормы, ВыполняемаяКоманда.ОбъектыНазначения);
44 oslokot
 
30.08.16
16:10
(36) а, да, ерунду сморозил.
сразу подключаем обработку
45 dred999
 
30.08.16
16:11
(43) Что такое ВыполняемаяКоманда? имя обработки?
46 Fragster
 
гуру
30.08.16
16:13
(45) у тебя конфигуратор есть?
47 Fragster
 
гуру
30.08.16
16:13
посмотри глобальным поиском
48 Горогуля
 
30.08.16
16:14
(45) часто иногда БСПшники оставляют внятные комментарии к своим функциям
49 dred999
 
30.08.16
16:15
(47) СП о ВыполнитьОткрытиеФормыОбработки Не знает ничего
50 Горогуля
 
30.08.16
16:16
(49) всё правильно
51 Fragster
 
гуру
30.08.16
16:16
(48) там нет комментария, но на пяток строк выше все понятно
52 oslokot
 
30.08.16
16:42
(44) поправочка. если сразу подключить внешнюю обработку, получаем мессадж "Использование модальных окон в данном режиме запрещено!"

так что в (23) все правильно, 3 пункт оставляем
2 + 2 = 3.9999999999999999999999999999999...