[РЕШЕНО] Округление в 1С запросе

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем andryscha92, 8 июл 2014.

  1. TopicStarter Overlay
    andryscha92
    Offline

    andryscha92 Опытный в 1С

    Регистрация:
    31 янв 2012
    Сообщения:
    389
    Симпатии:
    1
    Баллы:
    29
    как всегда округлять число в большую сторону в запросе т.е. если число 0.2 то 1.
  2. alexburn
    Online

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Никак
    --- Объединение сообщений, 8 июл 2014 ---
    Извращаться - ВЫБОР КОГДА ТОГДА
  3. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    а как же выразить....

    Выразить(моеЧисло+0.9999999999 КАК ЧИСЛО(10,0))
  4. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Ну эта функция же не округляет...
  5. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.438
    Симпатии:
    373
    Баллы:
    104
    для начала где именно?
  6. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    округляет, но по обычным правилам
    а ТС надо 0.2 в 1 округлить - такое через выбор только
  7. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    а.... 0.999999 я для чего прибавил ???
    --- Объединение сообщений, 8 июл 2014 ---
    итак....
    0.2+0.999999999 = 1.1999999999
    окруляем ... и .... =1
  8. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    хм. Действительно. :)
  9. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    а до какого числа тогда округлится 0.9? :)
  10. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    попробуй
    --- Объединение сообщений, 8 июл 2014 ---
    кто мешает прибавить 0.5 ?
  11. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    неопределенность в числе

    при добавлении 0.5 до какого числа округлится 0?
    --- Объединение сообщений, 8 июл 2014 ---
    на самом деле все просто решается через выбор
    Код:
    ВЫБОР КОГДА ВЫРАЗИТЬ(Таблица.Поле КАК ЧИСЛО(10))>Таблица.Поле ТОГДА
      ВЫРАЗИТЬ(Таблица.Поле КАК ЧИСЛО(10))
    ИНАЧЕ
      ВЫРАЗИТЬ(Таблица.Поле КАК ЧИСЛО(10))+1
    КОНЕЦ
    --- Объединение сообщений, 8 июл 2014 ---
    это для положительных чисел
  12. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.438
    Симпатии:
    373
    Баллы:
    104
    а так?
    если целая часть числа = 0 то выдадим 1, если нет - выдадим исходное число
    Код:
        Результат=?((Цел(НужноеЧисло)=0)И (НужноеЧисло<>0) ,1,НужноеЧисло);
    
  13. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    а если учесть, что это запрос? :)
  14. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.438
    Симпатии:
    373
    Баллы:
    104
    хотя если ТС всё надо до ближайшего вверх округлять, то по иному надо
    Код:
    Результат=?((НужноеЧисло-Цел(НужноеЧисло))>0 ,Цел(НужноеЧисло)+1,НужноеЧисло);
    
    --- Объединение сообщений, 8 июл 2014 ---
    дык ТС так и не сознался где именно ему надо ;)
  15. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
  16. TopicStarter Overlay
    andryscha92
    Offline

    andryscha92 Опытный в 1С

    Регистрация:
    31 янв 2012
    Сообщения:
    389
    Симпатии:
    1
    Баллы:
    29
    решил задачу проблему использовав Выбор когда МоеЧисло между 0,01 и 1 тогда 1 иначе МоёЧисло Конец
    но тут округляет интервал определенный, хотелось бы универсальности....
  17. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    398
    Баллы:
    104
    Вам дали ответ.
  18. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    Выразить(моеЧисло+0.4999999999 КАК ЧИСЛО(10,0))



    Уменьшим на немного...
  19. TopicStarter Overlay
    andryscha92
    Offline

    andryscha92 Опытный в 1С

    Регистрация:
    31 янв 2012
    Сообщения:
    389
    Симпатии:
    1
    Баллы:
    29
    спасибо всем благодарен!

Поделиться этой страницей