Om man t.ex. har speciell produktinformation som skall visas varje gång produkten används, kan en specialanpassad informationsbild utvecklas där produkten med speciell information visas varje gång produkten används i WinBas. D.v.s. WinBas fjärrstyr en kundunik produktbild. Denna teknik, som kallas push-tekniken, kan bl.a. användas för utbyte av information om t.ex. kunder, produkter, leverantörer, projekt och order.
För att WinBas ska skicka signaler för utbyte av informationen ska inställningen Tillåt direktkontakt med externa anpassningar för datautbyte vara aktiverad i Systeminställningar.
För ytterligare information om befintliga anpassningar och moduler som finns tillgängliga med avseende på t.ex. olika typer av presentation av statistik eller användande av externa produktregister, kontakta WinBas AB.
Teknisk information on Push-tekniken
Nedan följer tekniska specifikationer för tredjepartsutvecklare som avser att använda Push-tekniken tillsammans med WinBas.
För att datautbyte ska var möjligt måste anpassning stödja funktionerna kring pushtekniken. Kontakten mellan WinBas och anpassningen sker då via XML-baserade strängkommandon som anpassningen tolkar och därefter utför olika typer av hantering baserat på s.k. taggar.
|
|
Taggarna omsluter själva datan i strängen och anger vilken typ av data som skickas, t.ex. ett kundnummer när en kund har valts i WinBas. |
Förteckning över datafält - Befintlig post visas
|
Starttag |
Data |
Sluttag |
Beskrivning |
|
<kundnr> |
Kundnr |
</kundnr> |
Kundnummer skickas när en kund har valts i Kunder, Offertregistrering, Order / faktura eller Serviceorder. |
|
<levnr> |
Levnr |
</levnr> |
Leverantörsnummer vid val av leverantör i Leverantörer, Leverantörsfakturor eller Beställning. |
|
<prodnr> |
Prodnr |
</prodnr> |
Val av produkt från Produkter, Offertregistrering, Order / faktura, Serviceorder, Beställning, Inleverans eller Beställningsunderlag. |
|
<projnr> |
Projnr |
</projnr> |
Projektnummer skickas till mottagande applikation när ett projekt har valts i Projekt. |
|
<ordnr> |
Ordnr |
</ordnr> |
Ordernummer skickas till mottagande applikation när en befintlig order tas fram i Order / Faktura. |
|
<offnr> |
Offnr |
</offnr> |
Offertnummer skickas till mottagande applikation när en befintlig offert tas fram i Offertregistrering. |
|
<bestnr> |
Bestnr |
</bestnr> |
Beställningsnummer skickas till mottagande applikation när en befintlig beställning tas fram i rutinen Beställning. |
|
<levfaktnr> |
Levfaktnr |
</levfaktnr> |
Fakturans internnummer skickas när en leverantörsfaktura visas vid Registrering av leverantörsfakturor. |
Strängkommandona ovan skickas då ett val görs i rutinerna och en post tas fram genom att använda söklistorna, senast använda post eller genom att skriva in ett nummer. I vissa fall kan även ej befintliga nummer skickas om så önskas, detta kan t.ex. vara fallet när man har en extern produktdatabas och vill få en indikation på att produkten inte finns registrerad i WinBas. Applikationen kan då ge användaren en fråga och eventuellt komplettera WinBas produktregister med nya ej befintliga produkter.
Nedan följer en förteckning över taggar som kan användas för att fånga upp t.ex. produkter som inte finns i WinBas. Taggarna ser likadana ut men med ett utroppstecken (!) framför datatypen.
Förteckning över datafält när begreppet inte finns
|
Starttag |
Data |
Sluttag |
Beskrivning |
|
<!kundnr> |
Kundnr |
</!kundnr> |
Ej befintligt kundnummer skickas när detta har angivits vid Kunder, Offertregistrering, Order / faktura eller Serviceorder. |
|
<!levnr> |
Levnr |
</!levnr> |
Ej befintligt leverantörsnummer har skrivits in vid val av leverantör i Leverantörer, Leverantörsfakturor eller Beställning. |
|
<!prodnr> |
Prodnr |
</!prodnr> |
Ej befintlig produkt har angivits i Produkter, Offertregistrering, Order / faktura, Serviceorder, Beställning, Inleverans eller Beställningsunderlag. |
Förteckning över datafält - Ny post skapas
Följande strängkommandon används när nya poster skapas i respektive register.
|
Starttag |
Data |
Sluttag |
Beskrivning |
|
<nykund> |
Kundnr |
</nykund> |
Kundnummer skickas när en ny kund har registrerats i Kunder. |
|
<nylev> |
Levnr |
</nylev> |
Leverantörsnummer vid sparande av ny leverantör i Leverantörer. |
|
<nyprod> |
Prodnr |
</nyprod> |
Ny produkt har sparats i Produkter |
|
<nyproj> |
Projnr |
</nyproj> |
Projektnummer skickas till mottagande applikation när ett nytt projekt har skapats i Projekt. |
|
<nyord> |
Ordnr |
</nyord> |
Ordernummer skickas till mottagande applikation när en ny kundorder skapas i Order / Faktura eller Kassa. |
|
<nyoff> |
Offnr |
</nyoff> |
Offertnummer skickas till mottagande applikation när en ny offert skapas i Offertregistrering. |
|
<nybest> |
Bestnr |
</nybest> |
Beställningsnummer skickas till mottagande applikation när en ny beställning skapas i rutinen Beställning. |
|
<nylevfakt> |
Levfaktnr |
</nylevfakt> |
Fakturans internnummer skickas när en ny leverantörsfaktura sparas vid Registrering av leverantörsfakturor. |
|
|
Exempel ny order: |
Det är upp till applikationen att bestämma vilka företag eller andra databaser som ska användas av anpassningen för att utföra sina uppgifter.
Exempel
Nedan följer ett exempel i Visual Basic på hur man hanterar mottagande av befintlig data samt exempel några fält som kan användas vid implementering i t.ex. VB, Access eller Excel.
Börja med att initiera objektet obConnector.cConnector vid tillfället då applikationen startas. Detta ska även stängas när programmet avslutas.
Programkoden nedan processar ALLA taggar med avseende på visning av befintlig post när den får data, då det teoretiskt sett kan finns mer än en instruktion i inkommande data. Applikationen behöver dock enbart svara på de taggar som är intressanta i det enskilda fallet. Vid mottagning av anropet skall subrutinen Push_cmd användas, som då tar emot data av typen Variant.
|
Option
Explicit
Private
Sub Form_Load()
Private
Sub Form_Unload(Cancel
As Integer)
Public
Sub Push_cmd(vData
As Variant)
sTemp = RetData(CStr(vData),
"levnr"): If
sTemp <> "" Then
SendData "Leverantör", sTemp End Sub Private Sub SendData(sField As String, sData As String)
'Hantera
data i denna rutin, t.ex. visa End Sub
Private
Function RetData(sData
As String,
_
Dim sStag
As String
sStag = "<" & Datafield & ">" lStart = InStr(sData, sStag) If lStart > 0 Then
lStart = lStart + Len(Datafield) + 2 Else RetData = "" End If End Function |