Склонение ФИО, должностей и подразделений в 1С? Это просто!    
   
Главная | Словоблудие | Изучаем | Подключаем | Склоняем | Файлы и ссылки
   

 

 


...и Ваши шедевры обретут ту самую изюминку, от которой пользователи будут лишь восхищенно стонать и кушать Вас томными глазами, не в силах сказать и слова! [Ю.Железняков aka SuperJur]

Инициализация

Инициализация библиотеки достаточно проста, единственная преследуемая цель при этом - создание COM-объекта, доступного 1С. На сегодняшний день это можно сделать уже не единственным способом, следует лишь упомянуть о местонахождении файла словаря исключений. Без словаря библиотеке тяжелее даются редкие составляющие ФИО, а также причудливая игра слов в наименованиях должностей и подразделений, поэтому лучше всегда располагайте словарь в одной папке с библиотекой. Правда, есть возможность указать расположение файла словаря, с которым работает библиотека. Это можно сделать в реестре (компонента предоставляет интерактивное управление) или программно.

Использование OLE Automation

В текущей версии библиотека Padeg реализует собственный объект сервера автоматизации, и 1С с такими объектами "дружит", о чем красноречиво свидетельствует пример в фирменной документации, посвященный использованию объекта "Excel.Application".

Об использовании библиотеки в различных средах программирования (в том числе и V7) подробно рассказано в сопроводительной документации, отметим такой общий момент: COM-объект (ведь это его функции мы собираемся использовать) должен быть зарегистрирован в операционной системе. Что это значит? Это значит, что до того, как мы начнем использовать функции этого объекта, мы должны обязательно выполнить (одного раза достаточно) следующие действия:

  1. скопировать в некую папку жесткого диска файл, содержащий объект, в нашем случае - padeg.dll
  2. выполнить в этой папке команду regsvr32 padeg.dll (это и есть регистрация в ОС)

Если при выполнении пункта 2 вы получите сообщение от процесса RegSvr32: [DllRegisterServer в Padeg.dll завершено успешно], то можете считать, что полдела сделано. Завершающий этап инициализации: создание ссылки на объект:

Перем PDS;
PDS = СоздатьОбъект( "Padeg.Declension" );

Вот так вот всё просто. Дальше ссылка на объект используется для вызова его методов:

Стр = PDS.GetFIOPadegFS( "Примеров Пример Примерович",, 3 );

Это самый простой способ использования padeg.dll, который позволяет с некоторыми допущениями, но, тем не менее, почти полностью использовать свой функционал в 1С. К сожалению системных администраторов, в случае применения функций склонения в сетевой ИБ, процедуру регистрации объекта библиотеки придется проделать на всех клиентских местах.

Использование внешней компоненты V7NDS

В те стародавние времена, когда возраст библиотеки padeg.dll измерялся еще версией 2.0, она общалась с внешним миром так, как это делает большинство DLL- через секцию Export. К сожалению, движок 1С не предоставляет функционала для программного подключения библиотек динамической загрузки. Вместо этого штатно (т.е документированно) можно подключить особым образом реализованные COM-сервера, так называемые "внешние компоненты". Специально для использования библиотеки "Склонение ФИО" в среде 1С и была создана первая версия внешней компоненты V7NDS.

Компонента ищет библиотеку так, как ищет 1С:Предприятие саму компоненту: сначала в каталоге информационной базы, затем - в каталоге с исполняемыми файлами 1С. Поэтому в случае применения на серверной базе данных, имеет смысл скопировать все необходимые файлы (3 шт) в каталог ИБ, никаких дополнительных походов по пользователям в таком случае не предстоит.

Если расположить файлы компоненты и библиотеки в каталоге информационной базы, то инициализация внешней компоненты может выглядеть так:

ЗагрузитьВнешнююКомпоненту( "ndeclin.dll" );
NDS = СоздатьОбъект( "AddIn.NameDeclination" );

Далее, как уже показано выше, используем ссылку на объект:

Стр = NDS.ПолучитьСклонениеФИОИзСтроки( "Примеров Пример Примерович",, "д" )

По полноте использования функционала библиотеки оба метода инициализации почти ничем не отличаются. Различается работа разработчика с объектами, созданными разными способами. В случае применения внешней компоненты:

  • допускается использование русскоязычных названий методов
  • в качестве входных параметров можно передавать элементы справочников
  • на странице свойств компоненты производится её настройка
  • исключается необходимость регистрации объектов на рабочих станциях пользователей, всю работу берут на себя встроенные механизмы 1С.

 

   
   
(C) 2007 NDeclin
   
Hosted by uCoz