Обезжиривание шрифта в печатной форме (экономим тонер)

24.05.22

Учетные задачи - Печатные формы

Код, который убирает полужирное начертание у шрифтов в печатной форме. Тестировалось на конфигурации Бухгалтерия Предприятия 3.0.111.16. Но должно работать на любых конфигурациях с БСП.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки для того, чтобы самостоятельно ее доработать для вашей базы данных. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в вашей базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке Купить один файл
Обезжиривание шрифта в печатной форме (экономия тонера):
.7z 5,76Kb
1
1
1 SM
Скачать Купить за 1 850 руб.

Недавно ко мне обратился один заказчик с задачей "убрать жирный шрифт из печатных форм для экономии тонера". Я, как человек эко-ответственный, конечно же счёл своим долгом эту задачу выполнить. И опять же, как человек эко-ответственный, считаю своим долгом поделиться этой разработкой с другими эко-ответственными (да и просто с экономными) людьми.

Для решения этой задачи я добавил в общую форму ПечатьДокументов кнопку . При нажатии на неё у всех шрифтов в отображаемой печатной форме убирается признак "полужирный". Делал через расширение, хотя при желании код можно разместить в самих переопределяемых модулях.

Шаг 1. Заимствуем из общего модуля УправлениеПечатьюПереопределяемый процедуру ПечатьДокументовПриСозданииНаСервере() с типом вызова "Вызывать после" и пишем код добавления кнопки на общую форму ПечатьДокументов:

&После("ПечатьДокументовПриСозданииНаСервере")
Процедура это_ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка)
	
	ИмяКоманды = "это_УбратьЖирныйШрифт";
	
	НоваяКоманда = Форма.Команды.Добавить(ИмяКоманды);
	НоваяКоманда.Заголовок = "Убрать жирный шрифт";
	НоваяКоманда.Подсказка = "Убрать жирный шрифт";
	НоваяКоманда.Картинка = БиблиотекаКартинок.ПалецВверхЗеленый;
	НоваяКоманда.Действие = "Подключаемый_ВыполнитьКоманду";
	
	НоваяКнопка = Форма.Элементы.Добавить(ИмяКоманды, Тип("КнопкаФормы"), Форма.Элементы.КоманднаяПанельПраваяЧасть);
	НоваяКнопка.ИмяКоманды = ИмяКоманды;
	НоваяКнопка.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели;
	
КонецПроцедуры

 

Шаг 2. Заимствуем из общего модуля УправлениеПечатьюКлиентПереопределяемый процедуру ПечатьДокументовВыполнитьКоманду() с типом вызова "Вызывать после" и пишем код обработчика нажатия на кнопку, которую добавили на шаге 1:

&После("ПечатьДокументовВыполнитьКоманду")
Процедура это_ПечатьДокументовВыполнитьКоманду(Форма, Команда, ПродолжитьВыполнениеНаСервере, ДополнительныеПараметры)

	Если Команда.Имя = "это_УбратьЖирныйШрифт" Тогда
		ТД = Форма.ТекущаяПечатнаяФорма;
		Для Кол = 1 По ТД.ШиринаТаблицы Цикл
			Для Стр = 1 По ТД.ВысотаТаблицы Цикл
				ТекОбласть = ТД.Область(Стр, Кол, Стр, Кол);
				ЭтоПолужирный = (
					ТекОбласть.Шрифт <> Неопределено
					И ТекОбласть.Шрифт.Полужирный = Истина // сравниваем именно с Истина, т.к. бывают ситуации, когда ТекОбласть.Шрифт.Полужирный = Неопределено
					);
				Если ЭтоПолужирный Тогда
					ТекОбласть.Шрифт = Новый Шрифт(ТекОбласть.Шрифт,,, Ложь);
				КонецЕсли;
			КонецЦикла;
		КонецЦикла;
	КонецЕсли;

КонецПроцедуры

 

Шаг 3. Профит! Завариваем чай, мысленно подсчитываем количество спасённых деревьев сэкономленного тонера.

См. также

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 руб.

06.10.2023    10800    25    6    

