v8: Функция получения представления идентификатора из самого идентификатораВ конфигураторе во многих местах после ввода имени объекта некоторые другие его свойства, связанные с представлением, заполняются автоматически, преобразую имя в строку естественного языка. Это очень удобно, но программно такая функция платформы, к сожалению, недоступна. Так давайте напишем свою. | | Автор статьи: TormozIT | Редакторы: Buran, Последняя редакция №2 от 28.01.07 | История URL: http://kb.mista.ru/article.php?id=457 | |
Ключевые слова: Синоним, Представление, Идентификатор
Подразумевается, что вы придерживаетесь стандартов и идентификаторы строите по правилу преобразования фразы естественного языка путем замены регистра первой буквы каждого слова в верхний и удаления всех пробелов и знаков препинания.
// Получает представление из идентификатора по правилу
// "ДебиторкаПоКонтрагентамСИнтерваламиСНГ" => "Дебиторка по контрагентам с интервалами СНГ".
//
// Параметры:
// ИсходнаяСтрока – Строка – идентификатор.
//
// Возвращаемое значение:
// – Строка – представление.
//
Функция ЛксПолучитьПредставлениеИзИдентификатора(ИсходнаяСтрока) Экспорт
СтрокаВозврата = Сред(ИсходнаяСтрока, 1, 1);
Для Сч = 2 По СтрДлина(ИсходнаяСтрока) Цикл
ПредыдущийСимвол = Сред(ИсходнаяСтрока, Сч - 1, 1);
ТекущийСимвол = Сред(ИсходнаяСтрока, Сч, 1);
СледующийСимвол = Сред(ИсходнаяСтрока, Сч + 1, 1);
ПослеследующийСимвол = Сред(ИсходнаяСтрока, Сч + 2, 1);
Если ВРЕГ(ТекущийСимвол) = ТекущийСимвол Тогда
Если Ложь
ИЛИ ВРЕГ(ПредыдущийСимвол) <> ПредыдущийСимвол
ИЛИ (Истина
И ВРЕГ(ПредыдущийСимвол) = ПредыдущийСимвол
И ВРЕГ(СледующийСимвол) <> СледующийСимвол)
Тогда
СтрокаВозврата = СтрокаВозврата + " ";
Если Ложь
ИЛИ ВРЕГ(СледующийСимвол) <> СледующийСимвол
ИЛИ ВРЕГ(ПослеследующийСимвол) <> ПослеследующийСимвол
Тогда
ТекущийСимвол = НРЕГ(ТекущийСимвол);
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ТекущийСимвол = "_" Тогда
Продолжить;
КонецЕсли;
СтрокаВозврата = СтрокаВозврата + ТекущийСимвол;
КонецЦикла;
Возврат СтрокаВозврата;
КонецФункции // ЛксПолучитьПредставлениеИзИдентификатора()
|