Разработка и Конфигурация · 10 мин
Что такое тег в 1С и где он используется
Разбираем, что такое тег в 1С: теги в XML и HTML, форматированный документ, метки в справочниках и документообороте. Примеры кода и практические советы.
Термин «тег» в контексте 1С встречается в нескольких разных ситуациях, и это часто путает начинающих пользователей и разработчиков. В одних случаях речь идёт о тегах разметки XML и HTML, с которыми платформа работает при обмене данными, в других — о тегах форматированного документа, а в третьих — о метках (тегах) для классификации объектов в прикладных решениях вроде 1С:Документооборот.
Общее у всех значений одно: тег — это служебная метка, которая описывает структуру, оформление или категорию данных. Сам по себе тег не является данными учёта: он либо обрамляет содержимое (как в XML), либо помечает объект для удобного поиска и группировки (как метки в справочниках).
Понимание того, где и какие теги применяются, помогает правильно настраивать обмены, формировать печатные формы, работать с веб-сервисами и не ломать структуру файлов при ручном редактировании. Ниже разобраны основные значения термина, практические сценарии и типичные ошибки.
Основные значения термина «тег» в экосистеме 1С
Чаще всего под тегом в 1С понимают элемент разметки XML. Платформа активно использует XML при выгрузке и загрузке данных, в обменах между конфигурациями, в файлах выгрузки информационной базы, в планах обмена и при работе с веб-сервисами. Тег в XML — это имя элемента в угловых скобках, например <Номенклатура>, которое открывает блок данных и закрывается парным тегом </Номенклатура>.
Второе значение — HTML-теги. Они появляются при работе с форматированным документом, полем HTML-документа, электронными письмами и при формировании отчётов для просмотра в браузере. Здесь теги управляют внешним видом: <b> делает текст жирным, <table> создаёт таблицу и так далее.
Третье значение — пользовательские теги-метки. В ряде конфигураций (1С:Документооборот, некоторые отраслевые решения) пользователь может присваивать документам, файлам или задачам произвольные метки, чтобы потом фильтровать списки. Это уже не техническая разметка, а прикладной инструмент классификации.
Теги XML при обмене данными
XML — основной текстовый формат обмена в 1С. Каждый элемент данных оборачивается в пару тегов: открывающий и закрывающий. Между ними находится значение или вложенные элементы. Например, фрагмент выгрузки контрагента может выглядеть так:
<Контрагент>
<Наименование>ООО Ромашка</Наименование>
<ИНН>7701234567</ИНН>
</Контрагент>
Для программного чтения и записи XML во встроенном языке используются объекты ЧтениеXML и ЗаписьXML, а также более высокоуровневые механизмы сериализации через XDTO-пакеты. При работе через XDTO разработчик оперирует свойствами объектов, а платформа сама формирует теги по модели данных — это снижает риск ошибок в разметке.
Правила, которым должна следовать разметка, просты, но строги: каждый открытый тег должен быть закрыт, вложенность соблюдается без пересечений, имена тегов чувствительны к регистру, а специальные символы внутри значений (например, &, <) нужно экранировать. Нарушение любого правила делает файл нечитаемым для парсера.
Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку("UTF-8");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Номенклатура");
Запись.ЗаписатьНачалоЭлемента("Наименование");
Запись.ЗаписатьТекст("Кабель ВВГ 3х2,5");
Запись.ЗаписатьКонецЭлемента();
Запись.ЗаписатьКонецЭлемента();
ТекстXML = Запись.Закрыть();HTML-теги и форматированный документ
Форматированный документ в 1С — это объект для хранения и отображения текста с оформлением: шрифтами, цветом, списками, картинками и ссылками. Внутри он хранится в формате на базе HTML, поэтому при программной работе можно получить его текст с тегами через методы получения HTML-представления.
Типовой сценарий — отправка писем с оформлением: тело письма формируется как HTML с тегами <p>, <b>, <a href>, а затем передаётся в объект интернет-почты. Другой сценарий — поле HTML-документа на форме, куда выводится произвольная разметка, например сводная информация по заказу.
При ручной сборке HTML в коде Практичнее использовать базовый набор тегов и проверять результат именно в том месте интерфейса, где документ будет показан.
Теги-метки в прикладных решениях
В 1С:Документооборот и ряде других конфигураций теги — это пользовательские метки, которые присваиваются документам, файлам, задачам или проектам. Один объект может иметь несколько тегов, а один тег — относиться к множеству объектов. Это удобно, когда стандартной иерархии папок не хватает: договор может одновременно относиться к меткам «Аренда», «Срочный» и «Юротдел».
Работа с метками обычно сводится к трём действиям: создать тег в соответствующем списке, присвоить его объекту через карточку объекта или команду в списке, а затем использовать фильтр по тегу для отбора. В некоторых конфигурациях теги разделяются на личные (видит только автор) и общие (доступны всем пользователям).
Если в вашей конфигурации штатного механизма тегов нет, его несложно реализовать самостоятельно: создаётся справочник «Теги» и табличная часть или регистр сведений, связывающий теги с объектами. Однако доработка типовой конфигурации усложняет последующие обновления, поэтому сначала стоит проверить, не закрывает ли задачу механизм дополнительных реквизитов и сведений.
Чем заменить теги, если механизма нет
Подходят для строгого списка значений, видны в карточке объекта; ограничение — неудобны для множественного произвольного выбора.
Хранятся отдельно от объекта, не требуют доработки конфигурации; ограничение — слабее поддержка в отборах списков.
Максимальная гибкость и удобные отборы; ограничение — доработка конфигурации и сложнее обновления.
Как безопасно редактировать файлы с тегами
Файлы обмена XML иногда приходится править вручную — например, исправить значение в выгрузке или вырезать лишний блок. Делать это следует только в текстовом редакторе, который сохраняет файл в исходной кодировке (обычно UTF-8) без добавления служебных символов. Офисные редакторы для этого не подходят: они могут незаметно изменить кодировку или вставить форматирование.
Перед правкой сохраните копию исходного файла. После правки проверьте, что все теги остались парными, структура вложенности не нарушена, а спецсимволы в значениях экранированы. Затем выполните тестовую загрузку в копию базы, а не в рабочую.
Как проверить результат
Каждому открывающему тегу соответствует закрывающий, вложенность без пересечений
Парсер выдаёт ошибку чтения XML или загрузка обрывается
UTF-8, кириллица отображается корректно
Кракозябры вместо русского текста после сохранения
Объекты создаются без дублей, ссылки корректны
Дубли элементов справочников, незаполненные реквизиты
Текст в поле HTML-документа выглядит как задумано
Видны сырые теги или пустое поле
Типичные ошибки при работе с тегами
Самая частая ошибка — ручная сборка XML конкатенацией строк без экранирования значений. Если в наименовании контрагента встречается амперсанд или кавычки, файл становится невалидным. Правильный путь — использовать ЗаписьXML или XDTO, которые экранируют символы автоматически.
Вторая группа ошибок связана с HTML: попытка вставить в поле HTML-документа сложную страницу со скриптами и внешними стилями, а затем удивление, что она отображается не так. Третья — использование тегов-меток без договорённости: пользователи создают дубли меток («Срочно», «срочно», «СРОЧНО»), и фильтрация теряет смысл. Заведите небольшой регламент именования общих тегов и периодически объединяйте дубли.
FAQ: частые вопросы о тегах в 1С
Чем тег отличается от реквизита объекта?
Реквизит — это строго определённое поле объекта с заданным типом, зашитое в конфигурацию. Тег-метка — произвольная классификация, которую пользователь создаёт и присваивает сам, без доработки конфигурации. Реквизит подходит для обязательных учётных данных, тег — для гибкой неформальной группировки.
Можно ли в запросе 1С отобрать объекты по тегу?
Да, если теги хранятся в базе как данные — например, через регистр сведений или табличную часть. Тогда в запросе делается соединение с хранилищем тегов и условие по нужной метке. Если же тег существует только в тексте XML-файла, запросом его не достать — файл нужно сначала загрузить или разобрать программно.
Почему после загрузки XML появились дубли элементов справочника?
Чаще всего потому, что в файле отсутствуют или отличаются уникальные идентификаторы объектов, и загрузка сопоставляет элементы по наименованию. Проверьте, что в тегах выгружены GUID-ы и что механизм обмена настроен на поиск по ним, а не только по наименованию или коду.
Как вывести в письмо из 1С жирный текст и ссылку?
Сформируйте тело письма как HTML-строку: оберните нужный фрагмент в тег <b>, а ссылку — в <a href="..">. Затем передайте текст в объект почты с типом содержимого HTML. Проверьте результат, отправив тестовое письмо на свой адрес.
Опасно ли открывать XML-файлы обмена из внешних источников?
Да, к файлам из непроверенных источников стоит относиться осторожно. Просматривайте их в текстовом редакторе, а не двойным щелчком с запуском ассоциированных программ, и загружайте только через штатные механизмы обмена в копию базы. Не выполняйте внешние обработки загрузки, полученные из неизвестных источников.
Как удалить лишние теги-метки, которые наплодили пользователи?
Найдите в конфигурации список тегов, отберите дубли по наименованию, переназначьте объекты на основной тег, а лишние пометьте на удаление и удалите штатной обработкой удаления помеченных объектов. Перед этим зафиксируйте соответствие «дубль → основной тег», чтобы не потерять связи с объектами.
Что важно запомнить
Тег в 1С — это либо элемент разметки XML/HTML, описывающий структуру и оформление данных, либо пользовательская метка для классификации объектов. При работе с XML используйте штатные средства платформы вместо ручной сборки строк, файлы правьте с копией и проверкой на тестовой базе, а метки ведите по согласованным правилам именования.