Бухгалтерия / Говнокод #8386 Ссылка на оригинал

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
Функция МесяцПрописью()
	
	М = Месяц(КонПериода);
	П = "";
	Если М = 1 Тогда П = "январь"
	ИначеЕсли 
		М = 2 Тогда П = "февраль"
	ИначеЕсли 
		М = 3 Тогда П = "март"
	ИначеЕсли 
		М = 4 Тогда П = "апрель"
	ИначеЕсли 
		М = 5 Тогда П = "май" 
	ИначеЕсли 
		М = 6 Тогда П = "июнь"
	ИначеЕсли 
		М = 7 Тогда П = "июль"
	ИначеЕсли 
		М = 8 Тогда П = "август"
	ИначеЕсли 
		М = 9 Тогда П = "сентябрь"
	ИначеЕсли 
		М = 10 Тогда П = "октябрь"
	ИначеЕсли 
		М = 11 Тогда П = "ноябрь"
	ИначеЕсли 
		М = 12 Тогда П = "декабрь"
	КонецЕсли;
	
	Возврат П;
	
КонецФункции

Абсолютно реальный код в одном из отчетов...

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

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

  • > МесяцПрописью

    Я вышел голый на крыльцо
    и почесать хотел лицо,
    (лицо зудело малость).
    Взглянул спросонья небо на
    и мне открылася без дна
    такая бездна, звезд полна! -
    все тело зачесалось.
    Ответить
  • Ничуть не удивлюсь. Я разгребаю несколько самописных конфигураций, там и похлеще бывает.
    А ещё, кажется, это заразно. Начал делать эпический мега-отчёт, говнокода стараюсь не добавлять, но скудность языковых средств семёрки просто убивает. Получаются дикие монстрики.

    Вот интересно, насколько там велики накладные расходы на вызов функции?
    Ответить
    • Скудность семерки? Пример в студию! Или на ней операционные системы что ли пишут?
      А то все этой долбанной 8-кой заболели, тяжелой, неповоротливой, глючной и просто идиотской системой. Правда, честности ради, отмечю единственный плюс в 8-ке - это запросы. Но опять таки, что мешает использовать 1C++ в 77?
      Ответить
      • > скудность языковых средств
        !=
        > Скудность семерки

        Возможно, это просто я привык к "хорошим" языкам и системам, с обилием сахара. Но то, что есть в семёрке - унылое говно, напоминающее тьюрингову яму.

        Меня, например, очень огорчило отсутствие вменяемых массивов. Вот нет массивов, и можете заниматься сношениями со списками и таблицами. И таких мелочей - на каждый чих. Промолчу про то, что разработчики семёрки были тупые, недальновидные, но очень старательные и куда только доходили руки, они старались всё сделать непоследовательно.
        Ответить
        • В семерке есть всё, что нужно для разработки системы, ради разработки которой ты и сел за 1С.
          Восьмерка - гламурное дерьмо, со свистелками и перделками, 99% которых ты никогда не используешь. И дело не в отсутствие фантазии, а в предметном определении направленности продукции фирмы 1Ц.
          В чем именно заключается невменяемость массивов в 77? Пример то можно наконец в студию?
          Список значений чем не устраивает? А таблица - при грамотном подходе - оно не глючит и не тормозит, работает! И работать с ней интересно. В плане программирования в смысле. Опять таки повторяю - говорю это всё в рамках предназначения системы.
          А если сесть операционку писать за нее - конечно переплюешься и ничего не выйдет. Да вообще - кому такое в голову то прийти может?
          Хотя есть фанаты - игры пишут на 1с. Даже шахматы видал как то! Шахматы.ert млин! Ну там такое понаписано было - даже я не рискнул разобраться из за опаски сломать мозг. А на Perl лично писал те же шахматы.
          Ответить
          • Синдром утьонка штоле?

            Я хочу массив вида Arr [ 10 ] (Arr ( 10 ), а не МойСписок.Получить(). Вообще, разница между списками и массивами ощущается, не?
            Раздражает, что на любой чих (примеров приводить не буду, самплы на работе) нужно городить адов говнозабор. Про отсутствие свитчей молчу.
            Я хочу разрабатывать - внимание - быстро _И_ удобно. От того, что на семёрке можно всё сделать, не выходит автоматически, что можно это сделать удобно и быстро.
            Про непоследовательность я говорил, говорю и буду говорить. Например, можно легко выбрать многие записи по реквизиту справочника, но нельзя выбрать по атрибуту (например, наименованию). Ради интереса я поискал в инторнетах. Знаешь, что там советуют особо упоротые? Начинать транзакцию, делать поиск по справочнику, найденный элемент удалять (sic!), искать повторно, потом транзакцию отменять.
            Я уверовал, что конфы обычно пишут люди, которые не разбираются в алгоритмах, лишь бы работало. Возможно, это патологическое отклонение в их мозгах. Но ещё и семёрка так действует угнетающе полным отсутствием возможностей. Она очень близка к тьюринговой яме.
            Ответить
              • А вы заметили такое необычное совпадение двух фактов?
                1. Странные некрокомментарии на говнокоде от имени гостей.
                2. Неделя каникул.
                Ответить
  • Функция МесяцБухвами(КонПериода)
    Месяц = Формат(КонПериода, "Д (0)ДДММММГГГГ");
    Месяц = Сред(Месяц,4,Найти(Сред(Месяц,4)," ")-2);
    Возврат Месяц+?(СтрДлина(Месяц)=2,"й",?((СтрДлин а(Месяц)=4)ИЛИ(Месяц="Август"),"","ь"));
    КонецФункции

    Пример:
    Вход: 05.09.10
    Выход: Сентябрь
    Ответить
    • Сплошная магия. Лучше так не делать.
      Мне кажется, проще один раз набить список значений значениями, а потом выбирать.
      Ответить
      • Да можно. Можно забить в массив названия[] месяцев и потом тупо обращаться к этой функции: ТекМесяц = НашаФункция(Месяц(НашаДата)).
        Просто кому как интереснее кодить, а то что код не наглядный - не мои проблемы =)
        Ответить
  • = Формат(ДатаОтКоторойНужонТокоМесяц,"ДМММ М");
    Ответить
    • (причем можно на любом языке, для которого есть spl-файло - предварительно настроив методом "Пропись(..)")
      Ответить
    • Ныняшняя школота, конечно, 1Ц77 не застала. Равно как и 1Ц6.0, 1Ц7.5... Равно как и СССР. А как на счет FoxPro?
      Их сразу посадили за 8х...
      Ответить

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

Семь раз отмерь — один отрежь, guest!

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


    8