Problem att läsa fältnamn med hjälp av AdkGetFieldName

  • 0
  • 1
  • Fråga
  • Uppdaterades för 12 månader sedan
  • Besvarad
  • (Redigerad)

Jag håller på att skriva en BI-Integration mot Visma Förening (version 2017.0) tanken är att den skall kunna användas på samtliga Visma Administrationsplattfomar.

Jag har nu stött på problem då jag inte lyckas få funktionen AdkGetFieldName att fungera.

Jag har använt följande kod (C#) och med samma värden på currentReccordPtr och fieldnum lyckats hämta både datatyp och värden från posterna.

Jag börjar misstänka en bugg så jag skulle uppskatta om någon har lust att visa en kodsnutt på hur jag skall hämta ett fältnamn. (Tror inte det har betydelse men för sakens kull så är det ett avtalshuvud som jag hanterar i just detta fall)

string localFieldName = new string(' ', 150);

AdkNet4Wrapper.Api.AdkGetFieldName(currentReccordPtr, _fieldNum, ref localFieldName,localFieldName.Length));



Foto på Iceman

Iceman

  • 224 poäng 100 badge 2x thumb
  • frustrerad

Publicerades för 12 månader sedan

  • 0
  • 1
Foto på Benny Olsson

Benny Olsson

  • 1,130 poäng 1k badge 2x thumb
Hej Iceman, 

Första parametern till AdkGetFieldName är inte en pekare till en post i databasen. Du ska istället skicka in id't på tabellen som du vill hämta namnet för en kolumn från. 

Deklarationen för AdkGetFieldName är som följer: 
AdkGetFieldName(INT iDataBaseId, INT iFieldId, CHAR** ppsValue, INT iLen) 

Vill du t.ex. hämta ut namn för fältet "Kundens namn" ur avtalstabellen så ska du skicka in 74 (ADK_DB_AGREEMENT_HEAD) som iDataBaseId och 6 (ADK_AGREEMENT_HEAD_CUSTOMER_NAME) som iFieldId. 

Information om vilka id som respektive tabell har kan du bl.a. hitta i filen Adk.h som ingår i utvecklarpaketet från Visma. 

Lycka till!
Foto på Iceman

Iceman

  • 224 poäng 100 badge 2x thumb
Tack!
Jag var blind när jag läste manualen!