Функциональность добавления своих настроек
Добавлено: 29 сен 2016, 11:24
Приветствую всех. Кто- нибудь делал свои настройки в дополнение к системным? Вроде видел АПИ, но не могу найти..
Гал.8.1
Гал.8.1
Обсуждение различных вопросов, связанных с сопровождением, администрированием и программированием
https://ns1.tyumbit.ru/
Нашлась одна тема 9-летней свежестиhttp://www.tyumbit.ru/gal_forum/viewtop ... %D0%B8+apiDen писал(а):Уж обсуждалось не раз вроде. думаю в поиске можно найти подобные темы для понимания
Не нашлось TuneApi.rar. В ..GalSrv\frm...\C_tune.. нашёлся CreateTune.vih, но нужен примерчик, чтобы в целом понятьDen писал(а):Там был где то в папке Гал файлик TuneApi.rar
Код: Выделить всё
interface TunDover, AlwaysReturn
var
iCrTun: CreateTune;
...
handleevent
cminit:
{
iCrTun.AddPart(...);
iCrTun.AddTune(...);
iCrTun.SetNumberTune(...);
...
}
end;
end.
Код: Выделить всё
#include CreateTune.vih
#ifdef ComponentVersion
#component "F_USERREPORT"
#end
Handler with replace M_TranspTest_DateModifyTune on ExtensionPoint
epDateModifyTuneEx (TS : C_Tune::ObjStartCreateTuneEx)
Action
{
TS.SetLastDateModTuneComp('#__COMPONENT__', 01, 03, 2014);
Result := true;
}
Handler with replace My_CreateTune_ALL on extensionPoint
epCreateTuneComponent (TR: ObjCreateTuneEx) [201]
Action
{
...
Result := true;
}
Код: Выделить всё
#ifdef ComponentVersion
#component "C_Tune"
#end
//------------------------------------------------------------------------------
// ObjCreateTune - предоставляет доступ к функциям создания настроек
ObjInterface ObjCreateTune;
//------------------------------------------------------------------------------
Function AddPart ( SysType: word; Code: string; CodeParent: string; Name: string; Help: string ): word;
//----------------------------------------------------------------------------
// следующие 3 функции являются клоном AddPart с явно указанным типом
Function AddPartA(Code: string; Name: string; Help: string ): word; // All = Sys+User, имя родителя должно быть установлено SetParent
Function AddPartS(Code: string; Name: string; Help: string ): word; // Sys, имя родителя должно быть установлено SetParent
Function AddPartU(Code: string; Name: string; Help: string ): word; // User, имя родителя должно быть установлено SetParent
//----------------------------------------------------------------------------
Function AddTune ( SysType: word;
Code: string; CodeParent: string;
Name: string; ValType: word;
DefaultValue: string; Mask: string[20]; Help: string ): word;
//----------------------------------------------------------------------------
// следующие 2 функции являются клоном AddTune с явно указанным типом
Function AddTuneS(Code: string;
Name: string; ValType: word; // sys, имя родителя должно быть установлено SetParent
DefaultValue: string; Mask: string[20]; Help: string ): word;
Function AddTuneU(Code: string;
Name: string; ValType: word; // user,имя родителя должно быть установлено SetParent
DefaultValue: string; Mask: string[20]; Help: string ): word;
//----------------------------------------------------------------------------
Function AddListTune (Code: string; ValueNo: word; Value: string): word;
Function AddList (ValueNo: word; Value: string): word; // AddListTune(
Function AddIntrTune (Code: string; Intr: string): word;
Function AddIntr (Intr: string): word;
Function SetRghTune (Code: string; Rgh: word): word;
Function SetRgh (Rgh: word): word;
Function MakeInvisible: word;
Procedure CallPostMetod (Code: string); // вызвать отложенный пост-метод для настройки
Procedure SetNextNumberTune (Num: word); // установить следующий номер настройки
Procedure SetParent(CodeParent: string); // установить родителя
Procedure SetParentAndNumber(CodeParent: string; Num: word); // установить родителя и номер настройки
Procedure DeleteTune (Code: string); // удалить настройку
Procedure SetComponent(CompName: string); // установить имя компонента
Function SetCorpoType (Code: string; Tip: word): word; // установить Корпо-тип настройки
Function GetNumberTune (Code: string) : word; // получить номер настройки
Procedure SetNumberTune (Code: string; Num: word); // установить номер настройки
Procedure ReNumberPart (Code: string; isSubFolder: boolean); // перессчитать номера в разделе
Function GetMaxNumberTune: word; // получить Максимальный номер в реестре настроек
end;
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
VipInterface CreateTune implements ObjCreateTune Licensed(Free);
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// ObjStartCrTune - обработка даты модификации реестра растроек
ObjInterface ObjStartCreateTune;
//----------------------------------------------------------------------------
// Установка даты модификации реестра настроек
Procedure SetLastDateModTune (_Day, _Month, _Year : word);
end;
//------------------------------------------------------------------------------
VipInterface StartCreateTune implements ObjStartCreateTune Licensed(Free);
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Точки расширения для создания настроек в компонентах
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Точка вызывается из интерфейса CreateTune.
// C помощь вызова методов ObjCreateTune (вызовы TR.xxx) необходимо создать
// настройки компоненты
//
// ! Обработчик точки расширения всегда должен возвращать True
//
ExtensionPoint epCreateTuneComponent (TR : ObjCreateTune);
//
// Порядок выделения приоритета для точки расширения
//
// Компоненты C_ - от 11 до 40
// Компоненты L_ - от 41 до 80
// Компоненты F_ - от 81 до 120
// Компоненты M_ - от 121 до 160
// Компоненты Z_ - от 161 до 200
// Для прочих разработк (в том числе для партнеров - разработчиков)
// - от 201 до 240
// Диапазоны зерезервированы для системы, не использовать !!!
// - от 0 до 10
// - от 241 до 255
//
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Точка вызывается из интерфейса StartCrTune.
// C помощью TS.SetLastDateModTune(...) в обработчике точки расширения
// необходимо установить дату модификации реестра настроек.
// Если указанная дата будет больше чем дата в БД, то автоматически
// запустится интерфейс модификации реестра.
//
// ! Обработчик точки расширения всегда должен возвращать True
//
ExtensionPoint epDateModifyTune (TS : ObjStartCreateTune);
//------------------------------------------------------------------------------
#end // __CreateTune__vih__
Код: Выделить всё
#include CreateTune.vih
Handler with replace M_TranspTest_DateModifyTune on ExtensionPoint
epDateModifyTuneEx (TS : ObjStartCreateTuneEx)
Action
{
TS.SetLastDateModTuneComp('#__COMPONENT__', 01, 03, 2014);
Result := true;
}
Handler with replace My_CreateTune_ALL on extensionPoint
epCreateTuneComponent (TR: ObjCreateTuneEx) [201]
Action
{
Result := true;
TR.SetComponent('#__COMPONENT__');
TR.SetNextNumberTune(30000); //
//TR.SetParent('RARS_TRANSP')
//TR.AddTuneU('RARS_TRANSP.FILTR_PODR','наименование', ftList, '0', '', 'AvtoNastroikaPravaDostupa');
//TR.AddList(0, 'да');
//TR.AddList(1, 'нет');
TR.AddPart (ttSysUserTune,'SKYSHOP','TUNE','Небесная торговля',0);
TR.AddTune (ttSysTune, 'SKYSHOP.Trade','SKYSHOP','Торговля',ftList,'0','',0);
TR.AddListTune ('SKYSHOP.Trade',0,'безпошлинная');
TR.AddListTune ('SKYSHOP.Trade',1,'пошлинная');
TR.AddTune (ttSysTune,'SKYSHOP.DefOrg','SKYSHOP','Временный контрагент',ftComp,'0','',0);
TR.AddIntrTune ('SKYSHOP.DefOrg','GETKATORG_SKY');
TR.AddTune (ttUserTune,'SKYSHOP.DeficitTo','SKYSHOP','Списывать недостачи на разгильдяйство',ftBoolean,'0','',0);
TR.AddTune (ttUserTune, 'SKYSHOP.Flot','SKYSHOP','Сумма выдаваемых разменных денег',ftDouble,'1000.00','6666667.899',0);
TR.AddTune (ttUserTune,'SKYSHOP.DefNaklDate','SKYSHOP','Начальная дата периода просмотра/формирования накладных по умолчанию',ftDate,'01.01.2003','DD.MM.YYYY',0);
}