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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
Сумма   = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(
		СуммаВал,
		ВалютаДокумента,
		ВалютаВзаиморасчетов,
		МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаДокумента,Дата).Курс,
		МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаВзаиморасчетов,Дата).Курс,
		МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаДокумента,Дата).Кратность,
		МодульВалютногоУчета.ПолучитьКурсВалюты(ВалютаВзаиморасчетов,Дата).Кратность);

Решение имеет статус 1С:Совместно.
Один из ведущих партнеров 1С.
Такой код во многих местах.

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

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

  • А по моему норм.
    Если вызвать функцию МодульВалютногоУчета.ПолучитьКурсВалюты два раза с присвоением результата переменным, а потом в функцию МодульВалютногоУчета.ПересчитатьИзВалюты ВВалюту передавать параметры из этих структур, получиться даже более громоздко.
    Ответить
    • А ничего, что можно можно вместо 4-х вызовов функции, получающей срез последних регистра (не запросом), сделать 2 вызова. По крайней мере двойной прирост в скорости. А учитывая то, что местами это ещё и в цикле по строкам документа встречается...
      Ответить
      • Да согласен, я согласен.
        Но выигрыш будет мизерный.
        Решение возможно и не оптимальное, но говнокодом вряд ли можно назвать.
        Ответить
        • Но выигрыш будет мизерный.
          Мизерный если вызывать однократно. А если в базе полтораста пользователей и вызов этой функции навешен ПриВыводеСтроки, то пользователи будут матюкаться на тормоза, а говнокодер будет матюкать 1С.
          Ответить
          • А если в бесконечный цикл поместить, то ваще кошмар будет, ага. Не выдумывайте контекст, которого не видите.
            Ответить
            • Ты заешь контекст этого кода? Так вот окружение имеет свойство меняться. И говнокод придётся переписывать. Уж лучше по возможности сразу писАть нормально.
              Ответить
  • а вдруг МодульВалютногоУчета кэширует результаты вызовов функций? тогда и проигрыша в скорости не будет.
    Ответить
    • > а вдруг МодульВалютногоУчета кэширует результаты вызовов функций?

      ухты, 1с это почти что хаскель
      Ответить

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

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

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


    8