|
Работа со строкой | ☑ | ||
---|---|---|---|---|
0
Minimiks
22.11.13
✎
11:26
|
Извиняюсь, нубас еще в 1с
Как мне такую запись в таблице "Иванов Иван Иванович" Привести к виду "Иванов И.И"? |
|||
1
Maxus43
22.11.13
✎
11:27
|
конфа какая? Есть общие функции, типо ФамилияИО
|
|||
2
bolobol
22.11.13
✎
11:28
|
Смотря, что за таблица. Если спиков физлиц из регистра, то ПриПолученииДанных использовать.
|
|||
3
Леопольд Роскошный
22.11.13
✎
11:29
|
// Функция формирует фамилию, имя и отчество одной строкой
// // Параметры // Фамилия - фамилия физ. лица. // Имя - имя физ. лица. // Отчество - отчество физ. лица. // ФИОКратко - Булево - если Истина (по умолчанию), Представление физ.лица включает фамилию и инициалы, если Ложь - фамилию и полностью имя и отчество // // Возвращаемое значение // Фамилия, имя, отчество одной строкой. // Функция ПолучитьФамилиюИмяОтчество(Фамилия = " ", Имя = " ", Отчество = " ", ФИОКратко = Истина) Экспорт Если ФИОКратко Тогда Возврат ?(НЕ ПустаяСтрока(Фамилия), Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Лев(Имя,1) + "." + ?(НЕ ПустаяСтрока(Отчество) , Лев(Отчество,1)+".", ""), ""), ""); Иначе Возврат ?(НЕ ПустаяСтрока(Фамилия), Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Имя + ?(НЕ ПустаяСтрока(Отчество) , " " + Отчество, ""), ""), ""); КонецЕсли; КонецФункции // ПолучитьФамилиюИмяОтчество() бух 2.0 например |
|||
4
pessok
22.11.13
✎
11:29
|
Если не (1) тогда загнать в массив по разделителю. В типовых есть реализации этой функции, ищи глобальным поиском ВМассивПодстрок
Потом второй и третий элемент обрезать через Лев(), потом к получившемуся прибавить точку |
|||
5
Minimiks
22.11.13
✎
11:29
|
Просто таблица значений
1с8.2 |
|||
6
Лодырь
22.11.13
✎
11:30
|
(0) Заодно расскажи нам что делать с именами в стиле:
1. Саша Ю 2. Барзоев Керим Буль-буль Оглы |
|||
7
pessok
22.11.13
✎
11:30
|
(6) СтрЗаменить("Саша Ю", "Саша Г") ;)
|
|||
8
Леопольд Роскошный
22.11.13
✎
11:35
|
(3)
еще это // Функция "расщепляет" строку на подстроки, используя заданный // разделитель. Разделитель может иметь любую длину. // Если в качестве разделителя задан пробел, рядом стоящие пробелы // считаются одним разделителем, а ведущие и хвостовые пробелы параметра Стр // игнорируются. // Например, // РазложитьСтрокуВМассивПодстрок(",ку,,,му", ",") возвратит массив значений из пяти элементов, // три из которых - пустые строки, а // РазложитьСтрокуВМассивПодстрок(" ку му", " ") возвратит массив значений из двух элементов // // Параметры: // Стр - строка, которую необходимо разложить на подстроки. // Параметр передается по значению. // Разделитель - строка-разделитель, по умолчанию - запятая. // // // Возвращаемое значение: // массив значений, элементы которого - подстроки // Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт МассивСтрок = Новый Массив(); Если Разделитель = " " Тогда Стр = СокрЛП(Стр); Пока 1=1 Цикл Поз = Найти(Стр,Разделитель); Если Поз=0 Тогда МассивСтрок.Добавить(Стр); Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр,Поз-1)); Стр = СокрЛ(Сред(Стр,Поз)); КонецЦикла; Иначе ДлинаРазделителя = СтрДлина(Разделитель); Пока 1=1 Цикл Поз = Найти(Стр,Разделитель); Если Поз=0 Тогда МассивСтрок.Добавить(Стр); Возврат МассивСтрок; КонецЕсли; МассивСтрок.Добавить(Лев(Стр,Поз-1)); Стр = Сред(Стр,Поз+ДлинаРазделителя); КонецЦикла; КонецЕсли; КонецФункции // глРазложить |
|||
9
zakidonoff
22.11.13
✎
11:38
|
(7) Скажет, что недостаточно параметров.
А так: СтрЗаменить("Саша Ю", "Саша Г",) вернёт "Саша Ю" |
|||
10
bolobol
22.11.13
✎
11:40
|
(5) Итого, если данные уже в ТЗ и ниоткуда каким-то там запросом не получаются, то остаётся только Для Каждого из строк выполнить преобразование.
А если есть запрос, то в него встроить соединение с регистром ФИО и создать поле: Фамилия + " " + ПОДСТРОКА(Имя, 1, 1) + ". " + ПОДСТРОКА(Отчество, 1, 1) + "." |
|||
11
pessok
22.11.13
✎
11:40
|
(9) во-истину пятница... ну все поняли
|
|||
12
Minimiks
22.11.13
✎
11:42
|
Всем спасибо!буду пробовать
|
|||
13
Леопольд Роскошный
22.11.13
✎
11:44
|
(12) че тут пробовать то...
|
|||
14
bolobol
22.11.13
✎
11:45
|
(13) Цитата из (0): "нубас еще в 1с"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |