Си диез / Говнокод #688 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
  90. 90
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
  96. 96
  97. 97
  98. 98
 DESCRIBE TABLE name_org LINES count. "Кол-во организаций
  DESCRIBE TABLE targ_pos LINES count1.
  SORT name_org BY org.
*  SORT targ_pos BY org sign_dk shkzg regn_doc.
  IF count > 2.
    SORT targ_pos BY shkzg org regn_doc.
  ELSE.
    SORT targ_pos BY shkzg org sign_dk regn_doc.
  ENDIF.
  LOOP AT targ_pos.
    metka = sy-tabix.
    IF count > 2.
      CONCATENATE targ_pos-org targ_pos-shkzg INTO comp.
    ELSE.
      CONCATENATE targ_pos-org targ_pos-sign_dk targ_pos-shkzg
                  INTO comp.
    ENDIF.
    IF comp <> comp1.
      IF metka <> 1.
        WRITE: AT /pole sy-uline.
        WRITE: AT /pole 'Итого: '.
        IF s_nds IS NOT INITIAL.
          WRITE: AT (14) snds UNDER targ_pos-nds NO-SIGN INPUT ON."<e1>
        ENDIF.
        WRITE: AT (15) ssum UNDER targ_pos-dmbtr NO-SIGN.
        PERFORM ad_itog USING comp1(10)"targ_pos-org
                              shkzg
                              snds
                              ssum.
        SKIP 1.
      ENDIF.
      IF count > 2.
        READ TABLE name_org WITH KEY org = targ_pos-org BINARY SEARCH.
      ELSE.
        IF metka = 1.
          READ TABLE name_org WITH KEY org = 'ABCDE' BINARY SEARCH.
        ELSE.
          READ TABLE name_org WITH KEY org = targ_pos-org
               BINARY SEARCH.
        ENDIF.
      ENDIF.
      org = name_org-name.CONDENSE org.
      IF name_org-org NE 'ABCDE'.
        CONCATENATE org '(' name_org-org ')' INTO org SEPARATED BY ''.
      ENDIF.
      IF count > 2 AND metka = 1.
        READ TABLE name_org WITH KEY org = 'ABCDE' BINARY SEARCH.
        CONCATENATE name_org-name '-' org INTO org SEPARATED BY space.
      ENDIF.
      WRITE: AT /pole 'Плательщик:', org. "name_org-name.
      WRITE: AT /pole sy-uline.
      WRITE: AT /pole text-002, ' ' NO-GAP,
                text-003, ' ' NO-GAP, text-004, ' ' NO-GAP,
                text-010, ' ' NO-GAP, text-005.
      IF s_nds IS NOT INITIAL. "<e1>
        WRITE:  text-006 RIGHT-JUSTIFIED.
      ELSE.
        WRITE:  '              '.
      ENDIF.
      WRITE:    text-007 RIGHT-JUSTIFIED,
                ' ' NO-GAP, text-008.
      WRITE: AT /pole sy-uline.
*      SKIP 1.
      snds = 0.
      ssum = 0.
      IF metka <> 1.
        comp = comp1.
      ENDIF.
    ENDIF.
    WRITE: AT /pole targ_pos-regn_doc HOTSPOT, ' ' NO-GAP,
             targ_pos-regn_dat, ' ' NO-GAP,
             targ_pos-acc_sch, ' ' NO-GAP,
             targ_pos-n_doc(6), ' ' NO-GAP,
             targ_pos-matkl(27) INPUT ON.
 WRITE: AT (15) targ_pos-dmbtr NO-SIGN, ' ' NO-GAP, targ_pos-hkont.
    HIDE: targ_pos-regn_doc, targ_pos-gjahr.
    shkzg = targ_pos-shkzg.
    if lv_flag is not initial. 
      ADD targ_pos-nds TO snds.
    endif. 
    ADD targ_pos-dmbtr TO ssum.
    IF count > 2.
      CONCATENATE targ_pos-org targ_pos-shkzg INTO comp1.
    ELSE.
      CONCATENATE targ_pos-org targ_pos-sign_dk targ_pos-shkzg
                  INTO comp1.
    ENDIF.
    IF metka = count1.
      WRITE: AT /pole sy-uline.
      WRITE: AT /pole 'Итого: ',
*             AT (14) snds UNDER targ_pos-nds NO-SIGN INPUT ON,
             AT (15) ssum UNDER targ_pos-dmbtr NO-SIGN.
      PERFORM ad_itog USING comp1(10)  "targ_pos-org
                            shkzg
                            snds
                            ssum.
    ENDIF.
  ENDLOOP.

Расширьте, пожалуйста, список доступных языков для говнокода.

Запостил: guest guest, (Updated )

Комментарии (2) RSS

  • Mickey:
    мда, абап тяжеловато читать с непривычки, может подскажите куда именно смотреть?
    Ответить
  • Не читайте код построчно, охватывайте всю страницу)
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8