55

Печатные формы Программист Пользователь Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Научите вашу 1C печатать из 1С в файл Word (Например: трудовые договоры, договоры с контрагентами, спецификации, дополнительные соглашения, приказы, коммерческие предложения, акты, накладные, карточки партнера или любого справочника и многие другие). Универсальная печать предназначена для формирования печатных форм на основе шаблонов в формате Word из любой конфигурации 1С. С помощью данного инструмента можно самостоятельно заполнить шаблон реквизитами справочника или документа 1С и сформировать печатные формы на основании ссылки на любой объект.

5400 руб.

08.10.2019    44514    152    89    

149

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    5030    11    5    

20

Печатные формы Производство готовой продукции (работ, услуг) Бухгалтер Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Бухгалтерия 3.0 Строительство Россия Бухгалтерский учет Платные (руб)

Откройте для себя заполнение КС-2 и КС-3 в "1С:Бухгалтерия 3.0". Вы получаете удобство, скорость и систему, чтобы заполнить, распечатать и сохранить формы КС-2 и КС-3 из документов "Оказание производственных услуг" или "Реализация товаров услуг". Вы можете заполнить дополнительную информацию о материалах из документов "Требование-накладная" и указать сведения, которые не предусмотрены типовой конфигурацией "1С:Бухгалтерия 3.0". Так же доступно множество настроек для формирования КС-2 и КС-3.

3600 руб.

13.02.2019    90235    409    44    

390

Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Бухгалтер Пользователь Оперативный учет Управляемые формы 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Задайте для каждой организации свою печать и для каждого физического лица свою подпись. Выберите в документе печатную форму "... с печатью и подписью" - и автоматически сформируется табличный документ с печатью и подписями той организации и ответственных лиц, которые указаны в документе.

12000 руб.

13.03.2018    57703    190    76    

117

Печатные формы Учет рабочего времени Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Бухгалтерия 3.0 Транспорт, автопарки, такси Россия Бухгалтерский учет Платные (руб)

Путевой лист грузового автомобиля в 1С:Бухгалтерия 3.0 - заполнить, распечатать, сохранить. Вы можете не только внести всю информацию и распечатать путевой лист грузового автомобиля в 1С, но и повторно использовать ранее введенные данные спустя любое время - данные путевого листа сохраняются в "1С:Бухгалтерия 3.0" без каких-либо доработок.

4320 руб.

23.08.2019    54733    161    63    

155

Печатные формы Документооборот и делопроизводство (СЭД) Учет документов Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Управленческий учет Платные (руб)

Приложение для быстрого создания макетов печатных документов, заполняемых из 1С:Предприятие, без привлечения программистов и запуска конфигуратора. Шаблон готовится в редакторе MS Word, отлично освоенном офисными служащими. Так, на подготовку нового шаблона договора купли продажи со спецификацией потребуется 25 минут. Приложение будет полезно, если Вы работаете со множеством Word-шаблонов или если Вам надо часто создавать новые шаблоны. Есть сертификат "1С: Совместимо!". Версия ПРОФ доступна в виде расширения.

2000 руб.

05.09.2017    91201    63    82    

97
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1556 25.05.22 13:36 Сейчас в теме
Плюс за идею и оригинальность !
2. ixijixi 1828 25.05.22 16:36 Сейчас в теме
3. q_i 581 25.05.22 17:58 Сейчас в теме
Ну а чтобы не лазить в настройки принтера и не ставить там "эко-режим печати", можно добавить ещё что-то вроде:
Темнота = 70; // от 0 (белый цвет, максимальная экономия тонера) до 100% (чёрный цвет, абсолютное расточительство)
ЗначКомп = Цел(255 * (100 - Темнота) / 100);
НовыйЦвет = Новый Цвет(ЗначКомп, ЗначКомп, ЗначКомп);
ТекОбласть.ЦветТекста = НовыйЦвет;
ТекОбласть.ЦветРамки = НовыйЦвет;
4. a16a05m11 28.09.22 19:10 Сейчас в теме
Прикольно, что даже пришла такая мысль в голову!
Оставьте свое сообщение