/*
╔═══════════════════════════════════════════════════════════════════════════╗
║ (c) 1994,2002 корпорация ГАЛАКТИКА ║
║ Проект : ГАЛАКТИКА ║
║ Система : Общая функциональность ║
║ Версия : 5.8 ║
║ Назначение : Функции для работы с внешними атрибутами документов ║
║ Ответственный : Пстыга Михаил Васильевич ║
╚═══════════════════════════════════════════════════════════════════════════╝
Параметры:
_wTable - co-код Таблицы
_Name - наименование атрибута
_cAttrNam - код аттрибута
_cRec - ссылка на запись в таблице
_AttrType - Тип значения атрибута
доступны типы
cgAttrType_Str = 0; // 0 - STRING [80]
cgAttrType_Dbl = 1; // 1 - DOUBLE
cgAttrType_Date = 2; // 2 - DATE
cgAttrType_Time = 3; // 3 - TIME
cgAttrType_Memo = 4; // 4 - MEMO
_NeedMessage - выдавать сообщение об ошибке
//////////////////////// ВНЕШНИЕ АТРИБУТЫ ///////////////////////////
// для получения значения внешнего атрибута можно использовать Паскалевские функции
// xTxoGetExtAttr, где x = {s -string,do -double, d -date, t -time},
// не забывая заключать их в скобки InitServTXO/DoneServTXO
Могут пригодиться:
aAttrCm.vpp - обработка событий cmPickAttr, cmPickClass
aAttrMn.vpp - пункты локального меню
*/
#ifndef _ExtAttr_Func
#define _ExtAttr_Func
//**************************************************************
// атрибуты документов
ObjInterface objExtAttr;
!------------------------------------------------------------------------------
! Набор функций для создания атрибута, получения ID, показа ошибки
// Возвращает ссылку на внешний аттрибут если существует, если не найден - создает
Function CreateAttr ( _wTable : word; _Name : string; _Type : word ) : comp ;
// Возвращает ID (NRec) атрибута по коду таблицы и нименованию. 0 - не найден
Function AttrID ( _wTable : word; _Name : string ) : comp ;
// Возвращает тип атрибута по коду таблицы и нименованию. 13 - не найден
Function AttrType ( _wTable : word; _Name : string ) : word ;
// Возвращает true, если у записи с номером _cRec таблицы с кодом _wTable
// существует значение внешнего атрибута с именем _Name
function ValueExists(_wTable : word; _cRec: comp; _Name: string): boolean;
// Возвращает true, если у записи с номером _cRec таблицы с кодом _wTable
// существует значение внешнего атрибута с номером _cAttrNam
function ValueExistsID(_wTable : word; _cRec: comp; _cAttrNam: comp): boolean;
// Удалить значение внешнего атрибута с именем _Name у у записи с номером _cRec
// таблицы с кодом _wTable
function DeleteValue(_wTable : word; _cRec: comp; _Name: string): integer;
// Удалить значение внешнего атрибута с номером _cAttrNam у записи с номером _cRec
// таблицы с кодом _wTable
function DeleteValueID(_wTable : word; _cRec: comp; _cAttrNam: comp): integer;
// Установить требование автоматического выдачи сообщения при ошибке; Возвращает предыдущее значение
Function SetNeedMessage ( _NeedMessage : boolean ) : boolean;
// Выдать сообщение об ошибке
Procedure ShowError (_err : word);
// получить номер последней ошибки
Function LastError : word ;
!------------------------------------------------------------------------------
! Набор функций для извлечения содержания внешних аттрибутов для различных типов
// Функции возвращают значение внешнего аттрибута по коду таблицы, имени атрибута и nRec-ку записи
// для разных типов атрибута.
// sGetAttr - возвращает строку для всех типов, преобразовав тип в строку
function sGetAttr (_wTable : word; _cRec : comp; _Name : string) : string;
function doGetAttr(_wTable : word; _cRec : comp; _Name : string) : double;
function dGetAttr (_wTable : word; _cRec : comp; _Name : string) : date;
function tGetAttr (_wTable : word; _cRec : comp; _Name : string) : time;
function mGetAttr (_wTable : word; _cRec : comp; _Name : string) : string; // извлечь из мемо-поля строку
// Функции возвращают значение внешнего аттрибута по коду таблицы, коду атрибута и nRec-ку записи
// для разных типов атрибута.
// sGetAttrID - возвращает строку для всех типов, преобразовав тип в строку
function sGetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp) : string;
function doGetAttrID(_wTable : word; _cRec : comp; _cAttrNam : comp) : double;
function dGetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp) : date;
function tGetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp) : time;
function mGetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp) : string; // извлечь из мемо-поля строку
!------------------------------------------------------------------------------
! Набор функций для установки содержания внешних аттрибутов для различных типов
// Функции устанавливает значение внешнего аттрибута по коду таблицы, имени атрибута и nRec-ку записи
// для разных типов атрибута.
// !!! Если атрибут не найден, то он создается !!!
// Возвращает true - успешно, false - ошибка
function sSetAttr (_wTable : word; _cRec : comp; _Name : string; _Val : string) : boolean;
function doSetAttr(_wTable : word; _cRec : comp; _Name : string; _Val : double) : boolean;
function dSetAttr (_wTable : word; _cRec : comp; _Name : string; _Val : date) : boolean;
function tSetAttr (_wTable : word; _cRec : comp; _Name : string; _Val : time) : boolean;
function mSetAttr (_wTable : word; _cRec : comp; _Name : string; _Val : string) : boolean; // записать в мемо-поле строку
// Функции устанавливает значение внешнего аттрибута по коду таблицы, ID атрибута и nRec-ку записи
// для разных типов атрибута. Возвращает true - успешно, false - ошибка
function sSetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : string) : boolean;
function doSetAttrID(_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : double) : boolean;
function dSetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : date) : boolean;
function tSetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : time) : boolean;
function mSetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : string) : boolean; // записать в мемо-поле строку
//------------------------------------------------------------------------------
// Набор функций для удаления, перемещения и копирования атрибутов
// копирование атрибутов
Function CopyAllAttr ( _wTableFrom: word; _cRecFrom: comp; _cRecTo: comp ) : boolean;
// копирование атрибутов, возможно для разных таблиц. Если атрибут для цели в AttrNam не существует, то он создается.
Function CopyAllAttrEx ( _wTableFrom: word; _cRecFrom: comp; _wTableTo: word; _cRecTo: comp ) : boolean;
// удаление всех значений внеш.атрибутов (при удалении записи в таблице)
function DeleteAllAttr (_wTable: word; _cRec: comp) : boolean;
// перенос от старой записи к новой (откуда-куда)
function MoveAllAttr (_wTable: word; _cRecFrom: comp; _cRecTo : comp): boolean;
// просмотр/редактирование значения внешнего атрибута в интерфейсе
function Pick (_CanEdit: boolean; _wTable: word; _cRec: comp): boolean;
End;
VipInterface iExtAttr implements objExtAttr;
#end
/*
╔═══════════════════════════════════════════════════════════════════════════╗
║ (c) 1994,2002 корпорация ГАЛАКТИКА ║
║ Проект : ГАЛАКТИКА ║
║ Система : Общая функциональность ║
║ Версия : 5.8 ║
║ Назначение : Функции для работы с внешними атрибутами документов ║
║ Ответственный : Пстыга Михаил Васильевич ║
╚═══════════════════════════════════════════════════════════════════════════╝
Параметры:
_wTable - co-код Таблицы
_Name - наименование атрибута
_cAttrNam - код аттрибута
_cRec - ссылка на запись в таблице
_AttrType - Тип значения атрибута
доступны типы
cgAttrType_Str = 0; // 0 - STRING [80]
cgAttrType_Dbl = 1; // 1 - DOUBLE
cgAttrType_Date = 2; // 2 - DATE
cgAttrType_Time = 3; // 3 - TIME
cgAttrType_Memo = 4; // 4 - MEMO
cgAttrType_Comp = 5; // 5 - COMP
_NeedMessage - выдавать сообщение об ошибке
//////////////////////// ВНЕШНИЕ АТРИБУТЫ ///////////////////////////
// для получения значения внешнего атрибута можно использовать Паскалевские функции
// xTxoGetExtAttr, где x = {s -string,do -double, d -date, t -time},
// не забывая заключать их в скобки InitServTXO/DoneServTXO
Могут пригодиться:
aAttrCm.vpp - обработка событий cmPickAttr, cmPickClass
aAttrMn.vpp - пункты локального меню
*/
#ifndef _ExtAttr_Func
#define _ExtAttr_Func
#ifdef ComponentVersion
#component "C_ExtClass"
#end
//**************************************************************
// атрибуты документов
ObjInterface objExtAttr;
!------------------------------------------------------------------------------
! Набор функций для создания атрибута, получения ID, показа ошибки
// Возвращает ссылку на внешний аттрибут если существует, если не найден - создает
Function CreateAttr ( _wTable : word; _Name : string; _Type : word ) : comp ;
// Возвращает ID (NRec) атрибута по коду таблицы и нименованию. 0 - не найден
Function AttrID ( _wTable : word; _Name : string ) : comp ;
// Возвращает тип атрибута по коду таблицы и нименованию. 13 - не найден
Function AttrType ( _wTable : word; _Name : string ) : word ;
// Возвращает наименование аттрибута по его ID (NRec)
Function AttrName(_cRec: comp): string;
// Возвращает true, если у записи с номером _cRec таблицы с кодом _wTable
// существует значение внешнего атрибута с именем _Name
function ValueExists(_wTable : word; _cRec: comp; _Name: string): boolean;
// Возвращает true, если у записи с номером _cRec таблицы с кодом _wTable
// существует значение внешнего атрибута с номером _cAttrNam
function ValueExistsID(_wTable : word; _cRec: comp; _cAttrNam: comp): boolean;
// Удалить значение внешнего атрибута с именем _Name у у записи с номером _cRec таблицы с кодом _wTable
function DeleteValue(_wTable : word; _cRec: comp; _Name: string): integer;
// Удалить значение внешнего атрибута с номером _cAttrNam у записи с номером _cRec таблицы с кодом _wTable
function DeleteValueID(_wTable : word; _cRec: comp; _cAttrNam: comp): integer;
// Установить требование автоматического выдачи сообщения при ошибке; Возвращает предыдущее значение
Function SetNeedMessage ( _NeedMessage : boolean ) : boolean;
// Выдать сообщение об ошибке
Procedure ShowError (_err : word);
// получить номер последней ошибки
Function LastError : word ;
#ifdef _AttrValComp_
// Создает внешний аттрибут с типом Comp. Если существует - возвращает ссылку.
Function CreateAttrComp ( _wTable : word; _Name : string; _Type : word; _SysNumKau : word; _KodKau : word) : comp;
// параметры:
// *** _SysNumKau - системный номер аналитики. Доступны константы
// cgKatKau_Table = 0; // системные
// cgKatKau_User = 1; // пользовательские
// cgKatKau_System = 100; // системные каталоги не являющиеся аналитикой (любая таблица Галактики)
// *** _KodKau - код аналитики для _SysNumKau=0 или 1. Или код таблицы для _SysNumKau=100
// Возвращает код КАУ(или код таблицы) по ID атрибута
Function AttrCompKodKau ( _cAttrNam: comp) : word;
// Возвращает системный номер КАУ по ID атрибута
Function AttrCompSysNumKau ( _cAttrNam: comp) : word;
#end
!------------------------------------------------------------------------------
! Набор функций для извлечения содержания внешних аттрибутов для различных типов
// Функции возвращают значение внешнего аттрибута по коду таблицы, имени атрибута и nRec-ку записи
// для разных типов атрибута.
// sGetAttr - возвращает строку для всех типов, преобразовав тип в строку
function sGetAttr (_wTable : word; _cRec : comp; _Name : string) : string;
function doGetAttr(_wTable : word; _cRec : comp; _Name : string) : double;
function dGetAttr (_wTable : word; _cRec : comp; _Name : string) : date;
function tGetAttr (_wTable : word; _cRec : comp; _Name : string) : time;
function mGetAttr (_wTable : word; _cRec : comp; _Name : string) : string; // извлечь из мемо-поля строку
#ifdef _AttrValComp_
function coGetAttr(_wTable : word; _cRec : comp; _Name : string) : comp;
#end
// Функции возвращают значение внешнего аттрибута по коду таблицы, коду атрибута и nRec-ку записи
// для разных типов атрибута.
// sGetAttrID - возвращает строку для всех типов, преобразовав тип в строку
function sGetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp) : string;
function doGetAttrID(_wTable : word; _cRec : comp; _cAttrNam : comp) : double;
function dGetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp) : date;
function tGetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp) : time;
function mGetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp) : string; // извлечь из мемо-поля строку
#ifdef _AttrValComp_
function coGetAttrID(_wTable : word; _cRec : comp; _cAttrNam : comp) : comp;
#end
!------------------------------------------------------------------------------
! Набор функций для установки содержания внешних аттрибутов для различных типов
// Функции устанавливает значение внешнего аттрибута по коду таблицы, имени атрибута и nRec-ку записи
// для разных типов атрибута.
// !!! Если атрибут не найден, то он создается !!!
// Возвращает true - успешно, false - ошибка
function sSetAttr (_wTable : word; _cRec : comp; _Name : string; _Val : string) : boolean;
function doSetAttr(_wTable : word; _cRec : comp; _Name : string; _Val : double) : boolean;
function dSetAttr (_wTable : word; _cRec : comp; _Name : string; _Val : date) : boolean;
function tSetAttr (_wTable : word; _cRec : comp; _Name : string; _Val : time) : boolean;
function mSetAttr (_wTable : word; _cRec : comp; _Name : string; _Val : string) : boolean; // записать в мемо-поле строку
#ifdef _AttrValComp_
function coSetAttr(_wTable : word; _cRec : comp; _Name : string; _Val : comp; _ValStr : string) : boolean;
#end
// Функции устанавливает значение внешнего аттрибута по коду таблицы, ID атрибута и nRec-ку записи
// для разных типов атрибута. Возвращает true - успешно, false - ошибка
function sSetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : string) : boolean;
function doSetAttrID(_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : double) : boolean;
function dSetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : date) : boolean;
function tSetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : time) : boolean;
function mSetAttrID (_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : string) : boolean; // записать в мемо-поле строку
#ifdef _AttrValComp_
function coSetAttrID(_wTable : word; _cRec : comp; _cAttrNam : comp; _Val : comp; _ValStr : string) : boolean;
#end
//------------------------------------------------------------------------------
// Набор функций для удаления, перемещения и копирования атрибутов
// копирование атрибутов
Function CopyAllAttr ( _wTableFrom: word; _cRecFrom: comp; _cRecTo: comp ) : boolean;
// копирование атрибутов, возможно для разных таблиц. Если атрибут для цели в AttrNam не существует, то он создается.
Function CopyAllAttrEx ( _wTableFrom: word; _cRecFrom: comp; _wTableTo: word; _cRecTo: comp ) : boolean;
// удаление всех значений внеш.атрибутов (при удалении записи в таблице)
function DeleteAllAttr (_wTable: word; _cRec: comp) : boolean;
// перенос от старой записи к новой (откуда-куда)
function MoveAllAttr (_wTable: word; _cRecFrom: comp; _cRecTo : comp): boolean;
// просмотр/редактирование значения внешнего атрибута в интерфейсе
function Pick (_CanEdit: boolean; _wTable: word; _cRec: comp): boolean;
#ifdef _AttrValComp_
// Модификация названия внешнего атрибута (для _isCreateAttr=True: если не найден - создаст)
function ReNameAttr (_wTable : word; _Name : string; _Type : word; _SysNumKau : word; _KodKau : word; _NameNew : string; _isCreateAttr : boolean) : comp ;
#end
// удаление внеш.атрибута по его имени и типу
function DeleteAttr (_wTable: word; _Name : string; _Type : word) : boolean;
End;
VipInterface iExtAttr implements objExtAttr;
#end