|
Помогите с Padeg.Declension не склоняет | ☑ | ||
---|---|---|---|---|
0
Sova112
26.01.17
✎
16:02
|
{ВнешняяОбработка.ВнешняяОбработка1.МодульОбъекта(121)}: Ошибка при вызове конструктора (COMОбъект)
Склонение = НОвый COMОбъект("Padeg.Declension"); по причине: Недопустимая строка с указанием класса ЧТо сделать в этому случае?) |
|||
1
TolikoSprosit
26.01.17
✎
16:39
|
Вот тебе королевская функция склонения(также склоняет професии):
Функция Склонение(ЭтоФио,Знач Текст,Падеж,Пол = 0)Экспорт Результат = ПолучитьРезультатИзРегистра(Текст,Падеж,Пол); Если НЕ ПустаяСтрока(Результат) Тогда Возврат Результат; КонецЕсли; //Склонение ФИО Если ЭтоФио Тогда Попытка Если ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаСклонения","NameDecl",ТипВнешнейКомпоненты.Native)ТОгда Объект = Новый("AddIn.NameDecl.CNameDecl"); Результат = Объект.Просклонять(Текст,Падеж,Пол); КонецЕсли; Исключение Сообщить("Не удалось загрузить внешнюю компаненту по причине: "+ОписаниеОшибки()); КонецПопытки; //Склонение должностей Иначе СоответствиеПадежей = Новый Соответствие; СоответствиеПадежей.Вставить(1,"И"); СоответствиеПадежей.Вставить(2,"Р"); СоответствиеПадежей.Вставить(3,"Д"); СоответствиеПадежей.Вставить(4,"В"); СоответствиеПадежей.Вставить(5,"Т"); СоответствиеПадежей.Вставить(6,"П_о"); ОпределениеМорфер=Новый WSОпределения("http://api.morpher.ru/WebService.asmx?WSDL"); Морфер=Новый WSПрокси(ОпределениеМорфер,"http://morpher.ru/","WebService","WebServiceSoap"); РезультатМорфер = Морфер.GetXml(Текст); ПадежМорфер = СоответствиеПадежей.Получить(Падеж); Если ПадежМорфер<>Неопределено Тогда Результат = РезультатМорфер[ПадежМорфер]; КонецЕсли; КонецЕсли; Если ПустаяСтрока(Результат) Тогда Сообщить("При склонении <" + Текст + "> произошла ошибка."); Иначе ЗаписатьРезультатВРегистр(Текст,Падеж,Пол,Результат); Возврат Результат; КонецЕсли; КонецФункции // () NameDecl - качается у 1с, в макет пихается архив(!) и регистрировать Dll не надо. |
|||
2
Fish
26.01.17
✎
16:42
|
(1) Есть гораздо лучшая функция вообще без внешних компонент и в три строчки кода.
|
|||
3
Fish
26.01.17
✎
16:43
|
+(2) Вот тут пример: Фамилия в родительном падеже с помощью функции Падеж()
|
|||
4
TolikoSprosit
26.01.17
✎
16:44
|
(3) Пользуйся ей, я же не заставляю)
|
|||
5
Fish
26.01.17
✎
16:46
|
(4) Ну так я и не разрешения спрашиваю, а просто говорю, что имеется функция, работающая корректнее, и без всякой лишней лабуды.
|
|||
6
Sova112
26.01.17
✎
16:47
|
вот нашла, (2). Спасибо
|
|||
7
Sova112
26.01.17
✎
16:47
|
||||
8
TolikoSprosit
26.01.17
✎
16:53
|
(5) Вы сами ее использовали? Были проблемы? Почему 1с ее не использует?)
|
|||
9
Fish
26.01.17
✎
17:00
|
(8) Я использую только её, т.к. с NameDecl натыкался и на ошибочное склонение, да и на другие косяки. Ну и тупо удобнее сразу получать сокращения типа Фамилия И.О. или И.О. Фамилия и т.п. в любом падеже. А ещё и должности склоняет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |