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

24.05.22

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

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

Скачать файл

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

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

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

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

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

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

 

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

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

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

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

 

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

См. также

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

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

22200 руб.

06.10.2023    21054    55    19    

86

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

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

29400 руб.

29.06.2023    7723    22    15    

30

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

Учет путевых листов выполнен в виде расширения. Предназначен для учета путевых листов в конфигурации БП 3.0., УТ 11.5 и КА 2.5 Печатная форма: Типовая межотраслевая форма № 3. Утверждена постановлением Госкомстата России от 28.11.97 № 78. Типовая межотраслевая форма № 4-П от 18.09.2008 г. N 152 с учетом изменений указанных в Приказе Министерства транспорта Российской Федерации №368 от 11 сентября 2020 г. №368, Типовая межотраслевая форма № ЭСМ-7, и др. ЭСМ-2, 4-С, 3 спец., 6 спец., ПЛ для Автомобильного крана.

4800 руб.

14.10.2019    40919    287    216    

188

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

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

14400 руб.

13.03.2018    63443    227    79    

120

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

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

4560 руб.

13.02.2019    103659    467    46    

450

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

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

3960 руб.

08.10.2019    49745    182    105    

175

Печатные формы Логистика, склад и ТМЦ Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

3720 руб.

18.02.2019    66486    229    15    

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