| 
    
            
         
         | 
    
  | 
Искаженная сумма полученная через COM-соединение | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Cube    
     27.08.12 
            ✎
    10:04 
 | 
         
        Платформа 8.2.15.318.
  
        Все базы файловые. Запрос в УПП (релиз 1.3.26.1): http://storage7.static.itmages.ru/i/12/0827/h_1346046791_4026868_fa34e1ecba.png В строке №3 сумма 874,69. В строке №4 сумма 68,60 Подключаюсь к этой же базе УПП из ЗиУП (релиз 2.5.54.1) через v82.COMConnector и получаю: http://storage8.static.itmages.ru/i/12/0827/h_1346046964_6685415_a3062d5023.png В строке №3 сумма 874,6900000000001 В строке №4 сумма 68,59999999999999 По остальным строкам всё нормально. Есть и другие документы с подобными финтами, но закономерности появления этой бороды я не выявил. На боевых базах в клиент-серверном варианте та же проблема с теми же документами. Кто-нибудь сталкивался с подобным? Есть идеи как это лечить?  | 
|||
| 
    1
    
        andrewks    
     27.08.12 
            ✎
    10:08 
 | 
         
        "Есть идеи как это лечить?"  Окр(), не?     
         | 
|||
| 
    2
    
        andrewks    
     27.08.12 
            ✎
    10:09 
 | 
         
        если в самом запросе - cast()     
         | 
|||
| 
    3
    
        Cube    
     27.08.12 
            ✎
    10:09 
 | 
         
        (1) Я хочу устранить причину, а не бороться со следствием... :)     
         | 
|||
| 
    4
    
        andrewks    
     27.08.12 
            ✎
    10:10 
 | 
         
        (3)  "Я хочу устранить причину"  неужто собрался ликвидировать 1С? :-)     
         | 
|||
| 
    5
    
        Cube    
     27.08.12 
            ✎
    10:11 
 | 
         
        (4) Ты думаешь, что причина в этом?))) Но тогда встанет другая проблема: где взять платформу :р     
         | 
|||
| 
    6
    
        чувак    
     27.08.12 
            ✎
    10:12 
 | 
         
        (4) огда ему надо перемещатся в 1960 год, искать Бориса     
         | 
|||
| 
    7
    
        andrewks    
     27.08.12 
            ✎
    10:12 
 | 
         
        не, а всё-таки, если в запросе прямо откастовать, всё равно по ком результат искажает, или нет?     
         | 
|||
| 
    8
    
        Cube    
     27.08.12 
            ✎
    10:14 
 | 
         
        (7) Я в английском синтаксисе запросов не бельмесо)) Ты предлагаешь выразить как число 15.2 что-ли?)
  
        К тому же, запрос - это в УПП, а в ЗиУП я работаю уже с объектом... Запроса нет...  | 
|||
| 
    9
    
        ДенисЧ    
     27.08.12 
            ✎
    10:16 
 | 
         
        Это нормально     
         | 
|||
| 
    10
    
        andrewks    
     27.08.12 
            ✎
    10:16 
 | 
         
        "Ты предлагаешь выразить как число 15.2 что-ли?"  ага     
         | 
|||
| 
    11
    
        ДенисЧ    
     27.08.12 
            ✎
    10:16 
 | 
         
        (7) ага.     
         | 
|||
| 
    12
    
        Cube    
     27.08.12 
            ✎
    10:16 
 | 
         
        (9) Что именно? И почему? :)     
         | 
|||
| 
    13
    
        andrewks    
     27.08.12 
            ✎
    10:16 
 | 
         
        а вообще, насколько помню, 2+2=3,(9)     
         | 
|||
| 
    14
    
        ДенисЧ    
     27.08.12 
            ✎
    10:17 
 | 
         
        (12) Потому что по Оле данные передаются не в том виде, что их хранит 1с     
         | 
|||
| 
    15
    
        Cube    
     27.08.12 
            ✎
    10:17 
 | 
         
        (10) А если ПФР опять захочет точность пять знаков после запятой? Не, такой вариант отпадает :)     
         | 
|||
| 
    16
    
        andrewks    
     27.08.12 
            ✎
    10:18 
 | 
         
        (15) сделаешь (17,5)     
         | 
|||
| 
    17
    
        Cube    
     27.08.12 
            ✎
    10:18 
 | 
         
        (14) И какие варианты выхода, кроме как прострелить коленку?)     
         | 
|||
| 
    18
    
        DailyLookingOn Sunset    
     27.08.12 
            ✎
    10:18 
 | 
         
        (6)
  
        Че это Бориса-то. Билли и тех, кто придумал формат хранения вещественных чисел.  | 
|||
| 
    19
    
        andrewks    
     27.08.12 
            ✎
    10:18 
 | 
         
        (17) ну, много ещё. об стену там,  пузырёк с йадом, и т.д.     
         | 
|||
| 
    20
    
        DailyLookingOn Sunset    
     27.08.12 
            ✎
    10:18 
 | 
         
        (17)
  
        Окр(X,Y)  | 
|||
| 
    21
    
        Cube    
     27.08.12 
            ✎
    10:20 
 | 
         
        (19) Нужно, чтобы ни одного программиста не пострадало)     
         | 
|||
| 
    22
    
        Cube    
     27.08.12 
            ✎
    10:20 
 | 
         
        (20) Уже предлагали.     
         | 
|||
| 
    23
    
        Reset    
     27.08.12 
            ✎
    10:20 
 | 
         
        (22) Других нет вариантов     
         | 
|||
| 
    24
    
        ДенисЧ    
     27.08.12 
            ✎
    10:20 
 | 
         
        (17) Использовать округление     
         | 
|||
| 
    25
    
        Cube    
     27.08.12 
            ✎
    10:21 
 | 
         
        (23) Плохой пост. Сделаю вид, что я его не заметил :))))     
         | 
|||
| 
    26
    
        Cube    
     27.08.12 
            ✎
    10:21 
 | 
         
        (24) Что-то как-то жиденько... :) Ещё варианты есть?     
         | 
|||
| 
    27
    
        andrewks    
     27.08.12 
            ✎
    10:23 
 | 
         
        (26) есть. не использовать округление     
         | 
|||
| 
    28
    
        Reset    
     27.08.12 
            ✎
    10:23 
 | 
         
        Ну другие варианты только через опу. На "той" стороне пихать в строку, передавать строкой например.
  
        Округдение самое то. Учитывая, что всегда (вроде) известна точность, особых сложносностей не долдно вызывать  | 
|||
| 
    29
    
        ДенисЧ    
     27.08.12 
            ✎
    10:24 
 | 
         
        (26) Есть прострелить висок.     
         | 
|||
| 
    30
    
        DailyLookingOn Sunset    
     27.08.12 
            ✎
    10:24 
 | 
||||
| 
    31
    
        Cube    
     27.08.12 
            ✎
    10:25 
 | 
         
        Эх... Ладно, пойду округлю до 10 знаков после запятой... :)     
         | 
|||
| 
    32
    
        Reset    
     27.08.12 
            ✎
    10:26 
 | 
         
        Зачем до 10? До количества знаком после точки. По примеру из (0) - до 2х     
         | 
|||
| 
    33
    
        Cube    
     27.08.12 
            ✎
    10:31 
 | 
         
        (32) Потому что это заплатка (костыль), а не реальное округление. К тому же у меня это в обработке обмена, которая не знает, сумма это или ещё что, а в реальной базе 10 знаков после запятой никто реквизиты делать не будет.
  
        Короче, чтобы не переписывать обмен потом, когда что-нибудь изменится.  | 
|||
| 
    34
    
        Cube    
     27.08.12 
            ✎
    10:32 
 | 
         
        Сделал округление до 10 знаков после запятой, проблема ушла (точнее суслик-то есть, просто его не видно :)).
  
        Всем спасибо)  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |