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

    −161

    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
    55. 55
    56. 56
    57. 57
    58. 58
    Для А =0 по Значение.Количество()-1 Цикл
    				Попытка	
    					Табл.InsertAfter(Строка(Значение[А].поле1)+"*"+Строка(Значение[А].поле2)+"*"+Строка(Значение[А].поле3)+"*"+Строка(Значение[А].поле4)+"*"+Строка(Значение[А].поле5)+"*"+Строка(Значение[А].поле6)+"*"+Строка(Значение[А].поле7)+"*"+Строка(Значение[А].поле8)+"*"+Строка(Значение[А].поле9)+"*"+Строка(Значение[А].поле10));
    					Табл.InsertParagraphAfter();
    				Исключение	
    					Попытка	
    						Табл.InsertAfter(Строка(Значение[А].поле1)+"*"+Строка(Значение[А].поле2)+"*"+Строка(Значение[А].поле3)+"*"+Строка(Значение[А].поле4)+"*"+Строка(Значение[А].поле5)+"*"+Строка(Значение[А].поле6)+"*"+Строка(Значение[А].поле7)+"*"+Строка(Значение[А].поле8)+"*"+Строка(Значение[А].поле9));
    						Табл.InsertParagraphAfter();
    					Исключение
    						Попытка	
    							Табл.InsertAfter(Строка(Значение[А].поле1)+"*"+Строка(Значение[А].поле2)+"*"+Строка(Значение[А].поле3)+"*"+Строка(Значение[А].поле4)+"*"+Строка(Значение[А].поле5)+"*"+Строка(Значение[А].поле6)+"*"+Строка(Значение[А].поле7)+"*"+Строка(Значение[А].поле8));
    							Табл.InsertParagraphAfter();
    						Исключение
    							
    							Попытка	
    								Табл.InsertAfter(Строка(Значение[А].поле1)+"*"+Строка(Значение[А].поле2)+"*"+Строка(Значение[А].поле3)+"*"+Строка(Значение[А].поле4)+"*"+Строка(Значение[А].поле5)+"*"+Строка(Значение[А].поле6)+"*"+Строка(Значение[А].поле7));
    								Табл.InsertParagraphAfter();
    							Исключение
    								Попытка	
    									Табл.InsertAfter(Строка(Значение[А].поле1)+"*"+Строка(Значение[А].поле2)+"*"+Строка(Значение[А].поле3)+"*"+Строка(Значение[А].поле4)+"*"+Строка(Значение[А].поле5)+"*"+Строка(Значение[А].поле6));
    									Табл.InsertParagraphAfter();
    								Исключение	
    									Попытка	
    										Табл.InsertAfter(Строка(Значение[А].поле1)+"*"+Строка(Значение[А].поле2)+"*"+Строка(Значение[А].поле3)+"*"+Строка(Значение[А].поле4)+"*"+Строка(Значение[А].поле5));
    										Табл.InsertParagraphAfter();
    									Исключение	
    										Попытка	
    											Табл.InsertAfter(Строка(Значение[А].поле1)+"*"+Строка(Значение[А].поле2)+"*"+Строка(Значение[А].поле3)+"*"+Строка(Значение[А].поле4));
    											Табл.InsertParagraphAfter();
    										Исключение
    											Попытка	
    												Табл.InsertAfter(Строка(Значение[А].поле1)+"*"+Строка(Значение[А].поле2)+"*"+Строка(Значение[А].поле3));
    												Табл.InsertParagraphAfter();
    											Исключение
    												Попытка	
    													Табл.InsertAfter(Строка(Значение[А].поле1)+"*"+(Строка(Значение[А].поле2)));
    													Табл.InsertParagraphAfter();
    												Исключение
    													Попытка	
    														Табл.InsertAfter(Строка(Значение[А].поле1));
    														Табл.InsertParagraphAfter();
    													Исключение
    														Попытка	
    															Табл.InsertAfter(Строка(Значение[А].поле0));
    															Табл.InsertParagraphAfter();
    														Исключение
    														КонецПопытки;
    													КонецПопытки;	
    												КонецПопытки;
    											КонецПопытки;	
    										КонецПопытки;
    									КонецПопытки;
    								КонецПопытки;	
    							КонецПопытки;	
    						КонецПопытки;	
    					КонецПопытки;
    				КонецПопытки;
    			КонецЦикла;

    Ninomia, 15 Июля 2014

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

    −160

    1. 1
    2. 2
    3. 3
    Если Год (ТекДата) = 1 Тогда
      ТекДата = ТекущаяДата ();
     КонецЕсли;

    вот так надо проверять дату на заполненность!

    alexinzaz, 14 Июля 2014

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

    −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
    Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    ........
    
    
    	если ЭтотОбъект.Проведен тогда 
    		Сообщить("Уже проведений, терміни не рухаємо");
    	иначе    ЭтотОбъект.ПолучитьФорму().Открыть();
    			     Сообщить("А тепер нажміть ОК");
            КонецЕсли;
    
    КонецПроцедуры // ОбработкаПроведения()

    омг...

    alexinzaz, 25 Июня 2014

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

    −164

    1. 1
    2. 2
    3. 3
    Процедура глЗагрузитьЗаказы() Экспорт
    	ОткрытьФорму("Отчет",,"\\SQLDSTR\1C\ExtERT\InvoiceLoader.ert");
    КонецПроцедуры

    Встретил в самописке в клюшках. Если поменяется имя сервера или каталога - всё рухнет).

    zinkovskiy, 16 Июня 2014

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

    −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
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    Для каждого ПараметрыПозиции Из ПараметрыПечати.Позиции Цикл
            ...
    	ОбластьДанных.Параметры.Заполнить(ПараметрыПозиции);
    	Запрос = Новый Запрос;
    	Запрос.Текст =
    	"ВЫБРАТЬ
    	|	ЦеныНоменклатурыСрезПоследних.Цена,
    	|	ЦеныНоменклатурыСрезПоследних.Номенклатура
    	|ИЗ
    	|	РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    	|ГДЕ
    	|	ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
    	|	И ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура";
    	Запрос.УстановитьПараметр("ТипЦен",Справочники.ТипыЦенНоменклатуры.НайтиПоКоду("000000001"));
    	Запрос.УстановитьПараметр("Номенклатура",ПараметрыПозиции.Номенклатура);
    	Цена = Запрос.Выполнить().Выбрать();
    	Цена.Следующий();
    	Если Цена.Цена <> Неопределено Тогда
    		ОбластьДанных.Параметры.Цена = Цена.Цена;
    		Если ЗначениеЗаполнено(ПараметрыПозиции.КфМест) Тогда  
    			ОбластьДанных.Параметры.ЦенаМеста = Цена.Цена * ПараметрыПозиции.КфМест;
    		КОнецЕсли;
    		СумИтог = СумИтог + Цена.Цена * ПараметрыПозиции.Количество;
    		ОбластьДанных.Параметры.Сумма = Цена.Цена * ПараметрыПозиции.Количество;
    	КонецЕсли;
    	ТабДокумент.Присоединить(ОбластьДанных);
    
    КонецЦикла;

    Прям классика жанра) Запрос в цикле, и условие к виртуальной таблице регистра сведений)

    adc5, 13 Июня 2014

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

    −127

    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
    Function Розница()
    	If Покупатель.Выбран() = 1 Then
    		If Покупатель.Вид() = "ПунктДоставки" Then
    			If Покупатель.Владелец.ТипЦенОтгрузки = Enum.ТипыОтпускныхЦен.Розничные Then
    				Return 1;
    			Else
    				Return 0;
    			EndIf;
    		Else
    			Return 0;
    		EndIf;
    	Else
    		Return 0;
    	EndIf;
    EndFunction

    Сегодня наткнулся на такой вот кусок кода

    TekhnoLife, 10 Июня 2014

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

    −130

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Запрос.Текст = "
    |...
    | И УслугиОказанные.Проведен = &Истина
    |...";
    Запрос.УстановитьПараметр("Истина", Истина);

    Вот как бывает когда людям платят за количество строк.
    Коллега нашёл в отчёте из БГУ 1.0.

    Voittamaton, 04 Июня 2014

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

    −125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Процедура ПриОткрытии()
    	Если ЭтоНовый() И НЕ РольДоступна("СуперАдмин") Тогда
                  ЭтаФорма.Закрыть();
    	      Возврат;
    	КонецЕсли;
    КонецПроцедуры

    УТ 10.3. Такие перлы добавлены почти во все документы конфигурации

    105_306330_ru, 28 Мая 2014

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

    −123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ИначеЕсли  Отправитель = "h*@**k.ua" Тогда
      НовыйДокумент.Услуга   = Справочники.Услуги.НайтиПоКоду("0000000029");
     ИначеЕсли  Отправитель = "*******@**k.ua" Тогда
      НовыйДокумент.Услуга   = Справочники.Услуги.НайтиПоКоду("0000000029");
      НовыйДокумент.Ответственный = Справочники.Сотрудники.НайтиПоКоду("0000000063");
     КонецЕсли;

    alexinzaz, 23 Мая 2014

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

    −132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() И Выборка.Количество() > 0 Тогда
    	Возврат Выборка.ПлощадьДома;
    Иначе
    	Возврат 0;
    КонецЕсли;

    проверка пустая ли выборка по одному из принципов:
    "больше лучше, чем меньше", "доверяй, но проверяй", "семь раз отмерь, один отрежь"

    Olna, 21 Мая 2014

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