|  | Передача больших чисел через ComConnector. | ☑ | 
    
        | 0
    
        Hmster   02.09.11✎ 11:02 | 
        1С неверно передает/получает большие числа.
 Для примера можно взять регистр сведений "Адресный классификатор" колонку "Код".
 
 ЗаписьАдреса = БД.РегистрыСведений.АдресныйКлассификатор.СоздатьМенеджерЗаписи();
 ЗаписьАдреса.Код = "100000000000000000000000";
 ЗаписьАдреса.Записать(Истина);
 //Так запишет нормально
 ЗаписьАдреса.Код = 100000000000000000000000;
 ЗаписьАдреса.Записать(Истина);
 //так запишет число 99999999999999000000000
 
 Это только у меня так? Или дело в 1С?
 |  | 
    
        | 1
    
        Grusswelle   02.09.11✎ 11:04 | 
        Ппц... 10^24 степени адресов... Это ж - квадрилион!     |  | 
    
        | 2
    
        Grusswelle   02.09.11✎ 11:04 | 
        ...Ну и так, для пятницы:      |  | 
    
        | 3
    
        Jolly Roger   02.09.11✎ 11:05 | 
        (0) в 1С... передавай строкой...     |  | 
    
        | 4
    
        Grusswelle   02.09.11✎ 11:06 | 
        (3) Ну вот нафига, а? >:-/ Такую пятницу испортил...     |  | 
    
        | 5
    
        Hmster   02.09.11✎ 11:07 | 
        (2)      |  | 
    
        | 6
    
        Hmster   02.09.11✎ 11:07 | 
        (3) чисто спортивный интерес     |  | 
    
        | 7
    
        Hmster   02.09.11✎ 13:38 | 
        Чувствую никто мне не скажет в чем проблема.     |  | 
    
        | 8
    
        kiruha   02.09.11✎ 13:44 | 
        Видать идет неявное преобразование в число с плаваяющей запятой и обратно     |  | 
    
        | 9
    
        kiruha   02.09.11✎ 13:44 | 
        ЗаписьАдреса.Код = 100000000000000000000001;
 ЗаписьАдреса.Записать(Истина);
 //так запишет число какое ?
 |  | 
    
        | 10
    
        Hmster   02.09.11✎ 13:51 | 
        99 999 999 999 999 000 000 000     |  | 
    
        | 11
    
        kiruha   02.09.11✎ 14:02 | 
             |  | 
    
        | 12
    
        Hmster   02.09.11✎ 14:14 | 
        Спс. 
 300 000 000 000 000 000 000 000 передает нормально.
 |  | 
    
        | 13
    
        hhhh   02.09.11✎ 14:27 | 
        (0) вот почему адресный классификатор не включен в обмен в типовых!     |  | 
    
        | 14
    
        Torquader   02.09.11✎ 22:13 | 
        Для передачи больших чисел существуют форматы OLE Decimal и Currency, но 1С почему-то приводит их в double, а там всего 19 десятичных цифр без округления помещается.
 Поэтому, коды проще всего преобразовать в строку (добавив, например в начало любой символ).
 |  |