Разработка и Конфигурация · 12 мин
Что означает символ в 1С: разбираем значки, коды и функцию Символ()
Что означают символы в 1С: пиктограммы в интерфейсе, служебные знаки в коде, функция Символ() и неразрывный пробел. Таблица кодов, примеры и ответы на вопросы.
Вопрос «что означает символ в 1С» возникает в двух совершенно разных ситуациях. Первая — пользователь видит в интерфейсе программы непонятный значок: кружок, галочку, карандаш, восклицательный знак рядом с документом или строкой списка. Вторая — разработчик или продвинутый пользователь встречает во встроенном языке 1С конструкции вроде Символ(1050) или загадочный знак в строке и хочет понять, что за ними стоит.
Оба случая имеют практическое значение. Неправильно истолкованная пиктограмма в журнале документов может привести к тому, что непроведённый документ примут за проведённый, а незнание кодов символов мешает корректно вывести текст в печатную форму или обработать строку при обмене данными. Ниже разобраны оба смысла: символы интерфейса и символы как элемент языка 1С.
Материал ориентирован на типовые конфигурации (Бухгалтерия, Управление торговлей, Зарплата и управление персоналом) и на платформу 1С:Предприятие 8.3. В отраслевых и сильно доработанных решениях набор пиктограмм может отличаться, но общая логика обозначений сохраняется.
Какие бывают символы в 1С и почему их путают
В 1С слово «символ» используется в трёх значениях. Первое — графические пиктограммы в интерфейсе: значки в списках документов, справочниках, на кнопках и в строках состояния. Второе — символы как единицы текста: буквы, цифры, пробелы и специальные знаки, с которыми работают строковые функции встроенного языка. Третье — служебные и управляющие символы: перевод строки, табуляция, неразрывный пробел, кавычки внутри строковых литералов.
Путаница возникает потому, что пользователь ищет «что означает символ», видя картинку, а находит в справке описание функции Символ(). Чтобы быстро сориентироваться, задайте себе вопрос: вы видите значок на экране или знак в тексте/коде? От ответа зависит, куда смотреть дальше — в расшифровку пиктограмм или в таблицу кодов символов.
Что означают пиктограммы в списках документов и справочников
Самый частый вопрос пользователей — значки в журналах документов. В типовых конфигурациях картинка в первой колонке показывает состояние объекта. Документ, который проведён, обычно отображается обычным значком документа. Непроведённый документ показывается бледным или с пометкой, а помеченный на удаление — с красным крестом. В справочниках аналогично: помеченный на удаление элемент перечёркнут или имеет крест на пиктограмме, пометка группы отличается от пометки элемента.
Отдельная группа значков — индикаторы обмена данными и состояния синхронизации. В конфигурациях с обменом (например, с сайтом или другой базой) рядом с объектом могут появляться значки «зарегистрирован к выгрузке», «выгружен», «конфликт». Их точный вид зависит от конфигурации, поэтому универсальной картинки-расшифровки нет: ориентируйтесь на всплывающую подсказку — если навести курсор на пиктограмму, платформа обычно показывает текстовое пояснение.
Снимите пометку или проведите документ заново при необходимости
Откройте документ и нажмите «Провести»
Дождитесь завершения сеанса или попросите коллегу закрыть объект
Проверьте журнал регистрации обмена и настройки синхронизации
Если подсказка не появляется, откройте сам объект: его состояние (проведён, помечен, заблокирован) всегда видно в шапке формы или в командной панели. Это надёжнее, чем гадать по картинке, особенно в нестандартных конфигурациях, где разработчик мог назначить свои пиктограммы.
Функция Символ() во встроенном языке: что это и зачем нужна
Во встроенном языке 1С функция Символ(Код) возвращает строку из одного знака по его числовому коду Unicode. Синтаксис прост: Символ(65) вернёт латинскую букву «A», Символ(1040) — кириллическую «А». Обратная операция — функция КодСимвола(Строка), которая возвращает код первого знака строки.
Зачем это нужно на практике? Некоторые знаки нельзя или неудобно ввести с клавиатуры напрямую: неразрывный пробел, кавычки-ёлочки, специальные разделители, управляющие коды при обмене с внешними системами. Вместо попытки вставить такой знак в исходный код (где он может быть невидим или испортиться при копировании) разработчик пишет Символ(160) — и код остаётся читаемым и устойчивым.
НеразрывныйПробел = Символ(160);
ПереводСтроки = Символы.ПС;
Кавычка = Символ(34);
Сообщить("Сумма:" + НеразрывныйПробел + "1 000 руб.");Важно различать Символ(Код) и объект Символы. Первый требует знать числовой код знака. Второй — это предопределённый набор констант для самых востребованных управляющих символов, и в большинстве задач удобнее использовать именно его.
Объект Символы: готовые константы для управляющих знаков
Платформа предоставляет системный набор Символы, где собраны часто используемые управляющие символы. Основные из них: Символы.ПС — перевод строки, Символы.ВК — возврат каретки, Символы.Таб — табуляция, Символы.НПП — неразрывный пробел, Символы.ПФ — перевод формы (страницы). Использовать их предпочтительнее, чем числовые коды: код Символы.ПС читается очевидно, тогда как Символ(10) требует комментария.
Типовой сценарий — формирование многострочного текста для сообщения, печатной формы или файла. Перевод строки внутри строкового литерала 1С задаётся либо вертикальной чертой | в начале каждой новой строки литерала, либо конкатенацией с Символы.ПС. При выгрузке в текстовый файл для внешней системы уточните, какой разделитель строк она ожидает: Windows-стиль (ВК+ПС) или Unix-стиль (только ПС). Несовпадение разделителей — частая причина того, что файл «не читается» на принимающей стороне.
Часто используемые коды символов и специальные знаки
Ниже — коды, которые чаще всего нужны в прикладной разработке и при разборе чужого кода. Это стандартные значения Unicode, они не зависят от версии платформы.
| Код | Символ | Где применяется |
|---|---|---|
| 9 | Табуляция | Разделители колонок в текстовых файлах |
| 10 | Перевод строки (ПС) | Многострочный текст, файлы Unix-формата |
| 13 | Возврат каретки (ВК) | Пара ВК+ПС для Windows-файлов |
| 32 | Обычный пробел | Стандартный разделитель слов |
| 34 | Кавычка " | Экранирование кавычек внутри строк |
| 160 | Неразрывный пробел | Числа в печатных формах, «склеивание» слов |
| 171, 187 | Кавычки-ёлочки « » | Типографское оформление текстов |
Неразрывный пробел (код 160) заслуживает отдельного упоминания, потому что он — источник массовых проблем. Визуально он неотличим от обычного пробела, но функции сравнения и поиска строк считают их разными символами. Если строка из файла или с сайта «не находится» в базе, хотя выглядит идентично, — почти наверняка дело в неразрывном пробеле. Лечится заменой: СтрЗаменить(Строка, Символ(160), " ") с последующим СокрЛП().
Как самостоятельно определить, что за символ в строке
Если вы столкнулись с «невидимым» или непонятным знаком в данных, его можно идентифицировать штатными средствами. Порядок действий простой и безопасный — он не меняет данные, а только анализирует их.
- 1Скопируйте проблемную строку в переменную в консоли кода или в отладчике
- 2Пройдите по строке циклом: для каждой позиции выведите КодСимвола(Строка, НомерПозиции)
- 3Сопоставьте полученные коды с таблицей Unicode или с таблицей из этой статьи
- 4Если код 160 — это неразрывный пробел; коды 9, 10, 13 — табуляция и переводы строк
- 5После идентификации выполните очистку строки через СтрЗаменить и проверьте результат повторным сравнением
Пример цикла разбора строки: Для Н = 1 По СтрДлина(Строка) Цикл Сообщить(КодСимвола(Строка, Н)); КонецЦикла;. В результате вы получите последовательность числовых кодов, по которым видно все скрытые знаки. Этот приём незаменим при разборе данных из Excel, веб-сервисов и старых файлов обмена.
В конфигураторе есть и другой путь: откройте синтакс-помощник (Ctrl+F1 при курсоре на функции), найдите описание Символ() и КодСимвола() — там приведены сигнатуры и примеры. Для пиктограмм интерфейса аналогичного справочника нет, поэтому ориентируйтесь на всплывающие подсказки и состояние объекта в его форме.
Как проверить результат очистки строки
Строки равны, поиск и сопоставление срабатывают
Строки всё ещё различаются — ищите другие скрытые коды через КодСимвола
Открывается с корректными переносами строк в целевой системе
Весь текст в одной строке — неверная комбинация ВК/ПС
Число не разрывается при переносе на новую строку
Сумма разорвана — неразрывный пробел не применён или потерян
Границы самостоятельной работы и когда обращаться к специалисту
Чтение пиктограмм, очистка тестовой строки в консоли кода, просмотр синтакс-помощника — безопасные операции, которые можно выполнять самостоятельно. Они не изменяют данные и не трогают конфигурацию. Рискованные зоны — это массовая обработка данных (например, групповая замена символов в справочнике) и изменение кода конфигурации.
Если непонятный символ появляется систематически — например, при каждом обмене с сайтом или при загрузке из конкретной программы, — причина обычно в настройках обмена или в кодировке файла, а не в самих данных. В этом случае локальная очистка строк не решит проблему: нужно анализировать формат обмена, и это уже задача для специалиста по интеграции.
Что важно запомнить
«Символ в 1С» — это либо пиктограмма состояния объекта в интерфейсе (расшифровывается по подсказке и форме объекта), либо знак текста, задаваемый функцией Символ(Код) или константами Символы.ПС, Символы.Таб, Символы.НПП. Главный источник скрытых проблем — неразрывный пробел с кодом 160; диагностируется через КодСимвола() и лечится СтрЗаменить.
Частые вопросы
Что означает красный крест на документе в списке 1С?
Документ помечен на удаление. Он не участвует в движениях по регистрам, но физически ещё присутствует в базе. Пометку можно снять через контекстное меню, а окончательное удаление выполняется через штатную обработку «Удаление помеченных объектов».
Чем Символ(10) отличается от Символ(13)?
Код 10 — перевод строки (ПС), код 13 — возврат каретки (ВК). В файлах формата Windows перенос строки кодируется парой ВК+ПС, в Unix-форматах — только ПС. Поэтому при выгрузке файла уточняйте, какой вариант ожидает принимающая система.
Почему строка из файла не находится в базе, хотя выглядит так же?
Чаще всего в строке есть неразрывный пробел (код 160), который визуально неотличим от обычного. Проверьте строку функцией КодСимвола() по позициям и выполните замену: СтрЗаменить(Строка, Символ(160), " ") с последующим СокрЛП().
Как вставить кавычку внутрь строки в коде 1С?
Кавычка внутри строкового литерала удваивается: "Он сказал ""привет""". Альтернатива — использовать Символ(34), что удобно при программной сборке строк с большим количеством кавычек.
Где посмотреть расшифровку нестандартного значка в моей конфигурации?
Наведите курсор на пиктограмму — платформа покажет всплывающую подсказку. Если её нет, откройте сам объект: состояние (проведён, помечен, заблокирован) видно в форме. В отраслевых решениях расшифровку дополнительных значков стоит искать в инструкции к конфигурации.
Можно ли использовать Символ() для смайликов и спецзнаков в сообщениях?
Да, если известен код Unicode знака — например, Символ(10003) даст галочку ✓. Учтите, что отображение зависит от шрифта на стороне пользователя: если в шрифте нет нужного знака, вместо него покажется пустой квадрат.