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

    −120

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Если НЕ Докум.ПроверенноБухгалтером Тогда
    	ЧихПых = Истина;     // подмена контрагента на НЕПРОВЕРЕНО БУХОМ
    Иначе
    	ЧихПых = Ложь;
    КонецЕсли;

    Вот такой вот фокус от программистов для бухгалтеров.

    koshak84, 28 Апреля 2012

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

    −144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Функция ПроверкаОснДаты(Конт,Текст) Экспорт
    	Попытка	Дат=Конт.ДатаОперации;
    	Исключение
    		Попытка		Дат=Конт.ДатаДок;
    		Исключение	Дат='';	КонецПопытки;
    	КонецПопытки;
    	Если Дат<Константа.ОснДатаГл Тогда
    		ДействиеНеВыполнено(Шаблон("[Текст]. Период закрыт"));
    	КонецЕсли;
    	Возврат СтатусВозврата();
    КонецФункции

    Terrible, 19 Апреля 2012

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

    −129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //если период поселения не соотв. порядку дат - забьем пустые клетки
    ~нах:	Если НачалоДня(выбГруппаПериод.периодГРуппа)>НачалоДня(ТекДатаШ) Тогда
    		ВывестиПустоеМесто(Выбмест.Место,ТекДатаШ);
    		Перейти ~нах;
    	КонецЕсли;

    Меток не видел со времён изучения ассемблера... Это ужас... Хотя переходят верно =)

    gavrick, 04 Апреля 2012

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

    −136

    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
    function iofam(val a)
    var fio[3];
    fio[1]=""; fio[2]=""; fio[3]="";
    a=trimall(a);
    while strcountoccur(a,"  ")>0 do
      a=strreplace(a,"  "," ");
    enddo;
    i=1;
    while (strcountoccur(a," ")>0) and (i<=2) do
      fio[i]=left(a,find(a," ")-1);
      a=right(a,strlen(a)-1-strlen(fio[i]));
      i=i+1;
    enddo;
    fio[i]=a;
    return (left(fio[2],1)+"."+left(fio[3],1)+". "+fio[1]);
    endfunction

    int1789, 03 Апреля 2012

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

    −122

    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
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    Функция ПреобразованиеДаты(Дата) Экспорт
    Если НЕ ПустаяСтрока(Дата) Тогда	
    	ГодКраткий = Прав(Дата, 2);
    	Если 		ГодКраткий = "83" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1983";		
    		ИначеЕсли   ГодКраткий = "84" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1984";
    		ИначеЕсли   ГодКраткий = "85" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1985";	
    		ИначеЕсли   ГодКраткий = "86" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1986";	
    		ИначеЕсли   ГодКраткий = "87" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1987";	
    		ИначеЕсли   ГодКраткий = "88" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1988";	
    		ИначеЕсли   ГодКраткий = "89" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1989";	
    		ИначеЕсли   ГодКраткий = "90" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1990";	
    		ИначеЕсли   ГодКраткий = "91" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1991";	
    		ИначеЕсли   ГодКраткий = "92" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1992";	
    		ИначеЕсли   ГодКраткий = "93" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1993";	
    		ИначеЕсли   ГодКраткий = "94" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1994";	
    		ИначеЕсли   ГодКраткий = "95" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1995";	
    		ИначеЕсли   ГодКраткий = "96" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1996";	
    		ИначеЕсли   ГодКраткий = "97" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1997";	
    		ИначеЕсли   ГодКраткий = "98" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1998";	
    		ИначеЕсли   ГодКраткий = "99" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "1999";	
    		ИначеЕсли   ГодКраткий = "00" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2000";	
    		ИначеЕсли   ГодКраткий = "01" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2001";	
    		ИначеЕсли   ГодКраткий = "02" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2002";	
    		ИначеЕсли   ГодКраткий = "03" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2003";	
    		ИначеЕсли   ГодКраткий = "04" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2004";	
    		ИначеЕсли   ГодКраткий = "05" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2005";	
    		ИначеЕсли   ГодКраткий = "06" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2006";	
    		ИначеЕсли   ГодКраткий = "07" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2007";	
    		ИначеЕсли   ГодКраткий = "08" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2008";	
    		ИначеЕсли   ГодКраткий = "09" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2009";	
    		ИначеЕсли   ГодКраткий = "10" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2010";	
    		ИначеЕсли   ГодКраткий = "11" Тогда
    			ДатаНовая = "" + Лев(Дата,6) + "2011";					
    		КонецЕсли;
    
    ДатаЗначение = Дата(Сред(ДатаНовая,7,4),Сред(ДатаНовая,4,2),Сред(ДатаНовая,1,2));	
    Возврат ДатаЗначение;	
    КонецЕсли;
    КонецФункции

    Прихожу сегодня с утра и вижу вот такой код коллеги. Надо теперь психологически восстанавливаться.

    i-ale, 22 Марта 2012

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

    −132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Попытка
    			Если Число(ДисконтнаяКарта.НомерКарты) >= 111065251 И Число(ДисконтнаяКарта.НомерКарты) <= 111065453 И  ПревышенаСуммаДисконта() Тогда 
    				Отказ = Истина;
    				Сообщить("Сумма дисконта превышает оставшийся лимит по карте!",СтатусСообщения.Важное);
    				Возврат
    			КонецЕсли;
    		Исключение
    		КонецПопытки;

    glavdir, 20 Марта 2012

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

    −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
    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
    ////////////////////////////////////////////////////////////////////
    	////////Преобразование горизонтали в вертикаль с дурацким циклом////
    	///////////////////////////////////////////////////////////////////
    	
    	ТекДата = ТекущаяДата();	
    	ТекущийГод = НачалоГода(ТекДата);
    	ТекущийМесяц = НачалоМесяца(ТекДата);
    	
    	Пока Выборка.Следующий() Цикл
    		
    		ДатаЯнварь = ТекущийГод;
    		Если    ДатаЯнварь >= ТекущийМесяц Тогда
    			Январь = ПланПост.Добавить();
    			Январь.Организация =Выборка.Организация;
    			Январь.Расход = Выборка.ПродажиЯнварь;
    			Январь.НормОст = Выборка.ОстаткиФевраль; 
    			Январь.МесяцПрихода =  ТекущийГод;
    		КонецЕсли;
    		
    		ДатаФевраль =  ДобавитьМесяц(ТекущийГод, 1);
    		Если    ДатаФевраль >= ТекущийМесяц Тогда
    			Февраль = ПланПост.Добавить();
    			Февраль.Организация =Выборка.Организация;
    			Февраль.Расход = Выборка.ПродажиФевраль;
    			Февраль.НормОст = Выборка.ОстаткиМарт;
    			Февраль.МесяцПрихода = ДатаФевраль;
    		КонецЕсли;
    		
    		ДатаМарт = ДобавитьМесяц(ТекущийГод, 2);
    		Если    ДатаМарт >= ТекущийМесяц Тогда
    			Март = ПланПост.Добавить();
    			Март.Организация =Выборка.Организация;
    			Март.Расход = Выборка.ПродажиМарт;
    			Март.НормОст = Выборка.ОстаткиАпрель;
    			Март.МесяцПрихода = ДатаМарт; 
    		КонецЕсли;
    		
    		ДатаАпрель = ДобавитьМесяц(ТекущийГод, 3);
    		Если    ДатаАпрель >= ТекущийМесяц Тогда
    			Апрель = ПланПост.Добавить();
    			Апрель.Организация =Выборка.Организация;
    			Апрель.Расход = Выборка.ПродажиАпрель;
    			Апрель.НормОст = Выборка.ОстаткиМай;
    			Апрель.МесяцПрихода =  ДатаАпрель;
    		КонецЕсли;
    		
    		ДатаМай =  ДобавитьМесяц(ТекущийГод, 4);
    		Если    ДатаМай >= ТекущийМесяц Тогда
    			Май = ПланПост.Добавить();
    			Май.Организация =Выборка.Организация;
    			Май.Расход = Выборка.ПродажиМай;
    			Май.НормОст = Выборка.ОстаткиИюнь;
    			Май.МесяцПрихода = ДатаМай;  
    		КонецЕсли;

    Была ТЧ в документе с колонками-названиями месяцев....И руководство поставило задачу вывести ЭТО в отчет...На СКД....

    Necessitudo, 19 Марта 2012

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

    −126

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

    ШЕДЕВР!
    Конечно, база данных ведь запоминает, что мы элементы формы сделали недоступными...

    mrbus, 14 Марта 2012

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

    −144

    1. 1
    СуммаРЗ = СуммаРЗ;

    Капитан, это вы?

    mrbus, 14 Марта 2012

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

    −139

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

    Jivchic, 12 Марта 2012

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