Имя: Пароль:
1C
1С v8
Как во внешней печатной форме установить свой заголовок?
0 Grand Жучара
 
10.12.13
12:05
В конфигурации Бухгалтерия 3.0 сделал внешнюю обработку.

Не могу разобраться как сменить стандартный заголовок "Печать документов" на ссылку на печатаемый документ. По идее, это делается так:

ПараметрыПечати.Вставить("ЗаголовокФормы", "мой заголовок");

Но только вот во внешней печатной форме в процедуре Печать нет параметра ПараметрыПечати
1 Grand Жучара
 
10.12.13
12:28
чатик, помоги
2 Euguln
 
10.12.13
12:48
(0) Стандартный заголовок "Печать документов" - это наверное в общей форме. В твоей обработке и формы-то нет.
3 Grand Жучара
 
10.12.13
12:52
(2)
Это понятно
В этой общей форме мне и нужно, чтобы в заголовке было описание распечатываемого документа.

Просто в типовой функции Печать в менеджере объекта предусматривается 5 параметров, а в функции Печать модуля объекта внешней печатной формы - 4 параметра. Недостающий параметр называется ПараметрыПечати, это структура, в которой можно установить значение свойства "ЗаголовокФормы"
4 Euguln
 
10.12.13
12:55
(3) Если внимательно посмотришь общую форму (чего делать видимо очень не хочется), то увидишь, как там устанавливается заголовок.
5 Grand Жучара
 
10.12.13
13:01
(4)

я не работаю с этой формой напрямую.
У меня внешняя печатная форма. В ней в модуле объекта есть функции:


Функция   СведенияОВнешнейОбработке() Экспорт
   ...
КонецФункции

Функция Печать(МассивСсылок, ТаблицаПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
   ...
КонецФункции
6 Grand Жучара
 
10.12.13
13:04
(4)

Вот как там устанавливается заголовок:

&НаСервере
Процедура УстановитьЗаголовокФормы()
    Перем ЗаголовокФормы;
    
    Если ТипЗнч(Параметры.ПараметрыПечати) = Тип("Структура") Тогда
        Параметры.ПараметрыПечати.Свойство("ЗаголовокФормы", ЗаголовокФормы);
    КонецЕсли;
    
    Если ЗначениеЗаполнено(ЗаголовокФормы) Тогда
        Заголовок = ЗаголовокФормы;
    Иначе
        Если ЭтоПечатьКомплекта() Тогда
            Заголовок = НСтр("ru = 'Печать комплекта'");
        ИначеЕсли ТипЗнч(Параметры.ПараметрКоманды) <> Тип("Массив") Или Параметры.ПараметрКоманды.Количество() > 1 Тогда
            Заголовок = НСтр("ru = 'Печать документов'");
        Иначе
            Заголовок = НСтр("ru = 'Печать документа'");
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры


И вопрос остается все тот же: как обратиться к параметрам печати из моей процедуры Печать
7 Euguln
 
10.12.13
13:11
А вот теперь вдумчиво анализируем, что выполняется раньше.
8 Grand Жучара
 
10.12.13
13:29
(7)

Вы наверное будете удивлены, но сначала выполняется моя процедура Печать, а потом открывается общая форма ПечатьДокументов (проверил на всякий случай в отладчике, хотя это очевидно).
Вы, уважаемый Euguln, точно понимаете вопрос?
9 Euguln
 
10.12.13
13:34
(8) Вот, в отладчике проверил, а понять через отладчик, как добраться до параметров печати терпения не хватило?
10 Grand Жучара
 
10.12.13
13:34
(7)

Если вдруг нет, то поясню:
В модуле менеджера в конфигурациях на БСП функция Печать имеет следующий набор параметров:


Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт



а функция Печать в модуле объекта внешней печатной формы требует следующий набор параметров:

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт


Как можно заметить, ПараметрыВывода во внешней печатной форме не предусмотрено. Значит ли это, что штатными средствами нельзя установить свой заголовок (как я уже писал выше, это свойство "ЗаголовокФормы" именно этого параметра)?
11 Grand Жучара
 
10.12.13
13:35
(9)

Ну так я об этом и спрашиваю.
Если бы я нашел, как добраться, то не создавал бы эту тему
12 Grand Жучара
 
10.12.13
13:42
(10) опечатался:

Как можно заметить, ПараметрыВывода = Как можно заметить, ПараметрыПечати
13 Euguln
 
10.12.13
13:44
(11) Надо верить в себя ))). Вывод правильный. Заголовок можно задать только в менеджере объекта.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс