Имя: Пароль:
1C
1C 7.7
v7: Периодический.Значение и округление
,
0 2307861c
 
31.10.11
18:51
Делаю запись

Периодический = СоздатьОбъект("Периодический");
Периодический.ИспользоватьОбъект(Имя, Объект);
Периодический.Значение = Значение;
Периодический.Записать();

Смотрю в отладчике Значение идет 128,30, а вот в  Периодический.Значение попадает 130, непойму почему округляет?
1 Wobland
 
31.10.11
18:52
это 8.2.15?
2 Wobland
 
31.10.11
18:52
что такое Периодический вообще?
3 Kashemir
 
31.10.11
18:54
Это наверно семерка
4 ЧеловекДуши
 
31.10.11
18:59
(0)Он не округляет, он берет значение на дату.
Сколько знаков после запятой?
5 2307861c
 
31.10.11
19:02
(4) 2 знака
6 2307861c
 
31.10.11
19:03
Я не пойму, я передаю число с цыфрами после запятой, почему он округляет?
7 Jaffar
 
31.10.11
19:08
(6) на какую дату записываешь и на какую дату проверяешь?
8 Ахиллес
 
31.10.11
19:12
+7 И точка останова в какой строке стоит?
9 2307861c
 
31.10.11
19:48
(8) Периодический.Значение = Значение;
10 Ахиллес
 
31.10.11
19:55
(9) Поздравляю тебя Шарик, ты Балбес! (С) Кот Матроскин.
В этой строке в отладчике в "Периодический.Значение" ты видишь значение ДО присвоения ему нового значения.
11 2307861c
 
31.10.11
20:09
(10)Нифика, я сначала в этой строке смотрю значение переменной "Значение" а потом еще одна точка (да и в истории заметил) смотрю Периодический.Значение и там у нас получается округленно.
12 andrewks
 
31.10.11
20:10
чудес не бывает
где-то ты смотришь не туда, куда надо
13 Эльниньо
 
31.10.11
20:13
Тип значения у реквизита с именем "Имя"?
14 2307861c
 
31.10.11
20:17
(13) Это реквизит Цена из справочника Цены из типовой ТиС тип значения = число 15,2
15 2307861c
 
31.10.11
20:22
Вот вобщем весь кусок, позаимствовал на этом сайте

       Если Объект.ЭтоГруппа() = 0 Тогда
           УзлыПериодического = Узел.ВыбратьУзлы("Периодический");
           Для ы = 0 по УзлыПериодического.КоличествоУзлов-1 Цикл
               УзелПериодического = УзлыПериодического.ПолучитьУзел(ы);
               Имя = УзелПериодического.ПолучитьАтрибут("Имя");
               Периодический = СоздатьОбъект("Периодический");
               Периодический.ИспользоватьОбъект(Имя, Объект);
               Выборка = УзелПериодического.ВыбратьУзлы("ПериодическоеЗначение");
               Для й = 0 по Выборка.КоличествоУзлов-1 Цикл
                   УзелЗначения = Выборка.ПолучитьУзел(й);
                   ТипОбъектаРеквизита = " ";
                   ВидОбъектаРеквизита = " ";
                   ДатаЗнач = УзелЗначения.ПолучитьАтрибут("ДатаЗнач");
                   Тип = УзелЗначения.ПолучитьАтрибут("Тип");
                   Значение = УстановитьРеквизитV8(УзелЗначения, ТипОбъектаРеквизита, ВидОбъектаРеквизита, Имя);
                   //Сообщить("Вид = " + ВидОбъектаРеквизита);
       
                   
                   Если ПустоеЗначение(Значение) = 0 Тогда
                       Периодический.НазначитьТип(Тип);
                       Периодический.ДатаЗнач = ДатаЗнач;  
                       Периодический.Значение = Значение;
                       Периодический.Записать();
                   КонецЕсли;
               КонецЦикла;
           КонецЦикла;        
       КонецЕсли;
16 2307861c
 
31.10.11
20:23
Блин, может вот эта штучка все и портит Периодический.НазначитьТип(Тип);
17 2307861c
 
31.10.11
20:25
Вобще всем спасибо закомментировал эту строчку

Периодический.НазначитьТип(Тип);

И все заработало
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс