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

    Всего: 9

  2. 1C / Говнокод #21614

    −98

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    	Кавычка = """";
    	ПереносСтроки = Символы.ПС;
    	Строка = "Процедура КнопкаВыполнитьНажатие(Кнопка)	Кавычка = ;	ПереносСтроки = Символы.ПС;	Строка = ;	Сообщить (ПереносСтроки + Лев(Строка, 40) + ПереносСтроки + Сред(Строка, 41, 11) + Кавычка + Кавычка + Кавычка + Кавычка + Сред(Строка, 52, 1) + ПереносСтроки + Сред(Строка, 53, 28) + ПереносСтроки		+ Сред(Строка, 81, 10) + Кавычка + Строка + Кавычка + Сред(Строка, 91, 1) + ПереносСтроки + Сред(Строка, 92, 198) + ПереносСтроки + Сред(Строка, 290, 194) + ПереносСтроки + Сред(Строка, 485)); КонецПроцедуры";
    	Сообщить (ПереносСтроки + Лев(Строка, 40) + ПереносСтроки + Сред(Строка, 41, 11) + Кавычка + Кавычка + Кавычка + Кавычка + Сред(Строка, 52, 1) + ПереносСтроки + Сред(Строка, 53, 28) + ПереносСтроки
    		+ Сред(Строка, 81, 10) + Кавычка + Строка + Кавычка + Сред(Строка, 91, 1) + ПереносСтроки + Сред(Строка, 92, 198) + ПереносСтроки + Сред(Строка, 290, 194) + ПереносСтроки + Сред(Строка, 485));
    КонецПроцедуры

    1С квайн

    mrbus, 31 Октября 2016

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

    −97

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ
    		|	РАЗНОСТЬДАТ(&Дата1, &Дата2, МЕСЯЦ) КАК РезультатРазность";
    Запрос.УстановитьПараметр("Дата1",СтрТЧ.ДатаНачала);
    Запрос.УстановитьПараметр("Дата2",СтрТЧ.ДатаОкончания);
    Результат = Запрос.Выполнить().Выгрузить();
    КолвоМесяцев = Результат[0].РезультатРазность+1;

    Классика жанра. Ходим на сервер, чтобы посчитать разность дат. Ну да, сервер же у нас целыми днями воздух гоняет, заняться ему больше нечем. Давайте 2+2 складывать начнем через сервак.
    Причем, б*ть, через сервер приложений, который в свою очередь погонит запрос на сервер MSSQL.

    mrbus, 08 Июня 2016

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

    −103

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Таб = Документ.ПолучитьОбъект().РаботникиОрганизаций;
    Таб.Очистить();
    // блабла...
    
    Таб = Документ.ПолучитьОбъект().РаботникиОрганизаций;
    Раб = Таб.Добавить();
    // Далее идет заполнение строки ТЧ...
    
    Док = Документ.ПолучитьОбъект();
    Док.Записать(РежимЗаписиДокумента.Проведение);

    "А чо у миня ничо ни записываецца????!!!!1111"
    "Ну у миня документ через COM-соединение... наверное изза этово..."
    Ну или, проще говоря, стандартная баба с красным дипломом программиста...

    mrbus, 07 Июня 2016

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

    −117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Функция КоличествоМесяцев(Дата1, Дата2)
    	Запрос = Новый Запрос;
    	Запрос.Текст = "ВЫБРАТЬ
    	|	РАЗНОСТЬДАТ(&Дата1, &Дата2, МЕСЯЦ) + 1 КАК Результат";
    	Запрос.УстановитьПараметр("Дата1", Дата1);
    	Запрос.УстановитьПараметр("Дата2", Дата2);
    	Выборка = Запрос.Выполнить().Выбрать();
    	Если Выборка.Следующий() тогда
    		Возврат Выборка.Результат
    	КонецЕсли;
    КонецФункции

    Хотя, по-моему, неоригинально, уже было.
    Может начнем ходить на сервер, чтобы два числа сложить?

    mrbus, 14 Марта 2013

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

    −121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Если Организация = Справочники.Организации.НайтиПоКоду("650532") Тогда	
    			Сумма2011 = 14271648;
    		ИначеЕсли Организация = Справочники.Организации.НайтиПоКоду("325316") Тогда
    			Сумма2011 = 1195741.30;
    		ИначеЕсли Организация = Справочники.Организации.НайтиПоКоду("670054") Тогда
    			Сумма2011 = 7782829;
    		ИначеЕсли Организация = Справочники.Организации.НайтиПоКоду("650533") Тогда
    			Сумма2011 = 72882366.11;

    Чем-то напоминает int rand() { return 4; };
    Тут не расстреливать, а живьем закапывать надо!

    mrbus, 14 Марта 2013

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

    −119

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

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

    mrbus, 29 Мая 2012

    Комментарии (39)
  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 / Говнокод #9400

    −138

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

    Ищем заказ по номеру. А номер берем из заказа. И, конечно же, их может оказаться множество. (КонтрольУникальности = Истина, периодичность = Непериодический).
    А также хитровылепленный способ убедиться, что заказ попадает в указанный период и имеет указанного ответственного.
    И, конечно же, запрос надо создавать заново для каждой СтрПЛ, а вдруг он испортился...
    Вот такие у нас крайне осторожные прогромисты.

    mrbus, 13 Февраля 2012

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