Вывод части текста жирным в табличном документе

27.09.17

Разработка - Инструментарий разработчика

Иногда бывает необходимо выделить часть текста в ячейке табличного документа жирным шрифтом, например ФИО или контрагента, но стандартными методами 1С этого не поддерживают. Весть текст в ячейке содержит единое оформление. Может, когда-нибудь форматированная строка станет доступна и для табличного документа... Ну, а пока приходится делать "костыли" для реализации данного функционала.

Файлы

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

Наименование Скачано Купить файл
Шрифт и демо обработка для управляемых форм
.zip 203,80Kb
113 2 500 руб. Купить

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

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

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

Проблема была решена использованием измененного шрифта (шрифт и демо обработка для управляемых форм во вложении). Часть ненужных символов в кириллице была заменена на жирные. Сам шрифт Liberation Serif является бесплатным (GNU GPLv2). Ниже приведен код из приложенной обработки для вывода части текста жирным. Тестировалось на платформе 1С:Предприятие 8.3 (8.3.10.2561) в конфигурации 1С:ERP Управление предприятием 2 (2.4.1.189).


&НаСервере
Функция ВывестиТабДокНаСервере()
	ТабДок=Новый ТабличныйДокумент;
	Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
	Область=Макет.ПолучитьОбласть("Шапка");	
	Область.Параметры.Текст="Демонстрация части текста "+СделатьЖирным("жирным")+" в табличном документе";
	ТабДок.Вывести(Область);
	Возврат ТабДок;
КонецФункции

&НаСервере
Функция СделатьЖирным(ИсходнаяСтрока)
	СтрокаПодмены="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿāĂĄąĆćĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġ";
	СтрокаПоиска="АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдужзийклмнопрстнфхцчшщъыьэюяё!#$%&()*+,-./0123456789:;<=>№";
	НоваяСтрока="";
	Для  х=1 по СтрДлина(ИсходнаяСтрока) Цикл
		 ТекСимвол=Сред(ИсходнаяСтрока,х,1);
		 Если СтрНайти(СтрокаПоиска,ТекСимвол)>0 Тогда
			НоваяСтрока=НоваяСтрока+Сред(СтрокаПодмены,СтрНайти(СтрокаПоиска,ТекСимвол),1); 
		 Иначе
			НоваяСтрока=НоваяСтрока+ТекСимвол; 
			КонецЕсли;
		КонецЦикла;	
		Возврат НоваяСтрока;
КонецФункции

&НаКлиенте
Процедура ВывестиТабДок(Команда)
	ВывестиТабДокНаСервере().Показать("Демо");
КонецПроцедуры

Правда, у этого метода есть и недостаток (помимо необходимостьи установки шрифта на клиенте и/или сервере). 1С в табличном документе не выравнивает шрифты по ширине, кроме нескольких стандартных (Arial, Tahoma, New York Times...). Надеюсь, этот недостаток будет в ближайшее время все же исправлен разработчиком.

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

Часть текста жирным в табличном документе

См. также

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    61109    325    160    

295

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    246966    1359    421    

1132

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

15250 руб.

25.08.2025    43113    89    27    

102

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

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

22570 руб.

06.10.2023    35645    90    40    

112

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    23786    88    42    

100

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    50000    173    63    

206

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36600 руб.

28.08.2025    6586    2    2    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. DJDUH 17 27.09.17 11:00 Сейчас в теме
Костиль по-проще - это "Текст" но тогда нужно играть в тетрис блд)
6. Alien_job 193 29.09.17 14:18 Сейчас в теме
(1) Можете пояснить? непонятно что за "Текст", блд)
7. DJDUH 17 30.09.17 07:10 Сейчас в теме
(6)ну шейпами. Фигурами с текстом
2. davealone 165 27.09.17 11:12 Сейчас в теме
Лучше уж на ячейки разбить и оформление поменять. Ну или макет в Word.
Если я захочу потом выделить жирный текст и погуглить его?
Rudnik_91; Mechanik21; user600603_v.soldatova; Orlando Skibraves; NazarovV; 1Cuser38; h00k; kraynev-navi; emakei; Darklight; sasha777666; +11 1 Ответить
3. kiruha 389 28.09.17 19:14 Сейчас в теме
Плюс за интересную идею, но как только кому то пошлют накладную...
Дмитрий74Чел; ivangrant; krosaf4eg; shard; JohnyDeath; +5 Ответить
4. h00k 51 28.09.17 20:37 Сейчас в теме
(0)
New York Times

