mojaSymfonia FORUM
https://forum.mix-soft.pl/

MxBtbase - problem z zaokrągleniami
https://forum.mix-soft.pl/viewtopic.php?f=15&t=4846
Strona 1 z 1

Autor:  kris_s [ 2013-03-30, 12:26 ]
Tytuł:  MxBtbase - problem z zaokrągleniami

Witam,

próbuję przy użyciu obiektu MxBtbase zapisywać kurs waluty do FKP.
Wykorzystuję ten obiekt, ponieważ łączę się z bazą FK-i z zewnętrznego systemu, Pervasiva brak.
A z tego co się orientuję ITG niestety nie umożliwia zapisywania kursów walut.

Fragment kodu (C# .NET):

Kod:
MxBtbase.BtRecordset rs = new MxBtbase.BtRecordset();
rs.BtDatabase = db;
string rok = connection.FirmaInfo.get_Rok(connection.FirmaInfo.OstatniRok).Katalog;

rs.Open("kursy", rok + "\\01KURSY.DAT");
rs.SetKey("symbol");
rs.set_KeyField("symbol", wartoscWaluty.symbol);
rs.set_KeyField("data", wartoscWaluty.date.ToShortDateString());

short error = rs.GetRec(MxBtbase.BO.GETEQ);

if (string.IsNullOrEmpty(rs["waluta1"]))
{
       rs["data"] = wartoscWaluty.date.ToShortDateString();
       rs["symbol"] = wartoscWaluty.symbol;
       rs["waluta1"] = wartoscWaluty.waluta;               
       rs["zakup1"] = wartoscWaluty.zakup;
       rs["sprz1"] = wartoscWaluty.sprzedaz;
}
rs.Insert();
rs.Close();


Zależy mi, żeby do pól rs["zakup1"] oraz rs["sprz1"] zapisywały się wartości z dokładnością do 4 miejsc po przecinku.
Jednak w trakcie takiego przypisania jak powyżej wartości przechowywane w zmiennych wartoscWaluty.zakup oraz wartoscWaluty.sprzedaz (tu jeszcze mam do 4 miejsc) są automatycznie zaokrąglane do dwóch miejsc po przecinku i w FKP są widoczne tylko 2 miejsca. Nie mam pojęcia jak sobie z tym poradzić. Bezskutecznie kombinowałem z różnymi typami, jawnymi zaokrągleniami...

Czy ktoś z Was ma jakiś pomysł na rozwiązanie tej sytuacji? Oczywiście może być propozycja jakiegoś innego alternatywnego rozwiązania, umożliwiającego zapis kursu waluty do FKP bez wykorzystania obiektu MxBtbase przy założeniu, że nie ma również Pervasive.

Z góry dzięki.

Pozdrawiam,
Krzysztof

Autor:  rafal [ 2013-04-02, 10:11 ]
Tytuł:  Re: MxBtbase - problem z zaokrągleniami

Czy przy zapisie bezpośrednim wartości efekt jest ten sam?
Kod:
       rs["zakup1"] = 4.1234;
       rs["sprz1"] = 4,1234;


Czy Twoja zmienna wartoscWaluty.zakup jest Double?

Zobacz jeszcze
Kod:
       rs.Value["zakup1"] = 4.1234;
       rs.Value["sprz1"] = 4,1234;


mam jeszcze pytanie odbiegające od tematu.

Co to jest u Ciebie connection.FirmaInfo i jak tego używasz?

Autor:  kris_s [ 2013-04-02, 12:15 ]
Tytuł:  Re: MxBtbase - problem z zaokrągleniami

Zmienne wartoscWaluty.zakup oraz wartoscWaluty.sprzedaz sa typu Double.

Próbowałem tak:

Kod:
rs["zakup1"] = 4.1234;
rs["zakup1"] = "4,1234";
rs["zakup1"] = "4.1234";


Zawsze ten sam efekt - do bazy trafia wartość 4.12.

BtDatabase connection - dotyczy obiektu ITG - definicja połączenia do bazy konkretnej firmy,
w tym projekcie generalnie korzystam z ITG, ale właśnie w przypadku kursów walut muszę to obsługiwać w inny sposób.

Autor:  rafal [ 2013-04-02, 13:58 ]
Tytuł:  Re: MxBtbase - problem z zaokrągleniami

a testowałeś przez rs.Value ?

Autor:  kris_s [ 2013-04-02, 14:11 ]
Tytuł:  Re: MxBtbase - problem z zaokrągleniami

Właśnie nie jest dostępny żaden tego typu parametr do przypisania wartości w inny sposób niż to realizuję. Przynajmniej ja nie znalazłem. Nie ma nic w stylu: rs.value lub rs.set_value().

Autor:  rafal [ 2013-04-02, 16:05 ]
Tytuł:  Re: MxBtbase - problem z zaokrągleniami

A możesz sprawdzić czy zaokrągla na innych tabelach ?

Autor:  kris_s [ 2013-04-09, 10:04 ]
Tytuł:  Re: MxBtbase - problem z zaokrągleniami

Sprawdzałem na tabeli zapisy - pole "kurs" - tu działa poprawnie - zapisuje do bazy z dokładnością do 4 miejsc po przecinku.
Czyli jakiś bug w Symfonii?

Autor:  rafal [ 2013-04-16, 16:10 ]
Tytuł:  Re: MxBtbase - problem z zaokrągleniami

Jest to błąd w programie w obiekcie MxBtbase. Będzie poprawiony w nowych wersjach.

Autor:  kris_s [ 2013-04-17, 11:30 ]
Tytuł:  Re: MxBtbase - problem z zaokrągleniami

Odnośnie tej poprawki w kolejnej wersji - czy to jest oficjalna informacja?
Pytam, bo nie wiem jakie jest jej źródło :)

Autor:  kris_s [ 2013-08-04, 14:07 ]
Tytuł:  Re: MxBtbase - problem z zaokrągleniami

W najnowszej wersji FKP2013.1.d problem już nie występuje.

Pozdrawiam,
Krzysiek

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/