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

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

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

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;
}

Какой то витиеватый вопрос... скорей всего повлияет, например idки (используются для заполнения 6-ндфл) разнесутся на суммы, попавшие в ведомость.

Может вам сначала стоит попробовать? Хотя бы на копии базы?

Если вы хотите выполнить разноску в будущий месяц, то проблем в этом нет

Есть ли какой-то сакральный смысл, чтобы разносить сразу

В момент формирования ведомости программа "запоминает" какие суммы и по каким вида попали в ведомость.

(При повторном формировании ведомости суммы, попавшие в предыдущие ведомости, в текущую ведомость не попадут)

А чтобы в дальнейшем "дебет сошелся с кредитом" выполняется автоматическая разноска ведомости.

Основная претензия расчетчиков к данной настройке, что сразу выполняется разноска

Чем мешает разноска?

От "своих" расчетчиков я претензий не получал..

Бюджетники по 10 раз и так и сяк выверяют сформированные ведомости, прежде чем их разнести в ЛС

Да хоть 100.. 

Сформировали - не понравилось - удалили, сформировали заново.

Объясните на конкретном примере: чем вам мешаете разнесенная сумма?

но в июне месяце приказ на увольнение с 28 06 2020

Какие изменения вы внесли в программу в связи с этим "неожиданным" приказом на увольнение?

программа пересчитывает, и убирает отпуск только июнь месяц, а июль не снимает суммы по отпуску

Зайдите в ЛС

В правом верхнем углу выберите  07.2020

Встаньте на строку отпуска

Нажмите F4 (пересчитать строку)

Какой смысл перекладывать массив символов из BufCnf в StrSimv?

так тоже должно работать

char BufCnf[256];
GetCommonCnf("MINUS_DNI","отпуск",BufCnf,255);
int id = dney_v_tab(BufCnf,calm,info.z1,info.z2);

Добрый день.

char BufCnf[256];
GetCommonCnf("MINUS_DNI","отпуск",BufCnf,255);
return OemToAnsi(BufCnf);

1)Чтобы вывести таблицу расчета среднего нужно Calculate() запускать с параметром 1

2)В InitOtp2() передаются дополнительные параметры..

Настройка -> 4. Настройки параметров расчета -> 3. Настройка расчета отпуска -> Код вида для буфера

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