mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Własne pola ZMO i Pozycje - jak pobrać? https://forum.mix-soft.pl/viewtopic.php?f=15&t=9473 |
Strona 1 z 1 |
Autor: | wojtek [ 2020-02-28, 19:07 ] |
Tytuł: | Własne pola ZMO i Pozycje - jak pobrać? |
Jak w temacie - robiłem podobne rzeczy związane z wymiarami: Kod: ..... xWymiarDef = xFactory.NewObject("BDefinicjaWymiaru") xWymiarDef.Load() wymCount = xWymiarDef.count() ...... Jak poprać wartość własnych pól Ambasic, albo jeszcze lepiej SQL - szukałem ale nie mogę znaleźć w bazie danych? W jakiej tabeli są własne pola i jak wiążą się z dokumentem ZMO lub jego pozycją? Z góry dziękuję za pomoc |
Autor: | wojtek [ 2020-02-28, 23:03 ] |
Tytuł: | Re: Własne pola ZMO i Pozycje - jak pobrać? |
Sam sobie odpowiem :) może się komuś przyda [BAZA].[SSCommon].[STDimensions] [BAZA].[SSCommon].[HMF_SalesOrderClassification] [BAZA].[SSCommon].[HMF_SalesOrderPositionClassification] |
Autor: | wojtek [ 2020-02-29, 09:52 ] |
Tytuł: | Re: Własne pola ZMO i Pozycje - jak pobrać? |
Sam odpowiem sobie na pytanie - może komuś się przyda Definicje własnych pól siedzą w: [BAZA].[SSCommon].[STDimensions] Ich powiązenie z dokumentem ZO w tabeli: [Baza].[SSCommon].[HMF_SalesOrderClassification] A dla pozycji ZO w tabeli [Baza].[SSCommon].[HMF_SalesOrderPositionClassification] Nazwa kolumn w dwóch ostatnich tabelach poprzedzona CDim_ to kod zdefiniowanego pola/Wymiaru. Po napisaniu funkcji w programie pojawiła się niejasność - może ktoś wyjaśni bo nie rozumiem: Bezpośrednie zapytanie do bazy: Kod: SELECT cdim_isCanceled as wartosc FROM testowa2.SSCommon.HMF_SalesOrderClassification where ElementId = 3801 Zwraca wartość 1 - jeśłi wartosć pola w programie ustawiona na True lub 0 gdy False Gdy takie samo zapytanie wywołuję z pozycji amBasic funkcją: Kod: int sub czyAnulowane(long id,int czyPozycja,string kodWymiaru) string s_Id = using "%l",id DISPATCH rs1, con1 rs1= "ADODB.Recordset" con1 = GetAdoConnection() string qZap1 if czyPozycja == 0 then qZap1 ="SELECT CDim_"+kodWymiaru+" AS wartosc FROM SSCommon.HMF_SalesOrderClassification where ElementId = "+s_Id else qZap1 = "SELECT CDim_"+kodWymiaru+" AS wartosc FROM SSCommon.HMF_SalesOrderPositionClassification where ElementId = "+s_Id endif message qZap1 rs1.Open(qZap1, con1) //message using "%i",rs1.RecordCount //if rs1.RecordCount > 0 then message using "%i", rs1.Fields("wartosc").value //message using "%i",czyAnulowane //else // czyAnulowane = 0 //endif endsub Dostaję wartość 0 dla False - i tu OK albo -1 dla True.... Skąd ten minus? Nie rozumiem? |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |