Имя: Пароль:
1C
1C 7.7
v7: Округление до 1000 - 1С7.7 v9.2 - помогите убогому :)
0 BaceK
 
23.10.12
15:39
Как устроить округление до 1000??. 1С при создании или редактировании цены позволяет максимум до 100.
Ну то есть допустим чтобы получающиеся розничные цены типа
4001
52500
171870
10020410
автоматом становились вот такими (всегда в большую сторону!!)
5000
53000
172000
10021000
И на сколько я понимаю данное правило поидее должно срабатывать и при
формировании цены из Поступления ТМЦ->действия->обновления цены в справочнике (для соответсвующей цены).
P.S> Живу в РБ - тут такие цены. Не програмер но открывать конфигурацию умею. Метод тыка там не работает посему и обращаюсь.
1 Нууф-Нууф
 
23.10.12
15:39
ОКР
2 Fragster
 
гуру
23.10.12
15:39
500 рублей
3 Fragster
 
гуру
23.10.12
15:39
(1) не угадал
4 Нууф-Нууф
 
23.10.12
15:40
(3) чёйта?
5 Fragster
 
гуру
23.10.12
15:40
(4) 4001->5000
6 Нууф-Нууф
 
23.10.12
15:41
аааа
7 Нууф-Нууф
 
23.10.12
15:41
1000 руб
8 1Страх
 
23.10.12
15:41
Целое = Цел(Сумма/1000)*1000;
Итог = Целое+?(Сумма-Целое<>0,1000,0);
9 Надсмотрщик
 
23.10.12
15:42
А = (Цел(А/1000) + 1))*1000
10 1Страх
 
23.10.12
15:42
(9) неправльно
11 Надсмотрщик
 
23.10.12
15:44
(10) "(всегда в большую сторону!!) "
12 Дык ё
 
23.10.12
15:47
окр((А+500)/1000)*1000
13 Надсмотрщик
 
23.10.12
15:55
(12) Кратность 1000
14 1Сергей
 
23.10.12
15:58
Целое = Цел((Сумма+999.99999999999999999999)/1000)*1000;
15 BaceK
 
23.10.12
16:24
а куда это вставить? :)
16 BaceK
 
23.10.12
16:28
Я так понимаю надо вносить изменения в эту секцию???

Функция глОкруглить(Числ, ПорядокОкругления) Экспорт
   Перем Рез;
   
   Если ПорядокОкругления = Перечисление.ПорядкиОкругления.ОкрТочно Тогда
       
       // арифметическое округление до 2-х знаков после запятой
       Рез = Окр(Числ, 2);
   Иначе
       // округление к верхней границе по заданному порядку
       
       // преобразуем порядок округления число
       Порядок            = Число(Строка(ПорядокОкругления));
       
       // вычислим количество интервалов, входящих в число
       КолвоИнтервал    = Числ / Порядок;
       
       // вычислим целое количество интервалов.
       КолвоИнтервалЦел= Цел(КолвоИнтервал);
       
       Если КолвоИнтервал = КолвоИнтервалЦел Тогда
           // Числа поделились нацело. Округлять не нужно.
           Рез    = Числ;
       Иначе
           Рез    = Порядок * (КолвоИнтервалЦел + 1);
       КонецЕсли;
       
   КонецЕсли;
   
   Возврат Рез;
КонецФункции // глОкруглить()
2 + 2 = 3.9999999999999999999999999999999...