📄 report2.lst
字号:
433 uchar i=0,InitKey[3];
434 gyt4 *Inv;
435
436 ulong delay = 0xffff;
437
438 Itarr(InitKey);
439
440 WindowsSet(11);
441 if(dts == 1) //要显示提示则将disTS=1否则不显示提示
442 DisHint("指定时间段内的","<<单卷发票使用>>报表","按[确认]开始查找...");
443 //发票代码
444
445 strcpy(&WinHint[0][1],"发票代码:");//copy 发票代码 to WinHint[0][0]
446 BcdToStr(10,&indat[0],&WinHint[1][1],0);
447
448 //发票起始号
449 strcpy(&WinHint[2][1],"发票起始号:");//copy 发票代码到Inv2
450 Inv=&indat[10];
451 NumToStr(Inv->dat,&WinHint[2][12],0);
452
453 //发票终止号
454 strcpy(&WinHint[3][1],"发票终止号:");
455 Inv=&indat[14];
456 NumToStr(Inv->dat,&WinHint[3][12],0);
457
458 //正常发票份数
459 strcpy(&WinHint[4][1],"正常发票份数:");
460 if(indat[18] == 0)
461 strcpy(&WinHint[4][14],"0");
462 else
463 NumToStr(indat[18],&WinHint[4][14],0);
464
465 //退票份数
466 strcpy(&WinHint[5][1],"退票份数:");
467 if(indat[19] == 0)
468 strcpy(&WinHint[5][10],"0");
469 else
470 NumToStr(indat[19],&WinHint[5][10],0);
471
472 //废票份数
C51 COMPILER V8.01 REPORT2 03/28/2006 09:49:28 PAGE 9
473 strcpy(&WinHint[6][1],"废票份数:");
474 if(indat[20] == 0)
475 strcpy(&WinHint[6][10],"0");
476 else
477 NumToStr(indat[20],&WinHint[6][10],0);
478
479 //正常发票总金额
480 strcpy(&WinHint[7][1],"正常总金额:");
481 Inv=&indat[21];
482 if(Inv->dat == 0)
483 strcpy(&WinHint[7][12],"0.00");
484 else
485 NumToStr(Inv->dat,&WinHint[7][12],5);
486
487 //退票总金额
488 strcpy(&WinHint[8][1],"退票总金额:");
489 Inv=&indat[25];
490 if(Inv->dat == 0)
491 strcpy(&WinHint[8][12],"0.00");
492 else
493 NumToStr(Inv->dat,&WinHint[8][12],5);
494
495 //开票起始日期
496 strcpy(&WinHint[9][1],"开票起始日期:");
497 BcdToStr(4,&indat[29],&WinHint[9][14],0);
498
499 //开票截止时间
500 strcpy(&WinHint[10][1],"开票截止时间:");
501 BcdToStr(4,&indat[33],&WinHint[10][14],0);
502
503 if(dts == 1 || dts == 0) //显示
504 {
505 Windows(1,0,InitKey);
506 return *InitKey;
507 }
508 if(dts == 2 || dts == 3) //打印
509 {
510 if(dts == 3)
511 PrintLine("指定时间段内的单卷发票使用汇总数据报表");
512 else
513 PrintLine("单卷发票使用汇总数据报表");
514 for(i=0;i<11;i++)
515 PrintStr(&WinHint[i][1]);//打印
516 PrintLine("");
517 PrintStr("电子存根");
518
519 while(--delay);
520 }
521 }
522 */
523
524 /*--------------------------------------------------------------------------
525 提示对话
526 '/':表示做为不延时,用法:在第个提示栏中只在带有'/'即不显示延时,但'/'后面的
527 内容将不做显示
528 --------------------------------------------------------------------------*/
529 void ReHint(uchar *Dialog1,uchar *Dialog2)
530 {
531 1 uchar code pic1[]={
532 1 /*-- 宽度x高度=24x24 --*/
533 1 0x00,0x80,0xC0,0xE0,0xF0,0x78,0x3C,0x1E,0x0F,0x67,0xF7,0xF7,0xF7,0x67,0x0F,0x1E,
534 1 0x3C,0x78,0xF0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x07,0x0F,0x1F,0x3F,0x70,0xE0,0xC0,
C51 COMPILER V8.01 REPORT2 03/28/2006 09:49:28 PAGE 10
535 1 0x80,0x00,0x7E,0x7E,0x7E,0x00,0x80,0xC0,0xE0,0x70,0x3F,0x1F,0x0F,0x07,0x00,0x00,
536 1 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x27,0x43,0x01,
537 1 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
538 1 };
539 1 uchar i=0,Dialbuff[30];
540 1 ulong val=0x2FFF;
541 1
542 1 for(i=0;i<24;i++)
543 1 {
544 2 Dialbuff[i]=Dialog2[i];
545 2 }
546 1
547 1 LcdDisplay(8,72,"信 息",3);
548 1 ShowPicture(0,30,24,54,pic1);//显示图标
549 1 for(i=0;i<4;i+=3)
550 1 DisplayFullRec(i,i,63-i,191-i,1);
551 1 LcdDisplay(32,8,Dialog1,0);
552 1
553 1 for(i=0;i<24;i++)
554 1 {
555 2 if(Dialbuff[i] == '/')
556 2 {
557 3 Dialbuff[i] = 0;
558 3 LcdDisplay(48,8,Dialbuff,0);
559 3 return;
560 3 }
561 2 }
562 1 LcdDisplay(48,8,Dialog2,0);
563 1 while(--val)
564 1 {
565 2 if(GetKey()!=0xFF)
566 2 return;
567 2 }
568 1 }
569 ////////////////////////发票数据的显示与打印选择//////////////////////////
570 // flag = 1:单卷发票使用汇总
571 // flag = 2:发票打印数据
572 // flag = 3:日交易数据
573 // flag = 4:监控数据
574 // flag = 5:申报备份数据
575 // flag = 6:营业员销售额营业员的XZ报表查询
576 // flag = 7:已分发的发票查询
577 // flag = 8:已录入的发票查询
578 // flag = 9:全部营业员的XZ报表
579 ///////////////////////////////////////////////////////////////////////////
580
581 void InvDisAndPrint(uchar flag,uchar *dat,uchar xz,uchar *Number)
582 {
583 1 uchar i = 0,k = 0;
584 1 while(1)
585 1 {
586 2
587 2 i = ReSelectMode();
588 2 switch(i)
589 2 {
590 3 case 1:
591 3 switch(flag)
592 3 {
593 4 case 1:
594 4 case 2:
595 4 case 3:
596 4 case 5:
C51 COMPILER V8.01 REPORT2 03/28/2006 09:49:28 PAGE 11
597 4 k = 0;
598 4 break;
599 4 case 4:
600 4 case 6:
601 4 case 7:
602 4 case 8:
603 4 case 9:
604 4 k = 1;
605 4 break;
606 4 default:break;
607 4 }
608 3 break;
609 3 case 2:
610 3 if(PrintHint())
611 3 {
612 4 switch(flag)
613 4 {
614 5 case 1:
615 5 case 2:
616 5 case 3:
617 5 case 5:
618 5 k = 2;
619 5 break;
620 5 case 4:
621 5 case 6:
622 5 case 7:
623 5 case 8:
624 5 case 9:
625 5 k = 0;
626 5 break;
627 5 default:break;
628 5 }
629 4 }
630 3 // else return;//在进入打印选项时没有按确认键而按退出键则直接退出不进行打印操作
631 3 else k = 0xff;
632 3 break;
633 3 default: return;
634 3 }
635 2
636 2 switch(flag)
637 2 {
638 3 case 1:
639 3 AppointInvdis(k,dat);//发票便用汇总显示
640 3 break;
641 3 case 2:
642 3 InvPrintData(k,xz,dat);//发票打印数据显示
643 3 // UartTxd(27,dat);
644 3 break;
645 3 case 3:
646 3 DayCollDataDisplay(k,dat);//日交易数据在LCD上显示
647 3 break;
648 3 case 4:
649 3 WatchManageData(k);//监控数据显示
650 3 break;
651 3 case 5:
652 3 ReportData(k,dat);//申报备份数据显示
653 3 break;
654 3 case 6:
655 3 OnLcdYingYiYuangJie(k,dat,xz,Number);//营业员金额
656 3 break;
657 3 case 7:
658 3 FenFademand(k); //已分发发票查询
C51 COMPILER V8.01 REPORT2 03/28/2006 09:49:28 PAGE 12
659 3 break;
660 3 case 8:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -