|
Решение округления | ☑ | ||
---|---|---|---|---|
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
|
...в одном ночном клубе когда-то вместо табличек на туалетный дверях были болт и гайка
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |