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

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

    Чудный справочник, очень быстро открывается и прокручивается. Приходится ждать по 20 секунд)))

    Запостил: KingOfShit, 14 Января 2010

    Комментарии (31) RSS

    • заебал свой проект кусками выкладывать, убейся, 1с вегда говно.
      Ответить
    • Мне 1С всегда поднимает настроение. Никакого желания разбирать код, просто весело читать этот русский =)

      Интересно, программерам на 1С удобно переключать язык для набора NULL и &?
      Ответить
      • Крайне неудобно.
        Помимо этого неудобство доставляет набор символа | при печати многострочных запросов.
        Ответить
      • Установите раскладку клавиатуры для 1Сника, на сайте Чистова есть.
        Ответить
      • +1 :p
        Ответить
    • меня просто бесит когда я вижу эту один-эсную охинею. подскажите, а чем обусловлено то что в 1С используется русский? типа тетки бугалтерши будут там что то кодить? для кого он вообще создан? я не про 1С, а про этот язык идиотский! несколько раз заставлял себя разобраться в написенном, срывался на третьей минуте.
      Ответить
      • Ну, в общем-то это с большего обусловленно ебанутостью рпоизводителя.
        Кстати, можно-то ведь и на рассово-верном английском писать.
        Ответить
        • тогда почему не пишут?
          Ответить
          • Заподло!!!. Им как индусам платят за кол. кода) а не качество.
            Ответить
            • Выбор языка при кодировании на языке 1С слабо влияет на количество кода: англоязычные конструкции такие же громоздкие как и русскоязычные.
              Ответить
          • Потому что раса не совпадает :-)
            Ответить
      • Использование русского языка обусловлено тем, что его используют. Язык 1С поддерживает двуязычное написание кода. То что кто-то пишет на русском - проблема пользователя, а не системы.

        Да, многие вещи в языке неудобны, но это не делает его идиотским. Свое предназначение он исполняет. Говнокод создают люди, а не язык. Если 95% программистов 1С пишут крайне плохой код, это значит что плох программист, а не язык. Мне приходилось встречать весьма хорошо спроектированный код на языке 1С.

        А то что вы из-за не можете разобраться в коде - очень жаль, что ваши эмоции перечеркивают ваши профессиональные навыки.
        Ответить
        • И да, поскольку предназначен для русского рынка, то в коде будет много русских слов - хоть бы литералов. А переключаться все время между русским и английским задалбывает.
          Может, поэтому?
          Ответить
    • ненавижу всех 1с-ников, они все быдлокодеры и мудаки НЕНАВИСТЬ!!!!111
      Ответить
    • ЗАЕБАЛИ СРАТЬ МНЕ В РИДЕР!
      Еще блять кто нить выложит такую хуйню отпишусь от гк нахуй
      Ответить
    • Да вы просто говноплёты. Не кодили на 1С ни разу и серите её. Для тех кто говном покрывается при переключении между раскладками создана специальная приблудина, которая встраивается в русскую раскладку и пресловутый символ | можно написать всего-лишь при помощи нажатия Alt+\ и ВСЁ!!!11 Это просто и привыкаешь к этому моментально. И читается язык очень просто! В чём разница при чтении кода на русском и английском? Да хоть на иврите! Если ты вкуриваешь синтаксис, то для тебя это не проблема.
      Ответить
    • Где здесь С++?
      Ответить
    • Прикольный код. Пробежаться по справочнику можно со скоростью 6 строк в минуту :-)
      За такое надо на доску позора вешать.
      Ответить
    • Говно лишь потому что на русском. Писать нужно на межнациональном - английском. 1С не единственный язык который может работать с русскими названиями переменных и функций. Но только на этом ебанутом языке пишут на русском все)
      Ответить
    • Вы все гандоны и мудаки, а 1С форева. :D
      Ответить
    • 1c говно
      Ответить
    • Ваoot все кто писал про 1с-педоразы
      Ответить

    Добавить комментарий