43 lines
1.9 KiB
Markdown
43 lines
1.9 KiB
Markdown
```bsl
|
||
// Функция - Обращение к пользователю
|
||
//
|
||
// Параметры:
|
||
// Пользователь - СправочникСсылка.Пользователи -
|
||
//
|
||
// Возвращаемое значение:
|
||
// Строка - Возвращает обращение вида "Уважаемый <Фамилия Имя Отчество>" с учетом пола.
|
||
// Если не удается определить пол, возвращается "Уважаемый(ая)...",
|
||
// если не удается распарсить ФИО, вместо <Фамилия Имя Отчество> выводится "пользователь"
|
||
//
|
||
Функция ОбращениеКПользователю(Пользователь)
|
||
|
||
Обращение = "Уважаемый(ая)";
|
||
|
||
ФИО = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Пользователь, "Наименование", Истина);
|
||
|
||
Если Не ЗначениеЗаполнено(ФИО) Тогда
|
||
ФИО = "пользователь";
|
||
КонецЕсли;
|
||
|
||
Если ЗначениеЗаполнено(ФИО) Тогда
|
||
|
||
ЧастиИмени = СтрРазделить(ФИО, " ", Ложь);
|
||
|
||
Если ЧастиИмени.Количество() = 3 Тогда
|
||
|
||
Отчество = СокрЛП(ЧастиИмени.Получить(2));
|
||
|
||
Если СтрЗаканчиваетсяНа(НРег(Отчество), "вич") Тогда
|
||
Обращение = "Уважаемый";
|
||
ИначеЕсли СтрЗаканчиваетсяНа(НРег(Отчество), "вна") Тогда
|
||
Обращение = "Уважаемая";
|
||
КонецЕсли;
|
||
|
||
КонецЕсли;
|
||
|
||
КонецЕсли;
|
||
|
||
Возврат СтрШаблон("%1 %2!", Обращение, ФИО);
|
||
|
||
КонецФункции
|
||
``` |