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

    −155

    1. 1
    2. 2
    3. 3
    4. 4
    Я подхожу к терминалу и включаю 1С.
    Сегодня пояснять ничего не надо.
    Не звенит "Поясните мысль"
    В желтом пламени гори, ненавижу, 1С!

    Накипело

    alexoy, 07 Октября 2011

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

    −136

    1. 1
    лев(документ.Дата,10)  //получает строку даты в виде "15.09.2011" :)))))))

    Сети предоставили свою печатную форму.

    Hatson, 07 Октября 2011

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

    −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
    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
    Процедура ПриОткрытии()	
    	Таймер();
    	ПодключитьОбработчикОжидания("Таймер",1);	 
    КонецПроцедуры
    
    Процедура Таймер()	
    	Если ИспользоватьНапоминание Тогда
    		Если ТекущаяДата() = ВремяНапоминания Тогда
    			Предупреждение(ТекстНапоминания);
    		КонецЕсли;
    	КонецЕсли;
    	Если НачалоДня(ТекущаяДата()) + 13*60*60 > ТекущаяДата() Тогда
    		ЗаголовокДляУстановки = Формат(Дата('00010101') + (НачалоДня(ТекущаяДата()) + 13*60*60 - ТекущаяДата()), "ДФ=HH:mm:ss");
    		Если Прав(ЭтаФорма.Заголовок,1) <> "\" и Прав(ЭтаФорма.Заголовок,1) <> "|" и Прав(ЭтаФорма.Заголовок,1) <> "/" и Прав(ЭтаФорма.Заголовок,1) <> "-" тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " \";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "\" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + "  |"; 
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "|" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " /";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "/" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " --";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "-" Тогда   
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " \";
    		КонецЕсли;	
    	ИначеЕсли НачалоДня(ТекущаяДата()) + 14*60*60 > ТекущаяДата() тогда		
    		Если Прав(ЭтаФорма.Заголовок,1) <> "\" и Прав(ЭтаФорма.Заголовок,1) <> "|" и Прав(ЭтаФорма.Заголовок,1) <> "/" и Прав(ЭтаФорма.Заголовок,1) <> "-" тогда
    			ЭтаФорма.Заголовок = "??:??:??" + " \"; 
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "\" Тогда
    			ЭтаФорма.Заголовок = "??:??:??" + "  |"; 
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "|" Тогда
    			ЭтаФорма.Заголовок = "??:??:??" + " /";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "/" Тогда
    			ЭтаФорма.Заголовок = "??:??:??" + " --";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "-" Тогда   
    			ЭтаФорма.Заголовок = "??:??:??" + " \";
    		КонецЕсли;
    	ИначеЕсли НачалоДня(ТекущаяДата()) + 18*60*60 > ТекущаяДата() Тогда
    		ЗаголовокДляУстановки = Формат(Дата('00010101') + (НачалоДня(ТекущаяДата()) + 18*60*60 - ТекущаяДата()), "ДФ=HH:mm:ss");
    		Если Прав(ЭтаФорма.Заголовок,1) <> "\" и Прав(ЭтаФорма.Заголовок,1) <> "|" и Прав(ЭтаФорма.Заголовок,1) <> "/" и Прав(ЭтаФорма.Заголовок,1) <> "-" тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки  + " \"; 
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "\" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + "  |"; 
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "|" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " /";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "/" Тогда
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " --";
    		ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "-" Тогда   
    			ЭтаФорма.Заголовок = ЗаголовокДляУстановки + " \";
    		КонецЕсли;
    	Иначе
    		Если Формат(ТекущаяДата(), "ДФ=dddd") = "пятница" тогда
    			Если Прав(ЭтаФорма.Заголовок,1) <> ")" тогда
    				ЭтаФорма.Заголовок = "С Пятницей!!! :)";
    			Иначе
    				ЭтаФорма.Заголовок = "С Пятницей!!! xD";
    			КонецЕсли; 
    		Иначе
    			Если Прав(ЭтаФорма.Заголовок,1) <> "\" и Прав(ЭтаФорма.Заголовок,1) <> "|" и Прав(ЭтаФорма.Заголовок,1) <> "/" и Прав(ЭтаФорма.Заголовок,1) <> "-" тогда
    				ЭтаФорма.Заголовок = "ХХ.ХХ.ХХ" + " \"; 
    			ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "\" Тогда
    				ЭтаФорма.Заголовок = "ХХ.ХХ.ХХ" + "  |"; 
    			ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "|" Тогда
    				ЭтаФорма.Заголовок = "ХХ.ХХ.ХХ" + " /";
    			ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "/" Тогда
    				ЭтаФорма.Заголовок = "ХХ.ХХ.ХХ" + " --";
    			ИначеЕсли Прав(ЭтаФорма.Заголовок,1) = "-" Тогда   
    				ЭтаФорма.Заголовок = "ХХ.ХХ.ХХ" + " \";
    			КонецЕсли;	
    		КонецЕсли;
    	КонецЕсли;
    КонецПроцедуры

    Текст процедуры обработчика ожидания обработки, показывающей время до обеда и до окончания рабочего дня.

    EvilWisp, 05 Октября 2011

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

    −154

    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
    Лично я 1С не люблю. И вообще лучше не говорить об этом, настроение портится...
    Цикл ВЦикле Открывающая_Скобка От Ноль до Двадцать_Один Закрывающая_Скобка
    Начало_цикла
    Печать Кавычка Один С - Обратный_Слеш Кавычка Говно Обратный_Слеш Кавычка Кавычка Точка_С_Запятой
    Конец_цикла
    
    Конечно это фантазия, но представьте что случилос бы, если бы 1С писали люди, \
     которые не смогли осилить не только английский язык, но и цифры и знаки пунктуации.
    К тому же бухгалтерия предлагает отвратительнейшие задачи, которые предлагается решать на отвратительнейшем языке.
    Бюрократический ад пишется на бюрократическом языке. Зачем английский язык, если есть русский?
    Помоему это какая-то особая программа по порабощению русского народа. Русские дети хотели стать космонавтами,\
     а их осадили прямо в кресло с мерцающим монитором и программой такой бюрократически-желтой иконкой.
    Боже упаси вас от продукции этой компании!

    alexoy, 01 Октября 2011

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

    −140

    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
    //делает паузу с округлением до целого числа секунд - 1000, 2000 и т.д.
    //Использует ВводСтроки с таймаутом, который работает даже если окно теряет фокус ввода.
    Процедура Sleep(Таймаут)
        Предупреждение("Таймаут " + Строка(Таймаут) + " секунд", Таймаут, "Sleep");
    	ОбработкаПрерыванияПользователя();
    КонецПроцедуры  
    
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    	
    	Если НЕ ВремяНачалаВыполнения = Дата(1,1,1) Тогда
    		Пока Истина = Истина Цикл
    			ОбработкаПрерыванияПользователя();
    			Sleep(45); //Шаг 45 секунд.	
    			Если Час(ТекущаяДата()) = Час(ВремяНачалаВыполнения) И Минута(ТекущаяДата()) >= Минута(ВремяНачалаВыполнения) Тогда
    				Прервать;
    			КонецЕсли;
    		КонецЦикла;
    	КонецЕсли;
            
            //Далее идет обработка перепроведения документов
    
    КонецПроцедуры

    Интересная версия выполнить процедуру по времени

    AndreyEvtyushin, 30 Сентября 2011

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

    −160

    1. 1
    Номенклатура

    Слово гадкое, не то что программа.

    alexoy, 27 Сентября 2011

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

    −140

    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
    Процедура Кнопка1Нажатие(Элемент)
    	// Вставить содержимое обработчика.
    	//орг=элементыформы.организация.Значение;
    
    запрос1=новый запрос;
    запрос1.текст=""выбрать * из регистрсведений.регионыорганизаций где  регион=&регион"";
    запрос1.УстановитьПараметр(""регион"",регион);
    выборка=запрос1.Выполнить().Выбрать();
    запрос2=новый запрос;
    пока выборка.Следующий()цикл
    	орг=выборка.организация;
    	//Сообщить(выборка.Количество()); 
    	запрос2.Текст=""выбрать * из регистрсведений.сведенияосотруднике где организация=&орг и ""+
    ""должность=&должн"";
    
    запрос2.УстановитьПараметр(""орг"", орг);
    запрос2.УстановитьПараметр(""должн"",должность);
    выборка2=запрос2.Выполнить().Выбрать();
     если выборка2.Количество()>2 тогда
    сообщить(строка(орг )+"" - ""+строка(выборка2.количество()));
    конецесли;
    конеццикла
    
    КонецПроцедуры

    Задание было такое
    Написать интерфейс для выборки данных о количестве заместителей генерального директора в каждой организации, работающей в n-й области, где таковых заместителей более двух.

    Авторское решение приведено в первозданном виде.

    glavdir, 27 Сентября 2011

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

    −152

    1. 1
    2. 2
    Пока 2*2=4 Цикл
    ...

    Улыбнуло. Не помню, в какой то чей то нетленке видел...

    F00FC7C8, 26 Сентября 2011

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

    −141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Для К = 1 По 11 Цикл
    Если Форм = 1 Тогда
    ExcelApp.Cells(КолЗ,К).Font.Bold = 1;
    ExcelApp.Cells(КолЗ,К).Font.Color = 16732963; 
    КонецЕсли;      
    КонецЦикла;

    "Орфография автора сохранена" =)

    HellMaster_HaiL, 23 Сентября 2011

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

    −141

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

    что автор хотел этим сделать?? написано с нуля, так как автор сказал, что немного подкорректировал конфигурацию и вот мне стало интересно... но увидев удивительные строки хотелось бы спросить сначала экспертов, а потом автора )))))

    drhihi, 21 Сентября 2011

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