Aveva. Nwei в тоннах программно.

 
  • dim qm as new dbunits
               qm = dbunits.tonne
               dim gm as dbdimension
               gm = dbdimension.mass

               dim qual as new dbqualifier()
               qual.add(qm)
               qual.add(gm)
     dim nnweiitt as double = currentelement.element.getdouble(dbattributeinstance.nwei, qual)


    Необходимо получить nwei  у текущего элемента в тоннах, независимо от того, как вносилась информация пользователями в кг или  в тоннах.
    Создавала формат
    dim f1 as dbformat = dbformat.create()
               f1.dimension = dbdoubledimension.getdimension(dbdimension.mass)
               f1.units = dbdoubleunits.getunits(dbunits.tonne)
               dim d1 as dbdouble = dbdouble.create("1", f1)
    , пытаясь его впихнуть в
    dim nnweiitt as double = currentelement.element.getdouble(dbattributeinstance.nwei, d1)
    ,  выдает ошибку.  Подскажите. Спасибо.
  • Вот простенький метод из c#, который конвертит в килограммы
    [color=#1000a0]private[/color] string str)
    {
       dbdouble num[/b];
       [color=#1000a0]if[/color] ((str.length == [color=#800000]0[/color]))
       {
           [color=#1000a0]return[/color] create();
       }
       [color=#1000a0]try[/color]
       {
           getformat([color=#800000]"massfmt"[/color]);
           num = create(str, format);
           getunits([color=#800000]"kg"[/color]);
           num = num.convertunits(units);
       }
       [color=#1000a0]catch[/color] (exception)
       {
           [color=#1000a0]throw[/color] [color=#1000a0]new[/color] exception([color=#800000]"string '"[/color] + str + [color=#800000]"' cannot be converted to a weight"[/color]);
       }
       [color=#1000a0]if[/color] (num.value < [color=#800000]0.0[/color])
       {
           [color=#1000a0]throw[/color] [color=#1000a0]new[/color] exception([color=#800000]"a negative weight has been entered"[/color]);
       }
       [color=#1000a0]return[/color] num;
    }