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

    −174

    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
    Стр = ТЗОбщая.Добавить();
    Стр.сотрудник = Выборка.сотрудник;
    Стр.Результат = ВЫборка.Результат;
    ИскомаяСтрока = ТЗСотрДатаПриема.Найти(Стр.сотрудник,"Сотрудник");
    Если ИскомаяСтрока <> Неопределено Тогда
    	месяц_ = Месяц(ИскомаяСтрока.ДатаПриемаНаРаботу);
    	если месяц_ > 7 тогда  // чел принят после июля
    		число_ = 12 - месяц_;  //кол-во отработанных месяцев
    	иначе	  
    		число_ = 6 ; 
    	конецесли;	  
    КонецЕсли;	
    число_ = число_+ Месяц(ВыбДата) ;
    если число_ >=12 тогда
    	число_=12;
    конецесли;	 
    Стр.СреднийЗаработок = Окр(ВЫборка.Результат/29.4/число_,2);

    Вот так у нас считают средний заработок за последний год)))

    doom2good, 17 Июля 2013

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

    −126

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Функция ЗначениеСвойства(Объект, ИмяСвойства) Экспорт
    	
    	Возврат Объект[ИмяСвойства]
    	
    КонецФункции

    Пипец полезная функция!

    doom2good, 17 Июля 2013

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

    −124

    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
    Procedure mes(aVal) export
      Message(aVal);
    endProcedure
    
    function eqStr(a,b) export
    	result=false;
    	return ВРЕГ(TrimAll(a))=ВРЕГ(TrimAll(b));
    	if ВРЕГ(TrimAll(a))=ВРЕГ(TrimAll(b)) then
      	result=true;
     endif;	
     mes(result);
     return result;
    endfunction

    Форматирование не менял.
    1. Зачем вызывать процедуру "mes", где выводится только сообщение. Когда вывесли сообщение можно там же.
    2. В функции eqStr никогда не выполнится условие и вызов процедуры "mes".

    Danik, 17 Июля 2013

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

    −166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Function toString(aDate) export
    		s=Format(Строка(aDate),"ДФ=ддMMгггг");
    		return лев(s,10);
    endFunction
    
    .......
    ДатаДД=uDates.toString(Отбор.Дата);
    .......

    Функция находится в общем модуле uDates.
    Вызов функции происходит в одном из документов:

    Danik, 17 Июля 2013

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

    −169

    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
    // Функция возвращает округленное значение общего количества продуктов питания.
    // 
    // Параметры:
    //	Число - число, которое необходимо округлить.
    //	Порядок - число, порядок округления.
    
    Функция УППБУ_Округлить(Число, ПорядокОкругления) Экспорт
    	
    	Порядок = Число(Строка(ПорядокОкругления));
    	
    	..........
    	
    КонецФункции

    Тиражное решение от одного из партнеров...

    HomoAlbus, 02 Июля 2013

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

    −171

    1. 1
    КоличествоСтрокТоваров  = Документы.РеализацияТоваровУслуг.ПолучитьСсылку(ЭтотОбъект.Ссылка.УникальныйИдентификатор()).Товары.Количество();

    программист-снайпер, убивает одной строкой кода.

    BlackMamba, 19 Июня 2013

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

    −162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    //сохраним уже начисленные услуги
    Если УслугиПоГрафику.Количество() > 0 Тогда
    	ПромежуточнаяТаблица = УслугиПоГрафику.Выгрузить();
    	УслугиПоГрафику.Очистить();
    
    	Для Каждого СтрокаТЗ Из ПромежуточнаяТаблица Цикл
    		НоваяСтрока = УслугиПоГрафику.Добавить();
    		ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЗ);
    	КонецЦикла;
    КонецЕсли;

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

    madcat_sev, 13 Июня 2013

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

    −80

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

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

    ilya2184, 05 Июня 2013

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

    −160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Ученик 1С спросил у своего учителя: что означает аббревиатура "Один Эс"?
    Учитель долго думал и наконец ответил ему:
    - "Один" - это когда солнечный день и воняет из трубы, это "Один"
    А "Эс", что такое "Эс", - спросил ученик
    - "Эс" - это когда солнечный день и опять же воняет из трубы

    Если бы у 1С были коаны, они выглядели бы примерно так.
    По мотивам к/ф "Моцарт" 2006

    serpinski, 02 Июня 2013

    Комментарии (26)
  10. 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)