// Вывод на печать (в Excel)     [на основе sta_00111]  
// - инфо из таблицы [Информация для высокоточки]
// 
  int len =256;
  char str[256], arg[256], nnn[256], sss[256];
  string strok;

  int BegStr=9;  // 
  int CntStr=0;  // счетчик напечатанных строк
  int ColStr=0;

  char Title01[90];

PrnInfo()
{

  var File;                             //  привет
  File = CreateObject("CurPrnFile");    //        от 
  File.SetFlagBrowse(0);                //          Вита
  File.SetFlag_Print(0);                //              лия


  char Dir[128];                              // строка для текущей директории
  GetCurrentDirectory(128,Dir);               // получаем текущую директорию (это корень каталога ZPL из которого запустили АМБу)
  string nm="otp_kbm.xlt";                        // имя Excel'евского файла
  var WorkDir = Dir + "\\T_PROC\\";      

  tPrepereOfficeForWork(); // определяем работать на Excel или на Calc (определяем какой из офисов (MS Office или OpenOffice) установлен и какой предпочтительнее)
  tCreateXlsObjects(WorkDir+nm,"Сведения"); // создание основных объектов

  int n_wsh = 1;
  tGetWshByIndex(1);   // получаем ссылку на лист (worksheet)
  tWshSelect();

  var CMsg = 0;        // Процент выполненной работы
  int bTime = false;   // false-показывать процент,
                       // true-показывать оставшееся время
  CMsg=CreateObject("ProgressBar");
  CMsg.Initial(0,100,1);
  CMsg.SetShowTime(static_cast_to_int(bTime));



  var CTabl=CreateObject("CurPrnTbl");   // объект класса для работы с текущей таблицей
  int cr=CTabl.Count_Rcr();              // число рабочих записей в таблице   


  try
  {
   //double itog=0, ittar=0;

   //string dat  = CTabl.TextS("Data",0);
   //int bri     = atoi(CTabl.TextS("NumBri",0));

   //PrnTitle(dat,bri);

   // цикл по записям таблицы
   for (int zap=0; zap<cr; zap++)
   {
     int ord     = atoi(CTabl.TextS("Order",zap));
     //string fio  = CTabl.TextS("FIO",zap);
     int tab     = atoi(CTabl.TextS("FCtn_vsk",zap));
     //double tar  = atof(CTabl.TextS("HTAL00",zap));
     //double sum  = atof(CTabl.TextS("S",zap));
     int pol     = atoi(CTabl.TextS("N4",zap));

     int d_r     = atoi(CTabl.TextS("N5",zap));
     int m_r     = atoi(CTabl.TextS("N6",zap));
     int g_r     = atoi(CTabl.TextS("N7",zap));

     int staj_o_1     = atoi(CTabl.TextS("N8",zap));
     int staj_o_2     = atoi(CTabl.TextS("N9",zap));
     int staj_o_3     = atoi(CTabl.TextS("N10",zap));
     int staj_n_1     = atoi(CTabl.TextS("N11",zap));
     int staj_n_2     = atoi(CTabl.TextS("N12",zap));
     int staj_n_3     = atoi(CTabl.TextS("N13",zap));

     double srzar     = atof(CTabl.TextS("Sum_Otp",zap));
     double oklad     = atof(CTabl.TextS("OklOtn",zap));

     string zva  = CTabl.TextS("N16",zap);
     string pri  = CTabl.TextS("N17",zap);

     //itog=itog+sum;
     //ittar=ittar+tar;

     PrnStr1(ord,tab,pol,d_r,m_r,g_r,staj_o_1,staj_o_2,staj_o_3,staj_n_1,staj_n_2,staj_n_3,srzar,oklad,zva,pri);
   }

   //PrnBot(ittar,itog);

     // чтобы не было выделенной строки после всех манипуляций с копированием
     // выделим отдельную ячейку.
     tWshCellSelect(1,1);       
  }
  catch(object err)
  {
     SayError(err);
  }
  catch(...)
  {
     ;
  }
  tEndXlsWork(1); // делаем форму видимой

  return 0;
}


