Имя: Пароль:
1C
1С v8
Как изменить количество знаков после запятой
0 Бестия
 
16.01.12
12:17
Подскажите пожалуйста как изменить количество знаков после запятой в документе "Установка цен номенклатуры" в табличной части. Добавила Перечисление.Окр0_0001, изменила реквизит в регистре Цен номенклатуры 15.4, В спр. Номенклатура - Цена тоже 15.4. Но при создании документа, все равно цена с количеством 2 знака после запятой. В типе цен номенклатуры выбрала Параметр округления 0,0001. Заранее спасибо.
1 Scooter
 
16.01.12
12:19
(0)верни всё в зад
2 Ненавижу 1С
 
гуру
16.01.12
12:19
где фото?
3 Бестия
 
16.01.12
12:20
и всё?
4 Бестия
 
16.01.12
12:21
(2) я смотрю у вас тоже замечательная фотка))))
5 Волесвет
 
16.01.12
12:21
на украйне гутарют гарны дивчины, пока портрета нема нехай сама валандается)))
6 Ненавижу 1С
 
гуру
16.01.12
12:22
(4) у меня пол другой ))
7 mikecool
 
16.01.12
12:22
не рыжая, но бестия )
8 IceSer1
 
16.01.12
12:23
в таб части точность какая ?
9 dka80
 
16.01.12
12:23
в конфигураторе в табличной части Товары реквизит цена какие параметры имеет?
10 Волесвет
 
16.01.12
12:24
мде,набежали альтруисты
11 Бестия
 
16.01.12
12:25
(8) тоже 15.4
12 dka80
 
16.01.12
12:25
(10) ну вот вроде не маленький уже, а все туда же... )))
13 Бестия
 
16.01.12
12:26
(10) фотка в профиле
14 Дядя Васька
 
16.01.12
12:27
(11) А смысл такого изменения можно прояснить? Вроде как гроши давно отменили.
15 Волесвет
 
16.01.12
12:27
(13) богиня)
16 Scooter
 
16.01.12
12:27
(0)конфа какая?
17 Бестия
 
16.01.12
12:29
(14) у меня цены в валюте, эти евроценты для меня много чего значат, с нами поставщики работают как 15.4. (15) спасибо. (16) УТП
18 Бестия
 
16.01.12
12:30
(16) УТП 8.2(1.2.4.2)
19 Дядя Васька
 
16.01.12
12:30
(18) Хм... А в ойро 1000 центов? Нет, все-таки это что-то в консерватории...
20 Griffin
 
16.01.12
12:31
(0) В коде надо посмотреть, наверняка есть функция Окр(), где задается параметр округления
21 Волесвет
 
16.01.12
12:32
в общих или в приложении по умолчанию, где то форматирует на 2 знака
УТП поод рукой нет
22 Дядя Васька
 
16.01.12
12:34
Вообще-то в лучших домах если у поставщика кривые доки их принято забивать по суммам, а не курочить свои...
23 Cube
 
16.01.12
12:34
(17) А может завести ещё одну валюту "Евро100", курс которой будет равняться курс "Евро" * 100? И в этой валюте завести договор с поставщиком? И конфу ковырять не надо и заказчик доволен...
24 Griffin
 
16.01.12
12:36
(0) В табличной части реквизит Цена изменили?
25 Бестия
 
16.01.12
12:37
(24) да
26 Бестия
 
16.01.12
12:40
может тут не так?

Функция ОкруглитьЦену(Число, ПараметрПорядокОкругления, ОкруглятьВБольшуюСторону) Экспорт

   Перем Результат;

   // Преобразуем порядок округления числа.
   // Если передали пустое значение порядка, то округлим до копеек.
   Если НЕ ЗначениеЗаполнено(ПараметрПорядокОкругления) Тогда
       ПорядокОкругления = Перечисления.ПорядкиОкругления.Окр0_0001//.Окр0_01;
   Иначе
       ПорядокОкругления = ПараметрПорядокОкругления;
   КонецЕсли;

   Порядок = Число(Строка(ПорядокОкругления));
       
   // вычислим количество интервалов, входящих в число
   КоличествоИнтервал    = Число / Порядок;
       
   // вычислим целое количество интервалов.
   КоличествоЦелыхИнтервалов = Цел(КоличествоИнтервал);
       
   Если КоличествоИнтервал = КоличествоЦелыхИнтервалов Тогда
       
       // Числа поделились нацело. Округлять не нужно.
       Результат    = Число;
   Иначе
       Если ОкруглятьВБольшуюСторону Тогда
           
           // При порядке округления "0.05" 0.371 должно округлитья до 0.4
           Результат = Порядок * (КоличествоЦелыхИнтервалов + 1);
       Иначе

           // При порядке округления "0.05" 0.371 должно округлитья до 0.35,
           // а 0.376 до 0.4
           Результат = Порядок * Окр(КоличествоИнтервал,0,РежимОкругления.Окр15как20);
       КонецЕсли;
   КонецЕсли;
   
   Возврат Результат;
   
КонецФункции // ОкруглитьЦену()
27 Griffin
 
16.01.12
12:45
(26) В отладчике прогоните этот кусок
28 vmv
 
16.01.12
12:47
(0) вы стали на скользкую дорожку. я понимаю, что руководство и пользователи вопят - дайте нам точность результата больше, но это очень и очень скользко.

Нужно стараться не крушить логику ДАННЫХ регистров и документов, иначе всю оставшуюсю молодую жизнь можно провести в раскопках проблем.

Советую написать в 1С и спросить "Где параметризация точности результата числовых реквизитов, сколько нам ждать - потребитель негодуэ")
29 dka80
 
16.01.12
12:53
ты в табличную часть документа можешь внести число с 4 знаками после запятой?
30 Бестия
 
16.01.12
12:53
(28) спасибо за совет, но необходимо срочно)
31 Бестия
 
16.01.12
12:53
нет
32 dka80
 
16.01.12
12:54
в форме документа есть поле Цена?
33 Бестия
 
16.01.12
12:55
(29) когда я создаю новый документ, у меня такое впечатление что табл. часть Товары вообще не используется, а там в реквизите Цена я изменила 15.4
34 vmv
 
16.01.12
12:56
(32) как ребенка за ручку, да именно так
35 Бестия
 
16.01.12
12:56
(32) есть, но ..
36 vmv
 
16.01.12
12:58
(33) в палитре свойств колонки "Цена" ТЧ Товары посмотрите Формат
37 dka80
 
16.01.12
12:58
(34) муж жене: хочу девочку... лет восемнадцати
38 Бестия
 
16.01.12
13:01
(36) 15.4 - писала выше
39 dka80
 
16.01.12
13:04
Процедура ОбновитьСоставКолонок()

бла бла бла

// Цена.
       ТекущаяКолонка = КолонкиТаблицыЦен.Найти("цена" + НомерСоответствияТекущейКолонки);
       Если ТекущаяКолонка = Неопределено Тогда // надо вставить
           КолонкиТаблицыЦен.Вставить(ОчереднойНомерКолонки, "цена" + НомерСоответствияТекущейКолонки, Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2, ДопустимыйЗнак.Неотрицательный)), СокрЛП(СтрокаТипаЦен.ТипЦен), 10);
           ОчереднойНомерКолонки = ОчереднойНомерКолонки + 1;
       Иначе
           СдвинутьКолонку(ТекущаяКолонка, ОчереднойНомерКолонки);
       КонецЕсли;
40 dka80
 
16.01.12
13:04
видишь твои 15,2?
41 dka80
 
16.01.12
13:05
это в модуле формы документа. правда у меня УПП, но вряд ли сильно отличается
42 vmv
 
16.01.12
13:07
абалдеть, открыл "Управление торговым предприятием для Украины", редакция 1.2.
Разработка конфигурации: "ABBYY Ukraine", 2007-2011 (1.2.4.2)

документ "Установка цен номенклатуры"

1. В конфигурате на форме документа представлена только одна ТЧ "ТаблицаЦен", воторая "Товары" представлена неявно.

Табличное поле строиться с "дикой" динамикой

Советую посмотреть метод формы

Процедура ОбновитьСоставКолонок()

и в ней

   // Цена.
       ТекущаяКолонка = КолонкиТаблицыЦен.Найти("цена" + НомерСоответствияТекущейКолонки);
       Если ТекущаяКолонка = Неопределено Тогда // надо вставить
           КолонкиТаблицыЦен.Вставить(ОчереднойНомерКолонки, "цена" + НомерСоответствияТекущейКолонки, ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 2, ДопустимыйЗнак.Неотрицательный), СокрЛП(СтрокаТипаЦен.ТипЦен), 10);
           ОчереднойНомерКолонки = ОчереднойНомерКолонки + 1;
       Иначе
           СдвинутьКолонку(ТекущаяКолонка, ОчереднойНомерКолонки);
       КонецЕсли;


ну нахрена такую динамику делать, разве нельзя мастер-деталь делать прозрачной на отборах и подчинении, представляюю сколько работы по конвертации этих мегаидей на УФ.

мнение субъективно)
43 vmv
 
16.01.12
13:09
ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15, 2, ДопустимыйЗнак.Неотрицательный)

вот корень зла и нечего пенять на форматы и свойства, но без тыканья в код хрен допрешь, посему я и говорил, что дорожка скользкая
44 Бестия
 
16.01.12
14:21
(40) Спасибочки огромное, провтыкала, все получилось.
ВСЕМ СПАСИБОЧКИ!!!!
45 dka80
 
16.01.12
14:24
пожалуйста
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.