Имя: Пароль:
1C
1С v8
Как вернуть описание форм через веб-сервис?
0 bukashchik
 
21.04.15
17:39
Есть ф-ция, которая собирает следующие данные о разных формах объектов конфигурации:
Функция GetFormInfos() Экспорт
mForm=Справочники["имяСправочника"].ПолучитьФорму("ФормаЭлемента");
ИЛИ
mForm=Документы["имяДокумента"].ПолучитьФорму("ФормаЭлемента");

//получаем описание формы
fName=mForm.Наименование;
fTitle=mForm.Заголовок;
...

//получаем описание элементов формы    
controls=mForm.ЭлементыФормы;
...
КонецФункции

Получить описание форм для разных объектов конфигурации не удалось ни из объектов Справочник, Документ  и т.д., ни из Общего Модуля, т.к. при попытке вызова "ПолучитьФорму" для "других" объектов, возвращается просто "Неопределено".
А вот из Обработки удается это сделать.

В итоге мне нужно, чтобы веб-функция дергала ф-цию общего модуля, а та возвращала описание форм.

Вызвать в общем модуле функцию GetFormInfos из Обработки мне пока не удается, т.к. она должна быть "&НаКлиенте", из-за чего общий модули говорит, что не видит ее...

Подскажите пожалуйста, какие еще возможны варианты?
Как, откуда можно бы получить описание форм?
1 Asmody
 
21.04.15
17:48
(0) для веб-сервиса форм не существует
2 bukashchik
 
21.04.15
17:58
(1) Я знаю, что не существует. Вопрос совершенно не в этом.
3 SanGvin
 
21.04.15
18:00
выгрузить конфу в XML и оттуда распарсить
4 bukashchik
 
21.04.15
18:02
(3) Можно ли выгрузить программно?
Ручками не подойдет...
5 Asmody
 
21.04.15
18:03
(2) "Я сам знаю, что эта задача не имеет решения. Я хочу знать, как ее решать" — сказал Кристобаль Хунта
6 SanGvin
 
21.04.15
18:07
А не подойдет такой костыльный вариант - запускать через COM.Application толстого клиента и вызывать выполнение обработки из него.
7 bukashchik
 
21.04.15
18:21
(6) К сожалению нет... Сильно тяжело получится.

А, может быть, я не все знаю, и можно еще откуда-то кроме Обработки получать описание форм других объектов?)
8 quest
 
21.04.15
19:01
управляемая форма отлично сериализуется. ФабрикаXDTO - посмотри в эту строку.
Правда сможет ли сервис ответить с таким типом - не скажу. Проверять надо
9 quest
 
21.04.15
19:04
второй вариант - деструктивный анализ формы (ищется в инете за пару минут) , а уж деревзначений точно вернуть сервис сможет
10 bukashchik
 
21.04.15
19:09
(8) (9) спасибо большое, сейчас поищу!!
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший