1. Список говнокодов пользователя ilya2184

    Всего: 7

  2. Куча / Говнокод #25218

    0

    1. 1
    Разупоритесь-тред.

    Под какой файкой нынче сидит доктор[]инхо[/s]?

    ilya2184, 24 Декабря 2018

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

    −47

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Запись = РегистрыСведений.СтатусыОповещенийПредстоящихПлатежей.СоздатьМенеджерЗаписи();
    		Запись.Период = Выборка.Период;
    		Запись.Контрагент = Выборка.Контрагент;
    		Запись.Прочитать();
    		Запись.ДатаПолучения = ТекущаяДата();
    		
    		НачатьТранзакцию();
    		Запись.Записать(Истина);
    		ЗафиксироватьТранзакцию();

    Дополнительная транзакция - лишняя.

    ilya2184, 09 Августа 2016

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

    −80

    1. 1
    Если Найти(Строка(ТипЗнч(Ссылка)),"Документ") Тогда

    Проверка, является ли переданная ссылка документом. Сегодня без авторства.

    ilya2184, 05 Июня 2013

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

    −177

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

    Удалить документ в транзакции "перед записью" при пометке удаления - это сильно, а "Попытка" - так, на всякий случай, а чтобы продолжения банкета не было - Отказ. Звезда Хан Ю.В.

    ilya2184, 27 Мая 2013

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

    −121

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

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

    ilya2184, 10 Октября 2012

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

    −121

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

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

    ilya2184, 10 Октября 2012

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

    −121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    Функция ПолучитьКонтрольКонтрагентовВключен() Экспорт
    	мПривилегированныйРежим=ПривилегированныйРежим();
    	Если НЕ мПривилегированныйРежим Тогда
    		УстановитьПривилегированныйРежим(Истина);
    		мКонтрольКонтрагентовВключен=КОнстанты.КонтрольКонтрагентовВключен.Получить()=Истина;
    		УстановитьПривилегированныйРежим(мПривилегированныйРежим);
    	Иначе
    		мКонтрольКонтрагентовВключен=КОнстанты.КонтрольКонтрагентовВключен.Получить()=Истина;
    	КонецЕсли;	
    	
    	Возврат мКонтрольКонтрагентовВключен;
    КонецФункции

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

    ilya2184, 27 Сентября 2012

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