Beiträge von rpl

    vielleicht bei:

    Code
    function ... : array() {
    ..
    if (empty($lager)) {
    //return(null);
    return(array());//!!!
    }
    ..
    }

    Ergibt dann zumindest erst mal keine "Es ist ein unerwarteter Fehler aufgetreten!"-Meldung, falls ein Lagereintrag fehlen sollte. Kommt so im "echten" Produktiveinsatz nicht vor, aber usw.


    Anmerkung: Ich habe die Produktion in der Vergangenheit nur zur Prüfung verwendet, ob mir diese bei der Umsetzung von "Mikro"-Produktionen, geringe Stückzahlen mit hoher Variabilität, hilfreich ist.

    Da es ein Skript ist, bevorzuge ich persönlich das Editieren im Skript, da es für mich im Vergleich zur Kommandozeile komfortabler ist.


    Man könnte beide Möglichkeiten umsetzen: Kommandozeilenangabe überschreibt d. Definition im Skript.

    Statt Zähler ein array mit den Namen der Spalten


    Code
    $insert_array = array(
      'id' => 1,
      'rechnung' => 1,
      'rechnungsdatum' => 1,
      'betragbezahlt' => 1,
    );

    und dann statt


    Code
        while ($row = mysqli_fetch_assoc($result)) {
    
              foreach ($row as $key => $value) {

    eine Abfrage dazwischen

    Code
        while ($row = mysqli_fetch_assoc($result)) {
    
            if (!array_key_exists($row['Field'], $insert_array)) {
              continue;
            }
              foreach ($row as $key => $value) {

    Der Generator ist ja wirklich sehr praktisch!

    bzgl. Helferlein (module_creator) tools-Verzeichnis per cp -r in d. "Produktions"-Umgebung plus:


    if (!function_exists('str_starts_with')) {

    function str_starts_with($str, $start) {

    return (@substr_compare($str, $start, 0, strlen($start))==0);

    }

    }

    gemäß

    https://www.php.net/manual/en/function.str-starts-with.php
    in der module_creator.php ergänzt, da bislang nur php 7.2


    dann d. Erzeugung d. Moduls

    verbindlichkeit


    Allerdings entstehen dann tatsächlich sehr viele Spalten, eben alle.


    1. Gibt's im Kode eine geeignete Stelle für einen selektieren, whs. in while nach //* Iterate through the result set */ ?

    2. Zeilen werden auch nicht ausgegeben, muss noch was manuell angepasst werden?

    Laut Angabe in der Zeile nach "Update Center" auf der "www/index.php?module=welcome&action=start"-Startseite: 20.3.c9ffacf (Open-Source)

    Vorher hatten wir die Enterprise mit verschiedenen Modulen.

    Neue Dokumente wurden seit der Umstellung logischer Weise nicht mehr eingepflegt, weil das Enterprise-Verbindlichkeits-Modul ja nicht mehr arbeitet usw.


    Durch die oben angesprochene Korrektur werde ich jetzt wohl öfter mal nach alten Dokumenten schauen, wenn es um Artikel geht, die in der Vergangenheit angeschafft wurden.


    Generell würde mich interessieren, ob dieses Forum tatsächlich als Plattform der Entwicklung gedacht ist. Also meinetwegen gerne. Ich habe allerdings schon verschiedene Anläufe unternommen, mir die Arbeitsweise der Applikation durch Nachvollziehen des Kodes zu erschliessen, muss aber gestehen, dass es mir schnell zu unübersichtlich wird.


    Zum Beispiel finde ich gerade nicht den Grund, warum der Filter für Betrag im Gegensatz zu den übrigen wie "Name", "Kundennummer", "Lieferantennummer" (in der oben bereitgestellten php-Datei) nicht funktioniert. Kann da jemand einen Tipp geben?

    Ablageorte von Dateien sind ok und mit


    $datei_id = $this->app->DB->Select("SELECT dv.datei FROM datei_stichwoerter ds INNER JOIN datei_version dv ON ds.datei = dv.datei WHERE ds.parameter ='$id' AND ds.objekt = 'verbindlichkeit'");

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Ergänzung

    werden sie auch gefunden, da der Inhalt v. "parameter", die Belegnummer in ds nicht eindeutig ist.


    Unter www/pages/content muss allerdings auch eine tpl-Datei hinterlegt sein.

    Habe Ende letzten Jahres mal versucht, den Selbstprogrammier-Vorschlägen der Wawision/Xentral-Entwicklerseiten zu folgen, um mir meine sorgsam hochgeladenen Scan's oder Kopien wenigstens per Lieferant und/oder Rechnungsnummer anschauen zu können, eine entsprechende "Page" gebaut, die aber nicht immer alle Dokumente findet, weil es wohl während der Entwicklung v. Wawision/Xentral auch Veränderungen an den Ablageorten der Dateien gegeben hat. Ich bin noch nicht ganz dahinter gekommen, wie der Ablageort bestimmt wird. Vielleicht weiß jemand ja Bescheid usw. und/oder hat Tipps.