Имя: Пароль:
1C
 
Загрузка макетов mxl в конфигурацию 1С в макет печати
0 Олеся999
 
02.08.16
14:12
Подскажите плийз как загрузить файл с расширением .mxl в макет печати документа ? можно ли как то это сделать ?
Или второй вариант, можно ли как то вызывать этот макет для печати?
Делала так:
&НаСервере
Процедура ПечатьНаСервере(ТабДок)
ЕН = ТабДок.Прочитать(Объект.Изделие.НаименованиеИ); // по отладке это путь "Z:\Макеты\Мак1.mxl"
ЕН(ТабДок, Объект.Ссылка); // подставляю  этот путь "ЕН" сюда но пишет ошибку ,  если бы был встроенный макет можно было прописать так "Документы.Товары.Печать" и все бы заработало. Как мне подставить внешний макет Z:\Макеты\Мак1.mxl?
КонецПроцедуры

&НаКлиенте
Процедура Печать(Команда)    
ТабДок = Новый ТабличныйДокумент;
ПечатьНаСервере(ТабДок);
ТабДок.Показать();    
КонецПроцедуры
1 DrZombi
 
гуру
02.08.16
14:23
2 DrZombi
 
гуру
02.08.16
14:25
+ (0) На сервере нет диска "Z"!!!
Сервер вообще не знает о ваших дисках ...

Используйте "ВременоеХранилищеЗначений", что бы поместить файл "MXL" на сервер в ременную папку...
3 Олеся999
 
02.08.16
14:39
(2) Ошиблась не Z а N
4 Олеся999
 
02.08.16
14:41
А как то экспортировать в конфу нельзя?
5 RomanYS
 
02.08.16
14:50
(4) ты разрешения спрашиваешь?
Добавь макет, скопируй содержимое из файла.
6 DrZombi
 
гуру
02.08.16
14:52
(4) Чего? Вы программист?
(3) Родимая, да мне хоть "X"... Сервер это сервер. Клиент, это ваш ПК! :)

Как Экспортировать в Конфигуратор макет
https://www.ozon.ru/context/detail/id/27689613/
7 Олеся999
 
02.08.16
15:08
(5) (6)
Ctrl+c Ctrl+v
Только все разъезжается  , это все не то !
(1)
&НаСервере
Процедура ПечатьНаСервере(ТабДок)
ТабДок.Прочитать(Объект.Изделие.НаименованиеИ);
    ОбластьМакета=ТабДок.ПолучитьОбласть("Товары");///////////// Тут ошибка типо не видит облать хотя область назыв "Товары"
    ОбластьМакета.Параметры.Дата = "Дата"; ///////////////////
    ТабДок.Вывести(ОбластьМакета);
    
КонецПроцедуры

&НаКлиенте
Процедура Печать(Команда)    
ТабДок = Новый ТабличныйДокумент;
ПечатьНаСервере(ТабДок);
ТабДок.Показать();    
КонецПроцедуры
8 DrZombi
 
гуру
02.08.16
15:45
(7) >> ТабДок.Прочитать(Объект.Изделие.НаименованиеИ);

ДНК, это не лечится :)
Ну ладно... попробую


Если вы включили Макет в состав Обработки или конфигурации. То зачем вы его пытаетесь получить из ОПЫ? :)

Делайте, как все:
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=582852
9 Олеся999
 
02.08.16
18:58
(8) Это не обработка,а документ
10 Олеся999
 
03.08.16
07:52
(8) Я делаю все как тут http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=582852
там единственное не правильно, РеквизитФормыВЗначение нужно выполнять на сервере


&НаКлиенте
Процедура Талон(Команда)
    ТабДокумент = Новый ТабличныйДокумент;
    ИмяМакета   =   "N:\Макеты\Мак1.mxl";
    Макет = ПолучитьМакетНаСервере(ИмяМакета);
    ОсновныеДействияФормыТалон(Макет,ТабДокумент);
    ТабДокумент.Показать();
КонецПроцедуры

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

&НаСервере
Процедура ОсновныеДействияФормыТалон(Макет,ТабДокумент)    
   Шапка = Макет.ПолучитьОбласть("Товары");
   ТабДокумент.Вывести(Шапка);
КонецПроцедуры

Пишет ошибку :
{Документ.Гарантийники.Форма.ФормаДокумента.Форма(176)}: Поле объекта недоступно для записи (ЭтотОбъект)
    ЭтотОбъект =РеквизитФормыВЗначение("объект");
Поменяла переменную на "КакойтоОб"
Пишет ошибку :
{Документ.Гарантийники.Форма.ФормаДокумента.Форма(177)}: Ошибка при вызове метода контекста (ПолучитьМакет)
    Макет =  КакойтоОб.ПолучитьМакет(ИмяМакета);
по причине:
Недопустимое значение параметра (параметр номер '1')

Подскажите пожалуйста, что можно еще попробовать?