|
Создание печ. формы в УТ 11 | ☑ | ||
---|---|---|---|---|
0
sanja26
22.04.12
✎
15:29
|
есть процедура
// Выполнить команду печати, которая открывает результат в форме печати документов Процедура ВыполнитьКомандуПечати(ИмяМенеджераПечати, ИменаМакетов, ПараметрКоманды, ВладелецФормы, ПараметрыПечати = Неопределено) Экспорт // Проверим количество объектов Если НЕ ПроверитьКоличествоПереданныхОбъектов(ПараметрКоманды) Тогда Возврат; КонецЕсли; // Получим ключ уникальности открываемой формы КлючУникальности = Строка(Новый УникальныйИдентификатор); ПараметрыОткрытия = Новый Структура("ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати"); ПараметрыОткрытия.ИмяМенеджераПечати = ИмяМенеджераПечати; ПараметрыОткрытия.ИменаМакетов = ИменаМакетов; ПараметрыОткрытия.ПараметрКоманды = ПараметрКоманды; ПараметрыОткрытия.ПараметрыПечати = ПараметрыПечати; // Откроем форму печати документов ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, КлючУникальности); КонецПроцедуры В ней параметр команды - документСсылка а при создании на сервере ПараметрКоманды - это массив реквизитов документа. &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Перем КоллекцияПечатныхФорм, ПараметрыВывода; // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест". Если Параметры.Свойство("АвтоТест") Тогда Возврат; КонецЕсли; Если Параметры.Свойство("ИсточникДанных") Тогда Если НЕ УправлениеПечатьюПереопределяемый.ПечатьПоВнешнемуИсточнику( Параметры.ИсточникДанных, Параметры.ПараметрыИсточника, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Тогда Отказ = Истина; Возврат; КонецЕсли; КлючНастроек = Неопределено; Иначе ИмяМенеджераПечати = Параметры.ИмяМенеджераПечати; ИменаМакетов = Параметры.ИменаМакетов; ПараметрКоманды = Параметры.ПараметрКоманды; ПараметрыПечати = Параметры.ПараметрыПечати; УправлениеПечатью.СформироватьПечатныеФормы(ИмяМенеджераПечати, ИменаМакетов, ПараметрКоманды, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); КлючНастроек = Параметры.ИмяМенеджераПечати + "-" + Параметры.ИменаМакетов; КонецЕсли; как так? |
|||
1
sanja26
22.04.12
✎
15:31
|
параметрКоманды - параметр формы "ПечатьДокументов", тип Произвольный
|
|||
2
sanja26
22.04.12
✎
18:51
|
как все-таки так получается, на выходе ссылка, на входе массив реквизитов
|
|||
3
sanja26
22.04.12
✎
23:17
|
апну на ночь глядя
|
|||
4
Агент Инфостарта
23.04.12
✎
00:13
|
Чёрная магия, не иначе.
Что смущает или непонятно? |
|||
5
sanja26
23.04.12
✎
00:31
|
(4) хоть кто-то откликнулся)
Смущает то, что при вызове процедуры открытия формы передается в параметре ссылка, а в процедйре ПриСозданииНаСервере у форме в параметре массив реквизитов этой ссылки |
|||
6
Агент Инфостарта
23.04.12
✎
01:01
|
Так задумано. Ваша задача сделать печатную форму, а не копаться в потрохах конфигурации.
Печатую форму рекомендую разрабатывать на основе существующих. |
|||
7
sanja26
23.04.12
✎
01:17
|
так на основе типовой и делается
ПараметрКоманды = Параметры.ПараметрКоманды; // Подготовим коллекцию для формируемых печатных форм КоллекцияПечатныхФорм = ПодготовитьКоллекциюПечатныхФорм("Торг12_метро"); // Подготовим структуру параметров вывода ПараметрыВывода = ПодготовитьСтруктуруПараметровВывода(); ОбъектыПечати = Новый СписокЗначений; СтруктураТипов = РазложитьМассивПоТипамОбъектов(МассивОбъектов); УстановитьПривилегированныйРежим(Истина); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ТОРГ12", "ТОРГ-12 (Товарная накладная" + " без услуг)", СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати)); МассивОбъектов придется вручную создавать |
|||
8
sanja26
23.04.12
✎
01:19
|
Процедура Печать() Экспорт
ПараметрКоманды = Параметры.ПараметрКоманды; // Подготовим коллекцию для формируемых печатных форм КоллекцияПечатныхФорм = ПодготовитьКоллекциюПечатныхФорм("Торг12_метро"); // Подготовим структуру параметров вывода ПараметрыВывода = ПодготовитьСтруктуруПараметровВывода(); ОбъектыПечати = Новый СписокЗначений; СтруктураТипов = РазложитьМассивПоТипамОбъектов(МассивОбъектов); УстановитьПривилегированныйРежим(Истина); УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ТОРГ12", "ТОРГ-12 (Товарная накладная" + " без услуг)", СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати)); КонецПроцедуры |
|||
9
sanja26
23.04.12
✎
01:19
|
ПараметрКоманды = Параметры.ПараметрКоманды; -- лишнее
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |