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

    −124

    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
    ////////////////////////////////////////////////////////////////////
    	////////Преобразование горизонтали в вертикаль с дурацким циклом////
    	///////////////////////////////////////////////////////////////////
    	
    	ТекДата = ТекущаяДата();	
    	ТекущийГод = НачалоГода(ТекДата);
    	ТекущийМесяц = НачалоМесяца(ТекДата);
    	
    	Пока Выборка.Следующий() Цикл
    		
    		ДатаЯнварь = ТекущийГод;
    		Если    ДатаЯнварь >= ТекущийМесяц Тогда
    			Январь = ПланПост.Добавить();
    			Январь.Организация =Выборка.Организация;
    			Январь.Расход = Выборка.ПродажиЯнварь;
    			Январь.НормОст = Выборка.ОстаткиФевраль; 
    			Январь.МесяцПрихода =  ТекущийГод;
    		КонецЕсли;
    		
    		ДатаФевраль =  ДобавитьМесяц(ТекущийГод, 1);
    		Если    ДатаФевраль >= ТекущийМесяц Тогда
    			Февраль = ПланПост.Добавить();
    			Февраль.Организация =Выборка.Организация;
    			Февраль.Расход = Выборка.ПродажиФевраль;
    			Февраль.НормОст = Выборка.ОстаткиМарт;
    			Февраль.МесяцПрихода = ДатаФевраль;
    		КонецЕсли;
    		
    		ДатаМарт = ДобавитьМесяц(ТекущийГод, 2);
    		Если    ДатаМарт >= ТекущийМесяц Тогда
    			Март = ПланПост.Добавить();
    			Март.Организация =Выборка.Организация;
    			Март.Расход = Выборка.ПродажиМарт;
    			Март.НормОст = Выборка.ОстаткиАпрель;
    			Март.МесяцПрихода = ДатаМарт; 
    		КонецЕсли;
    		
    		ДатаАпрель = ДобавитьМесяц(ТекущийГод, 3);
    		Если    ДатаАпрель >= ТекущийМесяц Тогда
    			Апрель = ПланПост.Добавить();
    			Апрель.Организация =Выборка.Организация;
    			Апрель.Расход = Выборка.ПродажиАпрель;
    			Апрель.НормОст = Выборка.ОстаткиМай;
    			Апрель.МесяцПрихода =  ДатаАпрель;
    		КонецЕсли;
    		
    		ДатаМай =  ДобавитьМесяц(ТекущийГод, 4);
    		Если    ДатаМай >= ТекущийМесяц Тогда
    			Май = ПланПост.Добавить();
    			Май.Организация =Выборка.Организация;
    			Май.Расход = Выборка.ПродажиМай;
    			Май.НормОст = Выборка.ОстаткиИюнь;
    			Май.МесяцПрихода = ДатаМай;  
    		КонецЕсли;

    Была ТЧ в документе с колонками-названиями месяцев....И руководство поставило задачу вывести ЭТО в отчет...На СКД....

    Запостил: Necessitudo, 19 Марта 2012

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

    • С нетерпением ждём квадратуру круга с дурацкой рекурсией
      Ответить
    • любой код на 1C выглядит как говно
      Ответить
      • он не только выглядит, но и пахнет соответственно.
        что еще ожидать от русифицированного бейсика?
        Ответить
        • Высокой скорости работы?
          Ответить
          • да, проц должен шустро пахать, чтобы добиться приемлемой производительности
            Ответить
        • матерных инструкций?
          Ответить
          • У команды тестеров на предыдущем месте работы был специальный шелл для тестирования. Когда пришлось в нём ковыряться, больше всего порадовала команда blya. Она собирала основную отладочную информацию, когда тесты переставали ходить.
            Ответить
    • Holy shzinit, this is so cool thank you.
      Ответить
    • показать все, что скрытоvanished
      Ответить

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