1С 8.3 Получить синоним из идентификатора - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Получить синоним из идентификатора

Данные > Примеры кода 1С > 1С 8.3 Форма, элементы
Перейти в раздел примеры кода 1С 8.3:
В 1С:Предприятие 8.3 платформа сама умеет формировать «читаемые» синонимы из идентификаторов (например, из СуммаБезНДС Сумма без НДС). Но если нужно сделать это вручную в коде, можно воспользоваться готовыми приёмами. Пример: СуммаЗадолженностиКонтрагентаСумма задолженности контрагента.

Когда применять:
  • Для генерации заголовков колонок в ТаблицеЗначений
  • Для автоматического формирования подписей на формах
  • Для удобного отображения данных в отчетах
Функция разбивает строку по заглавным буквам и формирует синоним:
Функция СформироватьСиноним(ИмяРеквизита) Экспорт

  Перем Синоним, Символ, ПредСимвол, СледСимвол;
   Синоним = ВРег(Сред(ИмяРеквизита,1,1));
   ДлинаСтроки = СтрДлина(ИмяРеквизита);

   Для i = 2 По ДлинаСтроки Цикл
       Символ = Сред(ИмяРеквизита, i, 1);
       ПредСимвол = Сред(ИмяРеквизита, i-1, 1);
       СледСимвол = ?(i < ДлинаСтроки, Сред(ИмяРеквизита, i+1, 1), "");

       // Вставляем пробел перед заглавной буквой
       Если (Символ = ВРег(Символ)) И (ПредСимвол <> ВРег(ПредСимвол)) Тогда
           Синоним = Синоним + " " + Символ;
       Иначе
           Синоним = Синоним + Символ;
       КонецЕсли;
   КонецЦикла;

   Возврат Синоним;

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

Используя регулярные выражения (в 8.3.23 и выше):
Функция СинонимИзИдентификатора(Идентификатор) Экспорт
   Возврат СокрЛП(
       ВРег(Лев(Идентификатор,1)) +
       НРег(СтрЗаменитьПоРегулярномуВыражению(
           Сред(Идентификатор,2),"([А-ЯЁA-Z][^А-ЯЁA-z]*)"," $1")));
КонецФункции
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 02.03.2025
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Назад к содержимому