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

Pickcatalog2

Добавлено: 14 янв 2005, 11:38
oiko
Может ли кто-нибудь поделится параметрами вызова Pickcatalog2(integer,comp,comp) для версии 711? Интересует множественный выбор структурных единиц штатного расписания. Выбор одной единици осуществляется вроде как (-11,0,0).

Re: Pickcatalog2

Добавлено: 19 янв 2005, 04:56
AtlantG
Interface PickCatalog2 ' „R„Ѓ„‚„p„r„Ђ„‰„~„y„{„y ' escclose, doaccept, cyan;
show at (,1,,26);
....
....
As select
if ((IsValid(tnCatalogs) and (isMarkMode)),
(if (SearchMarker(Markers, Catalogs.NRec, IndexNo) = True, 'Ѓг',' ')),' '),
Catalogs.*
,ExtCatLinks.*, KatPodr.*
From
Catalogs,
synonym Catalogs Catal,
synonym Catalogs Catalogs2(readonly),
synonym Catalogs RankCat (ReadOnly),
synonym Catalogs Catalogs3(readonly),
synonym Catalogs MyCatalogs(readonly)
,ExtCatLinks, KatPodr
Where
((
Node == Catalogs.cParent and
Catalogs.cParent == Catal.Nrec
and Comp(Catalogs.CatData) == RankCat.NRec
)) and
(wOffInvisibleDel=0 or CAtalogs.DATOK=date(0,0,0)) // Galpro!

order byName by Catalogs.Name
order byCode by Catalogs.Code

bounds CatBrowsebyName as integer(0) == Catalogs.lPr and
CurMainLink == Catalogs.MainLink
ordered by Catalogs.Name


bounds CatBrowsebyCode as integer(0) == Catalogs.lPr and
CurMainLink == Catalogs.MainLink
ordered by Catalogs.Code;

parameters
iEntryPoint, // „„„Ђ„‰„{„p „r„‡„Ђ„t„p („{„Ђ„t „{„p„„„p„|„Ђ„s„p)
cCurPos, // NRec „„„u„{„…„‹„u„z („r„‡„Ђ„t), „r„Ќ„q„‚„p„~„~„Ђ„z („r„Ќ„‡„Ђ„t) „Ѓ„Ђ„x„y„€„y„y
parmode; // „r„‡„Ђ„t: 0 - „‚„u„w„y„} „r„Ќ„q„Ђ„‚„p
// 1 - „‚„u„w„y„} „‚„u„t„p„{„„„y„‚„Ђ„r„p„~„y„‘
// 2 - „‚„u„w„y„} „r„Ќ„q„Ђ„‚„p „ѓ „{„~„Ђ„Ѓ„{„Ђ„z „Ѓ„Ђ „r„ѓ„u„} „‚„u„s„y„Ђ„~„p„}
// ** „Ђ„ѓ„„„p„|„Ћ„~„Ќ„u „x„~„p„‰„u„~„y„‘ „y„ѓ„Ѓ„Ђ„|„Ћ„x„…„ђ„ѓ„‘ „„„Ђ„|„Ћ„{„Ђ „r „K„p„t„‚„p„‡!
// 3 - „r„Ќ„q„Ђ„‚ „y„x „ѓ„Ѓ„y„ѓ„{„p „Ђ„„„‰„u„„„Ђ„r
// 5 - „r„ѓ„u „{„p„„„p„|„Ђ„s„y, „‚„u„t„p„{„„„y„‚„Ђ„r„p„~„y„u
// 6 - „r„ѓ„u „Ђ„„„‰„u„„„Ќ, „‚„u„t„p„{„„„y„‚„Ђ„r„p„~„y„u
// 7 - „r„Ќ„q„Ђ„‚ „t„|„‘ „t„Ђ„Ѓ. „„„p„q„|„y„€
// „Ђ„ѓ„„„p„|„Ћ„~„Ќ„u „t„Ђ„q„p„r„|„u„~„Ќ BK
// 100-106 - „p„~„p„|„Ђ„s„y„‰„~„Ќ „r„Ќ„Љ„u„ѓ„„„Ђ„‘„‹„y„}, „„„Ђ„|„Ћ„{„Ђ „ѓ „Ђ„q„‚„p„q„Ђ„„„{„Ђ„z
// „}„p„‚„{„y„‚„Ђ„r„{„y („}„~„Ђ„w„u„ѓ„„„r„u„~„~„Ќ„z „r„Ќ„q„Ђ„‚)

Re: Pickcatalog2

Добавлено: 19 янв 2005, 04:57
AtlantG
parameters
iEntryPoint, // точка входа (код каталога)
cCurPos, // NRec текущей (вход), выбранной (выход) позиции
parmode; // вход: 0 - режим выбора
// 1 - режим редактирования
// 2 - режим выбора с кнопкой по всем регионам
// ** остальные значения используюся только в Кадрах!
// 3 - выбор из списка отчетов
// 5 - все каталоги, редактирование
// 6 - все отчеты, редактирование
// 7 - выбор для доп. таблиц
// остальные добавлены BK
// 100-106 - аналогичны вышестоящим, только с обработкой
// маркировки (множественный выбор)

Re: Pickcatalog2

Добавлено: 19 янв 2005, 05:03
AtlantG
Выбранные элементы в маркере
// Множественный выбор
if (isMarkMode) // множественный выбор
Markers := InitMarker('CatalogsMarker', 8, 200, 10)

Re: Pickcatalog2

Добавлено: 19 янв 2005, 05:07
AtlantG
а вот отчет по штатному с использ маркера

<......>

Markers1 := InitMarker('CatalogsMarker1', 8, 200, 10);
nRecRasesStS := 0;
DeptMarker := InitMarker('CatalogsMarker', 8, 200, 10);
CopyMarkers(Markers1, DeptMarker);
DoneMarker(DeptMarker, 'CatalogsMarker');
RunInterface(PickCatalog2, iEntryPoint, nRecRasesStS, cParMode);
DeptMarker := InitMarker('CatalogsMarker', 8, 200, 10);
CopyMarkers(DeptMarker, Markers1) ;
DoneMarker(DeptMarker, '');

<......>

// начало кода для подсчета количества штатных единиц и месячного фонда оплаты труда и вывод его в заголовок
nRecPodr := GetCatalogsNRec(-11);

_loop CatalogPodr
{
if (modifier GetFirst StaffStruct where (( CatalogPodr.cPodr == StaffStruct.Department
)) = tsOK)
do {
sumWorkStations := sumWorkStations + StaffStruct.WorkStations;
// доплаты в первую графу
sumRaise1 := 0;
Markers1 := InitMarker('CatalogsMarker1', 8, 200, 10);
countMark := GetMarkerCount(Markers1);
for (i := 0; i < countMark; i := i + 1)
{
GetMarker(Markers1, i, Item)
if (modifier GetFirst RaiseStS where ((
StaffStruct.NRec == RaiseStS.StaffStr and
Item == RaiseStS.RaiseType
)) = tsOK)
{
if (modifier GetFirst RaiseAlg where ((
RaiseStS.NRec == RaiseAlg.RaiseStSt
)) = tsOK)
{
if (RaiseAlg.RaiseAttr = 2)
{
sumRaise1 := sumRaise1 + StaffStruct.TaxRate * RaiseAlg.Sum/100;
}
else
sumRaise1 := sumRaise1 + RaiseAlg.Sum;
}
}
}
DoneMarker(Markers1, '');

Re: Pickcatalog2

Добавлено: 20 янв 2005, 11:42
oiko
Большой Thanks

Добавлено: 06 июн 2008, 10:04
RAJAH
А в 8.1 интерфейс Z_STAFFCAT::PICKCATALOG2 какие параметры имеет? По-моему, код каталога теперь второй параметр...

Добавлено: 06 июн 2008, 10:27
edward_K
exe\GalDoc\Z_StaffCat.chm

Interface Z_STAFFCAT::PickCatalog2
Выбор, редактирование системных каталогов

Параметры
IENTRYPOINT : Integer
CCURPOS : Comp
PARMODE : Comp

==============
для Parmode возможные значения не изменились - смотри выше

Re: Pickcatalog2

Добавлено: 05 апр 2011, 17:16
BlazeBio
Как можно сделать фильтр, или активировать существующий фильтр в интерфейсе Z_STAFFCAT::PICKCATALOG2 при вызове из своего собственного интерфейса, чтобы были видны только "Структурные единицы штатного расписания"? А то сейчас при

Код: Выделить всё

			Runinterface('Z_STAFFCAT::PICKCATALOG2',-11,444,0);
Отображается полный список каталогов. :(

Re: Pickcatalog2

Добавлено: 05 апр 2011, 17:56
RAJAH

Код: Выделить всё

RunInterface('Z_STAFFCAT::PICKCATALOG2', 0, 1D7h, 100)
У меня так "Структурные единицы штатного расписания" вызываются...

Re: Pickcatalog2

Добавлено: 05 апр 2011, 19:33
BlazeBio
Оказалось, как обычно моя забывчивость виновата. Корректировал в одном интерфейсе, а вызывал из другого, без параметров. :)