Символ ° в 1С 8.3: с клавиатуры, в макете, в коде и на телефоне

· 9 мин

Содержание

Чтобы поставить знак градуса в 1С, встаньте в поле, включите NumLock, зажмите Alt и наберите на цифровом блоке 0176. Отпустите Alt — появится °. Так работает в любом поле 1С 8.3 на Windows: в документе, справочнике, табличном документе, в Конфигураторе.

Если цифрового блока нет, символ берут из таблицы символов Windows или копируют. В печатных формах ° дописывают в шаблон ячейки макета, а в коде получают через Символ(176). Ниже каждый способ отдельно, плюс что делать, если вместо градуса видно В° или квадратик.

Как набрать градус в 1С с клавиатуры

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

Windows: Alt-коды

СочетаниеЧто происходитУсловие
Alt + 0176° по кодовой таблице Windows-1251цифровой блок, NumLock включён
Alt + 248° по старой DOS-таблице 866то же
Win + . (точка)панель эмодзи и символов, вкладка «Символы»Windows 10 и 11

Порядок для Alt-кода:

  1. Поставьте курсор в поле 1С.
  2. Проверьте, что горит индикатор NumLock.
  3. Зажмите левый Alt.
  4. Наберите 0176 цифрами справа, а не верхним рядом.
  5. Отпустите Alt.

Цифры верхнего ряда не работают: Windows понимает Alt-код только с цифрового блока. На ноутбуке без него ищите встроенный блок под клавишей Fn (цифры нарисованы на буквах J, K, L) или берите символ из таблицы.

Раскладка не важна: Alt-код работает и в русской, и в английской.

macOS и Linux

Тонкий клиент 1С есть и для этих систем. Ввод символа там тоже системный:

  • 🍏 macOS: в английской раскладке Option + Shift + 8. Есть ещё «Эмодзи и символы» по Control + Command + Пробел, поиск по слову «градус».
  • 🐧 Linux с IBus (Ubuntu и похожие): Ctrl + Shift + U, затем b0, затем Пробел или Enter. Если не срабатывает, назначьте клавишу Compose: последовательность Compose, o, o даёт °.

Таблица символов, копирование и похожие значки

Когда набирать неудобно, символ проще вставить из готового источника.

Таблица символов Windows

  1. Нажмите Win + R, введите charmap, Enter.
  2. Отметьте «Дополнительные параметры просмотра».
  3. В поле «Поиск» наберите degree и нажмите «Найти».
  4. Выберите °, нажмите «Выбрать», затем «Копировать».
  5. В 1С встаньте в поле и нажмите Ctrl + V.

Этот способ удобен на ноутбуках и на терминальном сервере, где Alt-коды иногда перехватывает RDP-клиент.

Похожие символы, которые путают с градусом

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

СимволНазваниеКодГде встречается
°знак градуса176правильный вариант
ºпорядковый индикатор186испанская раскладка, автозамена «№»
˚кольцо сверху730копии из PDF и с сайтов
℃градус Цельсия одним знаком8451копии с сайтов, не во всех шрифтах
⁰надстрочный ноль8304Word, мессенджеры

Если в справочнике номенклатуры половина позиций записана как «+5º», а половина как «+5°», поиск по строке «5°» найдёт только вторую половину. Проверить, что именно стоит в поле, можно в коде: КодСимвола(Строка, Позиция) вернёт 176 для настоящего градуса.

Для значка Цельсия надёжнее два символа °C, чем одиночный ℃. Букву C берите латинскую, так её требуют правила записи единиц.

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

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

Ячейка с шаблоном

Типовой приём в Конфигураторе:

  1. Откройте макет печатной формы.
  2. Выделите ячейку, где выводится температура, и откройте её свойства (Alt + Enter).
  3. В свойстве «Заполнение» выберите «Шаблон».
  4. В тексте ячейки напишите [Температура]°C.
  5. В коде формирования печатной формы заполните параметр Температура.

Квадратные скобки обозначают параметр, всё остальное печатается как есть. Число подставится, градус останется на месте.

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

Если форма типовая

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

Есть и вариант без Конфигуратора. В БП 3.0, ЗУП 3.1, УТ 11 есть пользовательская правка макетов: откройте печатную форму, в командах печати найдите «Изменить макет». Изменённый макет хранится в базе и не трогает конфигурацию. Минус: после обновления, если типовой макет поменялся, правку придётся повторить.

Шрифты

Градус есть во всех стандартных шрифтах Windows: Arial, Times New Roman, Calibri, Tahoma. Проблемы бывают со шрифтами штрихкодов и экзотическими шрифтами этикеток. Если в этикетке вместо ° пустой квадрат, вынесите знак в соседнюю ячейку с обычным шрифтом.

Символ градуса программно: Символ(176) и формат числа

В модуле 1С знак можно написать прямо в строковом литерале: "°". Модули хранятся в Юникоде, символ сохранится. Но надёжнее получать его функцией: при копировании кода через почту или старые редакторы литерал иногда портится, а число нет.

ЗнакГрадуса = Символ(176);            // °
Код = КодСимвола("°");                // 176
Сообщить("Температура: +18" + ЗнакГрадуса + "C");

Хранить число, выводить строку

Главная ошибка — хранить температуру строкой «+18°C». Такую строку нельзя сложить, сравнить, отобрать «выше 25». Храните число, а градус добавляйте только при выводе. Удобно завести функцию в общем модуле:

// Возвращает строку вида "+4,5°C", "-12,0°C", "0,0°C"
Функция ТемператураСтрокой(Температура) Экспорт

    Если Не ЗначениеЗаполнено(Температура) И Температура <> 0 Тогда
        Возврат "";
    КонецЕсли;

    Знак = ?(Температура > 0, "+", "");
    Число = Формат(Температура, "ЧДЦ=1; ЧН=0,0; ЧГ=0");

    Возврат Знак + Число + Символ(176) + "C";

КонецФункции

Проверка на примерах: 4,5 → «+4,5°C»; −12 → «-12,0°C»; 0 → «0,0°C». Минус у отрицательного числа Формат ставит сам, плюс добавляем только для положительных.

Для углов (геодезия, раскрой, координаты) формат другой: градусы, минуты, секунды.

// 37.6173 -> 37°37′02″
Функция УголСтрокой(ДесятичныеГрадусы) Экспорт

    Всего = Окр(ДесятичныеГрадусы * 3600, 0);   // в секундах
    Град = Цел(Всего / 3600);
    Мин = Цел((Всего - Град * 3600) / 60);
    Сек = Всего - Град * 3600 - Мин * 60;

    Возврат Формат(Град, "ЧН=0; ЧГ=0") + Символ(176)
        + Формат(Мин, "ЧЦ=2; ЧВН=; ЧН=00") + Символ(8242)
        + Формат(Сек, "ЧЦ=2; ЧВН=; ЧН=00") + Символ(8243);

КонецФункции

Пересчёт: 37,6173 × 3600 = 135 422,28 → 135 422 секунды. 135 422 / 3600 = 37 градусов, остаток 2 222 секунды. 2 222 / 60 = 37 минут, остаток 2 секунды. Итог «37°37′02″». Символы 8242 и 8243 — штрих и двойной штрих, они правильнее апострофа и кавычки.

Навести порядок в уже введённых данных

Если двойники из таблицы выше уже попали в справочник, замените их обработкой:

Текст = СтрЗаменить(Текст, Символ(186), Символ(176));   // º -> °
Текст = СтрЗаменить(Текст, Символ(730), Символ(176));   // ˚ -> °
Текст = СтрЗаменить(Текст, Символ(8451), Символ(176) + "C"); // ℃ -> °C

Перед массовой заменой наименований сделайте резервную копию базы : обработка перезапишет тысячи элементов, а откатить её можно только из копии.

В запросе отбор по знаку работает обычным ПОДОБНО:

ГДЕ Номенклатура.Наименование ПОДОБНО "%°%"

Градус на формах и в отчётах

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

  • 🏷️ Заголовок поля. Самое простое: заголовок реквизита на форме «Температура, °C». Пишется в свойствах элемента формы или реквизита.
  • 🔤 Декорация-надпись справа от поля с текстом °C. Подходит, когда заголовок стоит слева и место занято.
  • 🔘 Кнопка вставки для текстовых полей, где пользователи часто пишут градусы (описания режимов хранения, технологические карты).

Обработчик команды для кнопки, которая дописывает знак в конец текстового реквизита:

&НаКлиенте
Процедура ВставитьГрадус(Команда)
    Объект.УсловияХранения = Объект.УсловияХранения + Символ(176);
    Модифицированность = Истина;
КонецПроцедуры

Здесь УсловияХранения — строковый реквизит вашего объекта, имя подставьте своё. Код работает на клиенте и не обращается к серверу, кнопка срабатывает мгновенно.

Отчёты на СКД

В отчёте на системе компоновки данных градус проще всего вынести в заголовок поля: в наборе данных у поля укажите заголовок «Температура, °C». Число останется числом: итоги, сортировка и условное оформление «выше 8° — красным» будут работать. Если склеить число со знаком в строку, всё это пропадёт.

Мобильная платформа и мобильный клиент 1С

На телефоне градус набирают системной клавиатурой. Сочетаний Alt там нет.

  • 📱 iPhone, iPad: переключитесь на цифры и задержите палец на клавише 0 — появится °.
  • 🤖 Android: зависит от клавиатуры. Обычно ° лежит на второй странице символов или открывается долгим нажатием на 0. В Gboard и Samsung Keyboard он есть на дополнительной странице символов.

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

В мобильном клиенте (тот же интерфейс конфигурации, но на телефоне) обработчик кнопки «Вставить °» тоже работает. Это удобнее, чем объяснять кладовщикам, где на их клавиатуре спрятан знак.

Вместо градуса видно «В°», «░» или знак вопроса

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

Диагностика: выберите симптом

При записи файлов из 1С кодировку задают явно:

Текст = Новый ТекстовыйДокумент;
Текст.ДобавитьСтроку("Товар;Температура");
Текст.ДобавитьСтроку("Молоко;+4" + Символ(176) + "C");
Текст.Записать(ИмяФайла, КодировкаТекста.ANSI);

В Windows-1251 градус есть (байт 176), так что ANSI-выгрузка его не теряет. В Excel такой CSV откроется без «В°».

Частые вопросы

Можно ли повесить градус на свою горячую клавишу внутри 1С?
Штатной настройки для вставки символа нет. Решения два: кнопка на форме с Символ(176) или системная утилита переназначения клавиш, тогда сочетание будет работать во всех программах, включая 1С.
Почему Alt+0176 не работает на терминальном сервере?
Часть RDP-клиентов и клиентов удалённого доступа перехватывает Alt. Попробуйте Win + . на сервере или вставьте знак через буфер обмена из таблицы символов.
Как написать «градус» в наименовании номенклатуры, чтобы он попал в чек?
Чек печатает фискальный регистратор, а многие модели не знают символа °. Для наименований, уходящих в чек, надёжнее писать «град. С» словами.
Нужен ли пробел между числом и °C?
По правилам записи единиц пробел ставят перед °C, но не перед знаком угла: «+18 °C», но «37°». На практике в документах часто пишут слитно. Выберите один вариант и держите его во всей базе, иначе поиск будет давать разные результаты.
Попадёт ли знак градуса в выгрузку в Excel из табличного документа?
Да. При сохранении табличного документа в формат XLSX символы сохраняются в Юникоде, и градус отображается правильно. Проблема с «В°» бывает только у текстовых CSV.