Имя: Пароль:
1C
 
Как разобрать Имя, Фамилию, Отчество на отдельные состовляющие
0 bam
 
24.06.04
12:55
Как получить отдельно имя фамилию и отчество, в справочнике сотрудников - то они все в одном свойстве: наименование
1 Миха
 
24.06.04
13:00
разобрать строку на 3 составляющие, учитывая пробелы
2 Волшебник
 
24.06.04
13:05
см. функцию РаздФИО
в конфигурации Мини-зарплата
http://www.mista.ru/tutor_1c/files/mini_zarplata.zip

или в типовых конфигурациях
3 bam
 
24.06.04
13:06
Вопрос по-другому, есть ли готовое решение?
4 bam
 
24.06.04
13:08
В мини зарплате где эта функция?
5 Волшебник
 
24.06.04
13:08
В Глобальном модуле.
6 Миха
 
24.06.04
13:09
есть, ответ в (2)
7 bam
 
24.06.04
13:11
Спасибо нашел!
8 Волшебник
 
24.06.04
13:12
Вот теория выделения фамилии, имени и отчества из ФИО:
http://www.aot.ru/docs/graphan.html
9 Волшебник
 
24.06.04
13:15
1-й вариант:

ФИО=СокрЛП(ФИО);
Пока СтрНайти(ФИО, " ")<>0 Цикл
 ФИО=СтрЗаменить(ФИО, " ", " ");
КонецЦикла;
ФИО=СтрЗаменить(ФИО, " ", РазделительСтрок);
Фамилия=СтрПолучитьСтроку(ФИО, 1);
Имя=СтрПолучитьСтроку(ФИО, 2);
Отчество=СтрПолучитьСтроку(ФИО, 3);

-------------------------------------------
2-й вариант:

Фамилия = "";
Имя = "";
Отчество ="";

ФИО=СокрЛП(ФИО);
ОбщДлина=СтрДлина(ФИО);

//поделим на фамилию, имя и очество
// позиция первого пробела
ПервПроб = Hайти(ФИО," ");
Если ПервПроб=0 Тогда
   Фамилия = СокрЛ(ФИО);
Иначе
   Фамилия = Лев(ФИО,ПервПроб);
   ИО = Сред(ФИО,ПервПроб+1);
   ИО = СокрЛП(ИО);
   // позиция второго пробела
   ВтПроб = Hайти(ИО," ");
   Если ВтПроб = 0 Тогда
       Имя = СокрЛП(ИО);
   Иначе
       Имя = СокрЛ(Лев(ИО,ВтПроб-1));
       Отчество =СокрЛ((Сред(ИО,ВтПроб+1)));
   КонецЕсли;
КонецЕсли;
10 kаdr
 
24.06.04
13:15
Да... Теория... Разделить строку по пробелам это, конечно, целая наука
11 bam
 
24.06.04
13:21
Спасибо, Вам парни! За помощь!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший