ОбластьПечати Табличного документа, Очередной глюк?
Итак. Исходные данные:
Конфигурация Розница для Кыргызстана (Адаптированна версия Розницы 2.1.5.1)
Версия платформы 8.3.10.2561.
Варианты запуска: Режим совместимости - Версия 8.3.5, без режима совместимости.
Для печати этикеток на принтере этикеток, подключенном, как Windows принтер внес в конфигурацию небольшую доработку в модуль менеджера Обработки ПечатьЭтикетокИЦенников. А конкретно в Процедуру Печать.
Вот этот фрагмент:
Суть изменений в том, что-бы после получения шаблона из хранилища, в режиме печати этикеток, убрать штриховую линию обрамляющую область печати, так как при печати на принтере этикеток она сильно мешает. Обрамляющая линия убирается без проблем, но вместе с ней исчезают и все другие линии, которые имелись до этой операции в шаблоне. Причем если например убрать верхнюю линию, то убираются все верхние линии по всему шаблону, ну и так далее...
Документация в лице синтаксис помощника на это счет говорит следующее:
Т.е. говориться именно об области, а не всех ячейках ее составляющих, но результат получается таковым, что граница применяется не к области, а ко всем ячейкам ее составляющим. Я думаю, что вряд ли это фича, скорее очередной глюк. И возникает вопрос, как этот глюк обходить?
Конфигурация Розница для Кыргызстана (Адаптированна версия Розницы 2.1.5.1)
Версия платформы 8.3.10.2561.
Варианты запуска: Режим совместимости - Версия 8.3.5, без режима совместимости.
Для печати этикеток на принтере этикеток, подключенном, как Windows принтер внес в конфигурацию небольшую доработку в модуль менеджера Обработки ПечатьЭтикетокИЦенников. А конкретно в Процедуру Печать.
Вот этот фрагмент:
//Начало изменений
ЛинияОбрамленияШаблона = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.НетЛинии);
//Конец изменений
// Заполняем коллекцию обязательных полей и формируем соответствие шаблонов.
Для Каждого КлючИЗначение Из СоответствиеШаблонов Цикл
СтруктураШаблона = КлючИЗначение.Ключ.Шаблон.Получить();
//Начало изменений
// Удаление штриховой линии обрамляющей область печати шаблона, для режима печати "Этикетки"
Если РежимПечати = "Этикетки" Тогда
ОбластьПечати = СтруктураШаблона.МакетЭтикетки.ОбластьПечати;
ОбластьПечати.ГраницаСверху = ЛинияОбрамленияШаблона;
ОбластьПечати.ГраницаСлева = ЛинияОбрамленияШаблона;
ОбластьПечати.ГраницаСнизу = ЛинияОбрамленияШаблона;
ОбластьПечати.ГраницаСправа = ЛинияОбрамленияШаблона;
КонецЕсли;
//Конец изменений
ПоказатьСуть изменений в том, что-бы после получения шаблона из хранилища, в режиме печати этикеток, убрать штриховую линию обрамляющую область печати, так как при печати на принтере этикеток она сильно мешает. Обрамляющая линия убирается без проблем, но вместе с ней исчезают и все другие линии, которые имелись до этой операции в шаблоне. Причем если например убрать верхнюю линию, то убираются все верхние линии по всему шаблону, ну и так далее...
Документация в лице синтаксис помощника на это счет говорит следующее:
ГраницаСлева (LeftBorder)
Использование:
Чтение и запись.
Описание:
Тип: Линия.
Содержит рамку слева области.
Использование:
Чтение и запись.
Описание:
Тип: Линия.
Содержит рамку слева области.
Т.е. говориться именно об области, а не всех ячейках ее составляющих, но результат получается таковым, что граница применяется не к области, а ко всем ячейкам ее составляющим. Я думаю, что вряд ли это фича, скорее очередной глюк. И возникает вопрос, как этот глюк обходить?
Найденные решения
(1) бывают не точности в СП.
Для обрамления области есть метод Обвести
Для обрамления области есть метод Обвести
ОбластьПечати = СтруктураШаблона.МакетЭтикетки.ОбластьПечати;
ОбластьПечати.Обвести(ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона);
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) бывают не точности в СП.
Для обрамления области есть метод Обвести
Для обрамления области есть метод Обвести
ОбластьПечати = СтруктураШаблона.МакетЭтикетки.ОбластьПечати;
ОбластьПечати.Обвести(ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона);
(2)
Попробовал, предложенный метод и действительно он помог. Метод отрабатывает таким образом, что делает обводку только вокруг области, как единого целого. Я кстати про этот метод знал, так как пользуюсь им в графическом режиме, но почему то думал, что он является простой оберткой над свойствами ГраницаСверху, ГраницаСлева, ГраницаСправа, ГраницаСнизу. И его применение будет эквивалентно моему коду с отдельным присвоением свойств, но казалось, что это не так.
А не точности в документации и в частности в СП, мягко сказать уже задолбали :).
Спасибо за совет.
ОбластьПечати = СтруктураШаблона.МакетЭтикетки.ОбластьПечати;
ОбластьПечати.Обвести(ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона);
ОбластьПечати.Обвести(ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона, ЛинияОбрамленияШаблона);
Попробовал, предложенный метод и действительно он помог. Метод отрабатывает таким образом, что делает обводку только вокруг области, как единого целого. Я кстати про этот метод знал, так как пользуюсь им в графическом режиме, но почему то думал, что он является простой оберткой над свойствами ГраницаСверху, ГраницаСлева, ГраницаСправа, ГраницаСнизу. И его применение будет эквивалентно моему коду с отдельным присвоением свойств, но казалось, что это не так.
А не точности в документации и в частности в СП, мягко сказать уже задолбали :).
Спасибо за совет.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот