Vip-алгоритм в "Анкетные данные для..." (Заработна
Модераторы: m0p3e, edward_K, Модераторы
- 
				Bulat-bash
 - Постоянный гость
 - Сообщения: 52
 - Зарегистрирован: 28 июн 2006, 08:45
 - Откуда: Уфа
 
Vip-алгоритм в "Анкетные данные для..." (Заработна
Есть интересный отчет в "Заработная плата" -> отчеты -> Реестры по перечислениям после расчета зарплаты -> Анкетные данные для экспорта реестров.
В данном отчете можно использовать Vip-алгоритмы.
Может кто-нибудь занет как в список Vip-алгоритмов добавить свой .
Наверное должен быть vih c описанием Obj-интерфейса, если у кого есть то выложите текст, пожалуйста.
			
			
									
						
										
						В данном отчете можно использовать Vip-алгоритмы.
Может кто-нибудь занет как в список Vip-алгоритмов добавить свой .
Наверное должен быть vih c описанием Obj-интерфейса, если у кого есть то выложите текст, пожалуйста.
- 
				Алексей
 - Местный житель
 - Сообщения: 2898
 - Зарегистрирован: 24 июн 2005, 12:12
 - Откуда: Иркутская область
 
Код: Выделить всё
/*
                      (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
- 
				Bulat-bash
 - Постоянный гость
 - Сообщения: 52
 - Зарегистрирован: 28 июн 2006, 08:45
 - Откуда: Уфа
 
- 
				Bulat-bash
 - Постоянный гость
 - Сообщения: 52
 - Зарегистрирован: 28 июн 2006, 08:45
 - Откуда: Уфа
 
и все-таки что-то не то
мне доводилось пользоваться 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-фейс.
Прошу помощи
			
			
									
						
										
						мне доводилось пользоваться 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-фейс.
Прошу помощи
- 
				Алексей
 - Местный житель
 - Сообщения: 2898
 - Зарегистрирован: 24 июн 2005, 12:12
 - Откуда: Иркутская область
 
Vih 
пример Z_PAYREP::VAL1
			
			
									
						
										
						Код: Выделить всё
/*
 ╔═══════════════════════════════════════════════════════════════════════════╗
 ║                                                   (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
Код: Выделить всё
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.
- 
				Bulat-bash
 - Постоянный гость
 - Сообщения: 52
 - Зарегистрирован: 28 июн 2006, 08:45
 - Откуда: Уфа
 
Здравствуйте.
У меня аналогичный вопрос.
В зар.плате есть отчет "Состав зар.платы в разрезе начислений и счетов". Там в дополнительных настройках можно добавить пользовательскую колонку, в которой указывается vip-алгоритм. Как сделать так, чтобы там появился свой алгоритм? Т.е. очень нужен текст vih c описанием нужного Obj-интерфейса.
Интерфейс strzar.
С уважением.
			
			
									
						
										
						У меня аналогичный вопрос.
В зар.плате есть отчет "Состав зар.платы в разрезе начислений и счетов". Там в дополнительных настройках можно добавить пользовательскую колонку, в которой указывается vip-алгоритм. Как сделать так, чтобы там появился свой алгоритм? Т.е. очень нужен текст vih c описанием нужного Obj-интерфейса.
Интерфейс strzar.
С уважением.
Код: Выделить всё
//********************************************************************************
//                                                        (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
;