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

    −116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ВЫБОР 
    КОГДА ПолФизическихЛиц.Ссылка = "Женский" 
    ТОГДА "М" 
    ИНАЧЕ "Ж" 
    КОНЕЦ

    Вот такой вот забавный запрос

    glavdir, 25 Июня 2012

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

    −117

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

    Вот такой код сделан был франчем, который потребовал за это еще и 3 часа оплаты)))) Одно только непонятно почему при обращении к регистру нельзя было использовать отбор это же гораздо проще и быстрее и кода меньше

    dart, 14 Июня 2012

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

    −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
    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
    Функция ЧерезНоль(Значность) Экспорт
    	Оборот=10;
    	Если Значность=2 Тогда
    		Оборот=100;
    	ИначеЕсли Значность=3 Тогда
    		Оборот=1000
    	ИначеЕсли Значность=4 Тогда
    		Оборот=10000
    	ИначеЕсли Значность=5 Тогда
    		Оборот=100000
    	ИначеЕсли Значность=6 Тогда
    		Оборот=1000000
    	ИначеЕсли Значность=7 Тогда
    		Оборот=10000000
    	ИначеЕсли Значность=8 Тогда
    		Оборот=100000000
    	ИначеЕсли Значность=9 Тогда
    		Оборот=1000000000
    	ИначеЕсли Значность=10 Тогда
    		Оборот=10000000000
    	ИначеЕсли Значность=11 Тогда
    		Оборот=100000000000
    	ИначеЕсли Значность=12 Тогда
    		Оборот=1000000000000
    	ИначеЕсли Значность=13 Тогда
    		Оборот=10000000000000
    	ИначеЕсли Значность=14 Тогда
    		Оборот=100000000000000
    	ИначеЕсли Значность=15 Тогда
    		Оборот=1000000000000000
    	КонецЕсли;	
     Возврат Оборот		
    КонецФункции

    суровое возведение в степень)

    dmurdoc, 13 Июня 2012

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

    −125

    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
    // Преобразовывает геокоординаты из одной СК в другую
    //
    // КоординатыТочки 			- Структура	- координаты
    //
    // ПараметрыПреобразования	- Структура - параметры преобразования из одной системы коорднат в другую
    //
    // ВысотаТочки 				- Число		- выстоа точки над уровнем моря
    //
    // Точность					- Число		- точность возвращаемых координат
    //
    // Возвращаемое значение:
    //   Структура	- координаты
    //
    Функция ПреобразоватьКоординаты(КоординатыТочки, ПараметрыПреобразования, ВысотаТочки = 0, Точность = 6) Экспорт
    
    	ПП = ПараметрыПреобразования;
    	
    	ШиротаВГрадусах 	= КоординатыТочки.Широта;
    	ДолготаВГрадусах 	= КоординатыТочки.Долгота; 
    	
    	ЧислоПи = 3.14159265358979;
    	ЧислоУгловыхСекундВРадиане = 206264.8062;
    	
    	КвадратЭксцентриситетаИсходногоЭллипсоида 	= 2 * ПП.СжатиеИсходногоЭллипсоида - Pow(ПП.СжатиеИсходногоЭллипсоида , 2);
    	КвадратЭксцентриситетаКонечногоЭллипсоида 	= 2 * ПП.СжатиеКонечногоЭллипсоида - Pow(ПП.СжатиеКонечногоЭллипсоида , 2);
    	
    	СреднееБольшаяПолуось 				= (ПП.БольшаяПолуосьИсходногоЭллипсоида + ПП.БольшаяПолуосьКонечногоЭллипсоида) / 2;
    	СреднееКвадратЭксцентриситета 		= (КвадратЭксцентриситетаИсходногоЭллипсоида + КвадратЭксцентриситетаКонечногоЭллипсоида) / 2;
    	РазностьБольшихПолуосей 			= ПП.БольшаяПолуосьКонечногоЭллипсоида - ПП.БольшаяПолуосьИсходногоЭллипсоида;
    	РазностьКвадратовЭксцентриситетов 	= КвадратЭксцентриситетаКонечногоЭллипсоида - КвадратЭксцентриситетаИсходногоЭллипсоида;
    	
    	ШиротаВРадианах 	= ШиротаВГрадусах * ЧислоПи / 180;
    	ДолготаВРадианах 	= ДолготаВГрадусах * ЧислоПи / 180;
    	РадиусКривизныМеридианногоСечения 	= СреднееБольшаяПолуось * (1 - СреднееКвадратЭксцентриситета) 
    	/ Pow(1 - СреднееКвадратЭксцентриситета * Pow(Sin(ШиротаВРадианах) , 2) , 1.5);
    	РадиусКривизныПервогоВертикала 		= СреднееБольшаяПолуось * Pow(1 - СреднееКвадратЭксцентриситета 
    	* Pow(Sin(ШиротаВРадианах) , 2) , -0.5);
    
    	СмещениеШиротыВСекундах 	= ЧислоУгловыхСекундВРадиане / (РадиусКривизныМеридианногоСечения + ВысотаТочки) 
    	* (РадиусКривизныПервогоВертикала / СреднееБольшаяПолуось * СреднееКвадратЭксцентриситета * Sin(ШиротаВРадианах) 
    	* Cos(ШиротаВРадианах) * РазностьБольшихПолуосей + (Pow(РадиусКривизныПервогоВертикала , 2) / Pow(СреднееБольшаяПолуось , 2) + 1) 
    	* РадиусКривизныПервогоВертикала * Sin(ШиротаВРадианах) * Cos(ШиротаВРадианах) * РазностьКвадратовЭксцентриситетов / 2 
    	- (ПП.ЛинейноеСмещениеОсьАбсцисс * Cos(ДолготаВРадианах) + ПП.ЛинейноеСмещениеОсьОрдинат * Sin(ДолготаВРадианах)) 
    	* Sin(ШиротаВРадианах) + ПП.ЛинейноеСмещениеОсьАппликат * Cos(ШиротаВРадианах)) 
    	- ПП.УгловоеСмещениеОсьАбсцисс * Sin(ДолготаВРадианах) * (1 + СреднееКвадратЭксцентриситета * Cos(2 * ШиротаВРадианах)) 
    	+ ПП.УгловоеСмещениеОсьОрдинат * Cos(ДолготаВРадианах) * (1 + СреднееКвадратЭксцентриситета * Cos(2 * ШиротаВРадианах)) 
    	- ЧислоУгловыхСекундВРадиане * ПП.ДифференциальноеРазличиеМасштабов * СреднееКвадратЭксцентриситета * Sin(ШиротаВРадианах) 
    	* Cos(ШиротаВРадианах);
    	
    	СмещениеДолготыВСекундах 	= ЧислоУгловыхСекундВРадиане / ((РадиусКривизныПервогоВертикала + ВысотаТочки) 
    	* Cos(ШиротаВРадианах)) * (-ПП.ЛинейноеСмещениеОсьАбсцисс * Sin(ДолготаВРадианах) 
    	+ ПП.ЛинейноеСмещениеОсьОрдинат * Cos(ДолготаВРадианах)) + Tan(ШиротаВРадианах) * (1 - СреднееКвадратЭксцентриситета) 
    	* (ПП.УгловоеСмещениеОсьАбсцисс * Cos(ДолготаВРадианах) + ПП.УгловоеСмещениеОсьОрдинат * Sin(ДолготаВРадианах)) 
    	- ПП.УгловоеСмещениеОсьАппликат;
    
    	СмещениеВысоты 				= -СреднееБольшаяПолуось / РадиусКривизныПервогоВертикала * РазностьБольшихПолуосей 
    	+ РадиусКривизныПервогоВертикала * Pow(Sin(ШиротаВРадианах) , 2) * РазностьКвадратовЭксцентриситетов / 2 
    	+ (ПП.ЛинейноеСмещениеОсьАбсцисс * Cos(ДолготаВРадианах) + ПП.ЛинейноеСмещениеОсьОрдинат * Sin(ДолготаВРадианах)) 
    	* Cos(ШиротаВРадианах) + ПП.ЛинейноеСмещениеОсьАппликат * Sin(ШиротаВРадианах) 
    	- РадиусКривизныПервогоВертикала * СреднееКвадратЭксцентриситета * Sin(ШиротаВРадианах) * Cos(ШиротаВРадианах) 
    	* (ПП.УгловоеСмещениеОсьАбсцисс / ЧислоУгловыхСекундВРадиане * Sin(ДолготаВРадианах) 
    	- ПП.УгловоеСмещениеОсьОрдинат / ЧислоУгловыхСекундВРадиане * Cos(ДолготаВРадианах)) 
    	+ (Pow(СреднееБольшаяПолуось , 2) / РадиусКривизныПервогоВертикала + ВысотаТочки) * ПП.ДифференциальноеРазличиеМасштабов;
    	
    	Возврат Новый Структура("Широта,Долгота,Высота", Окр(ШиротаВГрадусах + СмещениеШиротыВСекундах / 3600, Точность), Окр(ДолготаВГрадусах + СмещениеДолготыВСекундах / 3600, Точность), Окр(ВысотаТочки + СмещениеВысоты,3));
    	
    КонецФункции

    Как ни странно, но работает)))

    TamerlanDE, 08 Июня 2012

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

    −102

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    "ВЫБРАТЬ
     |	Вопросы.Ссылка,
     |	Вопросы.Вопрос,
     |	Вопросы1.Код
     |ИЗ
     |	Справочник.Вопросы КАК Вопросы
     |		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Вопросы КАК Вопросы1
     |		ПО Вопросы.Ссылка = Вопросы1.Ссылка"

    Запросец из обработки, которую толкают (и её даже покупают) за 2к

    ilyailya, 06 Июня 2012

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

    −156

    1. 1
    Govno

    ReallyBugMeNot, 05 Июня 2012

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

    −119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Если ПроверятьСкидкиРассчитаны И
            ИспользоватьАвтоматическиеСкидки И
            Не ДокументПродажи.СкидкиРассчитаны И
            ДокументПродажи.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ПередачаНаКомиссию Тогда
        ПроверятьСкидкиРассчитаны = Истина;
    КонецЕсли;

    Управление торговлей (11-я редакция)

    Argonavt, 04 Июня 2012

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

    −136

    1. 1
    СОСИТЕ МОЙ ХУЙ, УБЛЮДКИ!!!

    uiopqwertyasd, 29 Мая 2012

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

    −119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
    .....
    ГДЕ
    .....
    И ОсновныеНачисления.Авторасчет = Истина
    И ОсновныеНачисления.Авторасчет = Ложь"

    Выбрать обязательно различные! :)

    mrbus, 29 Мая 2012

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

    −102

    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
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    Процедура СортировкаСписка(Список) 
    	
    	Перем лСредний;  
    	
    	лЛевый= СоздатьОбъект("СписокЗначений");
    	лПравый = СоздатьОбъект("СписокЗначений");
    	
    	Если Список.РазмерСписка()>1 Тогда  
    		
    		лРазмерСписка = Список.РазмерСписка();
    		лПозицияСреднего = Цел(лРазмерСписка/2);
    		лСреднее = Список.ПолучитьЗначение(лПозицияСреднего);
    		
    		Для й = 1 По лРазмерСписка Цикл
    			
    			Если й<>лПозицияСреднего Тогда
    				
    				лПроверяемоеЗначение =  Список.ПолучитьЗначение(й);
    				
    				Если лПроверяемоеЗначение<лСреднее Тогда
    					
    					лЛевый.ДобавитьЗначение(лПроверяемоеЗначение);
    					
    				ИначеЕсли лПроверяемоеЗначение>лСреднее Тогда
    					
    					лПравый.ДобавитьЗначение(лПроверяемоеЗначение);
    					
    				КонецЕсли;
    				
    			КонецЕсли;
    			
    		КонецЦикла;
    		
    		СортировкаСписка(лЛевый);
    		СортировкаСписка(лПравый);
    		
    		Список.УдалитьВсе();
    		
    		Для й = 1 По лЛевый.РазмерСписка() Цикл
    			Список.ДобавитьЗначение(лЛевый.ПолучитьЗначение(й));
    		КонецЦикла; 
    		
    		Список.ДобавитьЗначение(лСреднее); 
    		
    		Для й = 1 По лПравый.РазмерСписка() Цикл
    			Список.ДобавитьЗначение(лПравый.ПолучитьЗначение(й));
    		КонецЦикла;
    		
    	КонецЕсли;
    	
    	
    КонецПроцедуры
    
    Процедура Выполнить()
    	
    	ОтсортированныйСписок = СоздатьОбъект("СписокЗначений");
    	
    	СписокЗначений = СоздатьОбъект("СписокЗначений");   
    	
    	СписокЗначений.ДобавитьЗначение(2);
    	СписокЗначений.ДобавитьЗначение(7);
    	СписокЗначений.ДобавитьЗначение(15);
    	СписокЗначений.ДобавитьЗначение(16);
    	СписокЗначений.ДобавитьЗначение(20);
    	СписокЗначений.ДобавитьЗначение(21);
    	СписокЗначений.ДобавитьЗначение(3);
    	СписокЗначений.ДобавитьЗначение(5);
    	СписокЗначений.ДобавитьЗначение(4);
    	СписокЗначений.ДобавитьЗначение(14);
    	СписокЗначений.ДобавитьЗначение(12);
    	СписокЗначений.ДобавитьЗначение(13);
    	СписокЗначений.ДобавитьЗначение(11);
    	СписокЗначений.ДобавитьЗначение(19);
    	СписокЗначений.ДобавитьЗначение(1);
    	СписокЗначений.ДобавитьЗначение(8);
    	СписокЗначений.ДобавитьЗначение(6);
    	СписокЗначений.ДобавитьЗначение(17);
    	СписокЗначений.ДобавитьЗначение(9);
    	СписокЗначений.ДобавитьЗначение(10);
    	СписокЗначений.ДобавитьЗначение(18);
    	
    	СортировкаСписка(СписокЗначений);
    	
    	ВыбранноеЗначение = 0;
    	СписокЗначений.ВыбратьЗначение(ВыбранноеЗначение);
    	
    КонецПроцедуры

    informatikmarazmatik, 16 Мая 2012

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