BasePrintPoSredn(calcSr, &ar) { return PriorityCall("UserBasePrintPoSredn","SysBasePrintPoSredn",calcSr,ar); } PrintHolidaysForCare1_5Years(calcSr, &ar) { return PriorityCall("UserPrintHolidaysForCare1_5Years","SysPrintHolidaysForCare1_5Years",calcSr,ar); } PrintDisabledChild(calcSr, &ar) { return PriorityCall("UserPrintDisabledChild","SysPrintDisabledChild",calcSr,ar); } SysBasePrintPoSredn(calcSr, &ar) { return 0; } SysPrintHolidaysForCare1_5Years(calcSr,&ar) { return 0; } SysPrintDisabledChild(calcSr,&ar) { return 0; } UserBasePrintPoSredn(calcSr, &ar) { var nastr = calcSr.GetNastr(); string nameshb = nastr.GetNameXlt(); if ( !Str_Cmp(nameshb," "," ") ) { // TODO разные шаблоны для бюджета и хозрасчета. Пока только бюджет. nameshb = "425.xlt"; } char Str[256]; var Caption=OemToAnsi("”®а¬  0504425"); string NameXLT = GetPathXLT("",nameshb); tPrepereOfficeForWork(); // определяем работать на Excel или на Calc (определяем какой из офисов (MS Office или OpenOffice) установлен и какой предпочтительнее) tCreateXlsObjects(static_cast_to_string(NameXLT),"”®а¬  425"); // создание основных объектов //tMakeXlsVisible(); try { tGetWshByIndex(1); // получаем ссылку на лист (worksheet) tWshSelect(); // TODO номер документа tWriteStringToCell2(1,82,OemToAnsi("1")); // текущая дата char day[256],monthName[256],year[256]; R_SYS_DATA("6",Str,20,0); tWriteStringToCell2(5,150,Str); var Date = CreateObject("KDate"); Date.SetDate(static_cast_to_string(Str)); sprintf(day,"%02d",Date.GetDay()); sprintf(monthName,"%.10s",OemToAnsi(Date.NameMonth(RODIT_PADEG,1))); sprintf(year,"%04d",Date.GetYear()); tWriteStringToCell2(5,60,day); tWriteStringToCell2(5,67,monthName); tWriteStringToCell2(5,87,year); // --- 1. Заполняем информацию относящуюся к организации GetEnterpriseVar("€ЊџЏ", Str,255); // Наименование предприятия или отделения иностранной организации tWriteStringToCell2(6,12,OemToAnsi(Str)); GetEnterpriseVar("ЋЉЏЋ", Str,127); tWriteStringToCell2(6,150,OemToAnsi(Str)); GetEnterpriseVar("€ЌЌ", Str,127); tWriteStringToCell2(8,109,OemToAnsi(Str)); GetEnterpriseVar("ЉЋ„ЏЋ‘“—", Str,127); tWriteStringToCell2(8,150,OemToAnsi(Str)); //Орган, осуществляющий функции и полномочия учредителя if ( IsCommonCnfExist("Organ","425") ) { char Organ[256]; GetCommonCnf("Organ","425",Organ,255); FreeSpaceString(Organ,2,""); if(strlen(Organ)) tWriteStringToCell2(10,38,OemToAnsi(Organ)); } // TODO тип расчета. Пока берется просто название преднастроенного режима string vidotp= nastr.GetNameRegim(); // if (tip_otp==0) vidotp = "Ежегодный основной оплачиваемый отпуск"; // else if (tip_otp==1) vidotp = "Учебный отпуск"; // else if (tip_otp==2) vidotp = "Дополнительный отпуск"; // else if (tip_otp==4) vidotp = "Компенсация за отпуск при увольнении"; tWriteStringToCell2(12,37,OemToAnsi(vidotp)); // TODO подумать над заголовком столбца в 425 форме tWriteStringToCell2(17,127,OemToAnsi(vidotp)); // Основание tWriteStringToCell2(13,11,OemToAnsi("ЏаЁЄ §")); //Глава по БК if ( IsCommonCnfExist("GlavaPoBK","425") ) { char glavaPoBK[81]; GetCommonCnf("GlavaPoBK","425",glavaPoBK,80); FreeSpaceString(glavaPoBK,2,""); if(strlen(glavaPoBK)) tWriteStringToCell2(10,150,OemToAnsi(glavaPoBK)); } // Подразделение GetKchValue("podr",Str,10,Date); int podr=atoi(Str); // // if(formCombine && formCombine!=GetGeneralCombineLS()) //печатаем форму не по основной должности // { // var CL=CreateObject("CombineList"); // int combinePodr=CL.GetPodr(formCombine); // if(combinePodr>0) // подразделение должности // podr=CL.GetPodr(formCombine); // } string NameP = GetOtdName(podr); tWriteStringToCell2(9,26,OemToAnsi(NameP)); // ФИО tWriteStringToCell2(11,23,OemToAnsi(GetFioFromKch())); // TODO через мэп Оплачиваемое время var d1 = nastr.GetDateSr(); var d2 = nastr.GetDateEndSr(); int cntDays = d2.Diff(d1)+1; if ( nastr.GetRVtoPay()<0.0001 ) sprintf(Str,"%d",cntDays); else sprintf(Str,"%.2f",nastr.GetRVtoPay()); tTextWrap("DW17",1); tWriteStringToCell2(19,127,Str); // дата начала отпуска (дата увольнения) string DatS = to_string(d1.GetDay())+" "+d1.NameMonth()+" Ј."; tWriteStringToCell2(19,27,OemToAnsi(DatS)); // дата окончания отпуска DatS = to_string(d2.GetDay())+" "+d2.NameMonth()+" Ј."; tWriteStringToCell2(19,57,OemToAnsi(DatS)); //Подножие: GetEnterpriseVar("ѓ‹Ѓ“•", Str,127); // ФИО гл.бухгалтера tWriteStringToCell2(33,36,OemToAnsi(Str)); //должность "бухгалтера" if ( IsCommonCnfExist("dolgnBuh","425") ) { char dolgnBuh[81]; GetCommonCnf("dolgnBuh","425",dolgnBuh,80); FreeSpaceString(dolgnBuh,2,""); if(strlen(dolgnBuh)) tWriteStringToCell2(33,1,OemToAnsi(dolgnBuh)); } //расшифровка подписи "бухгалтер" if ( IsCommonCnfExist("FIOBuh","425") ) { char fioBuh[81]; GetCommonCnf("FIOBuh","425",fioBuh,80); FreeSpaceString(fioBuh,2,""); if(strlen(fioBuh)) tWriteStringToCell2(33,36,OemToAnsi(fioBuh)); } //должность "исполнитель" if ( IsCommonCnfExist("dolgnExec","425") ) { char dolgnExecutor[81]; GetCommonCnf("dolgnExec","425",dolgnExecutor,80); FreeSpaceString(dolgnExecutor,2,""); if(strlen(dolgnExecutor)) tWriteStringToCell2(33,95,OemToAnsi(dolgnExecutor)); } //расшифровка подписи "исполнитель" if ( IsCommonCnfExist("FIOExec","425") ) { char fioExecutor[81]; GetCommonCnf("FIOExec","425",fioExecutor,80); FreeSpaceString(fioExecutor,2,""); if(strlen(fioExecutor)) tWriteStringToCell2(33,127,OemToAnsi(fioExecutor)); } tWriteStringToCell2(36,3,day); tWriteStringToCell2(36,10,monthName); tWriteStringToCell2(36,30,year); tWriteStringToCell2(36,79,day); tWriteStringToCell2(36,86,monthName); tWriteStringToCell2(36,106,year); tWshRemove(4); tWshRemove(3); tWshRemove(2); int CountSrc = nastr.GetListAProp().Size(); int CountFond = nastr.GetCountFond(); double Sum=0.; double Rv=0.; int idx=0; for (int idxMonth=0; idxMonth