1С 8 как убрать пробел в числе

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

ВК (CR) – возврат каретки.

Пример использования в коде. Фрагмент кода. (1, 2)

Фрагмент 1

ПС (LF) – linefeed переносит на одну строку вниз при ее создании в коде.

Например:

НоваяСтрока = «Текст начало,»+Символы.ПС+»Текст конец»;

Пример использования в коде. Фрагмент кода. (2, 3)

Фрагмент 2

// Передать на обработку данные. Результат = МенеджерОборудованияКлиент.ОбработатьСобытиеОтУстройства (ОписаниеСобытия, ОписаниеОшибки); Если Не Результат Тогда OбщегоНазначенияКлиентСервер.СообщитьПользователю (НСтр («ru=’При обработке внешнего события от устройства произошла ошибка.'») + Символы.ПС + ОписаниеОшибки); КонецЕсли; // Конец ПодключаемоеОборудование

Фрагмент 3

ПС + ВК – с помощью комбинации этих символов осуществляется переход на одну строку вниз и возвращение каретки в начало строки. Действие имитирует нажатие клавиши Enter на клавиатуре.

Пример использования в коде. Фрагмент кода. (4, 5)

// Если структура папок (путь к рабочему каталогу текущей папки) превышает 260-5 (1.txt), пишем «Измените имена папок // или перенесите текущую папку в другую папку». Если СтрДлина (ПараметрыВыполнения.ДанныеФайла.РабочийКаталогВладельца) > ПараметрыВыполнения.МаксимальнаяДлинаПолногоПути — 5 Тогда ТекстСообщения = ТекстСообщения + Символы.ВК + Символы.ВК + НСтр («ru — ‘Измените имена папок или перенесите текущую папку в другую папку.'»); ВернутьРезультатПослеПоказаПредупреждения (ПараметрыВыполнения.ОбработчикРезультата, ТекстСообщения, Ложь); Возврат; КонецЕсли;

Фрагмент 4

Фрагмент 5

НПП (NBSp) – неразрывный пробел. Например, в строках числового вида 3580 преобразует в число вида 3 580, т.е. отделяя по три знака пробелом. Или 8956753 преобразует в 8 956 753.

Пример использования в коде. Фрагмент кода. (6-8)

Фрагмент 6

Если ОповещениеПриЗавершении Неопределено Тогда ТекстСообщения = НСтр («ru = ‘Нет кассовых смен для устройства'») + Символы.НПП + Строка (ИдентификаторУстройства); РезультатОперации = ПараметрыВыполненияОперацииНаОборудовании (Ложь, ТекстСообщения, ИдентификаторУстройства); ВыполнитьОбработкуОповещения (ОповещениеПриЗавершении, РезультатОперации); КонецЕсли;

Фрагмент 7

Фрагмент 8

Таб (Tab) – символ горизонтальной табуляции. Позволяет перейти в положение, кратное определенному шагу, например, шаг на 4, 8, 12, 16 …

Пример использования в коде. Фрагмент кода. (9-10)

Фрагмент 9

Также в функцию замены добавляется строка

СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, «>», » «);

И строка

