0
Отвечен

Шифр затрат в расчетном листе

AC! 6 лет назад в Справки, квитки и прочие формы печати обновлен svetlanav 6 лет назад 7

Здравствуйте.


Есть необходимость вывести часть шифра затрат в расчетке у конкретных видов начислений. Подскажите, пожалуйста, как это сделать?


форма check102

Спасибо.

Script Квиток

Ответ

Ответ
На рассмотрении

Есть переменная 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)));
      }  
   }
Ответ
На рассмотрении

Есть переменная 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)));
      }  
   }

Спасибо, помогли

Из строки смогли достать

ShzRow.ComInitial(static_cast_to_string(GetShifrZatrRow(code)),FlagN);


Но нам нужно выбрать аналитику из таблицы соответствия видов оплаты.

 ShzCod.ComInitial(static_cast_to_string(GetShzTsootv1d(pos_tvx)),FlagN);
    char str2[256];str2=ShzCod.GetPseudPartShz("KR_Sau2");


Что такое pos_tvx и как ее определить?

Спасибо.

Отвечен

pos_tvx- позиция вида в ТВХ

получить ее можно через 

return poisk1(intCodeNu,kodnu1,cntplus,1);//intCodeNu - внутренний код вида

Не получилось достать необходимую аналитику потому что она собирается в USSHIFRZ.S.

А как достать часть ШЗ из интегрального ШЗ при печати квитка? Нужно каким-то образом запустить сначала USSHIFRZ.S или как-то по-другому можно это сделать?

Спасибо.

GetShifrZatrSumIC(code,absm) или GetShifrZatrSumC1(row,absm)

code - внутренний код вида (полный), absm - абсолютный месяц для которого хотим вычислить ШЗ для этого вида.

Спасибо большое!! Отлично работает!


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