Wysyłka faktur e-mail
Moderator: mikey
Wysyłka faktur e-mail
Dzień dobry,
Mam pytanie, które pewnie było już X razy, ale zlepiłem w całość to, co znalazłem.
Chciałbym móc wysyłać w jakiś sposób faktury w formie PDF do kontrahentów. Po prostu w formie szablonu z dołączonym załącznikiem. W XLu domyślnie jest ikonka wyślij, ale podejrzewam, zę to odpala normalnie Outlooka i załącza maila do wiadomości). Jak mam X użytkowników to teraz dla każdego na profilu trzeba by było go konfigurować jeśli się nie mylę.
Czy jest możliwość zrobienia czegoś na wzór wysyłki z poziomu SQL (Database Mail)? Obecnie mam juz sprawdzanie informacji o zaległych fakturach i to działa całkiem ok i mógłbym to w pewien sposób wykorzystać dublując rozwiązanie. POwiedzmy klikam przycisk, następnie robi się PDF w jakimś katalogu (jak się domyślam jakiś współdzielony, aby skrypt mógł też tam dotrzeć), skrypt wysyła maila szablon + załącznik, ale:
1. Nie wiem, jak zrobić PDF. Znalazłem ten post: viewtopic.php?p=11942#p11942 , lecz nie wiem, jak wybrać "właściwy" wydruk z listy za pomocą API. Czy to zawsze drukuje się domyślny? Możliwe, że to parametry XLWydruk.Zrodlo, XLWydruk.Wydruk?
2. Jak to mogę wywołać automatycznie? Jakoś w formie raportu, czy coś?
A może można to jakoś lepiej wykonać?
Mam pytanie, które pewnie było już X razy, ale zlepiłem w całość to, co znalazłem.
Chciałbym móc wysyłać w jakiś sposób faktury w formie PDF do kontrahentów. Po prostu w formie szablonu z dołączonym załącznikiem. W XLu domyślnie jest ikonka wyślij, ale podejrzewam, zę to odpala normalnie Outlooka i załącza maila do wiadomości). Jak mam X użytkowników to teraz dla każdego na profilu trzeba by było go konfigurować jeśli się nie mylę.
Czy jest możliwość zrobienia czegoś na wzór wysyłki z poziomu SQL (Database Mail)? Obecnie mam juz sprawdzanie informacji o zaległych fakturach i to działa całkiem ok i mógłbym to w pewien sposób wykorzystać dublując rozwiązanie. POwiedzmy klikam przycisk, następnie robi się PDF w jakimś katalogu (jak się domyślam jakiś współdzielony, aby skrypt mógł też tam dotrzeć), skrypt wysyła maila szablon + załącznik, ale:
1. Nie wiem, jak zrobić PDF. Znalazłem ten post: viewtopic.php?p=11942#p11942 , lecz nie wiem, jak wybrać "właściwy" wydruk z listy za pomocą API. Czy to zawsze drukuje się domyślny? Możliwe, że to parametry XLWydruk.Zrodlo, XLWydruk.Wydruk?
2. Jak to mogę wywołać automatycznie? Jakoś w formie raportu, czy coś?
A może można to jakoś lepiej wykonać?
Re: Wysyłka faktur e-mail
Najszybciej będzie to chyba zrobić za pomocą automatu XL.
Re: Wysyłka faktur e-mail
Modelowanie procesów jest dodatkowo płatne oraz należy pamiętać, że ERP XL nie wspiera logowania OAUTH2 jeżeli miałoby to być wysyłane z O365.
Możesz też takie rozwiązanie napisać za pomocą Powershella, który to wywoła API i wykona wydruk. A następnie wyśle email.
Innym sposobem może być wydruk kaskadowy (XML), który wykona wydruk, a następnie przekaże ścieżkę do pliku do aplikacji lub skryptu, które to wyślą email.
Możesz też takie rozwiązanie napisać za pomocą Powershella, który to wywoła API i wykona wydruk. A następnie wyśle email.
Innym sposobem może być wydruk kaskadowy (XML), który wykona wydruk, a następnie przekaże ścieżkę do pliku do aplikacji lub skryptu, które to wyślą email.
Pozdrawiam
Wojtek Cyrklewicz
Wojtek Cyrklewicz
-
JarekZ
- Posty: 148
- Rejestracja: 02 paź 2014, 14:11
- Rola: Administrator CDN XL
- Lokalizacja: Bielsko Biała
- Kontakt:
Re: Wysyłka faktur e-mail
my to mamy zrobione tak :
- oznaczam kontrahenta, który ma dostawać dokumenty jako pdf - atrybut lub inny sposób
- mam serwis, który sprawdza czy jest wystawiony dokument
- serwis pobiera plik "rpt" wg typu dokumentu i generuje PDF, który zapisuje się określonym folderze
- samo wysłanie realizuje też ten serwis - konfigurację SMTP dostaje z procedury, jak również treść wiadomości, temat,odbiorców i plik który ma załączyć.
Wadą jest to, że przez durny CrystalReports raz w miesiącu występuje problem z błędem "bo tak", dlatego w weekend robie restart serwisu w harmonogramie i temat zamknięty. Działa na gmail,onet,ovh,cyberfolks i innych serwerach.
- oznaczam kontrahenta, który ma dostawać dokumenty jako pdf - atrybut lub inny sposób
- mam serwis, który sprawdza czy jest wystawiony dokument
- serwis pobiera plik "rpt" wg typu dokumentu i generuje PDF, który zapisuje się określonym folderze
- samo wysłanie realizuje też ten serwis - konfigurację SMTP dostaje z procedury, jak również treść wiadomości, temat,odbiorców i plik który ma załączyć.
Wadą jest to, że przez durny CrystalReports raz w miesiącu występuje problem z błędem "bo tak", dlatego w weekend robie restart serwisu w harmonogramie i temat zamknięty. Działa na gmail,onet,ovh,cyberfolks i innych serwerach.
Re: Wysyłka faktur e-mail
Właśnie widziałem pomoc odnośnie procesów, ale mam pytanie może nie licencyjne, bo to sobie sprawdzę. Mam jednak inne pytanie.taszek pisze: ↑05 sie 2024, 21:13Modelowanie procesów jest dodatkowo płatne oraz należy pamiętać, że ERP XL nie wspiera logowania OAUTH2 jeżeli miałoby to być wysyłane z O365.
Możesz też takie rozwiązanie napisać za pomocą Powershella, który to wywoła API i wykona wydruk. A następnie wyśle email.
Innym sposobem może być wydruk kaskadowy (XML), który wykona wydruk, a następnie przekaże ścieżkę do pliku do aplikacji lub skryptu, które to wyślą email.
Jak rozumiem, ten proces musi "skądś" wziąć dane do SMTP itd. To się konfiguruje jakiegoś agenta na serwerze SQL? Zrobię proces, który wywołuje powiedzmy zdarzenie "Zatwierdzenie dokumentu"" i po nim jest wysyłka maila. Ale skąd program ma wiedzieć, z jakiego adresu i serwera wysłać? W parametrach czynności procesu widzę, ze podaje się tam <DO> itd., ale nie ogarniam skąd ustawienia SMTP, bo to musi "chodzić" jakiś agent skoro to się kolejkuje. A mogę bez agenta odpalić to ręcznie (do testów)?
Serwis- masz na myśli własny skrypt? Mógłbyś to troszkę rozwinąć? Bo widzę, ze także korzystasz z procedury.JarekZ pisze: ↑06 sie 2024, 13:23my to mamy zrobione tak :
- oznaczam kontrahenta, który ma dostawać dokumenty jako pdf - atrybut lub inny sposób
- mam serwis, który sprawdza czy jest wystawiony dokument
- serwis pobiera plik "rpt" wg typu dokumentu i generuje PDF, który zapisuje się określonym folderze
- samo wysłanie realizuje też ten serwis - konfigurację SMTP dostaje z procedury, jak również treść wiadomości, temat,odbiorców i plik który ma załączyć.
Wadą jest to, że przez durny CrystalReports raz w miesiącu występuje problem z błędem "bo tak", dlatego w weekend robię restart serwisu w harmonogramie i temat zamknięty. Działa na gmail,onet,ovh,cyberfolks i innych serwerach.
Ogólnie to zastanawiałem się (właśnie chciałem wykorzystać ten system, który mam do informowania o zaległych płatnościach) jak mogę wywołać w jakiś sposób odpalenie procedury SQL dla konkretnych dokumentów. Myślałem, że przykładowo mam otwarty dokument, bądź znaczony ptaszkiem (tak byłoby wygodniej) i nie wiem poprzez raporty uruchamiam jakiś raport, który wywołuje procedurę, ale nie wiem raz jak to ogarnąć, a dwa kolejnym problemem jets wydruk przez API, którego nie bardzo rozumiem. Jest jakaś dokumentacja ogólnodostępna do tego API, jakieś małe chociaż przykłady? Bo mógłbym to w sumie wrzucić w Visual Studio Code w jakimś C# i zrobić .exe, które ma w sobie
1. Generowanie wydruku z API do katalogu, który widzi także serwer SQL (Zakładam, że musi skoro ma to wysyłać procedura)
2. Odpala procedurę SQL
Re: Wysyłka faktur e-mail
Parametry SMTP ustawię się w: Konfiguracja -> Ogólne -> Parametry2. Bez licencji raczej nie odpalisz procesów nawet do testów.
Tak jak było już wspomniane Modelowanie Procesów ogarnęłoby Ci temat. Jeżeli miałby to działać 'bezobsługowo' i w momencie zatwierdzania dokumentu to poza procesami dałoby się to zrobić Dużą Hydra (wyzwalane na kliknięcie dyskietką plus warunki zabezpieczające na wypadek jakiś błędów i niemożności zatwierdzenia dokumentu). Choć Hydra jest mniej pewna niż procesy (można zatwierdzić dokument z listy, też trzeba by oprogramować, co w przypadku błędu przy zatwierdzaniu - czy da się to złapać i nie wysyłać wtedy maila lub jak to inaczej zabezpieczyć). Tutaj musiałby być jakiś exec. Z drugiej strony kolejka w procesach też może się "zapełnić" i wysyłka nie pójdzie
Na żądanie, żeby nie orać bazy co chwile można zrobić dedykowany przycisk do takiej wysyłki. Można też zrobić wykres i przekazać stosowne informacje do programu wysyłającego maile (3 zakładka w definicji wykresu). Można też zrobić w schedulerze wywoływanie programu co jakiś czas i odpalać go co jakiś czas - napisać zapytanie łapiące dokumenty nadające się do wysłania, jak są logować do XL, robić wydruk i puszczać maila
Dostęp do dokumentacji API jest wyłącznie dla partnerów Comarch
Od Comarchu ogólnie dostępne jest:
https://pomoc.comarch.pl/xl/index.php/d ... pi-erp-xl/
oraz tutejsze forum, gdzie ludzie dzielą się kodem.
Tak jak było już wspomniane Modelowanie Procesów ogarnęłoby Ci temat. Jeżeli miałby to działać 'bezobsługowo' i w momencie zatwierdzania dokumentu to poza procesami dałoby się to zrobić Dużą Hydra (wyzwalane na kliknięcie dyskietką plus warunki zabezpieczające na wypadek jakiś błędów i niemożności zatwierdzenia dokumentu). Choć Hydra jest mniej pewna niż procesy (można zatwierdzić dokument z listy, też trzeba by oprogramować, co w przypadku błędu przy zatwierdzaniu - czy da się to złapać i nie wysyłać wtedy maila lub jak to inaczej zabezpieczyć). Tutaj musiałby być jakiś exec. Z drugiej strony kolejka w procesach też może się "zapełnić" i wysyłka nie pójdzie
Na żądanie, żeby nie orać bazy co chwile można zrobić dedykowany przycisk do takiej wysyłki. Można też zrobić wykres i przekazać stosowne informacje do programu wysyłającego maile (3 zakładka w definicji wykresu). Można też zrobić w schedulerze wywoływanie programu co jakiś czas i odpalać go co jakiś czas - napisać zapytanie łapiące dokumenty nadające się do wysłania, jak są logować do XL, robić wydruk i puszczać maila
Dostęp do dokumentacji API jest wyłącznie dla partnerów Comarch
Od Comarchu ogólnie dostępne jest:
https://pomoc.comarch.pl/xl/index.php/d ... pi-erp-xl/
oraz tutejsze forum, gdzie ludzie dzielą się kodem.
Re: Wysyłka faktur e-mail
Ok, dziękuję za odpowiedz. Znalazłem parę tematów i zacząłem sklejać jakiś programik .exe do wydruku z XLa i prawie mi się to udaje, ale mam tam fragment
który biorę z CTRL+click na drukarkę i w Parametry jest filtr SQL.
Bo jest jeszcze i jak rozumiem, to biorę z definicji wydruku (to są te wartości jakby ID tam podane)?
I jak wstawię na sztywno, to nawet działa, ale jak to zrobić "dynamicznie", aby uzyskać coś na wzór pobierania wartości dla FiltrSQL dla otwartego dokumentu? Jakaś tabela, z której pobiorę to po numerze otwartego dokumentu?
Dwa jak mogę zrobić coś na wzór dodania przykładowo raportu (pod tym wykrzyknikiem), który uruchomiłby mi tego .exe? Wtedy bym sobie jakoś spróbował ogarnąć sam wydruk, a potem ewentualnie to rozbudować powoli.
Kod: Zaznacz cały
wydruk.FiltrSQL = "(TrN_GIDTyp=XXXX AND TrN_GIDNumer=YYYY)";Bo jest jeszcze
Kod: Zaznacz cały
wydruk.Zrodlo, wydruk.Format, wydruk.WydrukI jak wstawię na sztywno, to nawet działa, ale jak to zrobić "dynamicznie", aby uzyskać coś na wzór pobierania wartości dla FiltrSQL dla otwartego dokumentu? Jakaś tabela, z której pobiorę to po numerze otwartego dokumentu?
Dwa jak mogę zrobić coś na wzór dodania przykładowo raportu (pod tym wykrzyknikiem), który uruchomiłby mi tego .exe? Wtedy bym sobie jakoś spróbował ogarnąć sam wydruk, a potem ewentualnie to rozbudować powoli.
-
Swiety_M
- Posty: 420
- Rejestracja: 19 lip 2012, 13:05
- Rola: Administrator CDN XL
- Wersja: 8.0
- Lokalizacja: Poznań, Września, Konin
- Kontakt:
Re: Wysyłka faktur e-mail
No dynamicznie, za każdym razem musisz przekazać te parametry chwytając z definicji wydruku...
Najlepiej zrób sobie tabelkę, do tabelki zbieraj jakąś procedura dokumenty do wysłania wraz ze wszystkimi ich parametrami (filtr) + źródło wydruku i wyślij jak będziesz miał komplet..
Niech exec chodzi w harmonogramie windy, a jak będziesz musiał coś wysłać drugi raz to pod wykrzyknikiem dasz użytkownikowi możliwość ponownej wysyłki z tabelki.
Najlepiej zrób sobie tabelkę, do tabelki zbieraj jakąś procedura dokumenty do wysłania wraz ze wszystkimi ich parametrami (filtr) + źródło wydruku i wyślij jak będziesz miał komplet..
Niech exec chodzi w harmonogramie windy, a jak będziesz musiał coś wysłać drugi raz to pod wykrzyknikiem dasz użytkownikowi możliwość ponownej wysyłki z tabelki.