Ваши комментарии
Добрый день
В поставке нет такого файла (с вопросами)
Попробуйте удалить файл, указанный в сообщении
Добрый день.
Поправим в следующем обновлении.
Добрый день.
Как исключать эти периоды из среднего осуждалось тут
Тогда бухгалтеру придется самостоятельно отслеживать попадание "опекунов" в СЗВ-М
Пример функции:
/* numSet- номер сетки row - номер строки в сетке ( нумерация с 1) d1 - дата начала периода (в виде строки дд.мм.гггг) d2 - дата окончания периода */ GetRateValues(numSet,row,d1,d2) { var map = CreateObject("MapString"); char zplPath[256]; GetCurrentDirectory(255,zplPath); // путь до zpl char filePath[256];sprintf(filePath,"%s\\TABLSET\\Tabl%d.Set",zplPath,numSet); // путь до сетки if ( access(filePath,0) ) { AmbaMessageBox("Файл с сеткой не найден","Ошибка",MB_OK|MB_ICONERROR,0); return map; } var db=KDateFromStr(d1); var de=KDateFromStr(d2); var tabl = CreateObject("CurPrnTbl"); tabl.InitialNameFile(to_string(filePath)); int countFld=tabl.Count_Fld();// число столбцов //цикл по столбцам double prevRateValue=0.; for(int idxFld=0; idxFld < countFld ;idxFld++) { string fldName=tabl.Name(idxFld);FreeSpaceString (fldName,3,""); var date=KDateFromStr(fldName); //нас интересую только столбцы с датой if(!date.IsValid()) continue; //значение ставки double rateValue=atof(tabl.Text(idxFld,row-1)); prevRateValue=rateValue; //дата не входит в интересующий нас период if (date.GT(de) || date.LT(db)) continue; //добавим значение ставки на начало периода if(!map.IsExist(db.GetDouble())) map.Add(db.GetDouble(),prevRateValue); //добавим значение ставки на дату date map.Add(date.GetDouble(),rateValue); } return map; }
Пример использования:
var map=GetRateValues(85,3,"01.01.2020","31.08.2020"); ShowRates(map,"01.01.2020","31.08.2020");
Результат:
Скрипт: USFUNCRW.S
Добрый день.
Сейчас скрипт наваяю..
Вы хотите, что первым всегда печатался "основной источник"?
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день