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

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
Функция ЧерезНоль(Значность) Экспорт
	Оборот=10;
	Если Значность=2 Тогда
		Оборот=100;
	ИначеЕсли Значность=3 Тогда
		Оборот=1000
	ИначеЕсли Значность=4 Тогда
		Оборот=10000
	ИначеЕсли Значность=5 Тогда
		Оборот=100000
	ИначеЕсли Значность=6 Тогда
		Оборот=1000000
	ИначеЕсли Значность=7 Тогда
		Оборот=10000000
	ИначеЕсли Значность=8 Тогда
		Оборот=100000000
	ИначеЕсли Значность=9 Тогда
		Оборот=1000000000
	ИначеЕсли Значность=10 Тогда
		Оборот=10000000000
	ИначеЕсли Значность=11 Тогда
		Оборот=100000000000
	ИначеЕсли Значность=12 Тогда
		Оборот=1000000000000
	ИначеЕсли Значность=13 Тогда
		Оборот=10000000000000
	ИначеЕсли Значность=14 Тогда
		Оборот=100000000000000
	ИначеЕсли Значность=15 Тогда
		Оборот=1000000000000000
	КонецЕсли;	
 Возврат Оборот		
КонецФункции

суровое возведение в степень)

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

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

  • Значность... первый раз слышу такое слово. ЧислоЗнаков?
    Ответить
    • Да вы что! Это же ЧерезНоль от Значности! Какие еще степени *trollface.png*
      Ответить
    • Однозначно полезная. Жаль ограничена степенями 1 - 15
      🙁
      Ответить
  • "ЧерезНоль" сделано через жопу.
    Хуже было бы только если бы не ИначеЕсли а тупые независимые Если с лишними пятнадцатью проверками в "лучшем случае"...
    Ответить
  • Возврат Число(Формат(1, "ЧС=-" + Значность + "; ЧГ=0"));

    гы;)
    Ответить
    • Погуглил немного по степеням в 1ске. Найденные решения одно хуже другого. Неужели в 1с и правда нет возведения в степень?! (Ну или не было до 8.0)
      Ответить
      • Думаю их не стали вводить, что бы продукт был легче. Настолько лёгок, что бы даже плавал. И запах, но это уже другой разговор...
        Ответить
      • Да даже если б и было, лучший способ реализации степеней 10 - через switch. Такой в 1С есть?
        Ответить
        • Судя по либам, вычисляющим синусы и степени через ряды - там никакого не было 🙂
          Ответить
        • лучший способ реализации степеней 10 - через статический массив до максимально поддерживаемого платформой unsigned integer
          Ответить
      • Pow(Число, Степень) еще никто не отменял =)
        и можно даже не выносить в отдельную функцию)
        Ответить
      • С математикой в 1С вообще туго, что 7.7, что 8.х. Приходиться иногда яваскриптовские com-объекты подключать.
        Ответить
        • [sarcasm]Можно подумать, в тех задачах, для которых система придумана, математика нужна.[/sarcasm] Вот более удобные средства работы со строками явно не помешали бы.
          Ответить
          • а как же задачи прогнозирования нестационарных временных рядов на нейросетях на 1с с целью повышения эффективности работы предприятия?
            Ответить
            • Помилуйте, оно с учётом-то справляется еле-еле.
              Ответить
  • Это типо аптимизацыя по времени :)))
    Цикл - это коротко, но долго 🙂
    Мы ж тут реалтайм системный драйвер разрабатываем и 1С для этого самое оно 🙂
    Ответить
    • Не побоюсь капитанского комментария, но это следствие _беднейшей_ системы из нативных функций. Если в PHP таких функций СЛИШКОМ много, то в этом языке слишком мало. Именно по этой причине в экосистеме изобилие велосипедов, писанных далеко не специалистами в предметной области. Всякие 1-ass-plus-plus, и прочие инструменты формочкоклепания - именно следствие этого вакуума. Я бегло почитал мануал по восьмой платформе, выглядит довольно годно для начала века, скажем.
      Второе, что роднит эту платформу с PHP - отсутствие вменяемых специалистов, да даже людей, банально знакомых с базовыми структурами данных, логикой и алгоритмами. Некоторые из них удивляются, например, теореме де Моргана. Не слышал человек никогда и всё тут.
      Ответить
      • Ну, я бы не сказал, что система встроенных объектов и вообще встроенный функционал совсем слабенький.
        Связь с внешним миром: файлы, почта, XML (как DOM и последовательная запись/чтение), XDTO, FastInfoset, HTML, Web-сервисы, Интернет-соединение (т. е. HTTP GET/POST методы), COM/OLE-объекты (в качестве клиента и сервера), ActiveX, работа с двоичными данными, сжатие ZIP, работа с XBase (DBF-файлы);
        Структуры данных: массивы, структуры, таблицы значений с произвольными индексами;
        Сериализация практически всех объектов;
        Диаграммы, графические схемы, географические схемы;
        Криптография;
        Даже такие фишки из матстатистики, как анализ данных (а именно: кластерный анализ, дерево решений, поиск ассоциаций и др.), которыми, правда, никто не пользуется - во всяком случае, практического применения я не встречал ни разу.
        Неужели это слабенький функционал для специализированной (считай, ERP) системы, ориентированной на учетную деятельность? Поверьте, в бухучете нигде синусы и тензорное исчисление не встречаются 🙂
        Мне лично кажется, фишки, связанные с окнами, процессами и прочая байда из 1С++ - нетипично для такой системы и неудивительно, что это реализуется как допфункционал через COM-объекты или внешние компоненты.
        Ответить
      • Возможно, вы знакомы были с древней версией типа 7.7.

        А со вторым абзацем согласен, толковых специалистов нет. Хотя я уже не уверен, что это связано именно с 1С.
        В пятницу в нашей группе компаний прошел конкурс профмастерства. Я и наш отдел работаем чисто на 1С, но организаторы решили, что языками будут по выбору C# или Java. Представьте себе парней из других отделов, которые всю жизнь кодят на C# и Java, и меня, который с C# знаком довольно слабенько. Но из 15 участников я почему-то заимел I место. Что я могу сказать об этих "специалистах" на этом фоне? Да ничего хорошего... Не говоря о понятии "связность графа", ребята даже не сообразили отсортировать в нужном месте...
        Ответить
      • > Второе, что роднит эту платформу с PHP - отсутствие вменяемых специалистов

        Их объединяет низкий порог вхождения.

        Чем ниже порог вхождения - тем больше быдлокодеров пытается работать с платформой... Хорошие специалисты есть и в PHP и в 1С и в Delphi и даже в VB, но они, к сожалению, теряются среди толп мартышек, которые считают себя "крутыми программистами".
        Ответить
      • По традиции, дабы не плодить псты, отвечаю всем сразу.

        > XDTO, FastInfoset, HTML, Web-сервисы, Интернет-соединение
        Восьмёрка, не?
        > COM/OLE-объекты
        Невелика радость.
        > Диаграммы, графические схемы, географические схемы;
        Точно восьмёрка. Только вот кто бы на неё ещё переходил.
        > Криптография;
        Сертифицированная ФАПСИ only™? Я просто не в курсе, как оно там.
        > считай, ERP
        Многие сумневаются, считая, что это ни разу не ерп. Так, что-то среднее между автоматизацией склада ларька и гаража. У меня не было опыта работы с восьмёркой, по нулям ваще, но я читал треды в разных форумах. Там эти самые добрые люди пишут, что если на предприятии более десяти-пятнадцати активных пользователей, то оно будет безбжно тупить, а если у кого-то работает, то только за счёт безумных затрат и чёрной магеи. Пруфов не будет, сам я не проверял. Но, почему-то упорно советую для ерп парусы-галактики (наверное, интеграторы-суки, маскируются под честных людей).
        > с древней версией типа 7.7
        Ja, ja. В трезвом уме и здравой памяти никто из моего ближайшего окружения на восьмёрку не перейдёт.
        /* ***************** */
        > Их объединяет низкий порог вхождения.
        Вечно забываю и путаю причину со следствием. C другой стороны, мне кажется, симбиоз "человек-платформа" идеален. Кодеры заслуживают эту платформу, а платформа - кодеров. Anyway, ничего для перелома ситуации не делают, эксперимент "каждая домохозяйка может программировать на бейсике" успешно провален, а переносимости кода меж версиями всё равно нет. Штат "специалистов" вполне можно выкинуть на помойку и начать с нуля, нечто красивое. Жаль, в этой реальности работает иначе.
        Ответить
        • >> а если у кого-то работает, то только за счёт безумных затрат и чёрной магеи
          Я чорный маг!!!! 60 пользователей в базе и без счёта клиентов с сайта через веб сервис.
          Ответить
          • > и без счёта клиентов с сайта через веб сервис.
            Ну это уже не чорный маг, а самый настоящий Чорный Властелин...

            Если не секрет - сколько из этих 60 пользователей активно работают с базой, а не заполняют десяток документов в день?
            Ответить
            • Все пользователи создали 3680 документов за 5 дней. Разблюдовку по пользователям лень делать.
              Ответить
        • > Точно восьмёрка. Только вот кто бы на неё ещё переходил.
          > Ja, ja. В трезвом уме и здравой памяти никто из моего ближайшего окружения на восьмёрку не перейдёт.

          Хуита в кубе. Поцык не в теме абсолютно и высказывает людям своё "мнение".
          Ответить
  • а что циклы умножения на основание отменили?
    для ускорения, можно кмнжоать по степеням 2-ки
    Ответить
    • бля, ещё один говнокодер с любовью к циклам.... если в башке масла нет - можно и рекурсией, чтобы наверняка и хуй разбить, и руки порезать.
      в один оператор же: Число(СтрЗаменить(Формат("1","С"+Значнос ть)," ","0"))
      Ответить
      • > Число(СтрЗаменить(Формат("1","С"+Значнос ть)," ","0"))
        В нормальных языках за такое решение к стенке бы поставили...

        Но в 1с, к сожалению, оно скорее всего будет работать быстрее цикла, а вменяемых альтернатив в духе Степень(10, Значность) все равно нет.
        Ответить

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

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


    8