Имя: Пароль:
1C
Админ
Поиск в строке
0 Neznayka_5
 
11.04.12
11:58
Привет! Помогите пожалуйста. Как из строки ФИО "Иванов Сергей Романович" получить строки: Ф "Иванов", И "Сергей", О "Романович"?
1 guitar_player
 
11.04.12
12:01
(0) Типовой зуп посмотреть не предлогать?
форма сотрудника
2 hhhh
 
11.04.12
12:01
а взять функцию из типовой не судьба? Везде же есть это, готовое. Что вы на ровном месте велосипед изобретаете?
3 Neznayka_5
 
11.04.12
12:02
это предлагать) а ф форме сотрудника можно так обратиться: Справочники.Сотрудники.Фамилия ?
4 Neznayka_5
 
11.04.12
12:02
ну вот скажите мне типовую? я ж не знаю, где ее взять
5 guitar_player
 
11.04.12
12:03
оО
6 Fish
 
11.04.12
12:03
(4) Купить.
7 Neznayka_5
 
11.04.12
12:04
да что вы издеваетесь. скажите как вытащить просто фамилию и имя отдельно в упп. из справочника сотрудников?
8 zak555
 
11.04.12
12:05
от крой регистр сведений
9 Mort
 
11.04.12
12:06
(7) Функции работы со значениями типа Строка в СП открыть. А ну да, ещё подумать придется чуть-чуть.
10 Neznayka_5
 
11.04.12
12:07
(8) их тут много
11 Wobland
 
11.04.12
12:07
(7) на уж

   ФИОКлиента=СтрЗаменить(ФИОКлиента, " ", Символы.ПС);
   ФИОКлиента=Лев(СтрПолучитьСтроку(ФИОКлиента, 2), 1)+"."+Лев(СтрПолучитьСтроку(ФИОКлиента, 3), 1)+"."+" "+СтрПолучитьСтроку(ФИОКлиента, 1);
12 Kreont
 
11.04.12
12:08
МассивФИО = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(ФИО," ");
в МассивФИО[1] будет фамилия и т.п.
13 Neznayka_5
 
11.04.12
12:08
(11), (12) спасибо
14 zak555
 
11.04.12
12:09
скачал УППП и открываю
15 Pro-tone
 
11.04.12
12:11
Интересно а бывают ли ФИО более 4 слов разделенных пробелами (иноземцы там напр.) =) Если да, то (11)не подойдет.
16 Wobland
 
11.04.12
12:12
(15) там предварительная проверка есть ;)
17 Lama12
 
11.04.12
12:20
(7) Вообще то там функция есть. В УПП.
А еще есть регистр сведений ФИОФизЛиц.
18 zak555
 
11.04.12
12:22
открыл УПП и оказался в шоке :



Функция ФамилияИнициалыФизЛица(Объект = "", Фамилия = " ", Имя = " ", Отчество = " ") Экспорт

   ТипОбъекта = ТипЗнч(Объект);
   Если ТипОбъекта = Тип("Строка") Тогда
       ФИО = РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект)," ");
       
   ИначеЕсли ТипОбъекта = Тип("СправочникСсылка.ФизическиеЛица") или ТипОбъекта = Тип("СправочникОбъект.ФизическиеЛица") ИЛИ
             ТипОбъекта = Тип("СправочникСсылка.СотрудникиОрганизаций") или ТипОбъекта = Тип("СправочникОбъект.СотрудникиОрганизаций") Тогда
   
       Если ТипОбъекта = Тип("СправочникСсылка.ФизическиеЛица") или
           ТипОбъекта = Тип("СправочникСсылка.СотрудникиОрганизаций") Тогда
           Наименование = ПолучитьЗначениеРеквизита(Объект, "Наименование");
       Иначе
           Наименование = Объект.Наименование;
       КонецЕсли;
   
       // Избавление от возможных выражений в скобках, например (осн.), (вн. совм.).
       НачальнаяПозиция    = Найти(Наименование,"(");
       КонечнаяПозиция        = Найти(Наименование,")");
       ДлинаСтроки            = СтрДлина(Наименование);
       Если НачальнаяПозиция > 0 Тогда
           СтрокаДляОбработки = Лев(Наименование, НачальнаяПозиция - 1) + ?(КонечнаяПозиция > 0,Прав(Наименование, ДлинаСтроки - КонечнаяПозиция),"")
       Иначе
           СтрокаДляОбработки = Наименование;
       КонецЕсли;
       ФИО = РазложитьСтрокуВМассивПодстрок(СокрЛП(СтрокаДляОбработки)," ");
       
       
   Иначе
       
       // используем возможно переданные отдельные строки
       Возврат ?(НЕ ПустаяСтрока(Фамилия),
               Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Лев(Имя,1) + "." + ?(НЕ ПустаяСтрока(Отчество),Лев(Отчество,1)+".", ""), ""),
               "")
   КонецЕсли;
           
   КоличествоПодстрок = ФИО.Количество();
   Фамилия = ?(КоличествоПодстрок > 0,ФИО[0],"");
   Имя        = ?(КоличествоПодстрок > 1,ФИО[1],"");
   Отчество= ?(КоличествоПодстрок > 2,ФИО[2],"");
   
   Возврат ?(НЕ ПустаяСтрока(Фамилия),
               Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Лев(Имя,1) + "." + ?(НЕ ПустаяСтрока(Отчество),Лев(Отчество,1)+".", ""), ""),
               "");

КонецФункции
19 Lama12
 
11.04.12
12:24
Незнайка, а кем работаем?
20 Neznayka_5
 
11.04.12
12:36
программистом 1с)
21 Neznayka_5
 
11.04.12
12:38
я сделала через массив подстрок, как советовали в (12), но теперь другая беда. мне нужно иногда брать только первую букву имени. или отчества. можно это тоже через массивы сделать?
22 zak555
 
11.04.12
12:38
(20) разве такие есть ?
23 Neznayka_5
 
11.04.12
12:39
что за юмор у вас? у меня так записано в трудовой
24 zak555
 
11.04.12
12:39
(23) программист 1с ?
25 Neznayka_5
 
11.04.12
12:40
да. это странно?
26 Neznayka_5
 
11.04.12
12:40
помогите через массивы найти инициалы
27 Kreont
 
11.04.12
12:40
Лев(МассивФИО[1],1)
28 AF
 
11.04.12
12:41
(26) Мля... ВРег(Лев(Имя,1)) Учи матчасть
29 zak555
 
11.04.12
12:41
(25) очень !
ибо на 1с не программируют, а конфигурируют => это не программист, а конфигураст
срочно иди в отдел кадров
30 Neznayka_5
 
11.04.12
12:44
узнаю, у ребят в отделе. все ушли куда-то.
(27), (28), спасибо. помогло
31 Rizhij_Nikitos
 
11.04.12
12:45
(29) вы тогда скажите всем кто еще пишет в вакансии ищется 1С программист.
32 Neznayka_5
 
11.04.12
12:46
ну я тоже думала это стандартно как то.. хотя чаще я встречала инженер-программист
33 Kreont
 
11.04.12
12:46
конфигураст
+
узнаю, у ребят в отделе
:)
все ушли куда-то
на баш наверное...
34 zak555
 
11.04.12
12:46
(31) ко всем кому я прихожу - говорю : нет программистов 1с, есть только конфигурасты !
35 AF
 
11.04.12
12:47
(32) Программист, это не только ценный мех... )))
36 zak555
 
11.04.12
12:47
+ (34) они после этого начинают вызвать конфигурастов =)
37 Lama12
 
11.04.12
12:50
(25) Мало того что странно...
Потом тебе могут отказать в пенсии (не удивлюсь).
Сейчас, например, если в трудовой стоит должность не совпадающая ОКПДТР, и должность всякие льготы имеет, то государство такие льготы не выплачивает.
Так что подумай.
И кадровикам лучше сказать - что б мат. часть учили.
38 Wobland
 
11.04.12
12:50
(21) сколько я тут пропустил. (11) как работает?
39 Lama12
 
11.04.12
12:50
(32) Вот инженер-программист - правильно.
40 Smallrat
 
11.04.12
12:51
Когда 1С начнет выпускать книжки ? "программирование в УПП, первые шаги" и чтобы там были главы: "Наш первый запрос", "Поиск в строках? это просто!"
41 Kreont
 
11.04.12
12:52
(40) +1000, обработка строк это самое главное что надо знать в любом языке (90% задач им решаются :), все остальное уже не так важно
42 Lama12
 
11.04.12
13:02
(41) Вообще-то машины Тьюринга достаточно для выполнения необходимых вычислительных операций. Строки туда же ;-)
43 Neznayka_5
 
11.04.12
13:09
Ну я написала так: ФИ = МассивФИО[0] + "_" + МассивФИО[1];
Выдает Фамилия_Имя
44 Neznayka_5
 
11.04.12
13:09
(43) для (38)
45 hhhh
 
11.04.12
13:15
(43) название фирмы хоть озвучьте. Ну они и лохи. Брать на работу программистом УПП чела, который не знает как из строки выделить слово.
46 Wobland
 
11.04.12
13:19
(44) вот мне нужно было сделать типа "А.И. Пушкин". как я этого добился?
47 Neznayka_5
 
11.04.12
13:21
ФИ = Лев(МассивФИО[1],1) + "." + Лев(МассивФИО[2],1) + "." + МассивФИО[0] (46)
48 Wobland
 
11.04.12
13:24
(47) поздравлять?
49 Neznayka_5
 
11.04.12
13:25
ну пока еще вся задача не окончена) но это работает)
50 Wobland
 
11.04.12
13:26
(49) на здоровье
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс