1. C# / Говнокод #688

    +151

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 10 Марта 2009

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

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

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