Имя: Пароль:
1C
1С v8
Как "ПолучитьМакет("Макет")" для внешней обработки?
, ,
0 Zhuravlik
 
27.02.13
18:12
Здравствуйте. Связался с восьмеркой) Попросили по знакомству простенький отчетик, там три поля, как данные собрать - уразумел, а на выводе - потух.

Макет = ПолучитьМакет("Отчет");

- выдает ошибку "Процедура или функция с указанным именем не определена (ПолучитьМакет)"

Подскажите пожалуйста, кто в курсе?
1 AAlexandra
 
27.02.13
18:14
РеквизитФормыВЗначение("Объект").ПолучитьМакет(...)
2 Zhuravlik
 
27.02.13
18:15
(1) Пробовал. Гуглил) Тоже ошибка.
3 AAlexandra
 
27.02.13
18:16
(2) какая ошибка?
4 Zhuravlik
 
27.02.13
18:16
(3) Забыл, 1С 8.1
Процедура или функция с указанным именем не определена (РеквизитФормыВЗначение)
5 Aswed
 
27.02.13
18:18
(0)

   ЭтотОтчет = РеквизитФормыВЗначение("Отчет");
   Макет = ЭтотОтчет.ПолучитьМакет(ИмяМакета);
6 Aswed
 
27.02.13
18:18
Целиком.
Процедура в форме отчета.

&НаСервере
Функция ПолучитьМакет(ИмяМакета)
   ЭтотОтчет = РеквизитФормыВЗначение("Отчет");
   Макет = ЭтотОтчет.ПолучитьМакет(ИмяМакета);
   Возврат Макет
КонецФункции
7 Zhuravlik
 
27.02.13
18:19
(5) Процедура или функция с указанным именем не определена (РеквизитФормыВЗначение)
8 AAlexandra
 
27.02.13
18:20
(4) еще бывает 8.1.. гм.
Не помню, как там было.
В реквизитах формы посмотри, как называется основной реквизит формы. У него тип "внешняя обработка" должен быть.
От него через точку и получай.
Должно получиться что-то вроде "ЭтотОбъект.ПолучитьМакет()" или "ЭтаОбработка.ПолучитьМакет()"..

"РеквизитФормыВЗначение()" - это для 8.2, управляемых форм.
9 kotletka
 
27.02.13
18:22
ЭтотОбъект.ПолучитьМакет()
10 kotletka
 
27.02.13
18:22
в скобочках имя макета
11 Zhuravlik
 
27.02.13
18:24
(8) А где именно? В Диалоге формы (там, где поле с макетами, реквизитами и пр.) - реквизитов нет. В свойствах формы не нашел такого.
(9) Ругается на "ЭтотОбъект"
12 AAlexandra
 
27.02.13
18:27
(11) Ну в 8.1 было при редактировании формы 3 вкладки: 1) вкладка самой формы, куда элементы добавляешь, привязки настраиваешь и т.п.
2) код модуля формы
3) реквизиты формы. Вот там то и смотреть.. Кажется, так было.
13 kotletka
 
27.02.13
18:27
а у тебя какая обработка: отчет или обработка?, где вызов пишешь в форме(произвольной), форме отчета, модуле отчета? управляеме формы или нет?
14 kotletka
 
27.02.13
18:29
нуи последний вопрос тимвьювер есть? проще за минуту показать чем 2 часа клюшечнику объяснять
15 Zhuravlik
 
27.02.13
18:30
(12) Спасибо огроменное))) Нашел, там был "отчет" с типом значения - произвольный, поменял тип на обработку, появилась строка в описнаии типа "ЭтотОбъект". Все получилось)
(14) Уже все, спасибо.
16 Zhuravlik
 
27.02.13
18:35
Нет, не все! Подскажите еще?

   Макет =  Отчет.ПолучитьМакет("Макет");
   обл_Заголовок = Макет.ПолучитьОбласть("Заголовок");
   обл_Строка = Макет.ПолучитьОбласть("Строка");
   
   ТабДок = Новый ТабличныйДокумент;
   //Вывод параметров в область
   //ОбластьЗаголовок.Параметры.ДатаНач = ДатаНач;
   //ОбластьЗаголовок.Параметры.ДатаКон = ДатаКон;
   //Вывод области в табличный документ
   ТабДок.Вывести(обл_Заголовок);
   
//Вот здесь:
   Для Каждого Стр из ТЗ Цикл
       ТабДок.Вывести(обл_Строка);
   КонецЦикла;
В макете переменные Стр.МоеЗначение занесены в ячейки, тип - шаблон.
Если загоняю в квадратные скобки, как в 7.7 - Не выводит вообще.
Если не загоняю - выводит как текст.
17 Aswed
 
27.02.13
18:36
(7) Млять.
НаСервере!!!!
18 Zhuravlik
 
27.02.13
18:39
(17) Не надо так кричать. С директивой "&На сервере" выдавал то же самое, и эта проблема уже решена.
С (16) тоже разобрался, спасибо всем за советы.
19 AAlexandra
 
27.02.13
18:39
(16) в макете выделяешь ячейку, нажимаешь альт+энтер. Справа откроются свойства ячейки. Там выбираешь заполнение: текст/шаблон/параметр.
20 AAlexandra
 
27.02.13
18:43
(19) + если шаблон..
то в нем как-то так: <текст [ИмяПараметра1] текст [ИмяПараметра2] текст>
Или наоборот: [текст <ИмяПараметра1> текст <ИмяПараметра2> текст]

Потом в коде: обл_Строка.Параметры.ИмяПараметра1 = ЗначениеПараметра1;
21 Жан Пердежон
 
27.02.13
18:46
(17) спокуха, это 8.1
22 Жан Пердежон
 
27.02.13
18:48
(16) обл_Строка.Параметры.ИмяПараметра = ТвоеЗначение;
23 Aswed
 
27.02.13
18:49
(21) Упс))))
Не увязочка вышла))))

Так а в 8.1 вообще какие проблемы с макетом могут быть не понятно.