|
склонение фио | ☑ | ||
---|---|---|---|---|
0
Proshka
16.01.12
✎
09:20
|
конфигурация УПП 8.2 1.3.20.1. Делаю отчет из спарвочника СОтрудникиПредприятия. Нужно вывести не просто наименвание а склоненное в дательном падеже (кому, чему). Как в правке, "Дана, такому то человеку т.д." Никто не подскажет как сделать? Есть ли типовые решения?
|
|||
1
ДенисЧ
16.01.12
✎
09:21
|
в зупе есть, однозначно.
|
|||
2
3V
16.01.12
✎
09:21
|
типовое что-то было, погугли
была и функция вроде где-то на семерке еще отдельная по склонению в разных падежах |
|||
3
Fish
16.01.12
✎
09:22
|
Вот, имхо лучше всего склоняет: http://www.superjur.narod.ru/padeg.htm
|
|||
4
marvak
16.01.12
✎
09:22
|
(0) namedecl.dll вроде, погугли
|
|||
5
Wobland
16.01.12
✎
09:22
|
// Функция предназначена для склонения ФИО
// // Входные параметры: // ФИО - ФИО // Падеж - номер падежа (2 - родительный, 3 - дательный, 4 - винительный, 5 - творительный, 6 - предложный) // Формат - флаги склонения ("1" - фамилия, "2" - имя, "3" - отчество), возможны комбинации флагов, например "123" // ПараметрСклонения - параметр склонения // // Возвращаемое значение: // Строка - Реузльтат склонения ФИО // Функция Просклонять(ФИО, Падеж = 2, Пол = 3, Формат = "123", ПараметрСклонения = 1) Экспорт |
|||
6
andrewks
16.01.12
✎
09:23
|
(3)+1
|
|||
7
KUBIK
16.01.12
✎
09:23
|
namedecl.dll смотри
|
|||
8
Proshka
16.01.12
✎
09:26
|
ага, спс, как раз название длл-ки искал, спс всем:)
|
|||
9
Proshka
16.01.12
✎
09:26
|
не помню просто как она точно называется:)
|
|||
10
Proshka
16.01.12
✎
09:35
|
(5)-этьо в ЗУПе?
|
|||
11
Wobland
16.01.12
✎
09:37
|
(10) а не знаю, но не только у меня это есть
|
|||
12
ThreeTONE
16.01.12
✎
09:41
|
у нас эта компонента далеко не все ФИО склоняет правильно.
после месяца использования пришлось её отключить |
|||
13
Proshka
16.01.12
✎
10:08
|
засада- тут оказывается еще и должность склонять надо...
|
|||
14
Proshka
16.01.12
✎
10:08
|
хотя...
|
|||
15
Fish
16.01.12
✎
10:13
|
(13) Пример в (3) умеет и должности склонять :))
|
|||
16
Proshka
16.01.12
✎
10:17
|
смотрите, делаю вот так:
Попытка Компонента = "NameDecl.dll"; ЗагрузитьВнешнююКомпоненту(компонента); КомпонентСклонения = Новый("AddIn.NameDeclension"); Исключение Сообщить("Не удалось загрузить внешнюю компоненту склонения имен по причине: " + ОписаниеОшибки()); //Возврат ""); КонецПопытки; НомерСклонения = 2; // Родительный падеж ТекстВРодительном = КомпонентСклонения.Просклонять("Иванов Иван Иваныч",НомерСклонения); Сообщить(ТекстВРодительном); // Выводит: Иванова Ивана Иваныча пишет что не загружена внешняя компонента...регистрировал уже все равно не так... |
|||
17
Wobland
16.01.12
✎
10:21
|
(16) не загружена и склоняет?
|
|||
18
Proshka
16.01.12
✎
10:24
|
да нет, сообщение выходит что не загружена и не склоняет
|
|||
19
Wobland
16.01.12
✎
10:26
|
(18) regsvr32 делал? что в ОписанииОшибки()?
|
|||
20
Proshka
16.01.12
✎
11:00
|
Не удалось загрузить внешнюю компоненту склонения имен по причине: {Форма.Отчет.Форма(104)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты
|
|||
21
Proshka
16.01.12
✎
11:00
|
regsvr32 конечно делал
|
|||
22
Fish
16.01.12
✎
11:01
|
(21) скачай уже (3) и будет тебе щастье. И не надо никаких корявых компонент :)))
|
|||
23
Proshka
16.01.12
✎
11:05
|
(22) там для семерки
|
|||
24
Fish
16.01.12
✎
11:06
|
(23) Там код универсальный, в 8.х работает так же :)))
|
|||
25
Fish
16.01.12
✎
11:18
|
+(24) Скачивать надо по 4-й ссылке
|
|||
26
Proshka
16.01.12
✎
11:34
|
{Форма.Отчет.Форма(51)}: Преобразование значения к типу Число не может быть выполнено
Возврат?(z5<4,Падеж(СокрЛП(СтрЗаменить(Сред(z1,Найти(z1+" "," ")+1),".",". ")),z2,z3,СтрЗаменить(z4,z5,ПадежС(?((z5=3)и(z7="ы"),z1,Лев(z1,Найти(z1+" "," ")-1)),z2,Сред("ча"+z7,?(z3=3,?(z6="оглы",1,?(z6="кызы",1,3)),z3),1),z5)+" "),z5+1),z4); |
|||
27
Wobland
16.01.12
✎
11:36
|
(26) z5? вроде только она
|
|||
28
Proshka
16.01.12
✎
11:38
|
в смысле?
|
|||
29
Wobland
16.01.12
✎
11:39
|
(28) смотри на з5 и думай, почему оно такое
|
|||
30
Fish
16.01.12
✎
11:39
|
А как вызываешь? Видимо напутал с параметрами. Строковый только первый, остальные должны быть числовые
|
|||
31
Proshka
16.01.12
✎
11:51
|
ФИО=Падеж(Результат1.Наименование,z2=3,z3=3,z4="123",z5=1);
|
|||
32
Wobland
16.01.12
✎
11:52
|
(31) то есть параметры со 2го по пятый булевские?
|
|||
33
Fish
16.01.12
✎
11:53
|
Жесть :))) Пиши так: ФИО=Падеж(Результат1.Наименование,3);
|
|||
34
Proshka
16.01.12
✎
11:54
|
блин, тупанул:) щас:)
|
|||
35
Fish
16.01.12
✎
11:54
|
Там же есть примеры:
Если Падеж(Фио ,1 ,3), то на выходе получим Фамилия Имя Отчество и т.д. // Если Падеж(Фио ,1 ,3,"1" ), то Фамилия // Если Падеж(Фио ,1 ,3,"2" ), то Имя // Если Падеж(Фио ,1 ,3,"3" ), то Отчество // Если Падеж(Фио, 1 ,3,"12" ), то Фамилия Имя // Если Падеж(Фио, 1 ,3,"23" ), то Имя Отчество // Если Падеж(Фио,-1 ,3,"231" ),то И. О. Фамилия // Если Падеж(Фио,-1 ,3,"23" ), то И. О. |
|||
36
Proshka
16.01.12
✎
11:56
|
да нет, я разобрался... Результат1.Наименование почему то пустой выходит....
|
|||
37
Proshka
16.01.12
✎
11:57
|
да глова уже кругом идет...сюда то написал после того как сам такую функцию написать пытался:)
|
|||
38
V_V_V
16.01.12
✎
12:12
|
||||
39
Proshka
16.01.12
✎
12:17
|
все нормально , должность не склоняет
пишу Дол=Падеж(Результат1.Должность,5); типа кем работает В Справочнике "Специалист ОМ" выдает "1ом ом"...че может быть? |
|||
40
Cube
16.01.12
✎
12:20
|
(39) Чем склоняешь-то? В любом случае и NameDecl.dll и (3) склоняют только ФИО...
|
|||
41
Cube
16.01.12
✎
12:21
|
Если интересно, то NameDecl.dll это очень ранняя версия морфера (http://morpher.ru ). Морфер для 1С сейчас платный.
|
|||
42
Proshka
16.01.12
✎
12:22
|
нет в разработке есть отдельная функция для склонения должности
|
|||
43
Wobland
16.01.12
✎
12:22
|
а функция ПадежС() вроде всё умеет, впрочем, не проверял
|
|||
44
Cube
16.01.12
✎
12:23
|
Ах да, забыл сказать - морфер-то умеет склонять и должности...
Испытать морфер можно тут: http://morpher.ru/Demo.aspx |
|||
45
Fish
16.01.12
✎
12:23
|
(39) А почитать комментарии внимательно никак? Там же написано: "ДЛЯ СКЛОНЕНИЯ ПРОФЕССИЙ ИСПОЛЬЗУЙТЕ ФУНКЦИЮ ПАДЕЖП И БУДЕТ ВАМ СЧАСТЬЕ!"
|
|||
46
Proshka
16.01.12
✎
12:24
|
да я и пишу блин Дол=ПадежП(Результат1.Должность,5); все равно так..
|
|||
47
Fish
16.01.12
✎
12:28
|
Дай емыл вышлю обработочку
|
|||
48
Proshka
16.01.12
✎
12:30
|
||||
49
Fish
16.01.12
✎
12:32
|
(48) ушло
|
|||
50
Proshka
16.01.12
✎
12:37
|
вижу..смотрел..не пойму что не так делаю...
|
|||
51
Proshka
16.01.12
✎
12:41
|
откуда подстановка в падежах берется?
|
|||
52
Fish
16.01.12
✎
12:43
|
какая подстановка?
|
|||
53
Proshka
16.01.12
✎
12:44
|
щас пиьсмо кину обратно...лови
|
|||
54
Fish
16.01.12
✎
12:49
|
Похоже ошибка здесь: Дол=ПадежП(Результат1.Должность,"5");
падеж должен быть числом, а у тебя строка :)) |
|||
55
Proshka
16.01.12
✎
13:02
|
я числом тоже пробовал, не канает
|
|||
56
Fish
16.01.12
✎
13:03
|
Странно, у меня в обработке всё работает нормально :)))
|
|||
57
Proshka
16.01.12
✎
13:04
|
все..догадался..., спс:) не там ошибка была
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |