Neu Kunde per Software hinzufügen - MS SQL Stored Procedure Kunde.spKundeInsert aufrufen .NET

Horus Sirius

Gut bekanntes Mitglied
9. März 2017
146
9
Oldenburg
Hallo,

ich möchte per Software einen Kunden hinzufügen.
Wie gehe ich vor?

Mein Problem diese stored procedure hat keine Parameter...

C#:
Dim cmd As SqlCommand = new SqlCommand("spKundeInsert", cn)
   cmd.CommandType = CommandType.StoredProcedure
   cmd.Parameters.AddWithValue("@cMail", "meineEmail@MeineEMail.de")


SQL:
;
DECLARE @retry INT;
DECLARE @CreatedTransaction INT;
DECLARE @ReturnValue INT;
SET @retry = 5;
WHILE @retry > 0
BEGIN
    -- Context Info
    IF(CONTEXT_INFO() IS NOT NULL)
    BEGIN
        SET @OldContextInfo = CONTEXT_INFO();
    END
    ELSE
    BEGIN
        SET @OldContextInfo = 0x0;
    END
    DECLARE @hash VARBINARY(128);
    SELECT @hash = HASHBYTES('SHA1', 'Kunde.spKundeInsert');
    SET CONTEXT_INFO @hash; -- ContextInfo festlegen
    BEGIN TRY
        IF (@@TRANCOUNT = 0)
        BEGIN
           SET @CreatedTransaction = 1;
           BEGIN TRANSACTION
        END;
        ELSE
        BEGIN
            SET @CreatedTransaction = 0;
            SAVE TRANSACTION Savepoint0;
        END;
            IF(OBJECT_ID('tempdb..#Daten_spkundeInsert') IS NOT NULL)
        BEGIN
            DROP TABLE #Daten_spkundeInsert;
        END
        CREATE TABLE #Daten_spkundeInsert(InternalId INT, kInetKunde INT, kKundenKategorie INT, cKundenNr VARCHAR(30),
            cFirma VARCHAR(128), cAnrede VARCHAR(30), cTitel VARCHAR(64), cVorname VARCHAR(126), cName VARCHAR(126),
            cStrasse VARCHAR(255), cPLZ VARCHAR(24), cOrt VARCHAR(64), cLand VARCHAR(64), cTel VARCHAR(30), cFax VARCHAR(30),
            cEMail VARCHAR(255), dErstellt DATETIME, cMobil VARCHAR(30),
            fRabatt DECIMAL(28, 14), cUSTID VARCHAR(20), cNewsletter CHAR(1), cZusatz VARCHAR(60),
            cEbayName VARCHAR(60), kBuyer INT, cAdressZusatz VARCHAR(255), cGeburtstag VARCHAR(10),
            cWWW VARCHAR(255), cSperre CHAR(1), cPostID VARCHAR(255), kKundenGruppe INT, nDrittland TINYINT, nZahlungsziel INT,
            kSprache INT, cISO VARCHAR(5), cBundesland VARCHAR(255), cHerkunft VARCHAR(255), cKassenKunde CHAR(1),
            cHRNr VARCHAR(255), kZahlungsart INT, nDebitorennr INT, cSteuerNr VARCHAR(255), nKreditlimit INT, kKundenDrucktext INT,
            nMahnstopp TINYINT, nMahnrhythmus INT, kFirma TINYINT, fProvision DECIMAL(28,14), nVertreter TINYINT,
            fSkonto DECIMAL(28,14), nSkontoInTagen INT);
        INSERT INTO #Daten_spkundeInsert(InternalId, kInetKunde, kKundenKategorie, cKundenNr, cFirma, cAnrede, cTitel, cVorname,
            cName, cStrasse, cPLZ, cOrt, cLand, cTel, cFax, cEMail,  dErstellt, cMobil, fRabatt,
            cUSTID, cNewsletter, cZusatz, cEbayName, kBuyer, cAdressZusatz, cGeburtstag, cWWW, cSperre, cPostID,
            kKundenGruppe, nDrittland, nZahlungsziel, kSprache, cISO, cBundesland, cHerkunft, cKassenKunde, cHRNr,
            kZahlungsart, nDebitorennr, cSteuerNr, nKreditlimit, kKundenDrucktext, nMahnstopp, nMahnrhythmus, kFirma, fProvision,
            nVertreter, fSkonto, nSkontoInTagen)
            SELECT Daten.kInternalId, Daten.kInetKunde, Daten.kKundenKategorie, Daten.cKundenNr, Daten.cFirma,
                Daten.cAnrede, Daten.cTitel, Daten.cVorname, Daten.cName, Daten.cStrasse, Daten.cPLZ, Daten.cOrt, Daten.cLand,
                Daten.cTel, Daten.cFax, Daten.cEMail, Daten.dErstellt, Daten.cMobil,
                Daten.fRabatt, Daten.cUSTID, Daten.cNewsletter, Daten.cZusatz,  Daten.cEbayName, Daten.kBuyer,
                Daten.cAdressZusatz, Daten.cGeburtstag, Daten.cWWW, Daten.cSperre, Daten.cPostID, Daten.kKundenGruppe,
                Daten.nDrittland, Daten.nZahlungsziel, Daten.kSprache, Daten.cISO, Daten.cBundesland, Daten.cHerkunft,
                Daten.cKassenKunde, Daten.cHRNr, Daten.kZahlungsart, Daten.nDebitorennr, Daten.cSteuerNr,
                Daten.nKreditlimit, Daten.kKundenDrucktext, Daten.nMahnstopp, Daten.nMahnrhythmus, Daten.kFirma, Daten.fProvision,
                Daten.nVertreter, Daten.fSkonto, Daten.nSkontoInTagen
            FROM @Daten AS Daten;
    --
    -- Hier kommt der Code rein vor dem INSERT/UPDATE/DELETE
    --
    IF(OBJECT_ID('tempdb..#Temp_spkundeInsert') IS NOT NULL)
    BEGIN
        DROP TABLE #Temp_spkundeInsert;
    END
    CREATE TABLE #Temp_spkundeInsert(InternalId INT IDENTITY(1,1), kKunde INT);
        -- Daten schreiben
    INSERT INTO dbo.tkunde(kInetKunde, kKundenKategorie, cKundenNr, dErstellt, fRabatt,
        cNewsletter, cEbayName, kBuyer, cGeburtstag, cWWW, cSperre, kKundenGruppe, nDrittland,
        nZahlungsziel, kSprache, cHerkunft, cKassenKunde, cHRNr, kZahlungsart, nDebitorennr, cSteuerNr,
        nKreditlimit, kKundenDrucktext, nMahnstopp, nMahnrhythmus, kFirma, fProvision, nVertreter, fSkonto, nSkontoInTagen)
        OUTPUT INSERTED.kKunde INTO #Temp_spkundeInsert
    SELECT kInetKunde, kKundenKategorie, cKundenNr, 
            dErstellt, fRabatt, cNewsletter, cEbayName, kBuyer, cGeburtstag,
            cWWW, cSperre, kKundenGruppe, nDrittland, nZahlungsziel, kSprache, cHerkunft, cKassenKunde, cHRNr,
            kZahlungsart, nDebitorennr, cSteuerNr, nKreditlimit, kKundenDrucktext, nMahnstopp, nMahnrhythmus, Daten.kFirma,
            Daten.fProvision, Daten.nVertreter, Daten.fSkonto, Daten.nSkontoInTagen
    FROM #Daten_spkundeInsert AS Daten;

    --
    -- tAdresse schreiben
    --
    DECLARE @adresse TYPE_spAdresseInsert;
    INSERT INTO @adresse ( kInternalId,
                            kInetAdresse,
                            kKunde,
                            cFirma,
                            cAnrede,
                            cTitel,
                            cVorname,
                            cName,
                            cStrasse,
                            cPLZ,
                            cOrt,
                            cLand,
                            cTel,
                            cZusatz,
                            cAdressZusatz,
                            cPostID,
                            cMobil,
                            cMail,
                            cFax,
                            cBundesland,
                            cISO,
                            nStandard,
                            nTyp,
                            cUstId )
        SELECT #Temp_spkundeInsert.InternalId,
                tinetadress.kInetAdress,
                #Temp_spkundeInsert.kKunde, 
                Daten.cFirma,
                Daten.cAnrede,
                Daten.cTitel,
                Daten.cVorname,
                Daten.cName,
                Daten.cStrasse,
                Daten.cPLZ,
                Daten.cOrt,
                Daten.cLand,
                Daten.cTel,
                Daten.cZusatz,
                Daten.cAdressZusatz,
                Daten.cPostID,
                Daten.cMobil,
                Daten.cEMail,
                Daten.cFax,
                Daten.cBundesland,
                Daten.cISO,
                1,
                1,
                Daten.cUstId
        FROM #Daten_spkundeInsert AS Daten
        JOIN #Temp_spkundeInsert ON #Temp_spkundeInsert.InternalId = Daten.InternalId
        LEFT JOIN dbo.tinetadress ON tinetadress.kKunde = #Temp_spkundeInsert.kKunde
        
    EXEC dbo.spAdresseInsert @Adresse = @adresse,
                            @callerKundeInsert = 1
    --
    -- Hier kommt der Code nach dem INSERT/UPDATE/DELETE rein
    --
    
    DECLARE @KundenToUpdate AS TYPE_spUpdateKundeSuche;

    INSERT INTO @KundenToUpdate (kKunde)
    SELECT DISTINCT kKunde
    FROM #Temp_spkundeInsert;
    
    EXEC Kunde.spUpdateKundeSuche @Kunden = @KundenToUpdate;


    -- Rückgabe des PK
    SELECT @ReturnValue = #Temp_spkundeInsert.kKunde
        FROM #Temp_spkundeInsert;
        
        IF(@CreatedTransaction = 1)
        BEGIN
            COMMIT-- Nur wenn kein Savepoint gesetzt
        END
        RETURN @ReturnValue;
    END TRY
    BEGIN CATCH
    -- Dedlock Catch
        IF(ERROR_NUMBER() = 1205)
        BEGIN
            SET @retry = @retry - 1;
            IF(@CreatedTransaction = 1)
            BEGIN
                ROLLBACK TRANSACTION;
            END
            ELSE
            BEGIN
                ROLLBACK TRANSACTION Savepoint0;
            END
            IF(@retry = 0)
            BEGIN
                SET CONTEXT_INFO 0x0;
                THROW;
                RETURN 0;
            END
            EXEC dbo.spWaitRandom;
        END
        ELSE
        BEGIN
            SET @retry = -1;
            IF(@CreatedTransaction = 1)
            BEGIN
                ROLLBACK TRANSACTION;
            END
            ELSE
            BEGIN
                ROLLBACK TRANSACTION Savepoint0;
            END
            SET CONTEXT_INFO @OldContextInfo;
            THROW;
            RETURN 0;
        END
    END CATCH
END
 

MartinK

Moderator
Mitarbeiter
5. Dezember 2013
79
14
Die SP bekommt einen Table Type übergeben. Den Typ TYPE_spKundeInsert. Der muss zuvor gefüllt werden und kann dann der SP als Parameter übergeben werden. Table Types sind quasi Tabellen mit denen Daten an eine Funktion oder Stored Procedure übergeben werden können.

So sieht es vom Prinzip in SQL aus. Man kann dann entweder mit VALUES oder einem SELECT die Daten einfügen. und dann die SP aufrufen mit dem Typen als Parameter.

SQL:
DECLARE @Kunde AS TYPE_spkundeInsert;
INSERT INTO @Kunde ( kInternalId ,
                     kInetKunde ,
                     kKundenKategorie ,
                     cKundenNr ,
                     cFirma ,
                     cAnrede ,
                     cTitel ,
                     cVorname ,
                     cName ,
                     cStrasse ,
                     cPLZ ,
                     cOrt ,
                     cLand ,
                     cTel ,
                     cFax ,
                     cEMail ,
                     dErstellt ,
                     cMobil ,
                     fRabatt ,
                     cUSTID ,
                     cNewsletter ,
                     cZusatz ,
                     cEbayName ,
                     kBuyer ,
                     cAdressZusatz ,
                     cGeburtstag ,
                     cWWW ,
                     cSperre ,
                     cPostID ,
                     kKundenGruppe ,
                     nDrittland ,
                     nZahlungsziel ,
                     kSprache ,
                     cISO ,
                     cBundesland ,
                     cHerkunft ,
                     cKassenKunde ,
                     cHRNr ,
                     kZahlungsart ,
                     nDebitorennr ,
                     cSteuerNr ,
                     nKreditlimit ,
                     kKundenDrucktext ,
                     nMahnstopp ,
                     nMahnrhythmus ,
                     kFirma ,
                     fProvision ,
                     nVertreter ,
                     fSkonto ,
                     nSkontoInTagen )
