Страница 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
				Спасибо большое!