Бухгалтерия / Говнокод #2411 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 KingOfShit, (Updated )

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

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

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

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

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

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8