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

    −119

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

    Встретил сегодня такую конструкцию в отчете. Орфография передана без изменения

    spamersd, 26 Февраля 2015

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

    −119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    РасходныйКассовыйОрдер ГДЕ (НЕ РасходныйКассовыйОрдер.ВидОперации В
    					(ВЫБРАТЬ
    						ВидыОперацийРКО.Ссылка
    					ИЗ
    						Перечисление.ВидыОперацийРКО КАК ВидыОперацийРКО
    					ГДЕ
    						ВидыОперацийРКО.Ссылка = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРКО.ВыплатаЗаработнойПлатыРаботнику)))

    Обнаружил вот это чудо в ограничении почти всех ролей на ЧТЕНИЕ.
    Древняя УПП 1.2 сильно допиленная.
    Теперь сижу и горюю о том, сколько времени придётся потратить удаляя это из всех ролей...

    Goggy, 20 Февраля 2015

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

    −119

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

    На форме списка справочника "Контрагенты" добавлена кнопка со значком "непосредственное удаление". А это её обработчик.
    НАХРЕНА???

    doom2good, 20 Февраля 2015

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

    −120

    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
    Функция Счет(УсловныйКодСчета, СоответствиеСчетов = Неопределено) Экспорт
    	
    	ПС = ПланыСчетов.Хозрасчетный;
    	Результат = ПС.ПустаяСсылка();
    	
    	Если УсловныйКодСчета = "01" Тогда
    		Результат = ПС.ОсновныеСредства;
    	ИНачеЕсли УсловныйКодСчета = "01.01" Тогда
    		Результат = ПС.ОСвОрганизации;
    	ИначеЕсли УсловныйКодСчета = "01.08" Тогда
    		Результат = ПС.ОСБезГосРегистрации;
    	ИначеЕсли УсловныйКодСчета = "01.09" Тогда
    		Результат = ПС.ВыбытиеОС;
    	ИначеЕсли УсловныйКодСчета = "02" Тогда
    		Результат = ПС.АмортизацияОсновныхСредств;
    //Далее идет подобный треш более чем на 500 строк
    
            ИначеЕсли УсловныйКодСчета = "008" Тогда
    		Результат = ПС.ОбеспеченияОбязательствПолученные;
    	ИначеЕсли УсловныйКодСчета = "009" Тогда
    		Результат = ПС.ОбеспеченияОбязательствВыданные;
    	ИначеЕсли УсловныйКодСчета = "011" Тогда
    		Результат = ПС.ОсновныеСредстваСданныеВАренду;
    	Иначе
    		ОписаниеОшибки = НСтр("ru='Не определен счет с условным кодом %1 в соответствии счетов'");
    		ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ОписаниеОшибки, УсловныйКодСчета);
    		ВызватьИсключение ОписаниеОшибки;
    	КонецЕсли;
    	
    	Возврат Результат;
    	
    КонецФункции
    
    //СоответствиеСчетов так нигде и не используется :(

    Типовая Бухгалтерия КОРП 3.0, модуль ЗаполнениеБухгалтерскойОтчетностиИтоги

    planaric, 07 Февраля 2015

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

    −120

    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
    //определяем сумму начисленной амортизации+ремонтов на заказы документом "РаспределениеАмортизацииНаЗаказы"
    
    	Запрос = Новый Запрос;
    	Запрос.Текст = "ВЫБРАТЬ
    	               |	НезавершенноеПроизводствоБухгалтерскийУчетОбороты.СчетУчета КАК СчетУчета,
    	               |	НезавершенноеПроизводствоБухгалтерскийУчетОбороты.Заказ,
    	               |	НезавершенноеПроизводствоБухгалтерскийУчетОбороты.СтоимостьПриход КАК СтоимостьПриход,
    	               |	НАЧАЛОПЕРИОДА(НезавершенноеПроизводствоБухгалтерскийУчетОбороты.Период, МЕСЯЦ) КАК Период,
    	               |	НезавершенноеПроизводствоБухгалтерскийУчетОбороты.Регистратор КАК Регистратор
    	               |ИЗ
    	               |	РегистрНакопления.НезавершенноеПроизводствоБухгалтерскийУчет.Обороты(&ДатаНач, &ДатаКон, Регистратор, ) КАК НезавершенноеПроизводствоБухгалтерскийУчетОбороты
    	               |ГДЕ
    	               |	(НезавершенноеПроизводствоБухгалтерскийУчетОбороты.Регистратор ССЫЛКА Документ.РаспределениеАмортизацииНаЗаказы
    	               |			ИЛИ НезавершенноеПроизводствоБухгалтерскийУчетОбороты.Регистратор = &Корректировка)
    	               |	И НезавершенноеПроизводствоБухгалтерскийУчетОбороты.СчетУчета = &СчетУчета
    	               |ИТОГИ
    	               |	СУММА(СтоимостьПриход)
    	               |ПО
    	               |	ОБЩИЕ";
    				   
    	Запрос.УстановитьПараметр("ДатаНач",НачалоМесяца(ДатаНач));
    	Запрос.УстановитьПараметр("ДатаКон",КонецМесяца(ДатаКон));
    	Запрос.УстановитьПараметр("СчетУчета", ПланыСчетов.Хозрасчетный.НайтиПоКоду("231"));
    	Запрос.УстановитьПараметр("Корректировка", Документы.ОперацияБух.НайтиПоНомеру("00000056",Дата(2011,05,01)));
    
    	Выборка = Запрос.Выполнить().Выбрать();
    	Выборка.Следующий();
    	СуммаНачисления = Выборка.СтоимостьПриход;

    Есть специальная супер секретная бухгалтерская операция которую нужно исключить )))

    yuriybilous, 31 Января 2015

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

    −118

    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
    Если Сумма<=0 тогда
    		
    		НС = Док.СуммыДолга.Добавить();
    		НС.ВидЗадолженности     = Перечисления.ВидыЗадолженности.Кредиторская;
    		НС.ДоговорКонтрагента     = ПолучитьДоговор(Клиент,Док.ВалютаДокумента);
    		НС.КурсВзаиморасчетов   = Док.КурсДокумента;
    		НС.КратностьВзаиморасчетов=Док.КратностьДокумента;
    		НС.Сумма = -Сумма;
    		НС.СуммаРегл = НС.Сумма*НС.КурсВзаиморасчетов/НС.КратностьВзаиморасчетов;
    		
    		НС.СчетУчетаАвансов  = СчетКонтрагента;
    		НС.СчетУчетаРасчетов = СчетКонтрагента;
    	Иначе
    		
    		НС = Док.СуммыДолга.Добавить();
    		НС.ВидЗадолженности     = Перечисления.ВидыЗадолженности.Дебиторская;
    		НС.ДоговорКонтрагента     = ПолучитьДоговор(Клиент,Док.ВалютаДокумента);
    		НС.КурсВзаиморасчетов   = Док.КурсДокумента;
    		НС.КратностьВзаиморасчетов=Док.КратностьДокумента;
    		НС.Сумма = Сумма;
    		НС.СуммаРегл = НС.Сумма*НС.КурсВзаиморасчетов/НС.КратностьВзаиморасчетов;
    		
    		НС.СчетУчетаАвансов  = СчетКонтрагента;
    		НС.СчетУчетаРасчетов = СчетКонтрагента;
    	
    	КонецЕсли;

    Код исправный, но... любит один наш программер "чтоб побольше строк"... а если добавить дополнительные отступы ("для удобства прочтения"), то будет казаться, что программа невообразимо длинная и сложная

    dsfix, 30 Января 2015

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

    −127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //200114		
    //ОбластьКонОстаткиДоговор.Параметры.ПеременныйДоговор = ВыборкаДоговор.Договор;  //Убери рем когда договор опять нужен будет 
    
    //210014
    //ОбластьКонОстаткиДоговор.Параметры.ПеенныйДоговор = ВыборкаДоговор.Договор;  //Убери рем когда договор опять нужен будет

    Пенный договор вновь вступил в силу..

    gStill, 27 Января 2015

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

    −125

    1. 1
    КоличествоСтраницПриПечати = Цел(ТабличныйДокумент.ВысотаТаблицы /  40.417) + 1 + 1;

    Разработчик 1С вооруженный линейкой опасен в 1+1 раз.

    safer_bwd, 26 Января 2015

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

    −121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Функция ПереформатироватьДату(Дата)
     Год  = Формат(Дата, "ДФ=гггг");
     Месяц = Формат(Дата, "ДФ=ММ");
     День = Формат(Дата, "ДФ=дд");
     Час  = Формат(Дата, "ДФ=Ч") ;
     Минута  = Формат(Дата, "ДФ=мм");
     Секунда = Формат(Дата, "ДФ=сс");
     ПолученнаяДата = Год+Месяц+День+Час+Минута+Секунда;
     Возврат ПолученнаяДата; 
    КонецФункции

    Творчечство стажера. Надо было в скл -запрос подсунуть дату в виде строки. Должно быть Формат(Дата, "ДФ=yyyyMMddhhmmss"). Да и отдельной функции не надо

    delph1ct, 26 Января 2015

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

    −125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ВЫБОР
    	КОГДА &ПоказыватьВсеПотребности
    	ТОГДА ВЫБОР 
    		КОГДА ОсновнаяТаблица.КоличествоПлана <= 0
    			ТОГДА ОсновнаяТаблица.КоличествоПлана
    		ИНАЧЕ ОсновнаяТаблица.КоличествоПлана
    	КОНЕЦ
    ИНАЧЕ ОсновнаяТаблица.КоличествоПлана
    КОНЕЦ КАК КоличествоПлана

    плана было больше количество, это уж точно

    dawgcha, 13 Января 2015

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