Имя: Пароль:
1C
1С v8
Как вывести макет из внешней обработки?
0 AnyBaz
 
28.11.13
14:52
Доброго времени суток, товарищи!
Проблема такова, есть внешняя обработка "Календарь менеджера". Необходимо вывести макет "Дня" в том виде который требует заказчик, а не как в стандартном виде 1С. Макет я сделала и заполнила его. Вопрос в том, что я не могу подключить его к обработке и в просмотре он не отображается в том виде, в котором я задала. Как правильно описать функцию или процедуру, которая покажет мой макет.
1 vicof
 
28.11.13
14:53
ПолучитьМакет()
2 AnyBaz
 
28.11.13
14:56
(1) вызывать ее из МОДУЛЯ ОБЪЕКТА? Я так и делала, но не работает...
3 vicof
 
28.11.13
14:56
Если у тебя макет является макетом обработки, то да.
4 vicof
 
28.11.13
14:57
Что конкретно не работает?
5 AnyBaz
 
28.11.13
14:59
(4) макет обработки да.
он не отображает мой макет, а выводит стандартный, какой был.
6 ДенисЧ
 
28.11.13
14:59
объект = РеквизитФормыВЗначение("Объект");
макет = объект.ПолучитьМакет("МойМакет");
7 AnyBaz
 
28.11.13
15:00
(6) что является объектом?
8 ДенисЧ
 
28.11.13
15:00
(7) обработка твоя. Попробуй
9 vicof
 
28.11.13
15:01
(7) Давай код уже свой, ничо не понятно
10 AnyBaz
 
28.11.13
15:03
(9) Процедура ЗаполнитьТабличныйДокументДень(ИмяМакета,ТаблицаСобытий,Параметры)  Экспорт
    
    ТабДок = Новый ТабличныйДокумент;

////////////////////////////
    Если Параметры.СтраницаМенеджера = "День" Тогда
        
    ЗапросДень = Новый Запрос;
    ЗапросДень.Текст =
    "ВЫБРАТЬ
    |    Встреча.Описание,
    |    ВстречаУчастники.Контакт,
    |    ВстречаУчастники.ПредставлениеКонтакта,
    |    ВстречаУчастники.КакСвязаться
    |ИЗ
    |    Документ.Встреча.Участники КАК ВстречаУчастники
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.Встреча КАК Встреча
    |        ПО ВстречаУчастники.Ссылка = Встреча.Ссылка";
    
    Выборка = ЗапросДень.Выполнить().Выбрать();
    
    Макет = ПолучитьОбщийМакет("МакетДля");
    ОбластьМакетаДеньШапкаТаблицы = Макет.ПолучитьОбласть("ДеньШапкаТаблицы");
    ОбластьМакетаДеньТаблица = Макет.ПолучитьОбласть("ДеньТаблица");
        
    ТабДок.Вывести(ОбластьМакетаДеньШапкаТаблицы);
        
    ОбластьМакетаДеньТаблица.Параметры.ТипВзаимодействия = ТаблицаСобытий.ИмяКартинки;
    ОбластьМакетаДеньТаблица.Параметры.Клиент = Выборка.Контакт;
    //ОбластьМакетаДеньТаблица.Параметры.Адрес =
    ОбластьМакетаДеньТаблица.Параметры.Контакты = Выборка.КакСвязаться;
    ОбластьМакетаДеньТаблица.Параметры.Задача = Выборка.Описание;
    
    ТабДок.Вывести(ОбластьМакетаДеньТаблица);
    
    КонецЕсли;
////////////////////////
    
КонецПроцедуры;
11 Холодильник
 
28.11.13
15:04
ммм..девушка, вы замужем?
12 AnyBaz
 
28.11.13
15:04
(8) так я в ней же и должна напечатать этот макет. Как я ее саму себя вызову?
13 AnyBaz
 
28.11.13
15:04
(11) вопрос не по теме!
14 vicof
 
28.11.13
15:05
(13) как раз по теме)
(10) Параметры.СтраницаМенеджера = "День"
условие выполняется?
15 ДенисЧ
 
28.11.13
15:05
(12) Может, сначала пробуешь?
16 AnyBaz
 
28.11.13
15:06
(14) Условие выполняется!
17 vicof
 
28.11.13
15:06
(10) + ТабДок.Показать()
18 AnyBaz
 
28.11.13
15:06
(15) щас проэкспериментирую!
19 AnyBaz
 
28.11.13
15:07
(17) куда вставить строку? в конец кода?
20 vicof
 
28.11.13
15:07
(19) Ты гениальна :)
21 ДенисЧ
 
28.11.13
15:07
в начало!!
22 AnyBaz
 
28.11.13
15:07
(20) я знала)))
23 AnyBaz
 
28.11.13
15:08
(21) шутник!
24 AnyBaz
 
28.11.13
15:15
(21)  Вот ошибка!
{Форма.Форма.Форма(300)}: Ошибка при установке значения атрибута контекста (Объект)
объект = РеквизитФормыВЗначение("Объект");
по причине:
Нельзя изменять поле, содержащее объект данных формы
Нельзя изменять поле, содержащее объект данных формы
25 ДенисЧ
 
28.11.13
15:15
Мда...
МойОбъект = Реквизит....
26 ДенисЧ
 
28.11.13
15:15
Нельзя же быть настолько блондинкой...
27 AnyBaz
 
28.11.13
15:18
(26) да не блондинка я! просто я мало знаю еще!