W dniu 24.02.2013 20:21, Sławomir Paszkiewicz pisze:
W dniu 1 listopada 2012 18:45 użytkownik Daniel Kulesza <d.kulesza@ig-zp.pl> napisał:
skrypt wymaga php-imap
Obecnie obsługuje 2 formaty plików 123 i 75

Poniżej taka krótka instrukcja.

to co jest w lms.ini możesz ustawić też w UI.

Konfiguracja

w lms.ini

[cashimport]
server = twój serwer mail
username = login do skrzynki pocztowej
password = hasło

server - namiar na serwer pocztowy. Format zgodny z opisem funkcji
http://www.php.net/manual/en/function.imap-open.php
Przykłady:
pop3.poczta.onet.pl/pop3 (używamy serwera pop3 o nazwie pop3.poczta.onet.pl)
pop3.poczta.onet.pl/pop3/ssl (używamy serwera pop3 o nazwie pop3.poczta.onet.pl przez ssl)
imap.gmail.com/imap/ssl (używamy serwera imap o nazwie imap.gmail.com przez ssl)


W przypadku problemów z certyfikatem dla serwera imap można zastosować /novalidate-cert
Np.
imap.gmail.com/imap/ssl/novalidate-cert


Skrypt importu składa się z dwóch plików:
1. lms-cashimport.php - główny skrypt dodający wpłaty do bazy danych LMS
Aby skrypt danych poprawnie funkcjonował nalezy dodać w LMS UI (Konfiguracja/Interfejs Użytkownika) phpui/import_config nazwę pliku konfiguracji parsera (w naszym przypadku cashimportcfg-123elixir.php)

2. cashimportcfg-123elixir.php - plik konfiguracyjny parsera w naszym wypadku dla formatu danych 123 Elixir
   Plik ten umożliwia ustawinie:
use_line_hash:
"TRUE" - suma kontrolna ma być wyliczana dla całych wierszy transakcji
z oryginalnego pliku transakcji
"FALSE" - suma kontrolna ma być wyliczana na podstawie złożenia odnalezionych pól
time, value, customer name i comment w każdym wierszu zawierającym transakcję

line_idx_hash:
"1" - w sumie kontrolnej (niezależenie od sposobu liczenia ustalonego poprzez
use_line_hash) uwzględniamy numer kolejny transakcji z paczki płatności
"0" - w sumie kontrolnej nie uwzględniamy numeru kolejnego transakcji z paczki
płatności

Ponadto w LMS UI (Konfiguracja/Interfejs Użytkownika)
możemy ustawić cashimport/autocommit.
cashimport/use_seen_flag oznacza sekcję cashimport ustawienie use_seen_flag.
Domyślnie ta flaga jest true (inaczej 1).

U mnie żeby nie duplikowało wpisów to musiałem ustawić idx hash na 0


Czesc,
Co oznaczaja te numery formatow? 123 i 75?
Ja dostaje z banku plik w formacie ELIXIR i udalo mi sie importowac to recznie, tzn poprzez LMS > Finanse > Import i lapie mi wpisy z pliku.
Natomiast jak odpalam skrypt (musialem go zmodyfikowac i zmienic:

                                if ($part->ifdisposition && strtoupper($part->disposition) == 'ATTACHMENT' && $part->type == 0) {
na
                                if ($part->ifdisposition && strtoupper($part->disposition) == 'ATTACHMENT' && $part->type == 3) {

bo inaczej nie lapal zalacznika, to dostaje tylko cos takiego:

Array
(
    [0] => stdClass Object
        (
            [type] => 0
            [encoding] => 0
            [ifsubtype] => 1
            [subtype] => PLAIN
            [ifdescription] => 0
            [ifid] => 0
            [ifdisposition] => 0
            [ifdparameters] => 0
            [ifparameters] => 1
            [parameters] => Array
                (
                    [0] => stdClass Object
                        (
                            [attribute] => charset
                            [value] => us-ascii
                        )

                )

        )

    [1] => stdClass Object
        (
            [type] => 3
            [encoding] => 3
            [ifsubtype] => 1
            [subtype] => OCTET-STREAM
            [ifdescription] => 0
            [ifid] => 0
            [bytes] => 344
            [ifdisposition] => 1
            [disposition] => attachment
            [ifdparameters] => 1
            [dparameters] => Array
                (
                    [0] => stdClass Object
                        (
                            [attribute] => filename
                            [value] => 130219_0496.01
                        )

                )

            [ifparameters] => 1
            [parameters] => Array
                (
                    [0] => stdClass Object
                        (
                            [attribute] => name
                            [value] => 130219_0496.01
                        )

                )

        )

)
Getting cash import file 130219_0496.01 ... Błąd w konfiguracji. Nie znaleziono tablicy wzorców!

Czy nie jest tak, ze skoro lapie w Import reczny to w tym automatycznym tez powinno?
Bede wdzieczny za pomoc ;)

Pozdrawiam,
SP
Podbijam pytanie ;)