Имя: Пароль:
1C
 
v8: Как получить макет внешнего отчета?
0 Azimut
 
19.11.09
21:24
Потихоньку разбираюсь с новой платформой. Сегодня зашел в тупик с такой вот задачей. Как получить макет внешнего отчета? С клиента естественно доступна только модель объекта, без методов. А на сервере, при попытке преобразовать данные формы во ВнешнийОтчетОбъект вылетает ошибка. Как же правильно обойти данную ситуацию?
1 Naumov
 
19.11.09
21:36
ОбработкаОбъект.<Имя обработки>.ПолучитьМакет (DataProcessorObject.<Имя обработки>.GetTemplate)
ОбработкаОбъект.<Имя обработки> (DataProcessorObject.<Имя обработки>)
ПолучитьМакет (GetTemplate)
Синтаксис:
ПолучитьМакет(<Макет>)
Параметры:
<Макет> (обязательный)
Тип: Строка, ОбъектМетаданных: Макет. Имя макета, как оно задано в конфигураторе, или объект описания метаданного требуемого макета.
Возвращаемое значение:
Тип: ТабличныйДокумент, ТекстовыйДокумент, другой объект, который может быть макетом..
Описание:
Получает макет обработки.
2 Azimut
 
19.11.09
21:39
но как получить саму ОбработкаОбъект? Во внешнем отчете при выполнении на сервере есть только реквизит формы "Отчет", в котором тип СтруктураДанныхФормы... При преобразовании как я уж говорил ругается...
3 Mitriy
 
19.11.09
21:43
(1) автор про 8.2 спрашивает, про тонкого клиента...
4 Azimut
 
19.11.09
21:45
ну да, о тонком клиенте уточнить забыл, каюсь. так кто успел разобраться?
5 Mitriy
 
19.11.09
21:45
(2) я тоже с этим столкнулся, с внешней обработкой, но сильно думать не стал, и воткнул в конфигурацию...
6 Mitriy
 
19.11.09
21:47
(5)+ скорее всего никак, потому что непонятно, как клиент будет обработку на сервер запихивать, если он даже не знает, что это такое...
7 Azimut
 
19.11.09
21:49
(5) А я полдня бился и безрезультатно... Через недельку литературу доставят вот тогда оторвусь )
(6) Врядли... ведь СКД функционирует нормально... (хотя не проверял, но думаю должна). а она тоже на сервере должна выполняться. знач как то обмен происходит.
8 detec
 
19.11.09
22:06
У меня так заработало, на примере формы:

&НаКлиенте
Процедура ОткрытьОкно(Команда)
   Форма = ПолучитьФорму("ВнешняяОбработка.ПересчетЦен.Форма.Форма");
9 Чайник Рассела
 
19.11.09
22:08
На тонком клиенте внешние обработки не доступны.
Попробуй так

Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
10 detec
 
19.11.09
22:46
(9) Доступны внешние обработки. Если их в конфигурации у роли не запретить.
11 5 Элемент
 
20.11.09
09:11
(10) он имеет ввиду что как объект недоступен. А следовательно и его свойства тоже недоступны. Он доступен только на сервере.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.