PrnBot(aa1,aa2)
{
  CntStr++; ColStr=BegStr+CntStr+1;

  sprintf(Title01,"%s",static_cast_to_string(aa1));   
  sprintf(nnn,"E%d",ColStr);
  tWriteStringToCell(nnn,OemToAnsi(Title01));

  sprintf(Title01,"%s",static_cast_to_string(aa2));   
  sprintf(nnn,"F%d",ColStr);
  tWriteStringToCell(nnn,OemToAnsi(Title01));
}


PrnTitle(aa1,aa2)
{
  // печать заголовка листа

  sprintf(Title01,"      КПЦ_1    Смена_: %s   Дата_: %s",static_cast_to_string(aa2),static_cast_to_string(aa1));   

  ColStr=BegStr+CntStr;
  sprintf(nnn,"B%d",ColStr);
  tWriteStringToCell(nnn,OemToAnsi(Title01));    


  CntStr++; ColStr=BegStr+CntStr+1;
//  sprintf(nnn,"A%d", ColStr);    tWriteStringToCell(nnn,OemToAnsi("№_пор"));
//  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"B%d", ColStr);    tWriteStringToCell(nnn,OemToAnsi("     Профессия"));
  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"C%d", ColStr);    tWriteStringToCell(nnn,OemToAnsi("Разряд"));
  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"D%d", ColStr);    tWriteStringToCell(nnn,OemToAnsi("  Ф И О "));
  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"E%d", ColStr);    tWriteStringToCell(nnn,OemToAnsi("Тариф"));
  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"F%d", ColStr);    tWriteStringToCell(nnn,OemToAnsi("Сумма"));
  tBordersCell(nnn,1,1,1,1,1);


  //CntStr++; ColStr=BegStr+CntStr;

  //CntStr=CntStr+BegStr;
  //ColStr=BegStr+CntStr;
return 0;
}


PrnStr1(a1,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17)
{
  // печать очередной строки

  CntStr++; ColStr=BegStr+CntStr-1;
  sprintf(nnn,"A%d", ColStr);    tWriteStringToCell(nnn,a1);  tBordersCell(nnn,1,1,1,1,1);
  //sprintf(nnn,"B%d", ColStr);    tWriteStringToCell(nnn,OemToAnsi(a2));  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"C%d", ColStr);    tWriteStringToCell(nnn,a3);  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"D%d", ColStr);    tWriteStringToCell(nnn,a4);  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"E%d", ColStr);    tWriteStringToCell(nnn,a5);  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"F%d", ColStr);    tWriteStringToCell(nnn,a6);  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"G%d", ColStr);    tWriteStringToCell(nnn,a7);  tBordersCell(nnn,1,1,1,1,1);

  sprintf(nnn,"H%d", ColStr);    tWriteStringToCell(nnn,a8);  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"I%d", ColStr);    tWriteStringToCell(nnn,a9);  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"J%d", ColStr);    tWriteStringToCell(nnn,a10);  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"K%d", ColStr);    tWriteStringToCell(nnn,a11);  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"L%d", ColStr);    tWriteStringToCell(nnn,a12);  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"M%d", ColStr);    tWriteStringToCell(nnn,a13);  tBordersCell(nnn,1,1,1,1,1);

  sprintf(nnn,"N%d", ColStr);    tWriteStringToCell(nnn,a14);  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"O%d", ColStr);    tWriteStringToCell(nnn,a15);  tBordersCell(nnn,1,1,1,1,1);

  sprintf(nnn,"P%d", ColStr);    tWriteStringToCell(nnn,OemToAnsi(a16));  tBordersCell(nnn,1,1,1,1,1);
  sprintf(nnn,"R%d", ColStr);    tWriteStringToCell(nnn,OemToAnsi(a17));  tBordersCell(nnn,1,1,1,1,1);

return 0;
}


