Страница 1 из 2

Vip в зарплате

Добавлено: 16 фев 2005, 16:47
s2176
Здравствуйте!
Кто-нибудь писал свои алгоритмы для расчета зарплаты с помощью ZARALG?
Создаю самый простой текст:

objinterface IZarAlgorithm;
function CalcSum: double;
function GetDescription: string;
end;
vipinterface ZarAlgorithm_Midd implements IZarAlgorithm;
interface ZarAlgorithm_Midd Cacheable;
Create view
as select * from persons;
function CalcSum: double;
{ CalcSum:=double(1050);
}
function GetDescription: string;
{ GetDescription:='проба пера'
}
end.

Компилируется без ошибок, но вылетает вместе с Гал-кой при попытке рассчитать...

Re: Vip в зарплате

Добавлено: 17 фев 2005, 11:09
edward_K
сдается причина в том, что описание функций не соответсвует тому что имеется сейчас.
если б указали версию и патч по зряплате сказал бы точнее. в 584 уже давно так
objinterface IZarAlgorithm;
// рассчитать сумму
function CalcSum(Parameter: string): double;
// краткое описание алгоритма
function GetDescription: string;
end;
и все пашет, только нужно логику понимать работы. Не рекомендую например генерить записи в nachisl и uder. Все команды типа Uch_SetDN не меняют предварительную разноску а меняют дни в Nachisl и т.п.

Re: Vip в зарплате

Добавлено: 17 фев 2005, 11:30
s2176
версия 85, zar08 с двумя фиксами.

Re: Vip в зарплате

Добавлено: 18 фев 2005, 11:14
edward_K
в 585 тоже такие же описания

Re: Vip в зарплате

Добавлено: 18 фев 2005, 11:49
s2176
А почему же вылетает????
Может кто-то писал такие интерфейсы,
я впервые взялась, может у меня где-то что-то не в том порядке написано....

Re: Vip в зарплате

Добавлено: 21 фев 2005, 11:19
edward_K
потому как должно быть
function CalcSum(Parameter: string): double;
а не function CalcSum: double;

Re: Vip в зарплате

Добавлено: 02 мар 2005, 16:48
s2176
добрый день!
Так должно быть?

objinterface IZarAlgorithm;
function CalcSum(Par: string): double;
function GetDescription: string;
end;
vipinterface ZarAlgorithm_Midd implements IZarAlgorithm;
interface ZarAlgorithm_Midd Cacheable;
Create view
as select * from persons;
function CalcSum(Par: string): double;
{ CalcSum:=double(1050);
}
function GetDescription: string;
{ GetDescription:='проба пера'
}
end.

А так тоже вылетает...
Не совсем понятно, что за параметр...

Re: Vip в зарплате

Добавлено: 03 мар 2005, 13:11
edward_K
а в алгортиме то что?
ZARALG('MIDD','')
параметр просто строковый - чтобы не писать кучу фейсов с аналогичными функциями.
я эти пользуюсь уже пару лет - и ниче, пашет.

Re: Vip в зарплате

Добавлено: 05 мар 2005, 12:57
s2176
В алгоритме именно так и написано:
ZarAlg('MIDD', '')....
и все равно вылетает по рантайму :-[
Я ведь специально максимально простой пример сделала: простое присвоение фиксированной суммы 1050р., просто, чтобы проверить работоспособность.

Re: Vip в зарплате

Добавлено: 05 мар 2005, 14:13
edward_K
objinterface IZarAlgorithm;
// рассчитать сумму
function CalcSum(Parameter: string): double;
// краткое описание алгоритма
function GetDescription: string;
end;
имя переменной вообще то важно в описании - может в этом дело?

Re: Vip в зарплате

Добавлено: 11 мар 2005, 14:37
s2176
Добрый день, Edward_K!
Ну, если не жалко, пришлите полный текст файла какого-нибудь очень простого расчета!
Буду очень благодарна!

Добавлено: 13 дек 2005, 15:50
Великий Пользователь
Help на мыло!
Создаем zar_alg.vih в нем прописываем

objinterface IZarAlgorithm;
function CalcSum(Par : string) : double;
function GetDescription : string;
end;
vipinterface ZarAlgorithm_Alg1 implements IZarAlgorithm;

Создаем main_zar.vip в нем пишем:
#include zar_Alg.vih

interface ZarAlgorithm_Alg1 cacheable;
create view;
function CalcSum(Par : string) : double;
{
CalcSum := double(1);
}
function GetDescription : string;
{
GetDescription := '1';
}
end.
Все работет на Галактике вер. 7.12 с патчами zar07 и fix01

Добавлено: 04 сен 2007, 17:43
gritv
Добрый день Вам! Если кто знает, что передается в качестве параметра в
function CalcSum(Par: string): double;
подскажите!!!

Добавлено: 05 сен 2007, 10:40
s2176
Добрый день, gritv!
Все что хотите, то и передавайте, только в строковом виде!
Это второй параметр из ZarAlg('Имя моего алгоритма', 'Мой параметр');
Вы его внутри CalcSum можете использовать по своему усмотрению, а если ничего не нужно, то передавайте пустую строку.
Например:
у нас есть алгоритм с номером 109, который равен
ZarAlg('VOZRAST', '3') (вычисляет возраст сотрудника и увеличивает его на 3)

Добавлено: 19 дек 2008, 10:50
Nikos
Добрый день!
Возникла необходимость рассчитать доплату, используя IZarAlgorithm. А какие данные можно использовать в вычислениях? Например, возможно есть переменная, в которой указывается NREC лицевого счета сотрудника, для которого выполняется расчет или еще что-то?