pzs / nav-online-invoice

PHP interface for Online Invoice Data Reporting System of Hungarian Tax Office (NAV)
MIT License
144 stars 52 forks source link

QueryInvoiceDigestRequest teljesítési dátum szűrés tól-ig #49

Closed vrgblzs closed 3 years ago

vrgblzs commented 3 years ago

A QueryInvoiceDigestRequest-ben, ha egyszerre szeretnék szűrni a teljesítés dátum tól és ig értékére is, akkor ezt az xsd szerint megtehetem, pl.: `

GTE2021-01-01LTE2021-01-18` alakban. Ha átadok egy olyan tömböt a queryInvoiceDigest-nak, amiben a relationalQueryParams tömb, aminek elemei az invoiceDelivery tömbök, akkor az xml-be bekerül a relationalQueryParams tömb numerikus indexe is, mint node. Ez talán elkerülhető lehet az XmlUtil::addChildArray-ban a `$node = (is_numeric($name)) ? $xmlNode : $xmlNode->addChild($name);` sorral. Kérdés, hogy jó-e így?
pzs commented 3 years ago

Szia! Köszi az észrevételt! Valóban erre nincs felkészítve az XmlUtil. Várhatóan holnapra javítom és készítek rá egy példát is. Az általad írt javaslat működhet, ha megfelelően van átadva hozzá a tömb. Addig is a request xml-t így ki tudod naplózni hívás után:

$data = $reporter->getLastRequestData();
file_put_contents("request.xml", $data['requestBody']);
pzs commented 3 years ago

Módosítottam az XmlUtil::addChildArray() metódust, hogy megegyező néven is fel lehessen venni több gyerek elemet, illetve bővítettem a példa fájlt erre vonatkozó keresési feltétellel:

$invoiceQueryParams = [
    // ...
    "relationalQueryParams" => [
        "invoiceDelivery" => [
            "queryOperator" => "GTE",
            "queryValue" => "2021-01-01",
        ],
        // Több feltétel esetén ugyanazon elemhez tömbben adjuk át a gyerek elemeket
        "paymentDate" => [
            [
                "queryOperator" => "GTE",
                "queryValue" => "2021-01-01",
            ],
            [
                "queryOperator" => "LTE",
                "queryValue" => "2021-01-28",
            ],
        ],
    ],
];

Következő v3.0.1-es release-t pedig jövő hét környékén tervezem elkészíteni, ha esetleg más visszajelzés is lenne addig.

pzs commented 3 years ago

Elkészült a v3.0.1-es release, mely tartalmazza ezt a javítást, így zárom az issue-t.