0
Отвечен

Как из выборки сумм по столбцу входимости, исключить суммы видов, которые уже закрыты?

svt 4 года назад в Прочее обновлен Гашков Николай (Эксперт) 4 года назад 2

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

Подскажите, а как из выборки сумм по столбцу входимости, исключить суммы видов, которые уже закрыты серединой месяца или до 24 июня . 

На рассмотрении

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

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

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