[HIER KOMMT DAS VALUES ODER EIN SELECT]
EXEC dbo.spKundeInsert @Daten = @Kunde;
 

zwitsch

Sehr aktives Mitglied
14. November 2007
404
36
Füge den Kunden mit der Ameise hinzu. Lässt sich gut in eigenem Programmen per Parameter aufrufen. Im eigenen Programm eine CSV-Datei mit den Kundendaten erzeugen, Ameise aufrufen. Danach CSV-Datei wieder löschen. Fehlerhandling nicht vergessen. Funktioniert sicherer als die Suche und Interpretation passender StoredProcedures.
 
  • Gefällt mir
Reaktionen: Horus Sirius

Horus Sirius

Gut bekanntes Mitglied
9. März 2017
146
9
Oldenburg
https://guide.jtl-software.de/jtl-wawi/jtl-ameise/cmd-line-version/

JTL-Ameise 0.984 (c) 2019 JTL-Software-GmbH Start von JTL-Ameise ohne Parameterangabe öffnet die GUI Version Pflichtparameter -s, --server=SERVER Datenbankverbindung wird zu SERVER hergestellt -d, --database=DATABASE Datenbank DATABASE wird angesprochen Datenbanknamen anderer Mandanten sind im Menü JTL-Wawi -> Mandanten zu finden. -u, --dbuser=USER Datenbankverbindung wird mit USER erstellt -p, --dbpass=PASSWORD Passwort des Datenbankbenutzers t, --templateid=ID Import/Exportvorlage mit dieser ID wird genutzt -i, --inputfile=FILE Importdatei. Pflicht, wenn importiert wird -o, --outputfile=FILE Exportdatei. Pflicht, wenn exportiert wird Optionale Angaben, falls nicht angegeben gilt der Wert mit (Std) dahinter --mode=MODE 'test' oder 'production' = Produktivmodus (Std) --loglevel=NUM 1 = ausführlich (Std) 3 = Kompakt 5 = Nur Fehler/Warnungen -- log=FILE Logdatei für Hauptbericht --log_errors=FILE Logdatei für Fehler --log_warnings=FILE Logdatei für Warnungen --log_imported=FILE Logdatei für importierte Datensätze --log_updated=FILE Logdatei für aktualisierte Datensätze --log_other=FILE Logdatei für Sonstiges --csv_errors=FILE Datei, die fehlerhafte Datensätze enthalten soll --csv_warnings=FILE Datei, die Datensätze mit Warnungen enthalten soll --nostdout Keine Konsolenausgabe --no_workflows Es werden keine Workflows ausgeführt --writeLogAtEnd Für eine höhere Importgeschwindigkeit werden die Logdateien erst am Ende des Imports geschrieben. Daher ist bei einem Absturz / Abbruch des Imports nicht gewährleistet, dass Logdateien erstellt werden. In Dateinamen FILE können folgende Variablen verwendet werden: %y Jahr, %m Monat, %d Tag, %H Stunde, %i Min, %s Sek %db Datenbank, %id VorlagenID Bitte beachten, dass % in Batch Dateien zu %% gewandelt werden müssen. Beispiel 1 JTL-wawi-ameise.exe -s (local)\JTLWAWI -d eazybusiness -u sa -p sa04jT14 -t IMP3 -i import.csv Beispiel 2 JTL-wawi-ameise.exe server=(local)\JTLWAWI --database=eazybusiness --dbuser=sa --dbpass=sa04jT14 --templateid=IMP5 --inputfile=import.csv --log="bericht_%db_%y%m%d-%H%i%s.txt" Weitere Dokumentation siehe http://guide.jtl-software.de/
 

zwitsch

Sehr aktives Mitglied
14. November 2007
404
36
Meine Programmierumgebung ist Clarion for Windows.

ImportID enthält die ID eines definierten Imports für die Ameise. Muss also vorher erstellt werden, kann aber immer wieder aufgerufen werden. Importdefinitionen lassen sich exportieren und importieren. Können also zu einem Kunden geschickt werden, falls hier Bedarf besteht.

PROGPATH enthält den Pfad der JTL-Wawi (und Ameise), SERVER enthält den SQL-Servernamen

Parameter1 enthält die Datenbank, User und Passwort
Parameter1 = ' -d ' & Datenbank & ' -u ' & Name & ' -p ' & Passwort

Mit der Datei Protokoll. LOG kann man Informationen bzw. Fehler beim Import erkennen, darstellen und darauf reagieren.

SetClipboard schreibt den Ameisenaufruf in die Zwischenablage. Kann man gut verwenden während der Entwicklungsphase, um diesen Befehl manuell per BAT-Datei auszuprobieren.

vuRun(LOC:AufrufAmeise, 0, 1) startet dann die Ameise. Der User bekommt davon nichts mit; also keine Bildschirmaktivitäten.

LOC:AufrufAmeise: diese Anweisung muss in einer Zeile stehen

!Daten für JTL-Ameise vorbereiten
IF LEN(CLIP(LOC:IMPORTID)) > 0
LOC:AufrufAmeise = PROGPATH & 'JTL-wawi-ameise.exe -s ' & SERVER &|
Parameter1 & ' -t ' & IMPORTID & ' -i ' &|
& ImportFile & ' --loglevel=1 --log=Protokoll.LOG &|
--log_warnings=Protokoll.LOG &|
--log_imported=Protokoll.LOG &|
--log_updated=Protokoll.LOG &|
--log_errors=Protokoll.LOG &|
--nostdout'
!LogFile kopieren
COPY('Protokoll.LOG', GLO:LogFileAmeise)

SetClipboard(LOC:AufrufAmeise)

IF vuRun(LOC:AufrufAmeise, 0, 1) = FALSE
MESSAGE('Fehler beim Aufruf der Ameise', 'Importfehler') !RUNCODE())
ELSE.........
 
  • Gefällt mir
Reaktionen: Horus Sirius

Tobi_G

Neues Mitglied
17. Dezember 2019
18
5
Sehr Schade.
Könnte man nicht die Funktion der JTL Ameise in JTLwawiExtern.dll übernehmen, dann könnte man Export und Import technisch wirklich alles.

Wie vielleicht auch bei dir schon mehrfach erwähnt wurde, ist es verständlicherweise keine gute Idee die Datenbank direkt anzusprechen, aufgrund zahlreicher Abhängigkeiten und
meiner Meinung nach auch einem etwas uneinheitlichem Design der Datenbank.
(manche Proceduren sind auf englisch, manche auf Deutsch und es werden 3 verschiedene Methoden benutzt die primary keys zu managen obwohl ich keine Notwendigkeit für überhaupt eine der drei sehe)

Ich glaube zudem, dass die Extern.dll nichts anderes macht als auf die stored procedures zurückzugreifen, nur eben etwas schöner und einheitlicher. (Beide bieten die Möglichkeiten XML Daten als Parameter zu übergeben).
Aber darüber hinaus laufen noch einige weitere SQL Statements ab vor und nach dem sp_KundeInsert.

Deshalb, falls du einen einfachen Import in JTL machen möchtest, dann kann ich dir auch nur die Ameise empfehlen, aufgerufen über die Kommandozeile. Das ist das Importwerkzeug erster Wahl.
 

charms.johannsson.de

Gut bekanntes Mitglied
31. Dezember 2008
200
3
Rendsburg
Ich stehe vor einem ähnlichem Problem und möchte einen Kunden uber die spKundeInsert zufügen

mir ist die "kInternalId" nicht klar
wenn ich die SP mit unten stehendem Code ausführe kommt die Meldung:

(1 Zeile betroffen)
Die spAdresseInsert-Prozedur hat versucht, den Status NULL zurückzugeben. Dies ist nicht zulässig. Stattdessen wird der Status 0 zurückgegeben.

und es wird kein Adressdatendatz angelegt ?

SQL:
DECLARE @Kunde AS TYPE_spkundeInsert;
                INSERT INTO @Kunde (
                     kInternalId ,
                     kInetKunde ,
                     kKundenKategorie ,
                     cKundenNr ,
                     cFirma ,
                     cAnrede ,
                     cTitel ,
                     cVorname ,
                     cName ,
                     cStrasse ,
                     cPLZ ,
                     cOrt ,
                     cLand ,
                     cTel ,
                     cFax ,
                     cEMail ,
                     dErstellt ,
                     cMobil ,
                     fRabatt ,
                     cUSTID ,
                     cNewsletter ,
                     cZusatz ,
                     cEbayName ,
                     kBuyer ,
                     cAdressZusatz ,
                     cGeburtstag ,
                     cWWW ,
                     cSperre ,
                     cPostID ,
                     kKundenGruppe ,
                     nDrittland ,
                     nZahlungsziel ,
                     kSprache ,
                     cISO ,
                     cBundesland ,
                     cHerkunft ,
                     cKassenKunde ,
                     cHRNr ,
                     kZahlungsart ,
                     nDebitorennr ,
                     cSteuerNr ,
                     nKreditlimit ,
                     kKundenDrucktext ,
                     nMahnstopp ,
                     nMahnrhythmus ,
                     kFirma ,
                     fProvision ,
                     nVertreter ,
                     fSkonto ,
                     nSkontoInTagen ) values (1,0,0,'R10000','','','','Test99','Test99','Test99 ','0','','Deutschland','','','',GetDate(),'',0,'','','','',0,'','','','','',3,0,0,1,'DE','','Rep','Y','',0,0,'',0,0,0,0,0,0,0,0, 0)

                     EXEC Kunde.spKundeInsert @Daten = @Kunde;
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Eigene Felder (Kunde) in csv-Datei per Ausgabe (Auftrag oder Lieferschein) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Beantwortet Kunde von Firma per Workflow setzen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Stickprogramm - Kosten die Kunde nur einmalig bezahlen muss Allgemeine Fragen zu JTL-Shop 1
Neu JTL-Search - funktioniert nach Anmeldung als Kunde schlechter als ohne Anmeldung User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie kann ich die vergebene Coupons sehen. Welche Kunde welchen Copoun Allgemeine Fragen zu JTL-Shop 0
Neu Rabatt für Kunde auf bestimmte Kategorien Arbeitsabläufe in JTL-Wawi 0
Neu Kunde bekommt Zahlungsart angezeigt die wir nicht anbieten User helfen Usern 5
Neu Kunde zusammenführen - Aufträge behalten alte Kundennummer JTL-Wawi - Fehler und Bugs 1
Neu Wie bekomme ich Statistik "Kunde/Artikelnummer/Menge/Netto-VK" auf Basis Rechnungspositionen? Arbeitsabläufe in JTL-Wawi 0
Neu shopapotheke per Anbindung eBay-Anbindung - Fehler und Bugs 1
Neu Umlagerung per Ameisen-Import JTL-Wawi - Fehler und Bugs 1
Neu In einen Portlet-Container im Frontend per Ajax Datennachladen (weitere anzeigen) Technische Fragen zu Plugins und Templates 1
Neu eBay Plus Angebote per Ameise steuerbar ? Eigene Übersichten in der JTL-Wawi 6
Neu Zugang zu Kategorien nur per Kennworteingabe Plugins für JTL-Shop 3
Neu Lieferadresse / Rechnungsadresse im Auftrag per Doppelklick wählbar machen JTL-Wawi - Ideen, Lob und Kritik 0
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
Neu Lieferantenbestellung als CSV mit selbst festgelegten Spalten per Mail senden Arbeitsabläufe in JTL-Wawi 1
Neu Benachrichtigung per Workflow bei Wareneingang User helfen Usern - Fragen zu JTL-Wawi 24
Neu Weiterleitungen direkt per Datenbank einfügen aufgrund Größe bzw. Anzahl? Betrieb / Pflege von JTL-Shop 9
Gelöst Per Workflow im Servicedesk eine Mail versenden. Gelöste Themen in diesem Bereich 4
Variationen per Ameise umbenennen JTL-Wawi 1.8 1
Workflow Auftraqspositionen per Email an Kunden senden JTL-Wawi 1.7 3
Neu Ist es möglich per Ameise Kunden zu löschen? Arbeitsabläufe in JTL-Wawi 2
Neu LS-Pos Kundenrechnung per Email Fragen rund um LS-POS 1
Neu Warenkorb per Link teilen Allgemeine Fragen zu JTL-Shop 6
Ausgabe per E-Mail geht plötzlich nicht mehr, Testmail aus Wawi aber schon JTL-Wawi 1.6 22
Neu Datenbankebene per SQL löschen Eigene Übersichten in der JTL-Wawi 6
Neu Consent Status per Smarty Var abfragen Technische Fragen zu Plugins und Templates 2
Nur noch sporadischer Versand per Mail von Rechnungen, Lieferscheinen und Mahnungen nach Update auf Version 1.8. JTL-Wawi 1.8 0
Neu Kinderartikel per Ameise vom Vater lösen Arbeitsabläufe in JTL-Wawi 6
Neu Probleme bei Aufgabenplaner (Export-Manger) per Cronjob JTL-Shop - Fehler und Bugs 1
Neu EK-Preise per Workflow in Lieferantenbestellung einfügen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu per Workflow: WhatsApp oder ähnliches senden User helfen Usern - Fragen zu JTL-Wawi 0
Preise per Artikel Funktionsattribut bei einzelnen Artikeln ausblenden Einrichtung JTL-Shop5 0
Neu Vorschlag: Per Workflow Tickets erstellen Servicedesk (Beta) 1
Label per Import bedienen JTL-Wawi 1.8 0
Neu Artikeländerung per Artikelnummer mit Wildcard? JTL-Ameise - Ideen, Lob und Kritik 1
Neu Gravierender Fehler in der Shop Software Betrieb / Pflege von JTL-Shop 1
Neu Migration von eCommerce-Integrator auf JTL Connector - Software 5 Shop Onlineshop-Anbindung 2
Neu https://wawi-db.jtl-software.de/ zeigt keine Einträge? Eigene Übersichten in der JTL-Wawi 9

Ähnliche Themen