Имя: Пароль:
1C
1С v8
Уменьшить табличный документ
,
0 wladimir90
 
05.03.13
10:47
Делаю внешнюю печатную форму. В коде пытаюсь установить масштаб = 51%, однако на печать выводиться в 100%. Что я делаю не так?

Функция Печать() Экспорт
   
   Таб = Новый ТабличныйДокумент;
   
   Макет = ПолучитьМакет("Форма22");
   ОбластьМакета = Макет.ПолучитьОбласть("Форма22");    
   
   Если СсылкаНаОбъект.Товары.Количество() > 0 Тогда
       ОбластьМакета.Параметры.Описание = СсылкаНаОбъект.Товары[0].Номенклатура.Наименование;
       ОбластьМакета.Параметры.Страна = СсылкаНаОбъект.Товары[0].Номенклатура.СтранаПроисхождения.Наименование;
       
       ОбластьМакета.Параметры.Цена = СсылкаНаОбъект.Товары[0].Сумма;
       ОбластьМакета.Параметры.Сумма = СсылкаНаОбъект.Товары[0].Сумма;
   КонецЕсли;
           
   Таб.ИмяПараметровПечати = "Форма22";
   Таб.ОтображатьСетку = Ложь;
   Таб.Защита = Ложь;
   Таб.АвтоМасштаб = Ложь;
   Таб.МасштабПечати = 51;
   Таб.ТолькоПросмотр = Ложь;
   Таб.КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_Форма22";
   
   Таб.Вывести(ОбластьМакета);
   
   Возврат Таб;
   
КонецФункции
1 Defender aka LINN
 
05.03.13
10:47
Дык у тебя параметры загружаются в конце
2 Тролль главный
 
05.03.13
10:48
КлючПараметровПечати все перетирает сохраненными
3 wladimir90
 
05.03.13
10:52
(2) Закомментировал. Ничего не поменялось.
(1) Всмысле, Вывод области макета должен быть перед изменением параметров? Местами менял, не прокатывает.
4 Галахад
 
гуру
05.03.13
10:54
//Таб.ИмяПараметровПечати = "Форма22";
5 Defender aka LINN
 
05.03.13
10:55
(3) КлючПараметровПечати. И не надо рассказывать сказки
6 wladimir90
 
05.03.13
11:23
(4) (5) Убрал и КлючПараметровПечати и ИмяПараметровПечати. В параметрах страницы все равно стоит 100% масшаб.
Если важно, использую 8.2.17, обычное приложение.
Что б не быть голословным, еще раз, измененный код:


Функция Печать() Экспорт
   
   Таб = Новый ТабличныйДокумент;
   
   Макет = ПолучитьМакет("Форма22");
   ОбластьМакета = Макет.ПолучитьОбласть("Форма22");    
   
   Если СсылкаНаОбъект.Товары.Количество() > 0 Тогда
       ОбластьМакета.Параметры.Описание = СсылкаНаОбъект.Товары[0].Номенклатура.Наименование;
       ОбластьМакета.Параметры.Страна = СсылкаНаОбъект.Товары[0].Номенклатура.СтранаПроисхождения.Наименование;
       
       ОбластьМакета.Параметры.Цена = СсылкаНаОбъект.Товары[0].Сумма;
       ОбластьМакета.Параметры.Сумма = СсылкаНаОбъект.Товары[0].Сумма;
   КонецЕсли;
   Таб.Вывести(ОбластьМакета);
       
   Таб.ОтображатьСетку = Ложь;
   Таб.Защита = Ложь;
   Таб.АвтоМасштаб = Ложь;
   Таб.МасштабПечати = 51;
   Таб.ТолькоПросмотр = Ложь;
   
   Возврат Таб;
   
КонецФункции
7 Тролль главный
 
05.03.13
11:24
(6) значит параметры устанавливаются после этой процедуры
8 wladimir90
 
05.03.13
11:35
(7) Так и есть. Отладил, нашел типовой код который выставляет автомасштаб в истину. Требует имя принтера (!?)

УниверсальныеМеханизмы - НапечататьДокумент.

   Если НЕ ПечДокумент.АвтоМасштаб
      И НЕ ЗначениеЗаполнено(ПечДокумент.ИмяПринтера) Тогда
       ПечДокумент.АвтоМасштаб = Истина;
   КонецЕсли;
9 wladimir90
 
05.03.13
11:51
Заполнил имя принтера, не помогает.
Вот тут, в последнем типовом участке кода перед выводом в форму печати:
ФормаПечати.ПечатныйДокумент = ПечДокумент;
В переменной ПечДокумент АвтоМасштаб = Ложь, Масштаб = 51, т.е. все как я задал. Однако это никак не влияет на пераметры печати. Может есть еще какие то неочевидные необходимые параметры?
10 Галахад
 
гуру
05.03.13
11:57
ОбщаяФорма ПечатьДокументов
ПриОткрытии
11 wladimir90
 
05.03.13
12:04
(10) Там смотрел, нигде не модифицируется масштаб или автомасштаб, данные табличного документа так же к концу "ПриОткрытии" остаются такими как заданы
12 hhhh
 
05.03.13
12:17
(11) ну пользователь пусть вручную поставит 51%, не? Ведь в любом случае приоритет у пользователя. Что он выставил, то и будет.
13 wladimir90
 
05.03.13
12:20
(12) Можно и так конечно, каждый раз лазить в настройки и ставить 51. Но черт побери почему соответствующий параметр есть и не работает.
Кто сталкивался с масштабом, у вас нормально выводится на печать аналогичный код?
14 hhhh
 
05.03.13
12:44
(13) если пользователь один раз поставит - это будет на века.
15 wladimir90
 
05.03.13
14:16
(14) Благодарю. Не совсем то что хотел, но сохранение введенных параметров тоже работает.