|
|
Преобразовать фамилию. |
☑ |
|
0
wade25
24.11.11
✎
11:55
|
Добрый день.
Иванов Иван Иваны = Иванов И.И. Как лучше сделать?
|
|
|
1
zzerro
24.11.11
✎
11:57
|
(0) глянь как это в типовых делается, ну или вот тебе готовая функция
Функция ФИО(Сотрудник) Экспорт
// Описание: возвращает имя сотрудника в формате Фамилия И.О.
// Параметры: Сотрудник - Строка, СправочникСсылка.ФизическиеЛица, СправочникСсылка.Сотрудники
// Возвращаемое значение: строка, предсатавление Имени сотрудника в формате Фамилия И.О.
Перем ПолноеИмя, Фамилия, ИмяОтчество, Имя, Отчество;
Перем ПозицияПервогоПробела, ПозицияВторогоПробела;
Если НЕ ЗначениеЗаполнено(Сотрудник) Тогда
Возврат "";
КонецЕсли;
Если ТипЗнч(Сотрудник) = Тип("Строка") Тогда
ПолноеИмя = СокрЛП(Сотрудник);
ИначеЕсли ТипЗнч(Сотрудник) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
ПолноеИмя = СокрЛП(Сотрудник.Наименование);
ИначеЕсли ТипЗнч(Сотрудник) = Тип("СправочникСсылка.СотрудникиОрганизаций") Тогда
ПолноеИмя = СокрЛП(Сотрудник.ФизЛицо.Наименование);
Иначе
Возврат "";
КонецЕсли;
ПозицияПервогоПробела = Найти(ПолноеИмя, " ");
Если ПозицияПервогоПробела = 0 Тогда
Возврат ПолноеИмя;
Иначе
Фамилия = Лев(ПолноеИмя, ПозицияПервогоПробела);
ИмяОтчество = Сред(ПолноеИмя, ПозицияПервогоПробела+1);
ИмяОтчество = СокрЛ(ИмяОтчество);
Имя = Лев(ИмяОтчество, 1)+".";
ПозицияВторогоПробела = Найти(ИмяОтчество, " ");
Если ПозицияВторогоПробела = 0 Тогда
Возврат Фамилия+Имя;
Иначе
Отчество = Сред(ИмяОтчество, ПозицияВторогоПробела+1);
Отчество = СокрЛ(Отчество);
Отчество = Лев(Отчество, 1)+".";
Возврат Фамилия+Имя+Отчество;
КонецЕсли;
КонецЕсли;
КонецФункции //ФИО
|
|
|
2
Wobland
24.11.11
✎
11:57
|
ПолучитьСокращенноеФИО() поищи
|
|
|
3
wade25
24.11.11
✎
13:37
|
Класс) А есть типовая функция которая адрес в строку преобразовывает?)
|
|
|
4
Wobland
24.11.11
✎
13:37
|
(3) что есть адрес в этом случае?
|
|
|
5
Wobland
24.11.11
✎
13:38
|
// Функция находит актуальное значение адреса в контакной информации.
//
// Параметры:
// Объект - СправочникСсылка, объект контактной информации
// ТипАдреса - тип контактной информации
//
// Возвращаемое значение
// Строка - представление найденного адреса
//
Функция ПолучитьАдресИзКонтактнойИнформации(Объект, ТипАдреса = "") Экспорт
|
|
|
6
wade25
24.11.11
✎
13:38
|
(4) Вот так вот вывести: 111625, Москва г, блабла ул, дом № 25, корпус 1
|
|
|
7
wade25
24.11.11
✎
14:02
|
(5) ТипАдреса = "" .... что тут должно быть? Какой параметр?
|
|
|
8
Wobland
24.11.11
✎
14:05
|
Если ТипАдреса="Фактический" Тогда
Начало = "Факт";
ИначеЕсли ТипАдреса="Регистрации"
ИЛИ ТипАдреса="Юридический" Тогда
Начало = "Юр";
Иначе
Возврат "";
КонецЕсли;
...
ВидАдреса = Справочники.ВидыКонтактнойИнформации[Начало+"Адрес"+Окончание].ПолучитьОбъект().Ссылка;
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший