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

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

Вот такой код сделан был франчем, который потребовал за это еще и 3 часа оплаты)))) Одно только непонятно почему при обращении к регистру нельзя было использовать отбор это же гораздо проще и быстрее и кода меньше

Запостил: dart dart, (Updated )

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

  • "|" - один из немногих символов языка 1с, который раздражает своей неуместностью.

    > и кода меньше
    Сложно объяснить, что он делал три часа, например.
    Ответить
    • "нормальный
      |перевод
      |строки
      |ящетаю"

      к томуже платформа сама форматирует это, так что набирать самому | не приходится
      Ответить
    • Не нарвиться перевод строк пиши в одну строку ))
      Ответить
  • От одного вида 1С-ного SQL в дрожь бросает.
    Ответить
    • Не промтовый вариант выбивался бы сильно из общей стилистики и переключать раскладку потребно. Немного раздражают/удивляют эти капсовые "ЛЕВОЕ СРЕДНЕЕ РЕЗЬБОВОЕ СОЕДИНЕНИЕ", но так - тот же sql, вид в профиль.
      Ответить
        • О мой бх! Да быть того не может. Теперь поищи по инторнетам этот ник. Авось, найдёшь ещё чего полезного.
          Ответить
            • 1. Всем похуй.
              2. Нормальным людям скрываться нечего. Это ты анонимное гумно с залупой за щекой. Представь что будет если узнают твоя мама/однокласники в школе, на какую херню ты потратил свои каникулы.
              3. Гумно пойди на улицу погуляй с друзьями, в речке покупайся, фруктов покушай, или там на велике покатайся.
              4. Тут ты не нужен.
              Ответить
              • > Гумно пойди на улицу погуляй
                guest читается как [гест], а не как [гумно].
                Ответить
              • >Нормальным людям скрываться нечего.
                Ты чего скрываешь?
                >Это ты анонимное гумно с залупой за щекой.
                Нет, ты!
                Ответить
            • [В страхе убежал перерегистрировать ник на wlan0]
              Ответить
    • Всегда считал, что SQL - язык, придуманный для домохозяек 🙂 Однако, встречаются долбоебы, возомнившие себя SQL-программистами 😀
      Ответить
      • Придуман-то для домохозяек, а превратился в эзотерический пиздец с кучей нюансов.
        Ответить
        • fix: В кучу разных эзотерических пиздецов, несовместимых друг с другом, с кучей нюансов.
          Ответить
      • > Всегда считал, что SQL - язык, придуманный для домохозяек 🙂
        Возможно, вот только сеньоры и тим лиды не могут пройти собеседование на Junior MS SQL developer...
        > Однако, встречаются долбоебы, возомнившие себя SQL-программистами 😀
        ИМХО, понятие SQL-программист бывает только в совковых конторах.
        А если у анона ФГМ, и он не знает как перевести DBdev, то это печально.
        Ответить
        • Твоё зашкаливающее ЧСВ не даёт тебе понять свой долбоебизм 🙂
          > DBDev
          Это что-то наподобие HTML-программиста 😀
          Ответить
          • >DataBase Developer
            >что-то наподобие HTML-программиста
            Бгг. Какой феерический уебок сегодня зашел на концерт.
            Что еще спизданешь, дружок?!
            Вот этот конкретный аноним - это что-то наподобие пидараса.
            Ответить
            • Это всё тот же.
              http://tinyurl.com/cey9cs2
              Хотя в то, что защитился, верится слабо, еще недавно хныкал о несданных задачах по терверу второго-третьего курса.
              Ответить
              • Съеби, недотролль, со своими питушыными "деанонами" и всякими там Орловыми на хуй.
                Ответить
  • тут начиная с прохода по выборке вобще половина не нужна

    Здесь набор с отбором по материалу нельзя делать, иначе может конфликт уникальности если уже есть запись: Номенклатура2 с Заявкой. Т.е. набором не стоит. Можно менеджером по 1-й записи.

    И нахе все эти проверки на существование, ведь он и так записывает с заменой (если измерения совпадают). Я так поня 2 измерения в регистре Материал и Заявка.


    Если Номенклатура1 <> Номенклатура2 Тогда
    Запрос=Новый Запрос("ВЫБРАТЬ
    |РаспределениеМатериаловПоМенеджерам.Зая вкаНаМатериалы,
    |РаспределениеМатериаловПоМенеджерам.Мат ериал
    |ИЗ
    |РегистрСведений.РаспределениеМатериалов ПоМенеджерам КАК РаспределениеМатериаловПоМенеджерам
    |ГДЕ
    |РаспределениеМатериаловПоМенеджерам.Мат ериал = &Материал");
    Запрос.УстановитьПараметр("Материал",Ном енклатура1);
    Выборка=Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    МЗНовой = РегистрыСведений.РаспределениеМатериалов ПоМенеджерам.СоздатьМенеджерЗаписи();
    МЗНовой.ЗаявкаНаМатериалы=Выборка.Заявка НаМатериалы;
    МЗНовой.Материал=Выборка.Номенклатура2;
    МЗНовой.Записать(Истина); // пох если дубли, записываем с заменой
    КонецЦикла;
    КонецЕсли;


    кароч кодер хуёво разбирается в механизмах регистров сведений и тупит
    Ответить
  • Отбор к регистру выльется все равно в SQL запрос и быстрее точно не будет. Кода меньше, да. Но говнокодом назвать нельзя.
    Ответить

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

Из-за тебя ушел bormand, guest!

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


    8