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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Запрос = Новый Запрос;
 Запрос.Текст = "какой-то там текст запроса с параметрами <Вариант> и <НеВариант>"
 
 Запрос.УстановитьПараметр("Вариант", ?(Вариант = Истина, Истина, Ложь));
 Запрос.УстановитьПараметр("НеВариант", ?(Вариант = Истина, Ложь, Истина));

Упрощается все до ...("Вариант", Вариант) и ...("НеВариант", Не Вариант) (хотя два параметра, зависящие от одной переменной уже не ок)

Теперь по офису на вопрос: "А можно ли упростить?" сразу летит в ответ сакральное "НЕ ВАРИАНТ!!!"

nixel nixel, (Updated )

Комментарии (7, +7)

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

0

  1. 1
  2. 2
  3. 3
Говнокод, выручай пишу быстро. Работаю дома, так же как и ты наверно, у нас есть модем мегафон 4G.
Я не знал что там трафик не безлимитный. Сейчас мамка хочет сделать запрос сайтов, точнее уже начала смотреть.
Я смотрел на порно и дрочил, что делать?

serpinski serpinski, (Updated )

Комментарии (11, +11)

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

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
1CClientBankExchange
ВерсияФормата=1.01
Кодировка=Windows
Получатель=
ДатаНачала=25.09.2012
ДатаКонца=25.09.2012
...
СекцияРасчСчет
...
КонецРасчСчет
СекцияДокумент=Платежное поручение
...
КонецДокумента
КонецФайла

Формат файла: Стандарт обмена с системами "Клиент банка"
http://v8.1c.ru/edi/edi_stnd/100/101.htm

Пидорва изобрела ini-файлы. Но убило не это, а это:
>Кодировка=Windows

Centry Centry, (Updated )

Комментарии (24, +24)

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

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
  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
Функция Транслит(Имя)
    Рез = СокрЛП(Имя);
    Рез = СтрЗаменить(Рез,"а","a");
    Рез = СтрЗаменить(Рез,"б","b");
    Рез = СтрЗаменить(Рез,"в","v");
    Рез = СтрЗаменить(Рез,"г","g");
    Рез = СтрЗаменить(Рез,"д","d");
    Рез = СтрЗаменить(Рез,"е","e");
    Рез = СтрЗаменить(Рез,"ё","jo");
    Рез = СтрЗаменить(Рез,"ж","zh");
    Рез = СтрЗаменить(Рез,"з","z");
    Рез = СтрЗаменить(Рез,"и","i");
    Рез = СтрЗаменить(Рез,"й","jj");
    Рез = СтрЗаменить(Рез,"к","k");
    Рез = СтрЗаменить(Рез,"л","l");
    Рез = СтрЗаменить(Рез,"м","m");
    Рез = СтрЗаменить(Рез,"н","n");
    Рез = СтрЗаменить(Рез,"о","o");
    Рез = СтрЗаменить(Рез,"п","p");
    Рез = СтрЗаменить(Рез,"р","r");
    Рез = СтрЗаменить(Рез,"с","s");
    Рез = СтрЗаменить(Рез,"т","t");
    Рез = СтрЗаменить(Рез,"у","u");
    Рез = СтрЗаменить(Рез,"ф","f");
    Рез = СтрЗаменить(Рез,"х","h");
    Рез = СтрЗаменить(Рез,"ч","ch");
    Рез = СтрЗаменить(Рез,"ш","sh");
    Рез = СтрЗаменить(Рез,"щ","shh");
    Рез = СтрЗаменить(Рез,"ъ","");
    Рез = СтрЗаменить(Рез,"ь","");
    Рез = СтрЗаменить(Рез,"э","eh");
    Рез = СтрЗаменить(Рез,"ю","ju");
    Рез = СтрЗаменить(Рез,"ц","c");
    Рез = СтрЗаменить(Рез,"я","ja");
    Рез = СтрЗаменить(Рез,"ы","i");
    Рез = СтрЗаменить(Рез,"А","A");
    Рез = СтрЗаменить(Рез,"Б","B");
    Рез = СтрЗаменить(Рез,"В","V");
    Рез = СтрЗаменить(Рез,"Г","G");
    Рез = СтрЗаменить(Рез,"Д","D");
    Рез = СтрЗаменить(Рез,"Е","E");
    Рез = СтрЗаменить(Рез,"Ё","JO");
    Рез = СтрЗаменить(Рез,"Ж","ZH");
    Рез = СтрЗаменить(Рез,"З","Z");
    Рез = СтрЗаменить(Рез,"И","I");
    Рез = СтрЗаменить(Рез,"Й","JJ"); 
    Рез = СтрЗаменить(Рез,"К","K");
    Рез = СтрЗаменить(Рез,"Л","L");
    Рез = СтрЗаменить(Рез,"М","M");
    Рез = СтрЗаменить(Рез,"Н","N");
    Рез = СтрЗаменить(Рез,"О","O");
    Рез = СтрЗаменить(Рез,"П","P");
    Рез = СтрЗаменить(Рез,"Р","R");
    Рез = СтрЗаменить(Рез,"С","S");
    Рез = СтрЗаменить(Рез,"Т","T");
    Рез = СтрЗаменить(Рез,"У","U");
    Рез = СтрЗаменить(Рез,"Ф","F");
    Рез = СтрЗаменить(Рез,"Х","H");
    Рез = СтрЗаменить(Рез,"Ч","CH");
    Рез = СтрЗаменить(Рез,"Ш","SH");
    Рез = СтрЗаменить(Рез,"Щ","SHH");
    Рез = СтрЗаменить(Рез,"Ъ","");
    Рез = СтрЗаменить(Рез,"Ь","");
    Рез = СтрЗаменить(Рез,"Ы","");
    Рез = СтрЗаменить(Рез,"Ц","C");
    Рез = СтрЗаменить(Рез,"Э","EH");
    Рез = СтрЗаменить(Рез,"Ю","JU");
    Рез = СтрЗаменить(Рез,"Я","JA");
   
    Возврат(Рез);
