edit
This commit is contained in:
parent
7b08c1d18e
commit
c83173e972
@ -3,7 +3,7 @@ title: Табличный документ в ТЗ и обратно
|
||||
slug: общие-обмен-данными/табличный-документ-в-тз-и-обратно
|
||||
---
|
||||
|
||||
# Табличный документ в таблицу значений (табдок в ТЗ)
|
||||
## Табличный документ в таблицу значений (табдок в ТЗ)
|
||||
```bsl
|
||||
Построитель = Новый ПостроительЗапроса;
|
||||
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область());
|
||||
@ -11,7 +11,7 @@ slug: общие-обмен-данными/табличный-документ-
|
||||
ТабДанные = Построитель.Результат.Выгрузить();
|
||||
```
|
||||
|
||||
# Таблица значений в табличный документ (ТЗ в табдок)
|
||||
## Таблица значений в табличный документ (ТЗ в табдок)
|
||||
|
||||
```bsl
|
||||
ТабДокумент = Новый ТабличныйДокумент;
|
||||
@ -21,35 +21,35 @@ slug: общие-обмен-данными/табличный-документ-
|
||||
Построитель.Вывести(ТабДокумент);
|
||||
```
|
||||
|
||||
## Вариант с собственной функцией
|
||||
### Вариант с собственной функцией
|
||||
```bsl
|
||||
&НаСервере
|
||||
Функция ТабличныйДокументИзТаблицыЗначений(ТаблицаЗначений)
|
||||
|
||||
ТабДок = Новый ТабличныйДокумент;
|
||||
ТабДок = Новый ТабличныйДокумент;
|
||||
|
||||
// Формируем заголовки
|
||||
ОбластьЗаголовок = ТабДок.ПолучитьОбласть(1, 1, 1, ТаблицаЗначений.Колонки.Количество() + 1);
|
||||
ОбластьЗаголовок.Область(1, 1).Текст = "№ п/п";
|
||||
// Формируем заголовки
|
||||
ОбластьЗаголовок = ТабДок.ПолучитьОбласть(1, 1, 1, ТаблицаЗначений.Колонки.Количество() + 1);
|
||||
ОбластьЗаголовок.Область(1, 1).Текст = "№ п/п";
|
||||
|
||||
Для НомерКолонки = 1 По ТаблицаЗначений.Колонки.Количество() Цикл
|
||||
ОбластьЗаголовок.Область(1, НомерКолонки + 1).Текст = ТаблицаЗначений.Колонки[НомерКолонки - 1].Имя;
|
||||
КонецЦикла;
|
||||
ТабДок.Вывести(ОбластьЗаголовок);
|
||||
Для НомерКолонки = 1 По ТаблицаЗначений.Колонки.Количество() Цикл
|
||||
ОбластьЗаголовок.Область(1, НомерКолонки + 1).Текст = ТаблицаЗначений.Колонки[НомерКолонки - 1].Имя;
|
||||
КонецЦикла;
|
||||
ТабДок.Вывести(ОбластьЗаголовок);
|
||||
|
||||
// Заполняем данными
|
||||
Для НомерСтроки = 1 По ТаблицаЗначений.Количество() Цикл
|
||||
ОбластьСтрока = ТабДок.ПолучитьОбласть(НомерСтроки + 1, 1, НомерСтроки + 1, ТаблицаЗначений.Колонки.Количество() + 1);
|
||||
ОбластьСтрока.Область(1, 1).Текст = Формат(НомерСтроки, "ЧГ=");
|
||||
// Заполняем данными
|
||||
Для НомерСтроки = 1 По ТаблицаЗначений.Количество() Цикл
|
||||
ОбластьСтрока = ТабДок.ПолучитьОбласть(НомерСтроки + 1, 1, НомерСтроки + 1, ТаблицаЗначений.Колонки.Количество() + 1);
|
||||
ОбластьСтрока.Область(1, 1).Текст = Формат(НомерСтроки, "ЧГ=");
|
||||
|
||||
Для НомерКолонки = 1 По ТаблицаЗначений.Колонки.Количество() Цикл
|
||||
ОбластьСтрока.Область(1, НомерКолонки + 1).Текст = Строка(ТаблицаЗначений[НомерСтроки - 1][НомерКолонки - 1]);
|
||||
КонецЦикла;
|
||||
Для НомерКолонки = 1 По ТаблицаЗначений.Колонки.Количество() Цикл
|
||||
ОбластьСтрока.Область(1, НомерКолонки + 1).Текст = Строка(ТаблицаЗначений[НомерСтроки - 1][НомерКолонки - 1]);
|
||||
КонецЦикла;
|
||||
|
||||
ТабДок.Вывести(ОбластьСтрока);
|
||||
КонецЦикла;
|
||||
ТабДок.Вывести(ОбластьСтрока);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат ТабДок;
|
||||
Возврат ТабДок;
|
||||
|
||||
КонецФункции
|
||||
```
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Чтение DBF
|
||||
slug: общие-обмен-данными-чтение-файлов-примеры/чтение-dbf
|
||||
slug: общие-обмен-данными-чтение-данных-из-файла/чтение-dbf
|
||||
---
|
||||
|
||||
> Длина имени файла DBF без расширения не должна быть больше **8 символов**
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Чтение Excel
|
||||
slug: общие-обмен-данными-чтение-файлов-примеры/чтение-excel
|
||||
slug: общие-обмен-данными-чтение-данных-из-файла/чтение-excel
|
||||
---
|
||||
|
||||
## Обычное чтение
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Чтение JSON
|
||||
slug: общие-обмен-данными-чтение-файлов-примеры/чтение-json
|
||||
slug: общие-обмен-данными-чтение-данных-из-файла/чтение-json
|
||||
---
|
||||
|
||||
```bsl
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Чтение TXT, CSV
|
||||
slug: общие-обмен-данными-чтение-файлов-примеры/чтение-txt-csv
|
||||
slug: общие-обмен-данными-чтение-данных-из-файла/чтение-txt-csv
|
||||
---
|
||||
|
||||
## Вариант с ЧтениеТекста
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Чтение XML
|
||||
slug: общие-обмен-данными-чтение-файлов-примеры/чтение-xml
|
||||
slug: общие-обмен-данными-чтение-данных-из-файла/чтение-xml
|
||||
---
|
||||
|
||||
## С помощью XDTO
|
||||
|
@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Сравнить элементы перечисления
|
||||
slug: общие-общего-назначения/сравнить-элементы-перечисления
|
||||
---
|
||||
|
||||
## В ERP Управление холдингом
|
||||
```bsl
|
||||
Результат = ОбщегоНазначенияУХ.СравнитьЗначенияПеречисления(Значение1, Значение2);
|
||||
```
|
||||
|
||||
> Реализация
|
||||
|
||||
```bsl
|
||||
// Сравнивает два значения перечисления.
|
||||
// Параметры:
|
||||
// Значение1 - ПеречислениеСсылка
|
||||
// Значение2 - ПеречислениеСсылка
|
||||
// Возвращает:
|
||||
// Если значения равны, то возвращает 0.
|
||||
// Если Значение1 стоит раньше по порядку Значение2, то -1
|
||||
// Если Значение1 стоит позже по порядку Значение2, то 1
|
||||
Функция СравнитьЗначенияПеречисления(Значение1, Значение2) Экспорт
|
||||
Если Значение1 = Значение2 Тогда
|
||||
Возврат 0;
|
||||
КонецЕсли;
|
||||
|
||||
ПерчислениеМенеджер = Перечисления[Значение1.Метаданные().Имя];
|
||||
Индекс1 = ПерчислениеМенеджер.Индекс(Значение1);
|
||||
Индекс2 = ПерчислениеМенеджер.Индекс(Значение2);
|
||||
|
||||
Если Индекс1 < Индекс2 Тогда
|
||||
Возврат -1;
|
||||
ИначеЕсли Индекс1 > Индекс2 Тогда
|
||||
Возврат 1;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат 0;
|
||||
КонецФункции
|
||||
```
|
@ -2,7 +2,7 @@
|
||||
title: Ссылка на объект из навигационной ссылки
|
||||
slug: типовые-erp-общего-назначения-ух/ссылка-на-объект-из-навигационной-ссылки
|
||||
---
|
||||
# Пример вызова
|
||||
# Пример вызова в УХ
|
||||
```bsl
|
||||
Ссылка = ОбщегоНазначенияУХ.СсылкаНаОбъектИзНавигационнойСсылки(СокрЛП(НавигационнаяСсылка));
|
||||
```
|
@ -0,0 +1,68 @@
|
||||
---
|
||||
title: Из UpperCamelCase в обычную строку
|
||||
slug: общие-работа-с-текстом/из-uppercamelcase-в-обычную-строку
|
||||
---
|
||||
|
||||
```bsl
|
||||
// Функция - Преобразует CamelCase в обычный текст.
|
||||
//
|
||||
// Параметры:
|
||||
// СтрокаCamelCase - Строка - строка в стиле CamelCase. Например ВДополнительномПодменю, ВводПоСтроке и т.д.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - преобразованный CamelCase в обычный текст. Например "HTTPСервис" => "HTTP сервис"
|
||||
//
|
||||
Функция НатуральноеПредставлениеСтрокиCamelCase(Знач СтрокаCamelCase) Экспорт
|
||||
|
||||
СтрокаCamelCase = СтрЗаменить(СтрокаCamelCase, "_", "");
|
||||
Результат = "";
|
||||
ПредыдущийСимвол = "";
|
||||
КоличествоЗаглавныхСимволов = 0;
|
||||
|
||||
// Делим СтрокиТипаТакой на отдельные слова
|
||||
Для Сч = 1 По СтрДлина(СтрокаCamelCase) Цикл
|
||||
|
||||
Символ = Сред(СтрокаCamelCase, Сч, 1);
|
||||
ЭтоЗаглавная = (Символ = ВРег(Символ));
|
||||
|
||||
// Переход от аббревиатуры к обычному слову
|
||||
Если НЕ ЭтоЗаглавная И КоличествоЗаглавныхСимволов >= 2 Тогда
|
||||
|
||||
Результат = Лев(Результат, СтрДлина(Результат) - 1) + " " + Прав(Результат, 1);
|
||||
|
||||
// Начало нового слова
|
||||
ИначеЕсли ЭтоЗаглавная И КоличествоЗаглавныхСимволов = 0 И ПредыдущийСимвол <> "" Тогда
|
||||
Результат = Результат + " ";
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Результат + Символ;
|
||||
|
||||
Если ЭтоЗаглавная Тогда
|
||||
КоличествоЗаглавныхСимволов = КоличествоЗаглавныхСимволов + 1;
|
||||
Иначе
|
||||
КоличествоЗаглавныхСимволов = 0;
|
||||
КонецЕсли;
|
||||
|
||||
ПредыдущийСимвол = Символ;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
// Приведение к строчному регистра (кроме первого слова и аббревиатур)
|
||||
Слова = СтрРазделить(Результат, " ");
|
||||
|
||||
Для Индекс = 1 По Слова.ВГраница() Цикл
|
||||
|
||||
Слово = Слова[Индекс];
|
||||
ЭтоАббревиатура = (Слово = ВРег(Слово));
|
||||
|
||||
Если СтрДлина(Слово) = 1 Или Не ЭтоАббревиатура Тогда // это точно не аббревиатура
|
||||
Слова[Индекс] = НРег(Слово);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СокрЛП(СтрСоединить(Слова, " "));
|
||||
|
||||
КонецФункции
|
||||
|
||||
```
|
@ -0,0 +1,104 @@
|
||||
---
|
||||
title: Из ЙЦУКЕН в QWERTY
|
||||
slug: общие-работа-с-текстом/из-йцукен-в-qwerty
|
||||
---
|
||||
|
||||
```bsl
|
||||
&НаКлиенте
|
||||
Процедура ИзЙЦУКЕНвQWERTY(Строка)
|
||||
|
||||
Строка = СокрЛП(Строка);
|
||||
|
||||
// Нижний регистр
|
||||
Раскладка = Новый Соответствие;
|
||||
Раскладка.Вставить("й", "q");
|
||||
Раскладка.Вставить("ц", "w");
|
||||
Раскладка.Вставить("у", "e");
|
||||
Раскладка.Вставить("к", "r");
|
||||
Раскладка.Вставить("е", "t");
|
||||
Раскладка.Вставить("н", "y");
|
||||
Раскладка.Вставить("г", "u");
|
||||
Раскладка.Вставить("ш", "i");
|
||||
Раскладка.Вставить("щ", "o");
|
||||
Раскладка.Вставить("з", "p");
|
||||
Раскладка.Вставить("х", "[");
|
||||
Раскладка.Вставить("ъ", "]");
|
||||
Раскладка.Вставить("ф", "a");
|
||||
Раскладка.Вставить("ы", "s");
|
||||
Раскладка.Вставить("в", "d");
|
||||
Раскладка.Вставить("а", "f");
|
||||
Раскладка.Вставить("п", "g");
|
||||
Раскладка.Вставить("р", "h");
|
||||
Раскладка.Вставить("о", "j");
|
||||
Раскладка.Вставить("л", "k");
|
||||
Раскладка.Вставить("д", "l");
|
||||
Раскладка.Вставить("ж", ";");
|
||||
Раскладка.Вставить("э", "'");
|
||||
Раскладка.Вставить("я", "z");
|
||||
Раскладка.Вставить("ч", "x");
|
||||
Раскладка.Вставить("с", "c");
|
||||
Раскладка.Вставить("м", "v");
|
||||
Раскладка.Вставить("и", "b");
|
||||
Раскладка.Вставить("т", "n");
|
||||
Раскладка.Вставить("ь", "m");
|
||||
Раскладка.Вставить("б", ",");
|
||||
Раскладка.Вставить("ю", ".");
|
||||
Раскладка.Вставить(".", "/");
|
||||
|
||||
// Верхний регистр
|
||||
Раскладка.Вставить("Й", "Q");
|
||||
Раскладка.Вставить("Ц", "W");
|
||||
Раскладка.Вставить("У", "E");
|
||||
Раскладка.Вставить("К", "R");
|
||||
Раскладка.Вставить("Е", "T");
|
||||
Раскладка.Вставить("Н", "Y");
|
||||
Раскладка.Вставить("Г", "U");
|
||||
Раскладка.Вставить("Ш", "I");
|
||||
Раскладка.Вставить("Щ", "O");
|
||||
Раскладка.Вставить("З", "P");
|
||||
Раскладка.Вставить("Х", "{");
|
||||
Раскладка.Вставить("Ъ", "}");
|
||||
Раскладка.Вставить("Ф", "A");
|
||||
Раскладка.Вставить("Ы", "S");
|
||||
Раскладка.Вставить("В", "D");
|
||||
Раскладка.Вставить("А", "F");
|
||||
Раскладка.Вставить("П", "G");
|
||||
Раскладка.Вставить("Р", "H");
|
||||
Раскладка.Вставить("О", "J");
|
||||
Раскладка.Вставить("Л", "K");
|
||||
Раскладка.Вставить("Д", "L");
|
||||
Раскладка.Вставить("Ж", ":");
|
||||
Раскладка.Вставить("Э", """");
|
||||
Раскладка.Вставить("Я", "Z");
|
||||
Раскладка.Вставить("Ч", "X");
|
||||
Раскладка.Вставить("С", "C");
|
||||
Раскладка.Вставить("М", "V");
|
||||
Раскладка.Вставить("И", "B");
|
||||
Раскладка.Вставить("Т", "N");
|
||||
Раскладка.Вставить("Ь", "M");
|
||||
Раскладка.Вставить("Б", "<");
|
||||
Раскладка.Вставить("Ю", ">");
|
||||
Раскладка.Вставить(",", "?");
|
||||
|
||||
Раскладка.Вставить("""", "@");
|
||||
Раскладка.Вставить(";", "$");
|
||||
Раскладка.Вставить(":", "^");
|
||||
Раскладка.Вставить("?", "&");
|
||||
|
||||
СимволыНовойСтроки = Новый Массив;
|
||||
Для Сч = 1 По СтрДлина(Строка) Цикл
|
||||
|
||||
Символ = Сред(Строка, Сч, 1);
|
||||
СоответствующийСимвол = Раскладка.Получить(Символ);
|
||||
Если СоответствующийСимвол = Неопределено Тогда
|
||||
СимволыНовойСтроки.Добавить(Символ);
|
||||
Иначе
|
||||
СимволыНовойСтроки.Добавить(СоответствующийСимвол);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Строка = СтрСоединить(СимволыНовойСтроки, "");
|
||||
|
||||
КонецПроцедуры
|
||||
```
|
@ -0,0 +1,190 @@
|
||||
---
|
||||
title: Представление отборов форматированной строкой
|
||||
slug: общие-управляемые-формы/представление-отборов-форматированной-строкой
|
||||
---
|
||||
|
||||
```bsl
|
||||
|
||||
// Функция - Представление отборов форматированной строкой
|
||||
//
|
||||
// Параметры:
|
||||
// ТаблицаОтборов - ТаблицаЗначений - Таблица отборов для формирования представлений. Колонки
|
||||
// * Имя - Строка - Имя отбора. Должно отвечать требованиям к идентификаторов 1С
|
||||
// * Значение - Произвольный - Значение установленного отбора
|
||||
// * Представление - Строка - Представление, которое будет выведено в итоговую строку. Если не заполнено, будет сформировано автоматически
|
||||
// по имени
|
||||
//
|
||||
// ВыводитьНезаполненные - Булево - Истина, если нужно выводить отборы, значения которых не заполнены. По умолчанию Ложь
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ФорматированнаяСтрока - Представление установленных отборов вида "УстановленыОтборы: ИмяОтбора: ЗначениеОтбора; ..."
|
||||
//
|
||||
Функция ПредставлениеОтборовФорматированнойСтрокой(ТаблицаОтборов, ВыводитьНезаполненные = Ложь) Экспорт
|
||||
|
||||
ПараметрыОформления = ПараметрыФорматированнойСтрокиПредставленияОтборов();
|
||||
|
||||
ОписанияОтборов = Новый Массив;
|
||||
|
||||
Для Каждого Строка Из ТаблицаОтборов Цикл
|
||||
|
||||
ИмяОтбора = Строка.Имя;
|
||||
ЗначениеОтбора = Строка.Значение;
|
||||
ПредставлениеОтбора = ?(ЗначениеЗаполнено(Строка.Представление),
|
||||
Строка.Представление,
|
||||
НатуральноеПредставлениеСтрокиCamelCase(ИмяОтбора));
|
||||
|
||||
Если ВыводитьНезаполненные Тогда
|
||||
ДобавитьОписаниеЭлементаОтбораВКоллекцию(ОписанияОтборов, ПредставлениеОтбора, ЗначениеОтбора, ПараметрыОформления);
|
||||
Иначе
|
||||
Если ТипЗнч(ЗначениеОтбора) = Тип("Булево") И Не ЗначениеОтбора Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ЗначениеОтбора) Тогда
|
||||
|
||||
Если ТипЗнч(ЗначениеОтбора) = Тип("СписокЗначений") Тогда
|
||||
ЗначениеОтбора = ЗначениеОтбора.ВыгрузитьЗначения();
|
||||
КонецЕсли;
|
||||
ДобавитьОписаниеЭлементаОтбораВКоллекцию(ОписанияОтборов, ПредставлениеОтбора, ЗначениеОтбора, ПараметрыОформления);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Если ОписанияОтборов.Количество() > 0 Тогда
|
||||
ОписанияОтборов.Удалить(ОписанияОтборов.ВГраница());
|
||||
ОписанияОтборов.Вставить(0,
|
||||
Новый ФорматированнаяСтрока(
|
||||
СтрШаблон("%1: ", ПараметрыОформления.ЗаголовокДекорации),
|
||||
ПараметрыОформления.ШрифтЗаголовкаДекорации,
|
||||
ПараметрыОформления.ЦветТекстаЗаголовкаДекорации));
|
||||
Иначе
|
||||
ОписанияОтборов.Вставить(0,
|
||||
Новый ФорматированнаяСтрока(
|
||||
ПараметрыОформления.ПредставлениеПустыхОтборов,
|
||||
ПараметрыОформления.ШрифтЗаголовкаДекорации,
|
||||
ПараметрыОформления.ЦветТекстаЗаголовкаДекорации));
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Новый ФорматированнаяСтрока(ОписанияОтборов);
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ДобавитьОписаниеЭлементаОтбораВКоллекцию(Описания, ПредставлениеЭлемента, ЗначениеЭлемента, ПараметрыОформления)
|
||||
|
||||
ЦветТекстаЗаголовкаПоля = ПараметрыОформления.ЦветТекстаЗаголовкаПоля;
|
||||
ШрифтЗаголовкаПоля = ПараметрыОформления.ШрифтЗаголовкаПоля;
|
||||
ЦветТекстаЗначения = ПараметрыОформления.ЦветТекстаЗначения;
|
||||
ШрифтЗначения = ПараметрыОформления.ШрифтЗначения;
|
||||
|
||||
Описания.Добавить(Новый ФорматированнаяСтрока(СтрШаблон("%1: ", ПредставлениеЭлемента), ШрифтЗаголовкаПоля , ЦветТекстаЗаголовкаПоля));
|
||||
|
||||
Если ЗначениеЗаполнено(ЗначениеЭлемента) Тогда
|
||||
|
||||
Если ТипЗнч(ЗначениеЭлемента) = Тип("Массив")
|
||||
Или ТипЗнч(ЗначениеЭлемента) = Тип("ФиксированныйМассив") Тогда
|
||||
|
||||
ПредставленияЭлементов = Новый Массив;
|
||||
|
||||
Для Каждого ТекЭлемент Из ЗначениеЭлемента Цикл
|
||||
|
||||
Если ЗначениеЗаполнено(ТекЭлемент) Тогда
|
||||
ПредставленияЭлементов.Добавить(Строка(ТекЭлемент));
|
||||
Иначе
|
||||
ПредставленияЭлементов.Добавить(НСтр("ru = '<Пустое значение>'"));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
ТекстЗначения = СтрСоединить(ПредставленияЭлементов, "; ");
|
||||
|
||||
ИначеЕсли ТипЗнч(ЗначениеЭлемента) = Тип("Дата") Тогда
|
||||
ТекстЗначения = Формат(ЗначениеЭлемента, "ДФ='ММММ гггг ""г.""'");
|
||||
Иначе
|
||||
ТекстЗначения = Строка(ЗначениеЭлемента);
|
||||
КонецЕсли;
|
||||
Иначе
|
||||
ТекстЗначения = НСтр("ru = '<Пустое значение>'");
|
||||
КонецЕсли;
|
||||
|
||||
Описания.Добавить(Новый ФорматированнаяСтрока(Строка(ТекстЗначения), ШрифтЗначения , ЦветТекстаЗначения));
|
||||
|
||||
Описания.Добавить("; ");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПараметрыФорматированнойСтрокиПредставленияОтборов()
|
||||
|
||||
ПараметрыПредставления = Новый Структура;
|
||||
ПараметрыПредставления.Вставить("ЦветТекстаЗаголовкаДекорации", Новый Цвет(0,150,70));
|
||||
ПараметрыПредставления.Вставить("ШрифтЗаголовкаДекорации", Новый Шрифт(, , Истина));
|
||||
ПараметрыПредставления.Вставить("ЦветТекстаЗаголовкаПоля", Новый Цвет(110, 110, 110));
|
||||
ПараметрыПредставления.Вставить("ШрифтЗаголовкаПоля", Новый Шрифт());
|
||||
ПараметрыПредставления.Вставить("ЦветТекстаЗначения", Новый Цвет(80, 40, 0));
|
||||
ПараметрыПредставления.Вставить("ШрифтЗначения", Новый Шрифт(, , Истина));
|
||||
ПараметрыПредставления.Вставить("ЗаголовокДекорации", "Установлены отборы");
|
||||
ПараметрыПредставления.Вставить("ПредставлениеПустыхОтборов", "Отборы не установлены");
|
||||
|
||||
Возврат ПараметрыПредставления;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Функция - Преобразует CamelCase в обычный текст.
|
||||
//
|
||||
// Параметры:
|
||||
// СтрокаCamelCase - Строка - строка в стиле CamelCase. Например ВДополнительномПодменю, ВводПоСтроке и т.д.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - преобразованный CamelCase в обычный текст. Например "HTTPСервис" => "HTTP сервис"
|
||||
//
|
||||
Функция НатуральноеПредставлениеСтрокиCamelCase(Знач СтрокаCamelCase) Экспорт
|
||||
|
||||
СтрокаCamelCase = СтрЗаменить(СтрокаCamelCase, "_", "");
|
||||
Результат = "";
|
||||
ПредыдущийСимвол = "";
|
||||
КоличествоЗаглавныхСимволов = 0;
|
||||
|
||||
Для Сч = 1 По СтрДлина(СтрокаCamelCase) Цикл
|
||||
|
||||
Символ = Сред(СтрокаCamelCase, Сч, 1);
|
||||
ЭтоЗаглавная = (Символ = ВРег(Символ));
|
||||
|
||||
Если НЕ ЭтоЗаглавная И КоличествоЗаглавныхСимволов >= 2 Тогда
|
||||
|
||||
Результат = Лев(Результат, СтрДлина(Результат) - 1) + " " + Прав(Результат, 1);
|
||||
|
||||
ИначеЕсли ЭтоЗаглавная И КоличествоЗаглавныхСимволов = 0 И ПредыдущийСимвол <> "" Тогда
|
||||
Результат = Результат + " ";
|
||||
КонецЕсли;
|
||||
|
||||
Результат = Результат + Символ;
|
||||
|
||||
Если ЭтоЗаглавная Тогда
|
||||
КоличествоЗаглавныхСимволов = КоличествоЗаглавныхСимволов + 1;
|
||||
Иначе
|
||||
КоличествоЗаглавныхСимволов = 0;
|
||||
КонецЕсли;
|
||||
|
||||
ПредыдущийСимвол = Символ;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Слова = СтрРазделить(Результат, " ");
|
||||
|
||||
Для Индекс = 1 По Слова.ВГраница() Цикл
|
||||
|
||||
Слово = Слова[Индекс];
|
||||
ЭтоАббревиатура = (Слово = ВРег(Слово));
|
||||
|
||||
Если СтрДлина(Слово) = 1 Или Не ЭтоАббревиатура Тогда // это точно не аббревиатура
|
||||
Слова[Индекс] = НРег(Слово);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СокрЛП(СтрСоединить(Слова, " "));
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user