Имя: Пароль:
1C
 
Получитьмакет если внешняя печатная форма 8.2
0 Kyrtizanka
 
09.02.11
18:23
Подскажите пожалуйста, разбираюсь с 8.2.
Сделала Внешнюю печатную форму, а вызвать макет этой печатной формы не получается, подскажите.
Переделываю макет Расходной накладной, в стандарте вызывается так
Макет = УправлениеПечатью.ПолучитьМакет("Документ.РасходнаяНакладная.ПФ_MXL_Накладная");
но мне нужен макет внешней обработки
1 detec
 
09.02.11
18:32
"ВнешняяОбработка.<мояобработка>.макет.<мой макет>" - примерно так должен вызываться.
2 Спящая
 
09.02.11
18:35
а почему бы просто не подключить новый макет к документу стандартными средствами ?
3 КнОпка
 
09.02.11
18:36
(2) Как если не секрет?
4 mm_84
 
09.02.11
18:41
(3) создаете внешнюю обработку в модуль все необходимые процедуры и функцию печать, которая возвращает печ форму.Потом регистрируете ещё во внеш печ формах, а ещё можно почитать тут:
http://www.1c-pro.ru/index.php?showtopic=10751
http://infostart.ru/public/66588/
5 Злобный монстр
 
09.02.11
18:42
(4) Опередил!
6 КнОпка
 
09.02.11
18:43
спасибо )
7 Kyrtizanka
 
10.02.11
10:34
"ВнешняяОбработка.<мояобработка>.макет.<мой макет>" - примерно так должен вызываться.  не работает
8 Kyrtizanka
 
10.02.11
10:34
неужели ни у кого нет примера внешней обработки, макет которой используется
9 detec
 
10.02.11
10:36
ВнешОбработка.ПолучитьМакет("Шаблон");

Из СП.
10 Kyrtizanka
 
10.02.11
10:46
ВнешОбработка.ПолучитьМакет- ругается
11 Kyrtizanka
 
10.02.11
10:47
Метод объекта не обнаружен (ПолучитьМакет)
12 Mitriy
 
10.02.11
10:49
(11) потому что его на клиенте нет... только на сервере...
13 Kyrtizanka
 
10.02.11
10:50
так как получить макет
14 Mitriy
 
10.02.11
10:51
(13) у тебя тонкий клиент?
15 Kyrtizanka
 
10.02.11
10:51
нелья выложить в форум работающий пример???
16 Kyrtizanka
 
10.02.11
10:52
я в управляемом режиме работаю
17 Mitriy
 
10.02.11
10:54
18 Kyrtizanka
 
10.02.11
10:55
я смотрела эту обработку
19 Kyrtizanka
 
10.02.11
10:56
у меня вопрос не в том, как создать внешнюю печформу
20 Kyrtizanka
 
10.02.11
10:56
а как макет этой печ формы вызвать
21 Mitriy
 
10.02.11
11:03
(20) не сервере
22 Mitriy
 
10.02.11
11:03
(21)* на
23 Mitriy
 
10.02.11
11:05
ОбъектОбработки = РеквизитФормыВЗначение("Объект");
ОбъектОбработки.ПолучитьМакет("ИмяМакета");
24 Mitriy
 
10.02.11
11:07
(23)+ если в форме, а не в модуле объекта...
25 Kyrtizanka
 
10.02.11
11:09
под объектом что подразумевается
26 disk-2008
 
10.02.11
11:10
(4)Хорошие ссылки.
27 Mitriy
 
10.02.11
11:12
(25) основной реквизит формы обработки...
28 Mitriy
 
10.02.11
11:14
(27) это в 8.1 можно было из формы напрямую обращаться к реквизитам, экспортным процедурам и свойствам основного реквизита, а в управляемом приложении немного по-другому...
29 Kyrtizanka
 
10.02.11
11:17
короче ничего не получается
30 Kyrtizanka
 
10.02.11
11:17
может мне кто-нить пример дать
31 Mitriy
 
10.02.11
11:18
(29) код покажи...
32 Kyrtizanka
 
