Непослушный автомасштаб во внешней печатной форме
Клиент жалуется, что в печатной форме не выставляется автомасштаб.
Ну я подумал, что там проблема в том, что программист не дописал в конце кода установку Автомасштаб в Истина. И оценил в 500 рублей (10 минут).
В итоге там стояла установка этого поля.
Я подумал, что механизм печати БСП где-то сбрасывает признак табличного документа.
Но полазив, понял, что все же проблема в самой обработке.
Сделал для нее форму, чтобы поотлаживать:
С кодом:
&НаКлиенте Процедура Печать(Команда) ТД = ПечатьНаСервере(); ТД.Показать(); КонецПроцедуры Функция ПечатьНаСервере() МассивОбъектовНазначения = Новый Массив(); МассивОбъектовНазначения.Добавить(ВыбДокумент); ОбъектыПечати = Неопределено; ОО = РеквизитФормыВЗначение("Объект"); ТД = ОО.СформироватьПечатнуюФормуМХ3("МХ-3", МассивОбъектовНазначения, ОбъектыПечати); Возврат ТД; КонецФункции
В итоге действительно оказалось странное — после вывода строк Автомасштаб и поля сбрасываются, поэтому эти свойства табличного документа нужно устанавливать не в начале кода а в конце. Фича 1С, скорее ее недостаток.
Перенес код по полям и масштабу в конец процедуры формирования печатной формы:
Ну а я также извлек урок, что не бывает задач на 10 минут (500 рублей), минимум полчаса (1250 рублей).
Объем: 0.8 час. Среда: 3.0.128.15
Свежие комментарии