Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Нужна помощь с процедурой выбора макета

Нужна помощь с процедурой выбора макета
Я
   a1phoenix
 
25.12.12 - 10:40
Добрый день!
Опишу в кратце проблему:
Имеется строковое поле с кнопкой списка, так же есть несколько макетов (актив документ) для заполняемой формы документа. Необходимо заполнить список названиями макетов, а так же при выборе конкретного макета заполнить его данными из формы и отправить на печать/сохранить в файл.
 
 
   Cube
 
1 - 25.12.12 - 10:41
(0) СП украли?
ОбъектМетаданных: Документ.Макеты (MetadataObject: Document.Templates)
ОбъектМетаданных: Документ (MetadataObject: Document)
Макеты (Templates)
Использование:

Только чтение.
Описание:

Тип: КоллекцияОбъектовМетаданных.
Коллекция объектов метаданных, описывающих макеты, принадлежащие данному объекту метаданных.

Доступность:

Сервер, толстый клиент, внешнее соединение.
   Chikko
 
2 - 25.12.12 - 10:43
Через метаданные заполнить список макетов (поле выбора).
Где макеты-то? Ну что-то вроде ЭтотОбъект.Метаданные().Макеты.
Далее, в зависимости от выбранного, заполнить=)
   sidalexsandr
 
3 - 25.12.12 - 10:43
(0) Список значений не пробовал.
   pessok
 
4 - 25.12.12 - 11:04
дык а если общие макеты используются?
тут надо ползти в ПолучитьСписокПечатныхФорм, имхо
   a1phoenix
 
5 - 25.12.12 - 11:07
Макеты находятся Документы/Договор/Макеты(то есть я могу получить макет обращаясь к нему Документы.Договор.ПолучитьМакет("первый")). Поле которое необходимо заполнить - Шаблон (в этом поле есть КнопкаСпискаВыбора, при нажатии на которую и должен вылазить список макетов).
   a1phoenix
 
6 - 25.12.12 - 11:35
Такой вот еще вопрос:
Если создать отдельно СписокВыбора и присвоить каждому выбору получение определенного макета...??
Например:
Значение1 = ЭлементыФормы.Шаблон.СписокВыбора.Добавить("первый");
Процедура Печать()
  Значение1= Документы.Договор.ПолучитьМакет("первый");
 ....//Заполнение Макета значениями и вывод на предпросмотр
 
КонецПроцедуры
   Cube
 
7 - 25.12.12 - 11:37
(6) Перефразируй. Только перечитай, то что напишешь на три раза.
   a1phoenix
 
8 - 26.12.12 - 08:54
И так дошел я до такого варианта:

Перем Шаблон1;

Процедура ПриОткрытии()
    Шаблон1 = ЭлементыФормы.Шаблон.СписокВыбора;
    Шаблон1.Добавить("первый");
КонецПроцедуры

Процедура Печать()
    Если Шаблон1 = ЭлементыФормы.Шаблон.СписокВыбора.ВыбратьЭлемент("первый")
    Тогда 
       СсылкаМакет = Документы.Договор.получитьМакет("первый");
       MSWord = СсылкаМакет.Получить();
       Попытка
       ...........
       КонецПопытки;
    КонецЕсли;
КонецПроцедуры

Вроде как работает... вроде как... мож кому пригодится.
   a1phoenix
 
9 - 27.12.12 - 10:04
И все таки не работает...
В процессе выполнения вышеуказанного кода происходит следующее:
При нажатии кнопки "сформировать в ворд", которая вызывает процедуру "Печать", открывается дополнительное окошко с названием Шаблон. В этом окошке есть пункт "Шаблон", выбирая который не происходит никаких действий. В окне "Шаблон" есть только 2 кнопки: "Ок", "Отмена".
   a1phoenix
 
10 - 27.12.12 - 11:30
Вопрос решился сам собой...
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует