Имя: Пароль:
1C
 
8.2 Внешняя обработка => Управляемая форма => ПолучитьМакет
0 jk3
 
10.09.10
12:54

&НаКлиенте
Процедура Печать()
   Макет = ПолучитьМакет("Макет");

Не работает
1 vista
 
10.09.10
13:06
Согласен. У меня тоже не работает.
Как же так?
2 H A D G E H O G s
 
10.09.10
13:11
В поиск
3 vista
 
10.09.10
13:14
Дмитрий Сергеевич, а Вам можно задать вопрос по поводу Тест-центра? Или Вы с ним не работкали?
4 H A D G E H O G s
 
10.09.10
13:18
(3) Нет
5 jk3
 
10.09.10
13:18
(2) искал уже, не нашел решения
6 vista
 
10.09.10
13:22
Может надо переписать на неуправляемую форму? Мне так посоветовал Рупасов Константин (генеральный руководитель отдела разработки 1С).
Дело в том, что управляемые формы ещё глюкавят.
7 jk3
 
10.09.10
13:24
(6) нет, это как-то можно сделать
Блин, ну простейший случай.
Нужно в обработке, которая печатает по своему макету что-то. Хелп.
8 mdocs
 
10.09.10
13:26
(6) Хорошо что на 7.7 перейти не посоветовал. В таких случаях принято советовать - RTFM.

&Насервере
Процедура Печать()
   Макет = ПолучитьМакет("Макет");
9 vista
 
10.09.10
13:28
Как же так?
Если установить "НаСервере", то тогда действие будет происходить на сервере, а нам нужно распечатать на клиенте. Так? Так!
10 jk3
 
10.09.10
13:29
(8) Ну-ну, RTFM

{Форма.ФормаУправляемая.Форма(7,13)}: Процедура или функция с указанным именем не определена (ПолучитьМакет)
   Макет = <<?>>ПолучитьМакет("Макет"); (Проверка: Сервер)
11 H A D G E H O G s
 
10.09.10
13:34
12 jk3
 
10.09.10
13:43
(11) Спасибо, значит плохо искал :(
Этот код работает

&НаСервере
Функция ПолучитьМакетНаСервере()
   Возврат = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
КонецФункции

&НаКлиенте
Процедура Печать(Команда)
      Макет = ПолучитьМакетНаСервере();
КонецПроцедуры


И теперь так каждый раз прийдется извращаться в управляемых формах. Прям прелесть. Чем дальше в управляемые формы, тем толще партизаны %)
13 a_alenkin
 
10.09.10
13:44
а не проще ли с сервера получать табличный документ для вывода а заполнять макет на сервере?
14 H A D G E H O G s
 
10.09.10
13:45
(13) Скажу тебе больше - в больш. случаев - это ед. выход
15 H A D G E H O G s
 
10.09.10
13:46
(12) Это - не извращение.
Это настоящая (правильная, ДэвидБлейновская) логика, а не тот эрзац, что был в 8.1.
16 jk3
 
10.09.10
13:47
(12) поправка, равно отсюда уберите "Возврат =", случайно поставилось

(14) т.е. всё, что нельзя получить на клиенте, получаешь на сервере и он тебе это возвращает
17 a_alenkin
 
10.09.10
13:49
(14) Мне как то макет на клиенте еще никогда не был нужен - причем макет же бывает не только табличный
18 vista
 
10.09.10
13:49
То есть в управляемых формах надо везде такое прописывать? Как же так?
19 jk3
 
10.09.10
13:51
(18) Не везде, но во многих случаях, походу.
Настоящий клиент-сервер :)
20 H A D G E H O G s
 
10.09.10
14:00
(18) Все верно.
На Клиенте - только Идентификаторы и примитивные типы.
21 vista
 
10.09.10
14:07
Я думаю, что не стоит торопиться переписывать код.
Как доложили нам из центра разработки 1С, готовится новая платформа (кодовое имя - 9.0). Там всё будет ещё хуже.