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

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    26637    67    30    

96

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

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

31800 руб.

29.06.2023    9091    27    15    

35

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

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

14400 руб.

13.03.2018    65355    233    80    

121

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

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

5040 руб.

13.02.2019    107167    470    46    

463

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

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

6000 руб.

18.02.2019    68713    247    15    

198

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

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

6000 руб.

23.08.2019    62116    196    65    

190

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

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

5160 руб.

08.10.2019    51486    346    107    

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