КонецФункции

Суровая транслитерация... Я плакалъ

jerokee jerokee, (Updated )

Комментарии (16, +16)

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

0

  1. 1
НомСтрЗаказа = ПолучитьПустоеЗначение("Число");

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

jerokee jerokee, (Updated )

Комментарии (18, +18)

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

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
Функция СоздатьЗапрос(Текст) Экспорт
	Запрос = Новый Запрос;
	Запрос.Текст=Текст;
	Возврат Запрос;
КонецФункции
Функция СоздатьМассив() Экспорт
	Возврат Новый Массив;
КонецФункции
Функция СоздатьСоответствие() Экспорт
	Возврат Новый Соответствие;
КонецФункции
Функция СоздатьСтруктуру() Экспорт
	Возврат Новый Структура;
КонецФункции
Функция СоздатьСписокЗначений() Экспорт
	Возврат Новый СписокЗначений;
КонецФункции

Вот такие вот функции (это естественно не все) от OLE-мастера: NewObject - не, не слышал.

ilya2184 ilya2184, (Updated )

Комментарии (6, +6)

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

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
Процедура аСсылкиПриЗаписиПриЗаписи(Источник, Отказ) Экспорт
	
	Если аСервер.ЗагрузкаПоОбменуРиб(Источник) Тогда
		Возврат
	КонецЕсли;
	
	Если ТипЗнч(Источник)=Тип("СправочникОбъект.Корреспонденты") Тогда
		
		Если Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли;
		Если Источник.Ссылка.ЭтоГруппа Тогда Возврат; КонецЕсли;
		Если Источник.Предопределенный Тогда Возврат; КонецЕсли;
		Источник.ОбменДанными.Загрузка=Истина;
		Источник.Записать(); //Записать() в подписке ПриЗаписи() - крутой костыль
		Источник.ОбменДанными.Загрузка=Ложь;
		Источник.Комментарий = ...

Вот такая вот подписка при записи любых ссылок. 3 Если подряд? Логическое умножение - не, не слышал. Зато Записать() в подписке ПриЗаписи - слышал. Автор Хан Юрий Валентинович.

ilya2184 ilya2184, (Updated )

Комментарии (8, +8)

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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
ВЫБОР
    КОГДА ПродажиОбороты.Регистратор.Товары.СерияНоменклатуры.СрокГодности ЕСТЬ NULL 
            ИЛИ ПродажиОбороты.Регистратор.Товары.СерияНоменклатуры.СрокГодности < ДАТАВРЕМЯ(2000, 1, 1)

       ТОГДА ПродажиОбороты.Регистратор.Товары.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(Регистр1.ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(Регистр1.ДатаОкончания, ДЕНЬ)
   ИНАЧЕ ПродажиОбороты.Регистратор.Товары.СерияНоменклатуры.СрокГодности МЕЖДУ НАЧАЛОПЕРИОДА(Регистр1.ДатаНачала, ДЕНЬ) И КОНЕЦПЕРИОДА(Регистр1.ДатаОкончания, ДЕНЬ)
КОНЕЦ

dmurdoc dmurdoc, (Updated )

Комментарии (6, +6)

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

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
  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
Функция   СтрокаБезПробелов(sP,lenP= Неопределено) Экспорт
	
// убрать пробелы (на самом деле, символы 160) в строке sP
// (после преобразования числа в cтроку)
// если нужно - дописать пробелов спереди до длины lenP

 s_ = СтрЗаменить(Строка(sP),Символ(160),"");
 
 Если lenP>0 Тогда
      l_ = СтрДлина(s_);
	  Если l_<lenP Тогда
		   j = lenP-l_;
		   Если j=1 Тогда
			    s_ = " "+s_;
		   Иначе	   
		    Если j=2 Тогда
			     s_ = "  "+s_;
		    Иначе	   
		     Если j=3 Тогда
			      s_ = "   "+s_;
		     Иначе	   
		      Если j=4 Тогда
			       s_ = "    "+s_;
		      Иначе	   
		       Если j=5 Тогда
			        s_ = "     "+s_;
		       Иначе	   
		        Если j=6 Тогда
			         s_ = "      "+s_;
		        Иначе	   
		         Если j=7 Тогда
			          s_ = "       "+s_;
		         Иначе	   
		          Если j=8 Тогда
			           s_ = "        "+s_;
		          Иначе	   
                  КонецЕсли;
                 КонецЕсли;
                КонецЕсли;
               КонецЕсли;
              КонецЕсли;
             КонецЕсли;
            КонецЕсли;
           КонецЕсли;
      КонецЕсли;
 КонецЕсли;
  
 Возврат s_;
КонецФункции

Вот такая замена функции Формат нашлась в исходниках от одного из внедренцев.

bytemdfab bytemdfab, (Updated )

Комментарии (19, +19)

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

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
Функция ПолучитьКонтрольКонтрагентовВключен() Экспорт
	мПривилегированныйРежим=ПривилегированныйРежим();
	Если НЕ мПривилегированныйРежим Тогда
		УстановитьПривилегированныйРежим(Истина);
		мКонтрольКонтрагентовВключен=КОнстанты.КонтрольКонтрагентовВключен.Получить()=Истина;
		УстановитьПривилегированныйРежим(мПривилегированныйРежим);
	Иначе
		мКонтрольКонтрагентовВключен=КОнстанты.КонтрольКонтрагентовВключен.Получить()=Истина;
	КонецЕсли;	
	
	Возврат мКонтрольКонтрагентовВключен;
КонецФункции

Получение константы в в привилегированном режиме поражает. Антипаттерн Спагетти (можно обойтись двумя строками). Автор Хан Юрий Валентинович.

ilya2184 ilya2184, (Updated )

Комментарии (13, +13)