К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как в 1С сделать зачеркнутый текст

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

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

Важно понимать сразу: в полях ввода обычных текстовых данных (например, в наименовании номенклатуры или комментарии документа) зачеркнуть часть строки штатно нельзя — форматирование там не поддерживается. Зачеркивание доступно в табличных документах, форматированных строках, надписях и элементах оформления форм, а также в макетах печатных форм. Ниже разобраны все рабочие сценарии с точными действиями.

Где в 1С вообще поддерживается зачеркивание

Прежде чем искать кнопку зачеркивания, стоит определить, в каком контексте вы работаете. Платформа 1С:Предприятие 8 поддерживает зачеркнутый шрифт в табличных документах (отчеты, печатные формы), в макетах, в элементах формы типа «Надпись» и «Поле надписи», а также в форматированных строках, которые выводятся в полях форматированного документа.

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

Зачеркивание в табличном документе и макете

Табличный документ — основное место, где требуется зачеркнутый текст: печатные формы, макеты, отчеты на СКД с ручной доработкой. В конфигураторе откройте макет табличного документа, выделите нужную ячейку или диапазон ячеек и откройте палитру свойств (правый клик — «Свойства» или Alt+Enter).

В палитре найдите свойство «Шрифт» и нажмите кнопку выбора (троеточие). Откроется стандартный диалог настройки шрифта, где есть флажок «Зачеркнутый» (в некоторых версиях — «Перечеркнутый»). Установите его и подтвердите выбор. Текст в ячейке сразу отобразится зачеркнутым как в конфигураторе, так и при формировании печатной формы в режиме предприятия.

Зачеркивание ячейки макета
  1. 1
    Откройте макет табличного документа в конфигураторе
  2. 2
    Выделите ячейку или диапазон ячеек
  3. 3
    Откройте палитру свойств (Alt+Enter)
  4. 4
    В свойстве «Шрифт» нажмите кнопку выбора
  5. 5
    Установите флажок «Зачеркнутый» и подтвердите
  6. 6
    Сохраните макет и проверьте печатную форму в режиме предприятия

Если макет заполняется программно и зачеркивание нужно только для определенных строк (например, для отмененных позиций), оформление ячейки в самом макете не подойдет — оно применится ко всем строкам области. В этом случае зачеркивание назначается из кода после вывода области, о чем ниже.

Программное зачеркивание через код

На встроенном языке 1С зачеркивание задается через объект «Шрифт». Конструктор шрифта принимает параметры, среди которых есть «Зачеркнутый». Типовой прием — получить текущий шрифт ячейки и создать на его основе новый с включенным зачеркиванием.

Пример для табличного документа: после вывода области получите нужную ячейку через метод «Область» и установите свойство «Шрифт». Конструктор выглядит так: Новый Шрифт(ТекущийШрифт,,,,,,,Истина) — последний параметр отвечает за зачеркивание, а пропущенные позиции сохраняют исходные значения размера, наклона и других атрибутов.

bsl
Ячейка = ТабДок.Область("R" + НомерСтроки + "C2");
Ячейка.Шрифт = Новый Шрифт(Ячейка.Шрифт,,,,,,,Истина);
// Последний параметр конструктора - Зачеркнутый

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

Зачеркивание через условное оформление формы

Когда нужно зачеркивать строки списка или табличной части по условию (например, отмененные строки заказа или позиции с нулевым количеством), используется условное оформление формы. Это штатный механизм управляемых форм, который не требует изменения данных.

Откройте форму в конфигураторе, перейдите на закладку «Условное оформление» (или откройте настройку условного оформления через свойства формы) и добавьте новый элемент. В нем задайте три части: оформление — шрифт с включенным зачеркиванием; условие — например, «Отменено Равно Истина»; оформляемые поля — колонки таблицы, к которым применяется эффект. После сохранения строки, удовлетворяющие условию, будут отображаться зачеркнутыми.

В типовых конфигурациях условное оформление часто уже настроено для помеченных на удаление объектов в списках — именно так платформа показывает их зачеркнутыми. Если в вашем списке помеченные элементы не зачеркиваются, проверьте, не удален ли соответствующий элемент условного оформления при доработке формы.

