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)
  2. 1C / Говнокод #14253

    −134

    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
    Функция ПолучитьОбратнуюМетрику(Знач Метрика) Экспорт
    
    	ТаблицаКоординат = СоздатьТаблицуКоординат();
    	ПреобразоватьМетрикуВТаблицуКоординат(Метрика,ТаблицаКоординат);
    	ТаблицаКоординат.Колонки.Добавить("ПорядковыйНомер");
    	
    	Сч = 1;
    	Для каждого СтрокаТаблицаКоординат Из ТаблицаКоординат Цикл
    		СтрокаТаблицаКоординат.ПорядковыйНомер = Сч;
    		Сч = Сч + 1;
    	КонецЦикла;
    	
    	ТаблицаКоординат.Сортировать("ПорядковыйНомер УБЫВ");
    	
    	ОбратнаяМетрика = "";
    	ПреобразоватьТаблицуКоординатВМетрику(ТаблицаКоординат,ОбратнаяМетрика);
    	Возврат ОбратнаяМетрика;
    
    КонецФункции

    TamerlanDE, 20 Декабря 2013

    Комментарии (29)
  3. 1C / Говнокод #14252

    −104

    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
    Функция Дистанция(Откуда, Куда) Экспорт
    
    	Пи = 3.1415926535897932;
    	
    	ОткудаШиротаВРадианах 	= Откуда.Широта * Пи / 180;
    	ОткудаДолготаВРадианах 	= Откуда.Долгота * Пи / 180;
    	КудаШиротаВРадианах 	= Куда.Широта * Пи / 180;
    	КудаДолготаВРадианах 	= Куда.Долгота * Пи / 180;
    	Аргумент				= Sin(КудаШиротаВРадианах) * Sin(ОткудаШиротаВРадианах) +
            Cos(КудаШиротаВРадианах) * Cos(ОткудаШиротаВРадианах) * Cos(КудаДолготаВРадианах - ОткудаДолготаВРадианах);
    		
    	Аргумент  = ?(Аргумент > 1, 1, Аргумент);
    	Аргумент  = ?(Аргумент < -1, -1, Аргумент);
    		
        Возврат Окр(6378000 * ACos(Аргумент));
    
    КонецФункции

    TamerlanDE, 20 Декабря 2013

    Комментарии (19)
  4. 1C / Говнокод #14166

    −131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Процедура ОбработкаЗаполения(Основание)
    
    	// Другой говнокод
    
    КонецПроцедуры

    Стажёр подошёл с вопросом, почему не обрабатывается ввод на основании, а до этого бился не менее часа.

    Voittamaton, 03 Декабря 2013

    Комментарии (8)
  5. 1C / Говнокод #14111

    −165

    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
    Запрос.Текст = ""
    //...
    ГДЕ
    	ВЫБОР
    		КОГДА ЕСТЬNULL(ВТМоделиПоставщика.КодМоделиПоставщика, "") = ""
    			ТОГДА 0
    		ИНАЧЕ 1
    	КОНЕЦ = 0
    //...
    
    Результат = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    		Если  СтрДлина(ВыборкаДетальныеЗаписи.КодМоделиПоставщика) <> 0 Тогда 
                    //...
                    КонецЕсли;
    КонецЦикла;

    Масло масляное. Захочешь нарочно такое придумать - не получится.

    rull9ss, 20 Ноября 2013

    Комментарии (1)
  6. 1C / Говнокод #14108

    −168

    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
    Процедура ПараметрНачалоВыбора(Элемент, СтандартнаяОбработка)
    	
    	СтандартнаяОбработка=Ложь;
    	ПараметрВладелец=Справочники.ПараметрыНоменклатуры.ПустаяСсылка();
    	ТипМетаданных = Метаданные.НайтиПоТипу(ТипЗнч(Элемент.Значение));
    	
    	ОткрываемаяФорма  = ПолучитьФорму(ТипМетаданных.ПолноеИмя()+".ФормаВыбора");
    	
    	Отборы = Новый Структура("ТипПараметра,Подчинен",ВидНоменклатуры[Элемент.Имя],ПараметрВладелец);
    	Для Каждого ЭлементСтруктуры из Отборы Цикл
    		ЭлементОтбора = ОткрываемаяФорма.Отбор.Найти(ЭлементСтруктуры.Ключ);
    		Если Не ЭлементОтбора = Неопределено  Тогда
    			ЭлементОтбора.Установить(ЭлементСтруктуры.Значение);
    		КонецЕсли;	
    	КонецЦикла;	
    	ОткрываемаяФорма.НачальноеЗначениеВыбора = Элемент.Значение;
    	ОткрываемаяФорма.ОткрытьМодально(); 	
    	ЭтотОбъект[Элемент.Имя] = ОткрываемаяФорма.ТекущийЭлемент.ТекущаяСтрока;
    	ПараметрПриИзменении(Элемент);
    	
    КонецПроцедуры

    Процедура НачалоВыбора в конфе одного из клиентов. Что-то смущает, но не могу понять что.

    rull9ss, 19 Ноября 2013

    Комментарии (8)
  7. 1C / Говнокод #13995

    −94

    1. 1
    2. 2
    3. 3
    ЦЫТАТЫ ВЕЛИКЕХ ЛЮДЕЙ:
                 "МАМКУ ТВАЙУ И БАЛ ЛАЛКА ЗАТРАЛИНАЯ)))0)0000))00"
                                             -PragramistOtBoga

    PragramistOtBoga, 22 Октября 2013

    Комментарии (3)
  8. 1C / Говнокод #13951

    −167

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Попытка
    	ДокументВозврата.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
    Исключение
    	Попытка
    		ДокументВозврата.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);
    	Исключение
    		Сообщить("Не удалось записать/провести документ возврата в ИБ " + ДокументВозврата, СтатусСообщения.ОченьВажное);
    	КонецПопытки;
    	ДокументВозврата.Записать(РежимЗаписиДокумента.Запись);
    КонецПопытки;

    Что делать, если не получилось провести документ? Правильно! Попробовать еще раз!
    А потом еще и записать.
    Для надежности.

    zfilin, 15 Октября 2013

    Комментарии (22)
  9. 1C / Говнокод #13761

    −167

    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
    Если ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003726") Тогда //000003726 - Автолюкс 
    	СлужбаДоставкиВСМС = "AvtoLux";
    ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003727") Тогда //000003727 - Гюнсел 
    	СлужбаДоставкиВСМС = "GUNSEL";
    ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003725") Тогда //000003725 - Интайм 
    	СлужбаДоставкиВСМС = "InTime";
    ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003826") Тогда //000003826 - Мист экспресс
    	СлужбаДоставкиВСМС = "Meest-express";
    ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003932") Тогда //000003932 - Киевские ведомости 
    	СлужбаДоставкиВСМС = "Kievskie vedomosti"	
    ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003722") Тогда //000003722 - Новая почта
    	СлужбаДоставкиВСМС = "Nova Poshta";	
    ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003729") Тогда //000003729 - Ночной экспресс
    	СлужбаДоставкиВСМС = "Nochnoi express";
    ИначеЕсли ЗапросСлужбаДоставки.Ссылка = Справочники.Контрагенты.НайтиПоКоду("000003728") Тогда //000003728 - САТ
    	СлужбаДоставкиВСМС = "CAT";
    //.....
    
    КонецЕсли;

    Почти универсальный способ транслитизации наименования контрагента.

    rull9ss, 10 Сентября 2013

    Комментарии (44)
  10. 1C / Говнокод #13719

    −102

    1. 1
    С ПРАЗНИКАМ ШКАЛАТА!

    сиводня празник у шкалаты как харашо што мне в школу ни нада я жы ни шкалата у миня дажы пачка сигарет есть магу фото кинуть если ни верите што я взрослый

    PragramistOtBoga, 02 Сентября 2013

    Комментарии (3)