СтрокаПослеОбработки = СтрЗаменить (СтрокаПослеОбработки, «

Фрагмент 10

ВТаб (VTab) – вертикальная табуляция, как и горизонтальная, переходит с определенным шагом, только опускаясь вниз по строкам, оставаясь в той же колонке.

Пример использования в коде. Фрагмент кода. (11)

Фрагмент 11

ПФ (FF) – перевод формы. Начало печати с нового листа.

Пример использования в коде. Фрагмент кода. (12, 13)

Фрагмент 12

Фрагмент 13

Из примеров видно, что при написании кодов 1С используемые символы можно комбинировать. Они используются при выводе сообщений, текстов назначения платежа, формировании отчетов, то есть там, где необходимо сформировать какой-либо текст.

Комментарии к документу (Doc comments)

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

Не используйте panic напрасно

Не используйте панику для нормальной обработки ошибок. Используйте ошибку и несколько возвращаемых значений.

Строки ошибок

Строки ошибок не должны начинаться с заглавной буквы (если только они не начинаются с собственных имен или аббревиатур) или заканчиваться пунктуацией, поскольку они обычно печатаются в другом контексте. То есть используйте fmt.Errorf(«something bad») , а не fmt.Errorf(«Something bad»), так что log.Printf(«Reading %s: %v», filename, err) форматируется без ложной заглавной буквы в середине сообщения. Это не относится к сообщениям журнала (logging), которые ориентированы на использование сообщения как отдельной строки и не объединяются внутри других сообщений.

Обработка ошибок

Не отбрасывайте ошибки, используя пустые переменные _. Если функция возвращает ошибку, проверьте ее, чтобы убедиться, что функция выполнена успешно. Обработайте ошибку, верните ее или, в действительно исключительных ситуациях, используйте panic.

Примеры

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

При приведении значения типа Число к типу Строка, могут появляться символы разделяющие группы разрядов. При стандартных настройках используется символ «неразрывный пробел».

Попытка
Результат = Строка(1000000); // 1 000 000
Исключение
Сообщить(«Не удалось привести число к строке»);
КонецПопытки;
Используя настройки информационной базы можно отключить разделитель групп разрядов, для всей информационной базы. Так же есть возможность программно заменить разделяющий символ на пустую строку или отформатировать функцией «Формат».

Отключить разделитель групп разрядов для всей конфигурации

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

Окно установок открывается через главное меню Администрирование->Региональные установки информационной базы

Убрать разделитель групп разрядов функцией Формат

Функция «Формат»с параметром «ЧГ=0» убирает разделители групп числа.
Результат = Формат(Число,»ЧГ=0″);

Заменить разделитель групп разрядов функцией СтрЗаменить

С помощью функции «СтрЗаменить», заменяется «неразрывный пробельный символ» на пустую строку.
Результат = СтрЗаменить(Число, Символы.НПП, «»);

Белозерских Евгений

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

Оформление в строк табличной части для обычных форм

Для табличных частей форм в обычном приложении использовались такие события как ПриПолученииДанных() и ПриВыводеСтроки() и код выглядел примерно следующим образом: Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) РаботаСДиалогами.ПоказатьКодАртикул(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Номенклатура); Если ЗначениеЗаполнено(ДанныеСтроки.Номенклатура) Тогда ОформлениеСтроки.Ячейки.Бренд.УстановитьТекст(ДанныеСтроки.Номенклатура.ЦеноваяГруппа); КонецЕсли; КонецПроцедуры Для оформления элементов управляемых форм используется Условное оформление

Условное оформление в управляемых формах

Для того чтобы программно наложить оформление на элементы управляемой формы (а в частности на строки таблицы значений), необходимо воспользоваться элементами условного оформления.
ВАЖНО! Работы с элементами условного оформления доступна только на стороне сервера!
ВАЖНО! Для оформления строк таблицы (или дерева) значений мы будем использовать условное оформление самой формы, а не элемента списка!
Таким образом, код для реализации условного оформления управляемой формы будет иметь следующий вид: ЭлементОформления = УсловноеОформление.Элементы.Добавить(); // Зададим отбор (условия при которых будет выполнено оформление) ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»)); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«ТЗ.Реквизит1»); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше; ЭлементОтбора.ПравоеЗначение = 10; ЭлементОтбора.Использование = Истина; ЭлементОформления.Оформление.УстановитьЗначениеПараметра(«ЦветТекста», WebЦвета.Зеленый); // Укажем какие поля (колонки) оформлять ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(«ТЗ»); ПолеОформления.Использование = Истина; ЭлементОформления.Использование = Истина; В приведенном примере, в случае если значение реквизита «Реквизит1» будет больше 10, цвет текста строки будет выделен зеленым.
Вы же можете наложить любое условие и любое необходимое оформление.
Спасибо за внимание!