|
Склонение ФИО | ☑ | ||
---|---|---|---|---|
0
USER48
13.12.12
✎
13:17
|
Имеется внешний отчет по выдаче справок о зарплате. Обработка использует внешнюю компоненту NameDecl.Dll. Файл с таким именем есть и папке с базой и в папке с файлом отчета, но при формировании справки выдается сообщение об ошибке, якобы компонента не найдена. Так где должен быть файл компоненты?
|
|||
1
Проггер
13.12.12
✎
13:19
|
Регистрация компоненты поможет
|
|||
2
andreymongol82
13.12.12
✎
13:19
|
(0) А может нужно еще зарегистрировать библиотеку-то NameDecl.Dll?
|
|||
3
Wobland
13.12.12
✎
13:20
|
(0) там, где зарегистрирован
|
|||
4
USER48
13.12.12
✎
13:20
|
Как это сделать подскажите пожалуйста!
|
|||
5
Wobland
13.12.12
✎
13:21
|
(4) натравить regsvr32
|
|||
6
guitar_player
13.12.12
✎
13:21
|
(1) не обязательно
(0) Компоненту храните в общем макете, при запуске системы подключайте, кэшируйте и все будет. Вот кусок кода из типовых: ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаСклоненияФИО", "Decl", ТипВнешнейКомпоненты.Native); компонента= Новый("AddIn.Decl.CNameDecl"); |
|||
7
andreymongol82
13.12.12
✎
13:21
|
(4) Обычно что-то вроде команды regsvr32 <путь к библиотеке>
|
|||
8
USER48
13.12.12
✎
13:42
|
Сейчас текс выглядит так:
Компонента = "NameDecl.DLL"; Попытка ЗагрузитьВнешнююКомпоненту(Компонента); Объект = Новый("AddIn.NameDeclension",Неопределено); Склонять = Истина; Исключение Сообщить("Не удалось загрузить внешнюю компоненту по причине: " + ОписаниеОшибки() + ", фамилии склоняться не будут"); Склонять = Ложь; КонецПопытки; В нем сто нужно изменить? |
|||
9
USER48
13.12.12
✎
15:00
|
Ну подскажите же кто-нибудь
|
|||
10
Wobland
13.12.12
✎
15:01
|
Компоненту храните в общем макете, при запуске системы подключайте, кэшируйте и все будет. Вот кусок кода из
типовых: ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаСклоненияФИО", "Decl", ТипВнешнейКомпоненты.Native); компонента= Новый("AddIn.Decl.CNameDecl"); |
|||
11
Maxus43
13.12.12
✎
15:03
|
так прикольней:
// Бибик Галушка Цой Николайчик Наталия Петровна Герценберг Кривошей Капица-Метелица // Если Падеж(Фио ,1 ,3), то на выходе получим Фамилия Имя Отчество и т.д. // Если Падеж(Фио ,1 ,3,"1" ), то Фамилия // Если Падеж(Фио ,1 ,3,"2" ), то Имя // Если Падеж(Фио ,1 ,3,"3" ), то Отчество // Если Падеж(Фио, 1 ,3,"12" ), то Фамилия Имя // Если Падеж(Фио, 1 ,3,"23" ), то Имя Отчество // Если Падеж(Фио,-1 ,3,"231" ),то И. О. Фамилия // Если Падеж(Фио,-1 ,3,"23" ), то И. О. // 10-11-2003 3-20 Функция глПадежФИО(z1,z2=2,z3=3,z4="123",z5=1) Экспорт z6=Нрег(Прав(СокрП(z1),4)); z7=Прав(z6,1); Возврат?(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); КонецФункции //глПадежФИО(z1,z2=2,z3=3,z4="123",z5=1) Функция глПадежП(Знач z1,Знач z2,z3=0) Экспорт z1=СокрЛП(z1);z4=Найти(z1+" "," ")+1;z5=Лев(z1,z4-2);z6=Прав(z5,2); z7=?((Найти("ая ий ый",z6)>0)и(Найти("ющий нный",Сред(z1,z4-5,4))=0)и(z3=0),"1","*"); Возврат НРег(?((z6="ая")или(Прав(z6,1)="а"),глПадежС(z5,z2,z7,1)+" "+глПадежС(Сред(z1,z4),z2),глПадежС(z5,z2,"ч",1)+?((z6="ий")и(Найти(z1," ")=0),""," "+?(z7="1",глПадежП(Сред(z1,z4),z2,Число(z7)),Сред(z1,z4))))); КонецФункции //глПадежП(Знач z1,Знач z2,z3=0) (с) |
|||
12
guitar_player
13.12.12
✎
15:09
|
(11) ога, только ошибок в этом алгоритме многовато...
|
|||
13
Maxus43
13.12.12
✎
15:10
|
(12) у меня лежит штук 3-4 алгоритмов по склонению, собираю как сувениры)
|
|||
14
USER48
13.12.12
✎
15:43
|
Всем спасибо! Проблему решил следующим образом: поместил файл NameDecl.Dll в папку bin, которая находиться в установленной платформе...
|
|||
15
Wobland
13.12.12
✎
15:44
|
(14) говорил я тебе, (3)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |