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

Почему не получится? Цикл по месяцам нужного периода, суммируем месячные значения и вуаля!

Есть переменная InternCodE, в которой находится внутренний точный код вида печатаемой строки.

Через  GetShifrZatrRow(double IntCode)  можно получить шифр затрат...

Добавить печать значения ШЗ можно например в comexcel.S в функции StringExcel(Part)

Например:

      sprintf(cell,"S%d",NumStr); tWriteStringToCell(cell,OemToAnsi(ts1));
      sprintf(cell,"T%d",NumStr); tWriteStringToCell(cell,OemToAnsi(arg));
   }

Заменяем на

      sprintf(cell,"S%d",NumStr); tWriteStringToCell(cell,OemToAnsi(ts1));
      sprintf(cell,"T%d",NumStr); tWriteStringToCell(cell,OemToAnsi(arg));
      if (kod==305) //ШЗ печатаем только для 305 вида
      {
         sprintf(cell,"U%d",NumStr); tWriteStringToCell(cell,OemToAnsi(GetShifrZatrRow(InternCodE)));
      }  
   }

GetNorma(what,mAbs); 


где what:

  • 0 – нopмa paбoчих днeй зa первую пoлoвину месяцa
  • 1 – нopмa paбoчиx днeй месяца
  • 2 – нopмa paбoчиx чacoв месяца.

Что "ваяете", если не секрет?

Надо написать что то вроде:

int cntDays=CountDaySimv("01.01.2018",""20.02.2018","2",0,1);

CountDaySimv(DateBeg,DateEnd,StrSimv,Tip,bNorm);
/////////////////////////////////////////////////////////////////////////
// Подсчитывает количество дней помеченных символами StrSimv в табеле
// работника между датами [DateBeg,DateEnd]
// Отличия от функции dney_v_tab в том что дата начала и конца периода
// могут находится в разных месяцах!
// Tip = 0 - подсчитывает точное количество дней
// 1 - отвечает на вопрос есть ли хотя бы один!
// 2 - отвечает на вопрос есть ли хотя бы один, но при этом просмотр
// ведет с даты конца.
// В том случае, если определяется "есть хотя бы один", возвращается кол-во дней
// до этого "одного" (включая дату от которой велась проверка!).
// bNorm - смотрим не табель, а нормативный график

там сложность в том, что "квиток" формируется на всех в одной книге...

А если хотим отправить на почту - надо формировать квитки с разбивкой по сотрудникам ( каждый сотрудник в отдельной книге)

Ну т.е. сделать "быстро" не получится. 

Немного "отойду"  от отчетности и посмотрю..

Excel квитки по почте не отправляются

В шестой параметр будет добавлен флаг:

  • 0x08 - не заполнять табель рабочими днями




Имхо ,если общая сумма дохода по сотруднику по интересующему КПП не изменилась, то можно оставить так как есть..

для подстраховки можно создать черновик и сверить суммы по интересующему КПП...

Сделайте копию базы и поэкспериментируйте.

Возможно где то и "вылезет боком", но теоретически должно "взлететь"

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