Зачеркивание в форматированной строке и форматированном документе

Форматированная строка позволяет собрать текст из фрагментов с разным оформлением, включая зачеркивание. Каждый фрагмент создается конструктором «Новый ФорматированнаяСтрока», где одним из параметров передается шрифт. Для зачеркнутого фрагмента создайте шрифт с включенным параметром «Зачеркнутый» и передайте его в конструктор фрагмента.

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

Типичные ошибки и ограничения

Самая частая ошибка — попытка зачеркнуть текст в поле ввода строкового типа. Там нет настроек шрифта для части текста, и никакие символы Unicode не дадут настоящего зачеркивания внутри платформенных механизмов вывода. Если требуется показать «перечеркнутое» значение, меняйте тип поля на форматированный документ или выводите данные через табличный документ.

Вторая ошибка — установка зачеркивания в макете для всей области, когда зачеркивать нужно только часть строк по условию. Итог: зачеркнутыми оказываются все строки печатной формы. Решение — убирать оформление из макета и назначать шрифт программно при выводе каждой строки.

Типичные ошибки
01
Установка зачеркивания в макете для всей области — зачеркиваются все строки вместо отмененных
02
Попытка зачеркнуть текст в обычном поле ввода — там форматирование не поддерживается
03
Неверная позиция параметра в конструкторе шрифта — зачеркивание не применяется или сбивается размер шрифта
04
Изменение шрифта элемента формы вместо условного оформления — эффект применяется ко всем строкам таблицы

Еще одно ограничение касается экспорта: при сохранении табличного документа в Excel зачеркивание обычно переносится корректно, но при выгрузке данных в текстовые форматы (CSV, TXT) любое оформление теряется, потому что эти форматы не хранят шрифты. Если зачеркивание несет смысловую нагрузку (например, отмена позиции), дублируйте его признаком в данных — отдельной колонкой или статусом.

Контрольные точки

Как проверить результат

Печатная форма
Норма

Зачеркнуты только нужные строки или ячейки

Тревожный признак

Зачеркнут весь документ или зачеркивание отсутствует

Список с условным оформлением
Норма

Строки зачеркиваются и возвращаются к обычному виду при смене условия

Тревожный признак

Оформление не реагирует на изменение данных

Экспорт в Excel
Норма

Зачеркивание сохраняется в файле

Тревожный признак

Оформление потеряно — добавьте дублирующий признак в данные

Когда зачеркивание не подходит и чем его заменить

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

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

Способы визуального выделения

Зачеркнутый шрифт

Подходит для отмененных позиций и старых значений; не работает в простых полях ввода и теряется при выгрузке в текст

Условное оформление цветом

Хорошо видно в списках и формах; не переносится в печатные формы без отдельной настройки макета

Статус или признак в данных

Надежнее всего: работает в отчетах, выгрузках и проверках; требует доработки структуры данных

Часто задаваемые вопросы

Можно ли зачеркнуть часть текста в наименовании товара?

Нет. Наименование — это обычная строка, и платформа не хранит оформление внутри строковых данных. Если нужно показать зачеркнутый фрагмент, выводите значение через форматированную строку на форме или через табличный документ в печати.

Почему зачеркивание не видно в режиме предприятия, хотя в конфигураторе оно есть?

Чаще всего макет не сохранен или изменения внесены в другой макет с похожим именем. Также проверьте, не перезаписывает ли код формирования печатной формы шрифт ячейки после вывода области — программная установка шрифта имеет приоритет над оформлением макета.

Как зачеркнуть помеченные на удаление элементы в списке?

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

Сохранится ли зачеркивание при печати и экспорте в PDF?

Да, при печати из 1С и сохранении табличного документа в PDF зачеркивание переносится, так как это свойство шрифта. При экспорте в Excel оно также обычно сохраняется. Теряется оформление только в форматах без поддержки шрифтов — CSV и TXT.

Можно ли зачеркнуть текст в отчете на СКД без программирования?

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

Есть ли горячая клавиша для зачеркивания, как в Word?

Нет, в 1С нет сочетания клавиш для зачеркивания. Оформление задается только через палитру свойств, диалог выбора шрифта, условное оформление или программный код.

Итог

Что важно запомнить

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