
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
Ange enhet - Integration
Jag försöker skapa en order rad där jag inte anger visma's artikel nummer för artikel utan anger endast en benämning, pris och enhet. Det går bra förutom att jag inte får enhet att fungera. Jag anger en enhet som inte finns inlagd sedan tidigare i Visma så här..
info = row.Unit;
_error =
Api.AdkSetStr(pRow, Api.ADK_OOI_ROW_UNIT, ref info);
Men så fort jag anger det så kommer inte ordern in alls i Visma, jag får heller inget fel.. .
Kan man inte ange enhet som inte finns inlagd sedan tidigare? Borde man i så fall inte få ett felmeddelande? Och hur lägger jag till en enhet om den inte finns?

- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
I AdkSetStr kan du få fel av typen företaget är inte öppnat, du har inte initierat pdata-strukturen, fält-id är ogiltigt, fältet är inte ett strängfält, fältet finns inte i aktuell variant av programmet eller är inte tillgängligt pga av företagsinställningar och slutligen slutligen att strängen inte är nullterminerad.
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
AdkCreateData - skapar minnesutrymme för önskade ändringar
Ett antal AdkSetXXX - Sätter de värden du vill ha på posten i datastrukturen (man jobbar fortfarande i minnet).
AdkAdd - Lägger till posten i databasen
AdkDeleteStruct - lämnar tillbaks minnet
Detta finns beskrivet i detalj i vår Referensmanual. Som ytterligare hjälp har vi i vårt utvecklarpaket exempelprojet skrivna i C++ resp C#. Där kan du titta på kod som tex skapar kunder och fakturor.
Har du inte tillgång till dessa eller behöver en uppdaterad version, kan du maila vår tekniksupport så får du den senaste version av utvecklarpaketet.
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
pData = Api.AdkCreateData(Api.ADK_DB_ORDER_HEAD);
var iData = Api.AdkCreateData(Api.ADK_OOI_ROW_UNIT);
var newUnit = "förp";
_error = Api.AdkSetStr(iData, Api.ADK_OOI_ROW_UNIT, ref newUnit);
Men får får detta fel vid Api.AdkSetStr "Angivet fält-ID existerar inte för vald tabell."
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
I koden ovan försöker du skapa orderader med fel funktion samt att du använder en definition för ett fält istf en databas.
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
För ökad förståelse hur du ska göra behöver du titta i vårt material som följer med utvecklarpaketet.
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
var iData = Api.AdkCreateData(Api.ADK_DB_CODE_OF_UNIT);
var newUnit = "förp";
_error = Api.AdkSetStr(iData, Api.ADK_DB_CODE_OF_UNIT, ref newUnit);
Så får jag fortfarande samma fel. Jag hittar heller inga exempel på hur man sätter in en ny enhet i varken dokumentationen eller i era kod exempel. Vi hade tjänat mycket tid på om ni kunde ge ett fungerande kod exempel istället.
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
Om jag läser i manualen på sida 61 så är det ju exakt likadant beskrivet som jag gör, dvs ...
1. Först defineras datastrukturen med "var iData = Api.AdkCreateData(Api.ADK_DB_CODE_OF_UNIT);"
2. Sedan anger jag vilket namn min nya enhet ska ha " var newUnit = "förp";"
3. Sedan skickar jag in datastrukturen så här "_error = Api.AdkSetStr(iData, Api.ADK_DB_CODE_OF_UNIT, ref newUnit);
"
Men det är som jag beskrivit ovan i punkt 3 som jag får felet "Angivet fält-ID existerar inte för vald tabell."
Ni får gärna säga vad jag gör för fel, vad jag kan se om man jämför med er manual är det på samma sätt jag gör, som ni beskriver man ska göra.
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
API:t kan inte förstå vad det är för värde du försöker sätta åt dig. Du måste definiera vilket fält du vill sätta värdet i.
Du arbetar mot ADK_DB_CODE_OF_UNIT - vilket är hela strukturen.
Fältet du ska sätta heter: ADK_CODE_OF_UNIT_CODE
Jämfört med manualens exempel kring artiklar:
Struktur: ADK_DB_ARTICLE
Fält för artikelnummer: ADK_ARTICLE_NUMBER
- Markera som ny
- Bokmärke
- Prenumerera
- Inaktivera
- Prenumerera på RSS-flöde
- Markera
- Skriv ut
