|   |   | 
| 
 | Решение округления | ☑ | ||
|---|---|---|---|---|
| 0
    
        Chameleon1980 24.02.14✎ 10:18 | 
        Не у кого наработок по правилам округления?
 Типа: до 5 р до 1 копейки до 10р до 5 копеек до 50р до 10 копеек до 100р до 50 копеек до 500р до рубля свыше до 10р | |||
| 1
    
        Wobland 24.02.14✎ 10:19 | 
        повтори вопрос, плз     | |||
| 2
    
        butterbean 24.02.14✎ 10:20 | 
        (0) функция пишется быстрее чем твой вопрос в (0) ))))     | |||
| 3
    
        1Сергей 24.02.14✎ 10:20 | 
        (1) >> Не у кого наработок по правилам округления?     | |||
| 4
    
        Wobland 24.02.14✎ 10:21 | 
        (3) спасибо
 (0) ну | |||
| 5
    
        Irbis 24.02.14✎ 10:23 | 
        (0) Кури Окр() со всеми параметрами     | |||
| 6
    
        Ненавижу 1С гуру 24.02.14✎ 10:24 | 
        Создаем РС с полями: НижняяГраница, ВерхняяГраница, ЗначениеОкругления
 заполняем его: 0 5 0.01 5 10 0.05 10 50 0.10 50 100 0.50 100 500 1.00 500 999999999999 10.00 а дальше легко как запросом, так и в коде | |||
| 7
    
        1Сергей 24.02.14✎ 10:27 | 
        С тебя сто рублёв
 Функция ОкрулитьДО(Число, Точность) Возврат Окр(Число / Точность) * Точность; КонецФункции Если Сумма < 5 Тогда Сумма = ОкруглитьДо(Сумма, 0.01); ИначеЕсли Сумма < 10 Тогда Сумма = ОкруглитьДо(Сумма, 0.05); ИначеЕсли Сумма < 50 Тогда Сумма = ОкруглитьДо(Сумма, 0.1); ИначеЕсли Сумма < 100 Тогда Сумма = ОкруглитьДо(Сумма, 0.5); ИначеЕсли Сумма < 500 Тогда Сумма = ОкруглитьДо(Сумма, 1); Иначе Сумма = ОкруглитьДо(Сумма, 5); КонецЕсли; | |||
| 8
    
        Ненавижу 1С гуру 24.02.14✎ 10:29 | 
        (7) в (6) универсальнее ))     | |||
| 9
    
        1Сергей 24.02.14✎ 10:30 | 
        (8) без моей формулы твои циферки будут висеть мёртвым грузом     | |||
| 10
    
        ale-sarin 24.02.14✎ 10:31 | 
        (6) А на зачем и верхняя и нижняя граница. Тогда еще пересечение проверять надо. 
 Одной хватит. | |||
| 11
    
        Chameleon1980 24.02.14✎ 10:32 | 
        Округляем 123.123 до 50 копеек.
 Окр(123.123/0,5)*0,5 = 123 | |||
| 12
    
        Chameleon1980 24.02.14✎ 10:34 | 
        чет не то
 Счас соображу. | |||
| 13
    
        Ненавижу 1С гуру 24.02.14✎ 10:35 | 
        (10) пересечение проверяется на уровне целостности регистратора, зато проще в запросах работать
 (9) "твоя" формула Функция ОкрулитьДО(Число, Точность) Возврат Окр(Число / Точность) * Точность; КонецФункции слишком известна, чтобы она была реально твоей )) | |||
| 14
    
        Chameleon1980 24.02.14✎ 10:38 | 
        округлите 8,71 по правилу 0,05
 До пяти копеек получается. | |||
| 15
    
        Wobland 24.02.14✎ 10:39 | 
        хм, ты намекаешь на веб-сервис на мисте? скорость округления будет не ахти     | |||
| 16
    
        Chameleon1980 24.02.14✎ 10:39 | 
        все праильно     | |||
| 17
    
        Ненавижу 1С гуру 24.02.14✎ 10:39 | 
        (14) ты к чему это?     | |||
| 18
    
        ale-sarin 24.02.14✎ 10:40 | 
        (13) Я, на всякий случай прошу прощения, но что такое "пересечение проверяется на уровне целостности регистратора"? Мне не понятно.     | |||
| 19
    
        Ненавижу 1С гуру 24.02.14✎ 10:41 | 
        (18) в событиях при записи регистра     | |||
| 20
    
        ale-sarin 24.02.14✎ 10:45 | 
        (19) Вот я и говорю в (10), что проверять придется пересечение. Естественно, не при округлении, а при записи в регистр.     | |||
| 21
    
        grayshadow 24.02.14✎ 10:48 | 
        нормальные наработки есть в округлении цены в злополучной УТ11     | |||
| 22
    
        Ненавижу 1С гуру 24.02.14✎ 11:19 | 
        (20) но вы же крайне редко будете менять этот РС     | |||