10.02.11
11:21
СформироватьПечатнуюФорму(Тип, МассивОбъектов, ОбъектыПечати)
   
   УстановитьПривилегированныйРежим(Истина);
   ТабличныйДокумент = Новый ТабличныйДокумент;
   ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_РасходнаяНакладная";

   ПервыйДокумент = Истина;

   ТабличныйДокумент = Новый ТабличныйДокумент;
   Для Каждого ТекущийДокумент Из МассивОбъектов Цикл
        ПервыйДокумент = Ложь;
       
       НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;

       Запрос = Новый Запрос();
       Запрос.УстановитьПараметр("МассивОбъектов", ТекущийДокумент);
       Запрос.Текст =
       "ВЫБРАТЬ
       |    РасходнаяНакладная.Дата КАК ДатаДокумента,
       |    РасходнаяНакладная.Организация КАК Организация,
       |    РасходнаяНакладная.Контрагент КАК Контрагент,
       |    РасходнаяНакладная.СуммаВключаетНДС КАК СуммаВключаетНДС,
       |    РасходнаяНакладная.ВалютаДокумента КАК ВалютаДокумента,
       |    РасходнаяНакладная.Номер,
       |    РасходнаяНакладная.Организация.Префикс КАК Префикс,
       |    РасходнаяНакладная.Запасы.(
       |        НомерСтроки КАК НомерСтроки,
       |        ВЫБОР
       |            КОГДА (ВЫРАЗИТЬ(РасходнаяНакладная.Запасы.Номенклатура.НаименованиеПолное КАК СТРОКА(100))) = """"
       |                ТОГДА РасходнаяНакладная.Запасы.Номенклатура.Наименование
       |            ИНАЧЕ РасходнаяНакладная.Запасы.Номенклатура.НаименованиеПолное
       |        КОНЕЦ КАК Запас,
       |        Номенклатура.Артикул КАК Артикул,
       |        Номенклатура.Код КАК Код,
       |        ЕдиницаИзмерения КАК ЕдиницаХранения,
       |        Количество КАК Количество,
       |        Цена КАК Цена,
       |        Сумма КАК Сумма,
       |        СуммаНДС,
       |        Характеристика,
       |        Содержание,
       |        ПроцентСкидкиНаценки,
       |        ВЫБОР
       |            КОГДА РасходнаяНакладная.Запасы.ПроцентСкидкиНаценки <> 0
       |                ТОГДА 1
       |            ИНАЧЕ 0
       |        КОНЕЦ КАК ЕстьСкидка,
       |        Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры
       |    )
       |ИЗ
       |    Документ.РасходнаяНакладная КАК РасходнаяНакладная
       |ГДЕ
       |    РасходнаяНакладная.Ссылка = &МассивОбъектов
       |
       |УПОРЯДОЧИТЬ ПО
       |    НомерСтроки";
       Шапка = Запрос.Выполнить().Выбрать();
       Шапка.Следующий();
       
       ВыборкаСтрокЗапасы = Шапка.Запасы.Выбрать();
       
       ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РасходнаяНакладная_Накладная";
       Макет = УправлениеПечатью.ПолучитьМакет("Документ.РасходнаяНакладная.ПФ_MXL_Накладная");
       СведенияОбОрганизации = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента, ,);
       СведенияОбКонтрагенте = УправлениеНебольшойФирмойСервер.СведенияОЮрФизЛице(Шапка.Контрагент, Шапка.ДатаДокумента, ,);
       
       Если Шапка.ДатаДокумента < Дата('20110101') Тогда
           НомерДокумента = УправлениеНебольшойФирмойСервер.ПолучитьНомерНаПечать(Шапка.Номер, Шапка.Префикс);
       Иначе
           НомерДокумента = ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Шапка.Номер, Истина, Истина);
       КонецЕсли;        
       
       ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
       ОбластьМакета.Параметры.ТекстЗаголовка = "Расходная накладная № "
       + НомерДокумента
       + " от "
       + Формат(Шапка.ДатаДокумента, "ДФ=""dd MMMM yyyy""");
       
       ТабличныйДокумент.Вывести(ОбластьМакета);
       
       ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
       ОбластьМакета.Параметры.ПредставлениеПоставщика = УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбОрганизации, "ПолноеНаименование,");
       ТабличныйДокумент.Вывести(ОбластьМакета);
       
       ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
       ОбластьМакета.Параметры.ПредставлениеПолучателя = УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбКонтрагенте, "ПолноеНаименование,")+ " Адрес: "+УправлениеНебольшойФирмойСервер.ОписаниеОрганизации(СведенияОбКонтрагенте, "ЮридическийАдрес,");
       ТабличныйДокумент.Вывести(ОбластьМакета);
       
       ЕстьСкидки = Шапка.Запасы.Выгрузить().Итог("ЕстьСкидка") <> 0;
33 Kyrtizanka
 
10.02.11
11:21
здесь макет вызывает макет документа конфигурации
34 Kyrtizanka
 
10.02.11
11:21
а мне нужен мой макет
35 Mitriy
 
10.02.11
11:23
Макет = ПолучитьМакет("ИмяМакета");
36 Kyrtizanka
 
10.02.11
11:38
так работает
ничего не понимаю, если так все просто было, почему сразу никто не подсказал
37 Kyrtizanka
 
10.02.11
11:38
спасибо за помощь
38 Kyrtizanka
 
10.02.11
11:39
блиинЮ вот реально, чего только уже не писала, а так просто оказалось
39 Kyrtizanka
 
10.02.11
11:39
спасибо ещё раз
40 Mitriy
 
10.02.11
12:06
мысль о чем-то простом часто приходит последней...
41 Kyrtizanka
 
11.02.11
10:15
это точно!!!!