Страница 1 из 1
Vip-алгоритм в "Анкетные данные для..." (Заработна
Добавлено: 21 май 2008, 10:00
Bulat-bash
Есть интересный отчет в "Заработная плата" -> отчеты -> Реестры по перечислениям после расчета зарплаты -> Анкетные данные для экспорта реестров.
В данном отчете можно использовать Vip-алгоритмы.
Может кто-нибудь занет как в список Vip-алгоритмов добавить свой .
Наверное должен быть vih c описанием Obj-интерфейса, если у кого есть то выложите текст, пожалуйста.
Добавлено: 21 май 2008, 10:25
Алексей
Код: Выделить всё
/*
(c) 1994,97 корпорация ГАЛАКТИКА
Проект : ГАЛАКТИКА
Система : Заработная плата
Назначение : objinterface IZarAlgorithm
Ответственный : Корзюк Виталий Францевич
Параметры : нет
*/
#ifndef __ZARALG_VIH__
#define __ZARALG_VIH__
#ifdef ComponentVersion
#component "Z_Zar"
#end
#doc
Часть API (application programming interface), дающего сторонним
разработчикам возможность оперативно расширять вычислительные возможности
алгоритмов расчета сумм оплат и удержаний. </brief>
<p>Для реализации своих специфических расчетов нужно написать vipinterface,
который будет реализовывать функции объектного интерфейса IZarAlgorithm:</p>
<pre class=example>
vipinterface ZarAlgorithm_MyInterface implements IZarAlgorithm;
</pre>
<p>Для облегчения поиска реализаций объектного интерфейса IZarAlgorithm
в ресурсном файле, их имена следует предварять префиксом "ZarAlgorithm_".
Префикс не следует указывать в вызове функции ZarAlg - он будет добавлен
процедурой загрузки автоматически.</p>
<pre class=example>
##include zaralg.vih
...
// одна из возможных реализаций
vipinterface ZarAlgorithm_Alg1 implements IZarAlgorithm;
interface ZarAlgorithm_Alg1 cacheable;
...
// использование в алгоритме расчета суммы какого-либо вида оплаты/удержания
... ZarAlg('Alg1', '...') ...
...
</pre>
#end
objinterface IZarAlgorithm;
#doc
Возвращает вычисленную алгоритмом сумму.
#end
function CalcSum(Parameter: string): double;
#doc
Возвращает краткое описание алгоритма.</brief>
<p>Используется при построении списка vip-алгоритмов.</p>
#end
function GetDescription: string;
end;
#endif
Добавлено: 21 май 2008, 11:01
Bulat-bash
Алексей Вы меня наверное не поняли!
При настройке отчета в окне =Текущие настройки= указывается:Флаг вставки записи в список — выбирается из перечня Vip-алгоритмов — например, VAL1 "Оклад сотрудника"- вот сюда бы мне вставить свой алгоритм.
Добавлено: 21 май 2008, 12:30
Алексей
я правильно вас понял. Вам надо написать свой вип алгоритм, подключить ресурс и он там должен появиться, как в ТХО АПИ.
Добавлено: 21 май 2008, 17:26
Bulat-bash
и все-таки что-то не то
мне доводилось пользоваться IZarAlgorithm
Пример:
objinterface IZarAlgorithm;
function CalcSum(Par : string) : double;
function GetDescription: string;
end;
vipinterface ZarAlgorithm_ktyfromnar implements IZarAlgorithm;
interface ZarAlgorithm_ktyfromnar Cacheable;
Create view
var x:double
select * from PRNARYAD
;
function CalcSum(Par : string) : double;
{
x:=1;
CalcSum:=x;
}
function GetDescription: string;
{
GetDescription:='кту из др. наряда'
}
end.
Не спорю по данному можно произвести расчеты и он появляется, например, в классификаторе алгоритмов, но именно в отчете "Анкетные данные для экспорта реестров"(для выбора алгоритма используется интерфейс 'EXPREESTRLIST') используется все-таки другой OBJ-фейс.
Прошу помощи
Добавлено: 22 май 2008, 05:43
Алексей
Vih
Код: Выделить всё
/*
╔═══════════════════════════════════════════════════════════════════════════╗
║ (c) корпорация ГАЛАКТИКА║
║ Галактика 5.85 : "" ║
║ Объектный интерфейс для работы с Plug-in`ами для электронной формы реестра║
╚═══════════════════════════════════════════════════════════════════════════╝
*/
#ifndef __EXPREES_VIH__
#define __EXPREES_VIH__
/*
...
// одна из возможных реализаций
vipinterface ExpReestr_Val1 implements IExpReestr;
Не рекомендуется часть после префикса делать больше чем 10 символов
interface ExpReestr_Val1 cacheable;
...
*/
#ifdef ComponentVersion
#component "Z_PayRep"
#end
#doc
Объектный интерфейс для работы с Plug-in`ами для электронной формы реестра
#end
objinterface IExpReestr;
#doc
#end
function GetValue(Parameter: comp; Parameter2: comp): string;//1-я ссылка на л\с, 2-я на Spplban (получаем значение)
#doc
#end
function GetFlag(Parameter: comp): boolean; // да или нет
#doc
получить строковое описание
#end
function GetDescription: string;
end;
#endif
пример Z_PAYREP::VAL1
Код: Выделить всё
vipinterface ExpReestr_Val1 implements IExpReestr // для получения оклада сотрудника
#ifdef ATL51
licensed (free)
#end
;
interface ExpReestr_Val1 'Оклад' EscClose;
create view as
select
*
from
lschet
;
function GetValue(Parameter: comp; Parameter2: comp): string;
{
if getfirst fastfirstrow lschet where ((Parameter== lschet.nrec))= tsOk
GetValue := string(lschet.tarif);
else
GetValue := '';
}
function getFlag(Parameter: comp): boolean;
{
getFlag := true;
}
function GetDescription: string;
{
GetDescription := 'Оклад сотрудника';
}
HandleEvent
cmInit:
Abort;
end;
end.
Добавлено: 22 май 2008, 08:28
Bulat-bash
АЛЕКСЕЙ - огромнейшее вам спасибо!
Добавлено: 28 авг 2008, 12:50
lena_b
Здравствуйте.
У меня аналогичный вопрос.
В зар.плате есть отчет "Состав зар.платы в разрезе начислений и счетов". Там в дополнительных настройках можно добавить пользовательскую колонку, в которой указывается vip-алгоритм. Как сделать так, чтобы там появился свой алгоритм? Т.е. очень нужен текст vih c описанием нужного Obj-интерфейса.
Интерфейс strzar.
С уважением.
Добавлено: 10 сен 2008, 19:15
edward_K
ZarNachislUder.vih ищите
свой фейс обзываете ZarNachislUder_???? , остальное все также как для ведомостей. А еще есть штука при выборе работников - пометка по выбору, где-то в доп.доке в галке было.
Добавлено: 18 сен 2008, 09:17
lena_b
Спасибо, с ZarNachislUder_ попробую, а остальное так же как для каких ведомостей?
ZarNachislUder.vih у меня нету, если есть у кого поделитесь, пожалуйста.
Вторую часть ответа не поняла
Какая пометка по выбору? Где работники выбираются?
Добавлено: 18 сен 2008, 09:28
RAJAH
Код: Выделить всё
//********************************************************************************
// (c) корпорация Галактика
// Галактика 7.12
// Режим : Объектный интерфейс для работы с справкой о зарплате в разрезе начисл. и удержаний
//********************************************************************************
#ifdef ComponentVersion
#component "z_zar"
#end
#doc
Объектный интерфейс для работы со справкой о зарплате в разрезе начисл. и счетов
#end
objInterface IZarNachislUder;
#doc
в функцию передается Nrec и номер таблицы, возвращает значение для колонки в
справке по зарплате в разрезе начислений и удержаний
#end
function GetValue(ParNrec : comp; NumbTable :longint ):string;
#doc
функция устанавливает название колонки в справке
#end
function SetColName: string;
#doc
функция возвращает описание интерфейса
#end
function GetDescription: string;
end;
vipInterface ZarNachislUder implements IZarNachislUder
#ifdef ATL51
Licensed(Free)
#end
;
Добавлено: 18 сен 2008, 12:28
lena_b
Спасибо большое!