| 23
    
        ale-sarin 24.02.14✎ 11:20 | 
        (22) Кому как. Я бы сделал только одну границу. Но это чисто мое мнение. Не настаиваю.     | |||
| 24
    
        Ненавижу 1С гуру 24.02.14✎ 11:23 | 
        (23) с одной границей лишнее соединение при чтении, чтений очевидно будет больше записей     | |||
| 25
    
        1Сергей 24.02.14✎ 11:48 | 
        (24) +1
 В этом есть смыл. | |||
| 26
    
        ale-sarin 24.02.14✎ 11:49 | 
        (24) Возможно. Согласный.     | |||
| 27
    
        МишельЛагранж 24.02.14✎ 14:09 | 
        Самое главное - РС позволяет рулит границами из Предприятия, а код в (7) - надо постоянно править по ситуации.     | |||
| 28
    
        fmrlex 24.02.14✎ 14:15 | 
        (0) Ифигасе ты программист...
 "Пацаны ваще ребята!"(с) | |||
| 29
    
        Chameleon1980 24.02.14✎ 16:29 | 
        (28) что не так?     | |||
| 30
    
        fmrlex 24.02.14✎ 16:53 | 
        (29) Это задача уровня: "Ни у кого нет наработок сортировки пузырьком?"     | |||
| 31
    
        МишельЛ 24.02.14✎ 17:34 | 
        (30) давно ищу, никто не сознается ))     | |||
| 32
    
        Wobland 24.02.14✎ 17:47 | 
        (31) я бого реализовывал. будешь?     | |||
| 33
    
        Hans 24.02.14✎ 17:53 | 
        Задача не такая простая как кажется. Допустим мы округляем заказы, а реализуем частями -  это уже сложней.     | |||
| 34
    
        МишельЛ 24.02.14✎ 18:17 | 
        (32)чего реализовывал?     | |||
| 35
    
        Wobland 24.02.14✎ 18:19 | 
        (34) сортировка пресвятого Бого
 Перем ГСЧ; Процедура КнопкаВыполнитьНажатие(Кнопка) НН=8; М=Новый Массив(НН); Для й=0 По НН-1 Цикл М[й]=ГСЧ.СлучайноеЧисло(0, 256); КонецЦикла; й=0; Старт=ТекущаяУниверсальнаяДатаВМиллисекундах(); Пока НЕ Отсортирован(М) Цикл й=й+1; Размешать(М); КонецЦикла; Финиш=ТекущаяУниверсальнаяДатаВМиллисекундах(); Сообщить(""+(Финиш-Старт)+" мсек., "+й+" итераций"); КонецПроцедуры Функция Отсортирован(М) Для й=1 По М.Количество()-1 Цикл Если М[й]<М[й-1] Тогда Возврат Ложь; КонецЕсли; КонецЦикла; Возврат Истина; КонецФункции Процедура Размешать(М) Н=М.Количество(); Для й=0 По Н-1 Цикл ф=М[й]; ж=ГСЧ.СлучайноеЧисло(0, Н-1); М[й]=М[ж]; М[ж]=ф; КонецЦикла; КонецПроцедуры ГСЧ=Новый ГенераторСлучайныхЧисел; | |||
| 36
    
        МишельЛ 24.02.14✎ 18:22 | 
        (35) это откуда?
 ГенераторСлучайныхЧисел | |||
| 37
    
        Wobland 24.02.14✎ 18:24 | 
        (36) штатная восьмёрка..     | |||
| 38
    
        МишельЛ 24.02.14✎ 18:24 | 
        (37) 8.2?
 раньше не было | |||
| 39
    
        Wobland 24.02.14✎ 18:25 | 
        (38) да вроде ещё в 8.1 завелось     | |||
| 40
    
        МишельЛ 24.02.14✎ 18:26 | 
        вроде когда оно мне понадобилось в кои веки, его не было еще....     | |||
| 41
    
        МишельЛ 24.02.14✎ 18:28 | 
        + в 11 году еще не было:
 http://kb.mista.ru/article.php?id=25 | |||
| 42
    
        Wobland 24.02.14✎ 18:29 | 
        обработка у меня в бардачке (для 8.1) с ГСЧ датирована 26.08.11     | |||
| 43
    
        Wobland 24.02.14✎ 18:33 | 
        порадовал комментарий ;)
 Для й=0 По Н Цикл стр=ТЗ.Добавить(); // 1 - мальчик, 0 - девочка; блин, жизненно ;) стр.РебёнокРаз=ГСЧ.СлучайноеЧисло(0, 1); стр.РебёнокДва=ГСЧ.СлучайноеЧисло(0, 1); КонецЦикла; | |||
| 44
    
        МишельЛ 24.02.14✎ 18:35 | 
        (43) 10 - ребенок
 а что так напугало-то? )) | |||
| 45
    
        Wobland 24.02.14✎ 18:36 | 
        ...в одном ночном клубе когда-то вместо табличек на туалетный дверях были болт и гайка     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |