Ваши комментарии

Добрый день.

Отключить сообщение можно через настройку 

Настройка -> 4. Настройки параметров расчета -> 3. Настройка расчета отпуска -> Проверка периода отпуска

Для совмещений в к.ч. нельзя указать "свой" график (график берется из той должности, которая является основной по отношению к совмещению)

"Свой график" может быть только у совместительства

Добрый день.

Настраиваете для подразделения 1 "ШЗ по умолчанию" 10960

В ЛС по подразделению 1 и источнику 2 проставляете ШЗ 10970 ( у строк видов по F9)

Либо корректируете USSHIFRZ.S  под свои нужды ( чтобы программа вычисляла ШЗ по вашим "хитрым" требованиям)

Добрый день.

Этих данных в программе нет - можете забивать данные прямо в форму..

вот так должно работать (в ExtSrcToInt()  нужно передавать не массив символов, а один символ)

istn=GetSrcName(ExtSrcToInt(ist[0])); 

З.ы.

1)лучше давать "говорящие" названия переменным

2)объявлять переменную лучше в месте ее использования

var Tabl = CreateObject("CurPrnTbl");
long adr = Tabl.GetAdrListTabl();
int rcr = Tabl.GetRcrInListTabl();
var svlist = CreateObject("CurPrnTbl");
svlist.Initial(adr);
char istCode[2]; istCode=svlist.TextS("Src",rcr); //здесь внешний код источника, при отладке вижу значение ist="О" (если источник О)
string istName=GetSrcName(ExtSrcToInt(istCode[0])); 

Добрый день!

По внешнему коду источника определяем внутренний код, а потом вызываем GetSrcName()...

GetSrcName(ExtSrcToInt('Х'))

Указывайте РВ только по первому источнику

Добрый вечер.

Примерно так:

int stolbec=25;
int month=mtek;
string date="24.06.2020";
GetSummFromValidRows(date,stolbec,month)
{
//получаем список видов
var nuList=GetListNu(stolbec);
var validOnDate=KDateFromStr(date);
double rez=0.;
//цикл по видам
for (bool Cur=nuList.InitIterator();Cur;Cur=nuList.Next())
{
int code=atoi(nuList.GetCurKey()); //внутренний код вида
int rowkod[ROWMAX];//массив с номерами строк
int cntrow=poiskosnkod(code,rowkod,1,0);
if ( cntrow==0 || KDateFromStr(GetEndDate(rowkod[0])).LT(validOnDate)) //строку не нашли или дата окончания строки continue ;

double summ=CollectSumm(code,0,month,CL_MV);//сумма по виду за месяц month
rez+=summ;
}
return rez;
}

GetListNu(stolbec)
//stolb - столбец ТВХ
{
var mapNu = CreateObject("MapString");
mapNu.Clear();
for (int i=0;i < cntplus;i++)
{
char Sim[2];Sim[1]=0;
Sim[0]=Sim_For_Intern_Cod(kodnu1[i],stolbec-1); //определяем символ в ТВХ
if ( Sim!="0" )
MapNu.Add(to_string(kodnu1[i]),"");
}
return mapNu;
}

Сервис поддержки клиентов работает на платформе UserEcho