PrnKvitok( &curTn, &curPodr)
{
  int type=0; // 0-путь; 1-файл
  int Dist=-1;
  int len=256;
  char Heading[len], Path[len]; 

//  var Par=CreateObject("ParamFuncRW");            //можно анализировать параметры
//  Par.IInitial(static_cast_to_string(Arg),",",0); //можно анализировать параметры
//  curTn=atol(Par.Get(0));

  var CurFile=CreateObject("CurPrnFile"); // объект для работы с файлом печати
  CurFile.SetFlagBrowse(0); // запрещаем просмотр файла печати

  int hf;                // хэндл создаваемого файла
  char Buffer[len];      // буфер для строки выводимой в файл
  char TmpFileName[len]; // буфер для имени временного файла
  char NameStr[len];     // буфер для имени файла
  char NameStr1[len];    // буфер для имени второго файла
  unsigned long dwBytes;
  FreeSpaceString(Path,3,"");
  sprintf(NameStr,"%s%s", Path, "kv01.txt"); 
  sprintf(NameStr1,"%s%s", Path, "kv02.txt");

  // создадим временный файл в текущей директории
  sprintf(TmpFileName,"kv.tmp");
  DeleteFile(TmpFileName);
  if ((hf  =    CreateFile(TmpFileName,1073741824   ,1              ,0   ,1         ,128                  ,0   )) == -1)
  {
    AmbaMessageBox("невозможно создать файл","ошибка",1,0);
  }

  // создаем объект класса для работы с текущей таблицей
  char  acLS[LSSTR];
  lsname(curPodr*1000000+curTn,acLS);
  int R_C=lsread(acLS,0); //+10000);
//  if ( R_C==NULL || R_C==ESC )
//  {
//   if ( Out_Msg(42) ) return -1;
//  }

  double Gc;
  double Gs;
  double Gb;
  char comm[25],strRkv[25];
  for (int i=0;   i<1000;  i++)
  {
   Gc=GetCode(i);
   Gs=GetSumm(Gc,s119(mrasch));
   Gb=GetBase(i);
   Rkv_from(Gc,"Requisite4",comm,strRkv);
   sprintf(Buffer,"%3d %7.2f %7.2f %7.2f %25.25s \r\n",i,Gb,Gc,Gs,strRkv); 
   WriteFile(hf,Buffer,strlen(Buffer),dwBytes,0);
  }
  // пишем в файл


  long FileSize=SetFilePointer(hf,0,0,1); // установив указатель таким образом можно определить размер файла
  CloseHandle(hf); // записали и закрыли


  return 0;
}