ОИ для работы с внешними классификаторами (в. 711)

База знаний

Модераторы: m0p3e, edward_K, Модераторы

ОИ для работы с внешними классификаторами (в. 711)

Сообщение Max_Fin » Чт май 12, 2005 16:00

Код: Выделить всё
/*
╔═══════════════════════════════════════════════════════════════════════════╗
║                     (c) 1994,2002 корпорация ГАЛАКТИКА                    ║
║ Проект        : ГАЛАКТИКА                                                 ║
║ Система       : Общая функциональность                                    ║
║ Версия        : 5.8                                                       ║
║ Назначение    : Функции для работы с внешними класификаторами документов  ║
║ Ответственный : Пстыга Михаил Васильевич                                  ║
╚═══════════════════════════════════════════════════════════════════════════╝
  Параметры:
    __wTable     - co-код Таблицы
    _ClassName   - наименование классификации
    _ClassCode   - код классификации
    _cRec        - ссылка на запись в таблице
    _NeedMessage - выдавать сообщение об ошибке

  Могут пригодиться:
    aAttrCm.vpp - обработка событий cmPickAttr, cmPickClass
    aAttrMn.vpp - пункты локального меню
*/


#ifndef _ExtClass_Func
#define _ExtClass_Func


ObjInterface objExtClass;

//------------------------------------------------------------------------------
//   Набор функций для создания, получения кода, показа ошибки

// возвращает Код Класса по названию класса для указанной таблицы
  Function GetClassCode ( _wTable: word;  _ClassName: string ) : word;
// Формирует классификацию для таблицы _wTable по названию; Возвращает код классификации. 0 - ошибка
  Function CreateClass(_wTable: word; _ClassName: string; _UniqFeat : word) : word;
// Добавляет сегмент в вн. классификацию. Возвращает nRec сегмента, иначе 0
  Function AddSegClass(_ClassCode : word; _SegName: string;  _SegCode: string; _cGroup: comp) : comp;

// Установить требование автоматического выдачи сообщения при ошибке; Возвращает предыдущее значение
  Function SetNeedMessage ( _NeedMessage : boolean ) : boolean;
// Выдать сообщение об ошибке
  Procedure ShowError (_err : word);
// получить номер последней ошибки
  Function LastError : word ;


!------------------------------------------------------------------------------
!   Набор функций для извлечения Названия и кода сегмента вн. классификации
// возвращает Название сегмента класса по коду класса для указанной таблицы с номером записи
  Function GetSegName ( _ClassCode : word; _cRec : comp ) : string ;
// возвращает Код сегмента класса по коду класса для указанной таблицы с номером записи
  Function GetSegCode ( _ClassCode : word; _cRec : comp ) : string ;


!------------------------------------------------------------------------------
!   Набор функций для удаления, перемещения и копирования классификации
//  копирование
Function CopyAllClassVal (_wTable: word;  _cRecFrom: comp;  _cRecTo : comp ) : boolean;

//  копирование  в другую таблицу   и создание если ее не существует для другой таблицы
Function CopyAllClassValEx (_wTableFrom: word;  _cRecFrom: comp;  _wTableTo: word; _cRecTo : comp ) : boolean;

// Копирует классификацию (ClassName, ClassSeg, ClassIer) из классификации с кодом _ClassCode в таблицу _wTable;
// Возвращает код классификации. 0 - ошибка
PUBLIC Function CopyClassEx (_CodeFrom: word; _wTableTo: word) : word;

// удаление всех значений (при удалении записи в таблице)
Function DeleteAllClassVal (_wTable: word; _cRec: comp) : boolean;

// перенос от старой записи к новой (откуда-куда)
Function MoveAllClassVal (_wTable: word; _cRecFrom: comp; _cRecTo: comp): boolean;

// просмотр/редактирование значения в интерфейсе
Function Pick(_CanEdit: boolean; _wTable: word;  _cRec: comp): boolean;


End;

VipInterface iExtClass implements objExtClass;

#end
Аватара пользователя
Max_Fin
На пенсии
 
Сообщения: 797
Зарегистрирован: Вт мар 29, 2005 17:49
Откуда: г. Тюмень
Reputation point: 0

Сообщение Maverick » Чт май 12, 2005 16:25

Р.S. Небольшая ложка дегтя :

Обработку добавления записи в ExClassVal придется писать самим, ибо разработчику сия вещь не нужна была, поэтому в OBJ он ее и не включил
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Аватара пользователя
Maverick
Абориген
 
Сообщения: 943
Зарегистрирован: Вт мар 29, 2005 17:49
Откуда: External Developer
Reputation point: 8


Вернуться в Опыт

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


cron