Что за чудо шрифт такой?!
user1706724; VKuser330779760; igee12; mrXoxot; +4 Ответить
5. &rew 54 29.09.17 07:38 Сейчас в теме
(4) О, это такой же как знаменитый шрифт Komsomolskaya pravda, только наклонен чуть в сторону запада.
Bessondo; Rettro; user1530844; Elf77; Teplotrassamen; Rudnik_91; user1706724; Bolnov; Sergafan10; Ali_q; ixijixi; Merkalov; Stipank; ivangrant; user688392_4kl; sm.artem; tsatsur; TeMochkiN; smilemanrus; CyberCerber; WellMaster; Vlad_2008; hornet_X; shard; BiTwaR; JohnyDeath; NazarovV; rujiy_kot; h00k; Muzik92; корум; mrXoxot; +32 Ответить
8. nvv1970 05.10.17 14:05 Сейчас в теме
&НаСервере
Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет")
Где-то умер один хороший 1с-ник.
И, да,... нужно БОЛЬШЕ контекстных вызовов!
10. fomix 33 10.10.17 18:44 Сейчас в теме
(8) Это упрёк или так... занудство? Что тут крамольного "Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет")"?!
user1695164; +1 Ответить
11. nvv1970 10.10.17 21:36 Сейчас в теме
(10) Если вы все еще считаете, что бесполезное создание объекта - это норма, тогда упрек.
РеквизитФормыВЗначение("Объект") это стало почти рудиментом и используется совместимости с "обычноформенными" программистами. В программировании уже почти не встречается, только в очень особых случаях.
Здесь: почему бы макет не получить из менеджера и БЕЗ контекстного вызова?
Контекстные вызовы - основная проблема производительности УФ.

АП: И туда же, в копилку антипроизводительности, передача ТабличногоДокумента с сервера на клиент. Уж не знаю, почему 1с не оптимизировала это действие на уровне платформы, да еще и в типовых так же делает. Но большой таблдок может передаваться пару минут (даже на одном хосте), а если через временное хранилище - пролазит даже по сетке за секунду.
katod1985; Jarold; maksal; +3 Ответить
12. fomix 33 11.10.17 10:09 Сейчас в теме
(11) [IS-QUOTE] >> Здесь: почему бы макет не получить из менеджера и БЕЗ контекстного вызова? <<
Из менеджера конечно можно, а если это внешняя печатная форма или обработка, тогда как?! Ваше решение?

>>И туда же, в копилку антипроизводительности, передача ТабличногоДокумента с сервера на клиент<<
Аналогично. Ваше решение для ВПФ...
scarl1n; user1835472; almierm; unknown181538; Raskad; ST1m; SlavaKron; +7 Ответить
9. пользователь 07.10.17 20:12
Сообщение было скрыто модератором.
...
13. SuperSpade 13.02.18 14:08 Сейчас в теме
(9)Каких именно вам не хватает разделителей. И для чего?
Вам важно какую-то строку или знак выделить? Он особенный? На нём важно сконцентрировать внимание? При чтении кода именно он должен бросаться в глаза?
14. igee12 16.08.18 11:34 Сейчас в теме
(9), вам наверное тут разделителей и пробелов не хватает? :))))
СтрокаПодмены="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿāĂĄąĆćĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġ";
СтрокаПоиска="АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдужзийклмн­опрстнфхцчшщъыьэюяё!#$%&()*+,-./0123456789:;<=>№";
kislitsin; e.kogan; +2 Ответить
15. Nickon 26.09.18 21:51 Сейчас в теме
Идея классная! Как раз для реализации своих "проблем" понадобилась. Попробую заточить под себя.
16. researcher01 109 28.07.19 10:26 Сейчас в теме
Есть две ошибки в строке (как минимум):
СтрокаПоиска="АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдужзийклмн­опрстнфхцчшщъыьэюяё!#$%&()*+,-./0123456789:;<=>№";
я заменил на:
СтрокаПоиска="АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмн­опрстуфхцчшщъыьэюяё!#$%&()*+,-./0123456789:;<=>№";
maksa2005; igee12; +2 Ответить
17. researcher01 109 28.07.19 10:26 Сейчас в теме
Но все равно автору огромное спасибо!
18. aybek 05.12.19 08:20 Сейчас в теме
Спасибо автору, я тут смотрю некоторые против кода и тд. Мое личное мнение если есть замена текущему решению то показать его и уже потом можно сказать чем лучше новое решение и чем хуже старое а если нету чем заменить решение лучше не трогать текущее решение.
19. Slypower 3 17.02.20 09:18 Сейчас в теме
Скажите, а подчеркнутым часть теста сделать как? Какая строка подмены?
20. Bienko 216 25.02.20 08:03 Сейчас в теме
(19) Доброе утро! Нужен редактор шрифтов и в шрифте поменять одни символы на другие. Я заменил символы старой кириллицы (они уж точно не используются) на жирные и потом подменой выводил их. Потом делаешь строку замены.
21. VALENTINA__8 16.02.21 17:50 Сейчас в теме
Добрый день, купила у вас. Какая то после замены тарабарщина вмсето русского языка( Это означает шрифт не подключился? У меня баха sql-ная.
22. Bienko 216 16.02.21 21:14 Сейчас в теме
Добрый вечер! Да, если "тарабарщина", то в системе не зарегистрирован шрифт или он не выбран в макете.
23. VALENTINA__8 17.02.21 14:12 Сейчас в теме
(22) все поняла))) Спасибо большое))) Разобралась)))
37. user1036607 10.11.22 20:32 Сейчас в теме
(23)Добрый день! А не помните, как разобрались? Тоже тарабарщина, хотя шрифт установил
38. Bienko 216 14.11.22 07:47 Сейчас в теме
(37) Вы, скорее всего, установили шрифт на локальном компьютере, а печать происходит на сервере. Установить шрифт на сервере.
39. user1036607 16.11.22 14:39 Сейчас в теме
(38)Эх чот никак(( на серваке тоже добавил этот шрифт. В макете этой ячейке тоже поставил этот шрифт, все равно краказябра
user1835472; +1 Ответить
24. kova 11.06.21 08:56 Сейчас в теме
Добрый день! Установила шрифт Liberation Serif, все равно "тарабарщина". Платформа 8.3.16.
25. Bienko 216 11.06.21 12:18 Сейчас в теме
(24) Добрый день! Платформа на это не влияет. Тут два варианта, - в системе не зарегистрирован шрифт или он не выбран в макете. Причем, если вы работаете под сервером, например через RemoteAPP, то шрифт должен быть установлен на сервере.
26. kislitsin 13.08.21 09:10 Сейчас в теме
Приветствую коллеги.
В принципе у меня все работает , но есть неудобство если копировать текст из ячейки с этим шрифтом в буфер и вставлять то получаются так называемы крякозябы, подскажите может кто в курсе как с этим бороться ?
27. mikl79 121 13.01.22 10:05 Сейчас в теме
крутая штука, большое спасибо!
других решений не нашел!
28. mikl79 121 13.01.22 10:11 Сейчас в теме
у меня например, ФИО и название организации вышло нормально
29. tjabin 17.01.22 12:18 Сейчас в теме
Эх, дождемся ли форматированную строку в ячейках табличного документа? Очень не хватает конечно
30. Romario_ 13.02.22 13:25 Сейчас в теме
Где найти строку подмены для других шрифтов, например TimeNewRoman?
31. Romario_ 13.02.22 13:37 Сейчас в теме
За обработку спасибо. Купил, но при использовании шрифта TimesNewRoman не работает выводит кириллицу строки подмены. Со шрифтом в обработки работает нормально. В чем может быть причина?
32. Bienko 216 13.02.22 16:47 Сейчас в теме
Так шрифт специальный для подмены. В описание было указано, что "Проблема была решена использованием измененного шрифта". С другими шрифтами (не измененными) это работать не будет. При желании можете сами сделать свой шрифт на основании TimesNewRoman. Суть в том, что неиспользуемые символы шрифта заменяются на жирные. Потом, когда нужно вывести жирные текст вы выводите, по факту, эти неиспользуемые символы. Правда, с юридической точки зрения, у вас нет лицензионного права на изменения этого шрифта. Я использовал свободный шрифт, а Times New Roman принадлежит Monotype Imaging и у него проприетарная лицензия.
33. Romario_ 13.02.22 17:34 Сейчас в теме
(32)Спасибо большое! Можете объяснить детальней, каким образом система знает что нужно неиспользуемые символы менять на жирные? Подскажите как сделать свой шрифт?
34. Romario_ 13.02.22 19:27 Сейчас в теме
(32)Вроде разобрался)) Какой редактор использовали для корректировки шрифта?
41. user1036607 17.11.22 13:50 Сейчас в теме
(34) (34) Приветствую! Решили вопрос? Какой в итоге редактор использовали чтобы изменить TimesNewRoman?
42. Romario_ 17.11.22 14:39 Сейчас в теме
(41) Здравствуйте! Не стал заморачиваться с TimesNewRoman, оставил шрифт данного решения. Но для интереса пробовал менять вроде на этом редакторе FontCreator, найдите как-то бесплатный и пробуйте. Главное правильно выполнить подмену. Я копировал нужный символ и вставлял вместо подменного. А вообще если есть какой-то офис, не стал более заморачиваться с табличным документом и делаю шаблон двоичные данные, загружаю туда шаблон офиса (в нем как хочешь корректируй строки). Благо вроде сейчас 1С с ними норм. дружит)
43. user1036607 17.11.22 15:01 Сейчас в теме
35. Bienko 216 13.02.22 20:55 Сейчас в теме
Уже не помню. Давно это было. Какой-то бесплатный.
36. stas4tor 26.05.22 16:19 Сейчас в теме
(35) Спасибо. Все работает. Но, все таки, поправьте в статье и обработке строку на такую:
СтрокаПоиска = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъ­ыьэюяё!#$%&()*+,-./0123456789:;<=>?№";

У вас ошибка в символах "е" и "у" (нижний регистр), а так же в конце строки не хватает знака "?" и получается 94 символа вместо 95 как в строке подмены.
Santa1; frob_st; mikl79; +3 Ответить
45. frob_st 51 17.02.24 12:50 Сейчас в теме
(36) истину говоришь.... обратите внимание на этот комментарий, иначе вместо "руб" у вас будет выводиться "реб".
40. Bienko 216 16.11.22 20:08 Сейчас в теме
(39) Если кракозябры, то система не видит шрифта. Скорее всего, если действительно установили на сервере, нужно перезапустить сервер 1С. Если обычные формы, то еще и на клиенте, как я понимаю, нужно поставить. Я, например, сталкивался с тем, что программа на клиенте не видела установленного принтера. Установили при открытой программе. После перезапуска все заработало.
44. angabanga5 06.07.23 21:45 Сейчас в теме
не , короче шрифт работает только на том сервере или клиенте, на котором утсановлен никак иначе, если клиентское приложение на другом ПК - сосите весла. ничего не работает, выводится билиберда, мало того, сам шрифт по какой-то причине устанавливается не на всех компах и ругается на то, что не верный. отпишу, если разберусь в чем дело
49. lolovlol 01.10.25 13:44 Сейчас в теме
(44) Столкнулся с такой проблемой когда перевозили пользователей на нового клиента, изначально все пользователи работали на сервере 1С и всё работало. Поставил на нового клиента Liberation Serif - на выходе каракули... в итоге выгрузил шрифты с сервера 1с где всё изначально работало, поставил их на нового клиента и всё завелось, что именно было не так со шрифтами, скачанными по первой ссылке в поисковике я так и не понял. В общем проблемы если клиентское приложение на другом компе нет, рабочие шрифты приложил, может кому пригодится)
Прикрепленные файлы:
LiberationSerif-Bold_0.ttf
LiberationSerif-BoldItalic.ttf
LiberationSerif-Italic.ttf
LiberationSerif-Regular_6.ttf
46. splxgf 30.07.24 01:39 Сейчас в теме
Актуальный релиз платформы уже эту фишку поддерживает нативно в виде форматированной строки в ячейке.
47. user659302_cheb73 03.09.24 14:20 Сейчас в теме
(46) Платформа 1С:Предприятие 8.3 (8.3.25.1374) , в конфигураторе делаю форматированную строку в ячейке, меняю часть слов на жирный шрифт, но при выводе на печать , текст остается без изменений. Кто -нибудь сталкивался с такой проблемой?
48. user659302_cheb73 03.09.24 14:39 Сейчас в теме
Разобралась) В ячейке использовала шаблон, квадратные скобки тоже нужно было выделить жирным
Для отправки сообщения требуется регистрация/авторизация