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

    −159.9

    1. 1
    2. 2
    3. 3
    Если Не Запрос.Выполнить().Пустой() Тогда
    	Рез = Запрос.Выполнить().Выбрать();
    КонецЕсли;

    Пишу со слов друга, а он копает базу после местного самоделкина.
    Такая конструкция там везде, а запросы часто сделаны к физическим таблицам с минимумом условий.

    Kopchuga, 12 Октября 2009

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

    −264.8

    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
    Функция Таймер() Экспорт
        Скрипт= новый ComОбъект("MSScriptControl.ScriptControl");
        Скрипт.Language="javascript";
        ТекущееВремя = Скрипт.eval("new Date().getTime()");
        Возврат ТекущееВремя;
    КонецФункции
    
    
    
    ...
    Начало = Таймер();
    ...
    начатьтранзакцию
    ...
    
    
    зафиксироватьтранзакцию
    ...
    Конец = Таймер();
    ВремяРаботы = ФорматироватьВремя(Конец-Начало);
    ...

    сообщить("--->"+ТекущаяДата());
    вот что бывает, когда с явы пересаживаются в мэрс

    sergecar, 30 Сентября 2009

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

    −179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Выборка=Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    	ФизЛицо=Выборка.Физлицо;
    	Состояние("Обробатывается - "+ФизЛицо.Ссылка);
    ...
    КонецЦикла;

    Если новичок порой может забыть указать реквизит ".Ссылка", где это требуется. То тут всё наоборот. Видать, чел настолько поднаторел, что только он знает, нахера тут ссылка. (про грамматику молчу)

    Kopchuga, 22 Сентября 2009

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

    −92.1

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

    Просто выбрать движения из регистра - это не круто.

    Kopchuga, 21 Сентября 2009

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

    −97.6

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

    "Простой" способ подставить единицу измерения в табличную часть))

    vedvd, 18 Сентября 2009

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

    −108.2

    1. 1
    2. 2
    Движение.Состояние = Перечисления.СостоянияРаботникаОрганизации[Причина.Метаданные().ЗначенияПеречисления[Перечисления[Причина.Метаданные().Имя].Индекс(Причина)].Имя];
    .

    Видимо, защита от шпиона: вот так определяется значение перечисления. (Причина - это тоже перечисление)

    Kopchuga, 18 Сентября 2009

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

    −149

    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С 8.1
    Вот как надо таблицу значений очищать..))
    
    	ТЗДанные.Очистить();
    	Пока 1 = 1 Цикл
    		Если ТЗДанные.Колонки.Количество() = 0 Тогда
    			Прервать;
    		КонецЕсли;
    		ТЗДанные.Колонки.Удалить(0);
    	КонецЦикла;
    
    И ещё бы контрольный... была бы сказка....
    ТЗДанные =  Новый ТаблицаЗначений;

    ValeraVV, 09 Сентября 2009

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

    −176.1

    1. 1
    ДатаНачалаПериода = НачалоМесяца(Дата(Строка(Формат(ТекущийГод, "ЧГ=0")) + Строка(ТекущийМесяц) + "01"));

    Фрагмент кода от разработчиков конфигурации. Дело в том, что дату начала текущего месяца можно получить как НачалоМесяца(ТекущаяДата()). Даже если предположить, что переменные "ТекущийГод" и "ТекущийМесяц" содержат не актуальные значения (например, при перерасчете прошлых документов), достаточно выполнить НачалоМесяца(Дата(ТекущийГод, ТекущийМесяц, 1))

    polestnize, 08 Сентября 2009

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

    −431.7

    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
    // 
    //********************************* ПАДЕЖИ *************************************** 
    // 
    // (c) Jurer Production Begin ( Start ) 
    
    // SuperJur.Narod.Ru 
    // __________________________________________________________________ 
    // Удаление этих строк незнаконно! 
    // Гарантия 91 года и 1 месяц!!! 
    // Послегарантийное обслуживание - бесплатно!!! 
    // Круглосуточная поддержка - все 48 часов в бою! 
    // Ссылка на источник обязательна! 
    // Эти программы защищены законом об авторских правах. Запрещается перепродажа данной программы. 
    // ПРОВЕРЕНО! ВИРУСОВ НЕТ!!! АНТИВИРУСОВ ТОЖЕ!!! 
    // Смотри Милячуша в творительном !! 
    // скупой слепой тупой - пропой!! 
    // !№№! 
    // !53! Очередное сокращение кода 
    // !51! Прегромадное спасибо Олегу Дубровскому за оказанную моральную, информационную и материальную поддержку сего проекта. 
    // Сергею Толкачёву за напоминание о том, что в русском языке всегда есть место исключениям! 
    // !50! П:Ответственный за электрохозяйство Ф:Ацута Груша 
    // !48! исправлена ошибка при склонении фамилий (спасибо, Mario). 
    // !47! исправлена ошибка при склонении профессий ( спасибо, Павел Ковалев). 
    // !46! оптимизация + четвертый параметр задает, что вернуть - фамилия, имя или отчество или всё сразу в нужном падеже 
    // !42! Осел + Соловей + Воробей + Немец + Кормилец + Силиец 
    // !41! отчества оканчивающиеся на "ы" считаются женскими ? 
    // Функция для склонения одного слова!!! 
    // z1 - само слово 
    // z2 - номер падежа 
    // z3 - пол 
    // z4 - 1-склонять как фамилию, 2-имя, 3-отчество 
    Функция ПадежС(z1,Знач z2=2,Знач z3="*",z4=0) Экспорт 
     z5=Найти(z1,"-"); 
     z6=?(z5=0,"","-"+ПадежС(Сред(z1,z5+1,СтрДлина(z1)-z5+1),z2,z3,z4)); 
     z1=НРег(?(z5=0,z1,Лев(z1,z5-1))); 
     z7=Прав(z1,3);z8=Прав(z7,2);z9=Прав(z8,1); 
     z5=СтрДлина(z1); 
     za=Найти("ая ия ел ок яц ий па да ца ша ба та га ка",z8); 
     zb=Найти("аеёийоуэюяжнгхкчшщ",Лев(z7,1)); 
     zc=Макс(z2,-z2); 
     zd=?(za=4,5,Найти("айяь",z9)); 
     zd=?((zc=1)или(z9=".")или((z4=2)и(Найти("оиеу"+?(z3="ч","","бвгджзклмнпрстфхцчшщъ"),z9)>0))или((z4=1)и(Найти("мия мяэ лия кия жая лея",z7)>0)),9,?((zd=4)и(z3="ч"),2,?(z4=1,?(Найти("оеиую",z9)+Найти("их ых аа еа ёа иа оа уа ыа эа юа яа",z8)>0,9,?(z3<>"ч",?(za=1,7,?(z9="а",?(za>18,1,6),9)),?(((Найти("ой ый",z8)>0)и(z5>4)и(Прав(z1,4)<>"опой"))или((zb>10)и(za=16)),8,zd))),zd))); 
     ze=Найти("лец вей бей дец пец мец нец рец вец аец иец ыец бер",z7); 
     zf=?((zd=8)и(zc<>5),?((zb>15)или(Найти("жий ний",z7)>0),"е","о"),?(z1="лев","ьв",?((Найти("аеёийоуэюя",Сред(z1,z5-3 ,1))=0)и((zb>11)или(zb=0))и(ze<>45),"",?(za=7,"л",?(za=10,"к",?(za=13,"йц",?(ze=0,"",?(ze<12,"ь"+?(ze=1,"ц",""),?(ze<37,"ц",?(ze<49,"йц","р")))))))))); 
     zf=?((zd=9)или((z4=3)и(z3="ы")),z1,Лев(z1,z5-?((zd>6)или(zf<>""),2,?(zd>0,1,0)))+zf+СокрП(Сред("а у а "+Сред("оыые",Найти("внч",z9)+1,1)+"ме "+?(Найти("гжкхш",Лев(z8,1))>0,"и","ы")+" е у ойе я ю я ем"+?(za=16,"и","е")+" и е ю ейе и и ь ьюи и и ю ейи ойойу ойойойойуюойойгомуго"+?((zf="е")или(za=16)или((zb>12)и(zb<16)),"и","ы")+"мм",10*zd+2*zc-3,2))); 
     Возврат ?(""=z1,"",?(z4>0,ВРег(Лев(zf,1))+?((z2<0)и(z4>1),".",Сред(zf,2)),zf)+z6); 
    КонецФункции 
     
    //_____________________________________________________________________________ 
    // z1 - фамилия имя отчество например Железняков Юрий Юрьевич 
    // z2 - Падеж ( по умолчанию = 2 - родительный) 
    // 2 - родительный ( нет кого? ) Железнякова Юрия Юрьевича 
    
    ...........
    
    // 
    // (c) Jurer Production End ( Finish )

    И мне это на javу нужно переписать :'(

    Tanger, 06 Сентября 2009

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

    −117.8

    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 Тогда
    			Если Приказ.Вид() = "Приказ" Тогда
    				// это все-таки приказ
    				Если Приказ.ТипПриказа <> Перечисление.ТипыПриказов.НаВнутреннееСовмещение Тогда
    					// но приказ другой, не внутреннее совмещение
    					Продолжить;
    				КонецЕсли;
    			Иначе
    				Продолжить;
    			КонецЕсли;
    		Иначе
    			Продолжить;
    		КонецЕсли;

    Долой минимализм!

    Наговнокодили: Ингресс-лайн

    Полупрограммисты, 29 Августа 2009

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