benutzerdef. Felder für Abos
Elisabeth Schluga
Hallo zusammen,ich möchte mehrere benutzerdefinierte Felder zu den einzelnen Abos anlegen.
Und dann im designer entsprechend darauf zugreifen.
Wie heißt die benutzerdefinierte Tabelle, die derzeit für die Artikelzeilen im Abo zuständig ist?
Bzw. wie heißt die Tabelle, die überhaupt für die Abos zuständig ist.
(Damit ich hier meine benutzerdefinierten Felder dazuhängen kann)
Des weiteren möchte ich dann im coresuite designer die Abos abfragen.
Wie kann ich im coresuite desinger zB ein Abo abfragen? (Tabellenname)
LG
Elisabeth Polzhofer
Adrian Meier
Hallo ElisabethBenutzerdefinierte Felder lassen sich auf dem Abonnement und der Abonnementzeile nicht definieren. Hierzu sind extra entsprechende Felder vorgesehen. (Benutzerfeld1, ...)
Die Tabelle heisst SWA_CT_SUBSCR_ITEMS (Abozeile), SWA_CT_SUBSCR_ITEMS (Abo).
Ein Standardlayout für die Abonnemente existiert bereits. Wenn Du im Rechnungslayout Daten vom Basisobjekt (in dem Falle das Abo) abfragen möchtest, findest Du eine Feldbeschreibung unter folgendem Link.
http://help.coresuite.ch/help/management/de/swa_ct_kundenauftrag.htm
HTH, Adrian
Elisabeth Schluga
danke für die schnelle Antwort, ja das verstehe ich.Wir benutzen die Abos zur Fakturierung von Hostung und Domainartikeln. Zusätzlich haben wir derzeit in den Geschäftspartnerstammdaten die Domains hinterlegt, die dann am Bericht angezeigt werden.
Dadurch das viele Kunden unterschiedliche Abos haben, wäre eine Zuordnung von rund 100 Domains pro Abo direkt in der Abo-Anlage vorteilhaft.
Habe ich eine Möglichkeit das anders zu lösen?
Ich könnte mir vorstellen am Ende der Rechnung eine Aufstellung einzublenden, welche Domains zu welchem Abo gehören.
Derzeit machen wir das wie gesagt Zeilenweise.
zB 2 Domain jährlich a 15,- für www.test1.at, www.test2.at
usw.
LG
Adrian Meier
Hallo ElisabethEs gibt zwei Ansätze:
- pro Domain ein Abo
- pro Kunde ein Abo mit vielen Zeilen (pro Domain)
Beides ist möglich.
Bei der Rechnung würde ich auch eine Zusammenstellung andrucken, Dies ist definitiv die sauberste Lösung.
HTH, Adrian
Elisabeth Schluga
Danke,doch das entspricht nicht der Anforderung, da die Rechnungen so ebenfalls elends lang werden. Der Kunde möcht quasi nur eine Artikelzeile (zB 15x Domain .at) angedruckt haben und unterhalb die Auflistung welche Domains das betrifft.
Würde ich nun pro Domain eine Zeile im Abo anlegen und die vorgesehenen Benutzerfelder verwenden bekomme ich dementsprechend viele Zeilen, die viel mehr Platz auf der Rechnung benötigen und die Übersicht dabei verloren geht.
Wir müssen eine andere Verknüpfung schaffen,
eventuell schafft man es die benutzerdefinierten Felder in den Geschäftspartnerstammdaten mit Abos zu verknüpfen.
Habt ihr sowas schon mal gemacht?
Derzeit verwalten wir die Domain in den Geschäftspartnerstammdaten durch benutzerdefinierte Felder in unterschiedlichen Kategorien. Je nach Artikelart (wieder unterschieden durch benutzerdefinierte Felder in den Artikelstammdaten) drucken wir die Domains auf den Rechnungen unterhalb des Artikels als Auflistung an.
Nur haben wir mehrere Abos greifen all diese Abos auf die selbe Logik zu und drucken quasi immer alle Domains an.. deshalb müsste man noch eine Zuordnung von den Abos zu den benutzerdefinierten Feldern schaffen und dann abfragen, damit immer nur jene Domains angedruckt werden, die für das entsprechende Abo zutreffend sind.
Mal sehen ob ich es schaffe das Abo abzufragen
Adrian Meier
Hallo ElisabethDas wäre die andere Variante, dass du im Prinzip im Abo drin nur noch eine Zeile mit dem Total der Domains führst. Die Verwaltung der Domains selber könntest Du je in dem Falle so lassen wie sie ist. Auf dem Abonnement stehen UDF's zur Verfügung, die für eine Verknüpfung gebraucht werden können. Im Rechnungslayout kann dann auf das Abonnement und dann von da aus auf den Geschäftspartner(respektive die Domains) zurückgegriffen werden.
Hast Du die Referenzen des Abonnements in der generierten Ausgangsrechnung gesehen?
Gruss, Adrian
Elisabeth Schluga
Hallo, ja danke.Wir haben nun folgende Idee:
Wir werden die unzähligen bereits angelegten benutzerdefinierten Felder in den Geschäftspartnerstammdaten lassen.
Das sind lauter Textfelder, in die wir zusätzlich die Abo-Nummer codieren werden.
Wir haben allerdings noch das Problem, dass wir das die Abfrage nicht starten können; denke dass das script die Ausdrücke nicht kennt?!?
Könnt ihr uns da weiterhelfen?
Es geht um folgendes: Im Geschäftspartner gibt es zum Beispiel ein Textfeld, das 175 Zeichen lang ist.
Der Inhalt dieses Textfeldes lautet:
210:test1
220:test2
Die Nummern vor dem Doppelpunkt soll die Abo-Nummer sein.
Ziel ist es, aus dem Textfeld all jene Zeilen zu filtern, welche die entsprechende Abo-Nr. vor dem Doppelpunkt aufweisen.
Derzeit haben wir folgende Abfrag im Script:
Dim arrTemp() As String
Dim lloop As Long
arrTemp() = MD.Multiline(GetData("B1_Data.BusinessPartner.U_at_Dom1"))
For lloop = 0 To UBound(arrTemp)
If (StrComp(Format(Left(arrTemp(lloop), Len("220")), "<"), Format("220", "<"), vbTextCompare) = 0) Then
textBox18.Value += arrTmp(lloop)
End If
Next lloop
Die Nr 220 ist derzeit zum Test noch hardcodiert und soll dann über die Abo-Nummer, die ja in den Ausgangsrechnungszeilen abgelegt wird, ersetzt werden.
Derzeit bekommen wir den Error: "Number of indices is less than the number of dimensions of the indexed array".
Dieser Fehler tritt bereits in der Zeile arrTemp() = .. auf.
Ich nehme an, dass das Script diesen Ausdruck nicht kennt?!
Können wir solche Ausdrücke überhaupt im Berichtsdesigner machen?
Help..
LG
Adrian Meier
Hallo ElisabethJa, solche Ausdrücke sind kein Problem im coresuite designer. Da scheint es sich lediglich um ein Syntax-Problem zu handeln. Probiert mal folgendermassen:
Dim arrTemp() As String = MD.Multiline(GetData("B1_Data.BusinessPartner.U_at_Dom1"))
Natürlich muss der Rückgabetyp der Funktion ebenfalls vom Typ Array sein.
HTH, Adrian
Elisabeth Schluga
Ja danke,den Fehler habe beheben können,
allerdings funktioniert das Multiline nicht - sprich es funktioniert die Aufteilung des Strings in die einzelnen Array-Elemente nicht!
Ebensowenig funktioniert die Funktion Split().
Das Script hat zwar keinen Fehler, die Funktionen werden aber definitiv nicht ausgeführt.
Welche Programmiersprachen kennt das Script?
Danke
Adrian Meier
Hallo ElisabethEs kann mit VB.Net und C#.Net programmiert werden. Hilfe zu diesen Funktionen finden Sie am Besten mit Google oder auf der MSDN-Seite von Microsoft.
Das Manual mit Funktionsbeschrieb findest Du unter folgender URL:
http://help.coresuite.ch/help/designer/de/designerde_standardfunktionen.htm
HTH, Adrian
Elisabeth Schluga
Danke für den Hinweis,wir haben allerdings unsere Probleme damit.
Wir habe eine Routine in C#.NET geschrieben und eingehängt.
Die Syntax wird anscheinend nicht erkannt.
Alle Strichpunkte werden unterwellt und auch die Typbezeichnung int wird nicht erkannt.
Gibt es dazu noch eine Beschreibung bzw. Dinge die man beim Einhängen des Scriptes beachten muss?
Muss das Script ansich immer wie eine komplette Funktion geschrieben werden, oder können Codeteile einfach so reinkopiert werden?
Bitte nochmals um Auskunft.
Philipp Knecht
Hallo ElisabethFrage:
Wo und wie habt ihr die eingehängt?
(Bitte die DLL auch unter Imports im Layout eingetragen -> analog LayoutHelper)
Ansonsten können wir euch auch gerne im Rahmen einer kostenpflichtigen Remotesession weiterhelfen, wäre für diesen Fall wahrscheinlich einfacher.
hth
Elisabeth Schluga
Schönen guten Abend!es funktioniert jetzt!
ich habe die Funktionen in VB.net umgeschrieben, da ja die meisten Abfragen im Standard schon in vb.net vorhanden waren.
Leider bin ich nur durch Zufall über die Einstellung der Programmiersprache im Dokument gestolpert. War dich auch irgendwo beschrieben ?! - Naja egal, hautpsache ich habs gefunden.
Für mich is das Thema vorerst gelöst.
BESTEN DANK für die Hinweise und den Link zur Hilfe.
In der Hilfe habe ich interessante Themen für andere Projekte gefunden.
:)
LG
Elisabeht
0
Please sign in to leave a comment.
Comments
0 comments