Ваши комментарии
Добрый день.
Сейчас скрипт наваяю..
Вы хотите, что первым всегда печатался "основной источник"?
Непонятно почему вы не можете дать развернутый ответ на поставленный вопрос...
Переделывать печатные формы для каждого банка, с сомнительной для пользователя выгодой, то еще удовольствие.
Извините, что утомил вас вопросами.
Включаю режим молчания.
З.Ы. Для сбера можете взять этот патч.( в поставку НЕ войдет)
В печатную форму добавлен столбец ТН:
З.ы.ы. с таким опытом сопровождения добавить столбец в печатную форму должно быть не сложным делом..
Добрый день.
Откуда родилась такая задача?
Мы никогда не занимались сортировкой "источников" в печатных формах...
Почему первым должен быть именно федеральный бюждет?
З.ы. на сортировку источников влияет не только настройка "порядок" в списке источников, но и в к.ч. "итоговый источник финансирования" и местоположение вида 305(источник, на котором заведен 305 считает главным, если включена настройка Учет ист.результ.п/н для сортировки Н-У:Настройка -> 6. Общие настройки системы -> 5. Специальные настройки системы)
Добрый день.
Данный вопрос обсуждался в этой теме
Я подумал у вас проблема с расчетом 121 вида.
При расчете часовой ставки для расчета процентных надбавок ( символ 4) берутся все виды, помеченные символом 1 в С1

Вы можете переопределить функцию для расчета ставки, либо переопределить сам 17 алгоритм
Если все сделали правильно - разницы по 040 и 070 быть не должно
Для 15го алгоритма вы в первом параметре можете указать номер столбца ТВХ, по которому должен рассчитываться вид...
1)В ТВХ добавляете столбец
2)В столбце отмечаете символом 1 те виды, на которые должен крутиться вид 121
3)Номер добавленного столбца указываете в параметрах алгоритма у 121 вида
Добрый день!
У надбавки к окладу (121 вид) какой алгоритм указан?
Сервис поддержки клиентов работает на платформе UserEcho
Пример функции:
/* 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; }
Пример использования:
Результат:
Скрипт: USFUNCRW.S