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

    −123

    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
    //***************************************************************************
    Функция ИмяМесяца(Дата)
    	
    	Если ТипЗнч(Дата) = Тип("Дата") тогда
    		НомерМесяца = Месяц(Дата);
    		НомерГода = Год(Дата);
    	Иначе		
    		НомерМесяца = Число(Сред(Дата,5,2));	
    		НомерГода = Число(Лев(Дата,4));	
    	КонецЕсли;
    	
    	Если НомерМесяца = 1 тогда
    		ИмяМесяца = "Январь";
    	ИначеЕсли НомерМесяца = 1 тогда
    		ИмяМесяца = "Январь";
    	ИначеЕсли НомерМесяца = 2 тогда
    		ИмяМесяца = "Февраль";   
    	ИначеЕсли НомерМесяца = 3 тогда
    		ИмяМесяца = "Март";   
    	ИначеЕсли НомерМесяца = 4 тогда
    		ИмяМесяца = "Апрель";
    	ИначеЕсли НомерМесяца = 5 тогда
    		ИмяМесяца = "Май";   
    	ИначеЕсли НомерМесяца = 6 тогда
    		ИмяМесяца = "Июнь";   
    	ИначеЕсли НомерМесяца = 7 тогда
    		ИмяМесяца = "Июль";
    	ИначеЕсли НомерМесяца = 8 тогда
    		ИмяМесяца = "Август";   
    	ИначеЕсли НомерМесяца = 9 тогда
    		ИмяМесяца = "Сентябрь";   
    	ИначеЕсли НомерМесяца = 10 тогда
    		ИмяМесяца = "Октябрь";
    	ИначеЕсли НомерМесяца = 11 тогда
    		ИмяМесяца = "Ноябрь";   
    	ИначеЕсли НомерМесяца = 12 тогда
    		ИмяМесяца = "Декабрь";
    	КонецЕсли;
    	
    	Возврат ИмяМесяца + " " + Формат(НомерГода,"ЧГ=0");	
    	
    КонецФункции

    Неделю умилялся и плакал от счастья=)

    Запостил: safer_bwd, 31 Января 2014

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

    • И ведь в продакшене небось...
      Ответить
    • Да хрен бы с реализацией через ифы, она все-таки инкапсулирована внутри функции и никому не мешает.

      Но вот функция ИмяМесяца, возвращающая "Январь 2014" - это очень интуитивно :)
      Ответить
      • да, я тоже обратил внимание на возврат с годом)
        чисто с медицинской точки зрения интересно, почему, уже зная про функцию Формат() (судя по предпоследней строке), это чудо все же родилось на свет.
        Ответить
        • Сиська. Черная и белая.
          Чисто с медицинской точки зрения интересно.
          Ответить
    • Если НомерМесяца = 1 тогда
      		ИмяМесяца = "Январь";
      	ИначеЕсли НомерМесяца = 1 тогда
      		ИмяМесяца = "Январь";


      Вдруг первое условие не пройдёт...
      Ответить
      • Красота кода требует жертв!
        Ответить
        • Хотя можно, конечно написать и так
          Если НомерМесяца = 0 тогда
          ИмяМесяца = "ЭТОГО НЕ ДОЛЖНО БЫЛО СЛУЧИЦЦА!!!11 СРОЧНО ПОЗВОНИТЕ МНЕ!";
          ИначеЕсли НомерМесяца = 1 тогда
          ИмяМесяца = "Январь";
          Ответить
          • Тоже была мысль, что сначала в первом условии предполагался нулябрь, а потом его решили изъять.
            Ответить
    • Ещё один. Тысячи их, таких умников. У меня всего один вопрос: ДОКОЛЕ?
      Ответить
    • Только что хотел запостить точно такой же шедевр:

      функция КрасиваяДата ( Дата )

      Стр = "";

      Д = День (Дата);
      М = Месяц (Дата);
      Г = Год (Дата);

      Если М = 1 тогда
      мес = "января";
      ИначеЕсли М = 2 тогда
      мес = "февраля";
      ИначеЕсли М = 3 Тогда
      мес = "марта";
      ИначеЕсли М = 4 Тогда
      мес = "апреля";
      ИначеЕсли М = 5 Тогда
      мес = "майя";
      ИначеЕсли М = 6 Тогда
      мес = "июня";
      ИначеЕсли М = 7 Тогда
      мес = "июля";
      ИначеЕсли М = 8 Тогда
      мес = "августа" ;
      ИначеЕсли М = 9 Тогда
      мес = "сентебря";
      ИначеЕсли М = 10 Тогда
      мес = "октебря";
      ИначеЕсли М =11 Тогда
      мес = "ноября";
      ИначеЕсли М =12 Тогда
      мес = "декобря";
      КонецЕсли;

      КДата = Строка (Д) + " " + мес + " " + Строка(Г) + " г.";

      Возврат КДата;

      КонецФункции
      Ответить

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