Имя: Пароль:
1C
1С v8
Получить управляемую форму внешней обработки
,
0 AaNnDdRrEeYy
 
19.01.15
12:12
Добрый день.
8.2 Обычная форма.
нужно получить из внешней обработки управляемую форму.
это выполняется на клиенте в обычной форме
пишу так:

ВнешняяОбработка = ВнешниеОбработки.Создать(ПутьКФайлу,Ложь);
ФормаОбработки = ВнешняяОбработка.ПолучитьФорму("ФормаУпр");

в результате в переменной ФормаОбработки = Неопределено
в СП нашел

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

но мне ее открывать не нужно я только получить хочу.
как по другому доступ к форме получить можно?
1 Rie
 
19.01.15
12:13
(0) А зачем?
Не лучше ли перенести ту фигню, которую получить надо (ведь не форму же получить надо, а что-то из неё), из модуля формы в модуль объекта?
2 AaNnDdRrEeYy
 
19.01.15
12:15
(1) как то надо код выполнить на сервере но вносить изменения в конфигурацию нельзя, хотел получить упр форму и расшаренный клиентский метод вызвать а он в свою очередь метод с дерективой &НаСервере
3 Rie
 
19.01.15
12:16
(2) Обработка - _внешняя_ (судя по (0)). Какие изменения в конфигурации-то?
4 AaNnDdRrEeYy
 
19.01.15
12:22
(3)Ну для того она и внешняя чтобы без изменений в конфигурации, вот только достучаться до нее не могу.
5 Rie
 
19.01.15
12:25
(4) Открой её конфигуратором. Вытащи из модуля формы в модуль объекта то, что интересует. И наступит счастье.
6 AaNnDdRrEeYy
 
19.01.15
12:30
пробовал не наступило, в модуле объекта можно вызвать только те процедуры которые без &НаСервере (они выполнятся на клиенте), а те что с &НаСервере не видет, пишет метод объекта не обнаружен.
7 Любопытная
 
19.01.15
12:31
"в модуле объекта можно вызвать только те процедуры которые без &НаСервере (они выполнятся на клиенте)" - чего?
8 AaNnDdRrEeYy
 
19.01.15
12:36
Модуль объекта внешней обработки у которой управляемая форма

Процедура а()
КонецПроцедуры

&НаСервере
Процедура б()
КонецПроцедуры

Модуль обычной формы
ВнешняяОбработка = ВнешниеОбработки.Создать(ПутьКФайлу,Ложь);
ВнешняяОбработка.а();//нормально скомпилировалось и выполнилось на клиенте
ВнешняяОбработка.б();//метод объекта не обнаружен

мне нужно что бы скомпилировалось и выполнилось на сервере.

хотя понимаю что сама обработка лежит на клиенте... короче две проблемы
9 Rie
 
19.01.15
12:39
(8) Ну и убери &НаСервере.
10 AaNnDdRrEeYy
 
19.01.15
12:43
(9)так на клиенте же будет выполнятся.
переозвучу вопрос:
Как выполнить код на стороне сервера не внося изменений в конфигурацию.
8.2 режим запуска - обычное приложение.
11 Жан Пердежон
 
19.01.15
12:44
в модуле обработка все выполняется на сервере, а не видит потому, что нет "Экспорт"
12 ДенисЧ
 
19.01.15
12:48
на сервере нет форм...
13 AaNnDdRrEeYy
 
19.01.15
12:50
(11)режим запуска обычное приложение, не будет выполнятся на сервере все то что в модуле объекта.
(12) однако управляемая форма существует как на сервере так и на клиенте.
14 Rie
 
19.01.15
12:57
(13) Вот не пойму... Обработка - внешняя, её как хочешь, так и курочишь. Считаешь, что "не будет выполняться на сервере" - считай (хотя тут - свои нюансы :-). Но никто тебе не запрещает сделать всё то, что считаешь правильным.
Можешь убрать декорации. Можешь включить условную компиляцию (хотя тут, похоже, выключить её надо). Что угодно.
15 AaNnDdRrEeYy
 
19.01.15
13:01
(14)>>Считаешь, что "не будет выполняться на сервере"
так я вижу что код не выполняется на сервере, а мне надо на сервере его выполнить.
16 Rie
 
19.01.15
13:09
(15) Где сейчас (в каком именно модуле) находится код, который надо выполнить?
Как он декорирован? Не включен ли, часом, внутрь директив условной компиляции?
Экспортирована ли эта подпрограмма?
17 AaNnDdRrEeYy
 
19.01.15
13:23
(16)
>>Где сейчас (в каком именно модуле) находится код, который надо выполнить?
-Модуль объекта внешней обработки.
>>Как он декорирован?
-&НаСервере, если про это.
>>Не включен ли, часом, внутрь директив условной компиляции?
-нет дериктив нету.
>>Экспортирована ли эта подпрограмма?
Да.
18 Rie
 
19.01.15
13:30
(17) Уберите декорацию. Это же обычное приложение. А в управляемом - по умолчанию &НаСервере.
19 AaNnDdRrEeYy
 
19.01.15
13:31
мне в обычном надо на сервере выполнить.
20 banco
 
19.01.15
13:33
(19) только если вызвать общий модуль с галочкой Сервер и Вызов сервера
21 Rie
 
19.01.15
13:34
(19) http://forum.infostart.ru/forum26/topic52440/
Из внешней обработки - никак.
22 banco
 
19.01.15
13:34
(19) может надо поменять логику и выполнять на клиенте? в чем смысл выполнять на сервере в в обычном режиме?
23 Rie
 
19.01.15
13:35
+(21) Но в (0) ничего не было сказано о необходимости выполнить на сервере.
И откуда эта необходимость взялась?
24 AaNnDdRrEeYy
 
19.01.15
13:51
(23) я в (10) изменил вопрос.
25 AaNnDdRrEeYy
 
19.01.15
13:53
(22) админские заморочки.
ну раз никак то никак....