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

24.05.22

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

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

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

 

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

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

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

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

 

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    24540    65    28    

93

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

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

29400 руб.

29.06.2023    8736    26    15    

35

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

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

14400 руб.

13.03.2018    64743    231    79    

121

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

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

6000 руб.

18.02.2019    68215    246    15    

197

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

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

5700 руб.

23.08.2019    61559    195    65    

189

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

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

5040 руб.

13.02.2019    106428    468    46    

460

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

Акт КС-2 и справка КС-3 в 1С:УНФ. Это дополнительная печатная для заполнения акта КС-2 и справки КС-3 в "1С:УНФ". Подключив обработку в "1С:Управление нашей фирмой" Вы можете заполнить, распечатать и сохранить формы КС-2 и КС-3 из документа "Акт выполненных работ" и/или "Расходная накладная". Может работать совместно с решением "Сметы в 1С:УНФ"

5160 руб.

03.12.2020    30793    86    8    

69
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1571 25.05.22 13:36 Сейчас в теме
Плюс за идею и оригинальность !
2. ixijixi 2038 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 Сейчас в теме
Прикольно, что даже пришла такая мысль в голову!
Оставьте свое сообщение