Slanje pisama u bazu podataka primalaca. Slanje pisama u bazu podataka o primaocima Obrazac za unos podataka o računu

Ranije smo na našem blogu pogledali slanje SMS-a sa web servisa. No, sudeći po recenzijama, takva odluka nije uvijek laka za programera. U nastavku ćemo pogledati pristupačniji način slanja kratkih poruka - . Pogledajmo primjer razvoja takve obrade i ponudimo preuzimanje uzorka.

Podešavanje slanja SMS-a sa 1C

Prvo, mali uvod u ono što je HTTP i njegove metode. Naravno, niko nam ne može dati bolji odgovor od internet enciklopedije Wikipedia:

HTTP(od engleskog HyperText Transfer Protocol - “protokol za prijenos hiperteksta”) je mrežni protokol na nivou aplikacije za prijenos datoteka. GET- Koristi se za ispitivanje sadržaja određenog resursa. Također možete pokrenuti proces koristeći GET metodu. U ovom slučaju, informacije o napretku procesa trebaju biti uključene u tijelo poruke odgovora.

U našem slučaju ćemo samo pokrenuti proces slanja SMS-a sa određenim parametrima. Parametri su jednostavni - lozinka, prijava, broj primaoca SMS-a i tekst poruke.

U našem primjeru koristit ćemo Internet gateway - AvisoSMS. Ima skup različitih API-ja: među njima GET, JSON, XML, Email2SMS (dokumentacija). Pogledat ćemo najjednostavniji i najpristupačniji - GET.

Da biste radili sa gateway-om, potrebno je da se registrujete, za test ćete imati na raspolaganju broj besplatnih SMS-ova (oko 5-10), ovo je dovoljno za početni test slanja pošte. Sačuvajte svoje korisničko ime i lozinku, biće vam od koristi u budućnosti.

Nabavite 267 video lekcija na 1C besplatno:

Pišemo kod za slanje

Napravio sam novu eksternu obradu u koju sam unio 4 detalja obrasca i 1 naredbu:

Na obrascu sam prikazao naredbu “Pošalji SMS” i u proceduru servera napisao sljedeći programski kod:

ResponseFileName = GetTemporaryFileName("txt");

Connection = Nova HTTPConnection("api.avisosms.ru");

Niz veze = “sms/get/?username=” + Skraćeni LP(Prijava) + “&password=” + Skraćeni LP(Lozinka) + “&destination_address=” + Skraćeni LP(AddresseeNumber) + “&source_address=SENDER&message=” + Skraćeni LP (Tekst);
Connection.Get(ConnectionString, ResponseFileName);

ResponseFile = Nova datoteka (ResponseFileName);

Ako ResponseFile.Exists() Onda

ResponseText = Novi tekstualni dokument();

Ako AnswerText.NumberofLines()>0 Onda

ServerResponse = ResponseText.GetText();
Ako je Find(ServerResponse, “OK_Operation_Completed”) > 0 Tada
Obavijesti("Poruka je uspješno poslana na broj" + Skraćenica(AddresseeNumber));
Inače
Izvještaj("Problemi sa slanjem SMS-a na broj" + Skraćeno(AddresseeNumber) + ". Odgovor servera: " + ServerResponse);
endIf;

Inače

endIf;

DeleteFiles(ResponseFileName);

endIf;

To je sav programski kod. Ovo je dovoljno za potpuno slanje poruka.

Pokrećemo u 1C: Enterprise modu i testiramo. Unesite lozinku i login koji ste uneli prilikom registracije, tekst poruke i broj adrese. Kliknite na komandu "pošalji":

Hajde da riješimo problem kreiranja dva mailinga. Prvo, svim muškarcima čestitamo 23. februar mejlom. Drugo, poslat ćemo obavještenje putem SMS-a svim vlasnicima bonus kartica trgovine da im je dodijeljeno 500 bonus bodova i pozvati kupce da iskoriste prikupljene bonuse.

Ovaj zadatak možemo implementirati samo koristeći konfiguraciju "1C: Maloprodaja" verzije 2.1. U izdanju 2.0 još nije bilo funkcionalnosti biltena.

Primjenjivost

Članak je napisan za redakciju 1C: Maloprodaja 2.1 . Ako koristite ovo izdanje, odlično - pročitajte članak i implementirajte funkcionalnost o kojoj se raspravlja.

Ako planirate započeti implementaciju 1C: Maloprodaja, najvjerovatnije će se koristiti novije izdanje. Interfejsi i funkcionalnost mogu se razlikovati.

Stoga preporučujemo pohađanje kursa 1C: Maloprodaja 2 za automatizaciju prodavnica i uslužnih preduzeća, ovo će vam pomoći da izbjegnete greške i gubitak vremena/ugleda.

Registracija e-mail newslettera

Pre nego što počnete da kreirate e-poštu, morate da podesite sistemski nalog e-pošte.

Da biste to učinili, u odjeljku Administracija trebalo bi da izaberete tim Organizator.

Otvoriće se obrazac iz kojeg možete pozvati postavke sistemskog naloga ili otvoriti opštu listu svih naloga e-pošte.

Sistemski nalog koristi sistem za slanje servisnih poruka i biltena.

Koristimo naredbu za uređivanje postavki sistemskog računa.

Prvo morate kreirati posebno poštansko sanduče. Navedite standardne postavke e-pošte: E-mail adresa, Ime pošiljaoca e-pošte, Server dolazna/odlazna pošta, Korisničko ime I Lozinka.

Zastava Da primam pisma, možda nije navedeno, jer bilteni će raditi samo za slanje odlaznih e-poruka.

Da biste provjerili ispravnost postavki, trebate sačuvati napravljene promjene i koristiti naredbu Provjerite postavke.

Pojavit će se prozor “Verifikacija računa”.

Ako je provjera završena s greškama i sistem 1C:Retail prikaže poruku prikazanu na slici ispod, moguće je da je vaš Internet provajder blokirao port 25, koji se standardno koristi za SMTP protokol.

Ovo ograničenje se može zaobići korištenjem porta 587, koji obično nije blokiran.

Ovo se dogodilo u primjeru. Stoga, morate nadjačati zadani SMTP port.

Provjeravamo rad računa - provjera je uspjela.

Nakon što uđemo u poštansko sanduče, naći ćemo probnu poruku.

Za kreiranje biltena koristit ćemo dokument “Newsletter”.

Da bi ovaj dokument postao dostupan, potrebno je da u odjeljku Administracija u postavkama sekcije Marketing opcija je bila omogućena Popusti, marže i ograničenja prodaje.

Nakon toga, u odjeljku Marketing komanda će postati dostupna Newsletters u grupi timova Vidi također.

Ova komanda otvara listu dokumenata “Newsletter”.

Poštovani [IntroductionContact]!
Čestitamo Dan branioca otadžbine!
Budite snažna podrška svojoj porodici!

Unutar ovog šablona možemo koristiti određene parametre.

Za umetanje ovih parametara koristi se posebna komanda Umetni parametar. Klikom na nju otvara se obrazac za odabir opcije od dostupnih.

U obrascu možete odabrati jedan od pet parametara:

  • [Prikaz kontakta]– ovo je prikaz primaoca kome je dostava namenjena;
  • [Akumulirani iznos prodaje]– akumulirani iznos prodaje na diskontnim karticama;
  • [Preostali bodovi] I [Skupljeni bodovi]– parametri za rad sa bonus poenima (imaju smisla samo ako se bilten upisuje na osnovu dokumenta „Prikupljanje i otpis bonus poena“);
  • [Odaberite MF(;)]– omogućava vam da podesite promjenu dijela pisma u zavisnosti od pola primaoca, tj. kreirati različite tekstove za muškarce i žene. Najčešća upotreba je da se koristi kao adresa (žena se poštuje, muškarac se poštuje itd.).
  • U trenutnom primjeru pravimo newsletter za muškarce, a postoji samo jedna opcija. U tijelo pisma eksplicitno pišemo “Dragi”, a nakon njega koristimo parametar [Prikaz kontakta].

Morate popuniti svoju mailing listu. Standardna komanda Dodati Možete dodati proizvoljne primaoce jednog po jednog.

Postoji podmeni komandi za popunjavanje liste primalaca Fill, koji ima dvije opcije: Na osnovu(ako se raspodjela upisuje na osnovu drugog dokumenta) ili Po grupi primaoci popusta.

Pošto trenutni dokument nije unet na osnovu, jedina dostupna opcija je - Po grupi korisnici popusta, mi ćemo ga iskoristiti.

Pojavit će se obrazac za odabir “Grupe korisnika popusta”.
Kreirajmo novu grupu primalaca i nazovimo je “Svi muškarci”.

As Metoda formiranja ukazati Ažurirajte periodično. Kreiranu grupu korisnika popusta treba sačuvati i otvoriti njene postavke.

Na obeleživaču Odabir navedite uvjet odabira “Spol jednak muškom” i sačuvajte promjene komandom Završi uređivanje.

Za početno generiranje grupne liste, možete koristiti naredbu Forma. Da vidite trenutni sastav grupe korisnika popusta u navigacionoj tabli, koristite naredbu Sastav grupe.

Ovdje bismo također mogli nasilno reformisati spisak sa komandom Formirajte grupu.

Odabiremo kreiranu grupu primalaca popusta, a lista primalaca dokumenta “Newsletter” će biti popunjena trenutnim sastavom grupe.

Ako e-mail adresa za kontakt nije popunjena, to znači da nije navedena u kontakt kartici.

Za trenutni primjer, ostavit ćemo dvije osobe na listi primatelja i za njih navesti isti e-mail prethodno kreiranog probnog poštanskog sandučeta.

U odeljku tabele nalazi se polje Poruka, koji će biti poslan određenom kontaktu.

Da biste popunili poruku za svaki kontakt u skladu sa šablonom navedenim u dokumentu, potrebno je da koristite naredbu .

U tom slučaju će se u porukama za svakog pretplatnika koristiti odgovarajuća vrijednost parametra [Prezentacija kontakta].

Nakon slanja, za svaku poruku će biti popunjen jedinstveni ID poruke. Za registrovanje grešaka prilikom slanja pisama postoji posebno polje za tekst greške.

Hajde da provjerimo ima li poslanih e-poruka u vašem inboxu.

Tekst pisma je takođe ispravno prikazan.

Treba imati na umu da ako se pisma istovremeno šalju velikom broju primalaca, sistemi pošte mogu ovo slanje smatrati neželjenim i blokirati slanje pisama. Slanje poštanskih poruka u grupama u intervalima nije predviđeno.

Registracija SMS poruka

U obrascu koji se otvori potrebno je da odaberete SMS provajdera od dostupnih: Beeline ili MTS. Za pristup uslugama slanja SMS-a, ovi provajderi daju posebnu prijavu i lozinku, koji su ovdje navedeni.

Napravimo malo poređenje uslova i cijena slanja SMS-a pri korištenju ovih servisa i pri korištenju online usluga.

Prema tarifi MTS Communicator, cena paketa poruka (3000 SMS) iznosi 2900 rubalja. One. 97 kopejki po SMS poruci.

Ovi uslovi nisu baš ohrabrujući.

Uporedimo navedene cijene sa jednom od popularnih on-line usluga za slanje SMS-a: “SMS za posao” (sms4b.ru).

Ovdje su cijene podijeljene u dva bloka.

Tarifna kolona sa indirektnim priključkom nalazi se zasebno (desno). Ali ova opcija podrazumijeva negarantovanu isporuku. Ovdje su cijene za svaki SMS niže i ne zavise od operatera.

Glavna je nova tarifa sa direktnim priključkom. U ovom slučaju, uspješna dostava SMS-a je zagarantovana. Cijene su veće i zavise od operatera.

Ova podjela se pojavila ne tako davno. Činjenica je da su mobilni operateri nedavno počeli da blokiraju eksterne pošte poslane sa alfanumeričkih imena preko SMS centara trećih operatera.

Indirektna veza je stara opcija slanja pošte, u kojoj dostava nije zagarantovana, odnosno nije poznato da li će SMS stići do potrošača ili će biti blokiran od strane njihovih operatera.

Kako bi garantirali isporuku, operateri sada zahtijevaju usluge slanja SMS poruka kako bi se direktno povezali sa svojim SMS centrima. Istovremeno, cijena takvog zagarantovanog SMS-a je znatno veća.

Nemoguće je sa sigurnošću reći koja će vam opcija biti isplativija - morate je izračunati u svakom slučaju posebno.

Veliki nedostatak on-line usluga slanja SMS-a je to što ih sistem 1C: Maloprodaja ne podržava prema zadanim postavkama.

Postoji izlaz iz ove situacije. Podsistem za slanje SMS-a dio je biblioteke standardnih podsistema i uključuje proširenje liste podržanih provajdera. Ako je potrebno, možete naručiti modifikaciju od 1C programera, a on će propisati slanje SMS-a preko željenog provajdera.

Prema prethodno postavljenom zadatku, slanje SMS poruka je povezano sa prikupljanjem bonus poena. Stoga je potrebno kreirati odgovarajući dokument „Prikupljanje i otpis bonus bodova“.

Dokument je dostupan ako je u odjeljku Administracija u postavkama sekcije Marketing postavljena zastava .

Komande za rad sa dokumentom Prikupljanje i otpis bonus bodova nalaze se u sekciji Marketing u grupi timova Bonus programi.

Otvorimo listu dokumenata "Priračuni i otpisi bonus bodova". i kreirajte novi dokument.

Morate navesti bonus program lojalnosti. Lista programa je prazna, dodajmo novi element.

Hajde da definišemo naziv "porodica". Preostali parametri za trenutni primjer mogu se ostaviti na zadanim vrijednostima.

Kreirani bonus program zapisujemo i biramo u dokumentu „Prikupljanje i otpis bonus bodova“.

U tabelarnom dijelu Ručna razgraničenja Hajde da dodamo neke bonus kartice.

Otvara se novi dokument „Newsletter“, a spisak primalaca u njemu će već popunjavati vlasnici bonus kartica iz dokumenta za prikupljanje bonus bodova. Brojevi telefona su popunjeni iz podataka pojedinaca.

Hajde da popunimo šablon poruke. Prilikom obraćanja kupcu, u zavisnosti od njegovog pola, koristićemo reč „Poštovani“ ili „Poštovani“. Stoga ćemo na početku poruke umetnuti parametar [Odaberi MF(;)]

Kada odaberete ovu opciju, otvara se prozor u koji treba da unesete tekstualnu opciju za muški rod. Naznačićemo odgovarajuću opciju.

Nakon toga, 1C: Maloprodajni sistem će na sličan način tražiti opciju za ženski rod. Parametar [Odaberi MF(Dragi; Poštovani)] će biti umetnut u predložak poruke. Analogno, dodavanjem drugih parametara, formiraćemo konačni tekst predloška:

[Odaberite MF(Dragi; Poštovani)], [Kontaktirajte predaju]!
Dodatno vam se dodjeljuju bodovi [Points Accured].
Uzimajući u obzir ovu akumulaciju, vaša kartica sada ima bodove [Remaining Points].
Požurite da ih iskoristite!

Da bi se ravnoteža bodova u poruci pravilno formirala, potrebno je ispraviti vrijeme kreiranja dokumenta, jer se automatski postavlja na početak dana po kreiranju.

U komandnoj tabli tabelarnog odeljka izaberite komandu i vidimo da je generisana pojedinačna poruka za svakog pretplatnika. Svi parametri šablona su uspješno popunjeni.

Kada koristite ovu opciju, ništa se ne mijenja u tekstu poruke, čak ni nakon preformatiranja prema predlošku.

Ali ako koristimo dugme za pregled poruke, videćemo da je sistem 1C: Maloprodaja zapravo ispravno konvertovao poruku na ćirilici u transliteraciju.

Prilikom slanja SMS poruke koristit će se opcija transliteracije.

Za slanje svih poruka kliknite na dugme Pošalji u komandnoj tabli obrasca.

Na osnovu rezultata slanja, ili identifikator poruke ili tekst koji opisuje grešku biće popunjen u tabelarni deo za svaku poruku.

Za ponovno slanje pogrešnih SMS poruka koristite naredbu u komandnoj tabli obrasca.

Igor Saprygin,
Kemerovo

Standardne konfiguracije verzije 8 opremljene su ugrađenim klijentom e-pošte koji vam omogućava da konfigurirate prijem i slanje pisama iz 1C.

Koristeći ovaj mehanizam, možete organizirati distribuciju poruka grupama korisnika kada dođe do vanrednih situacija u radu baze podataka ili kada dođe do određenog događaja, poslati štampane obrasce dokumenata direktno iz generiranog izvještaja, obavijestiti zaposlene o važnim događajima u život organizacije i još mnogo toga.

Omogućavanje i predkonfigurisanje klijenta

Koristeći primjer konfiguracije “Proizvodnja Enterprise Management”, možete vidjeti da se početna aktivacija ugrađenog klijenta e-pošte događa na obrascu “Postavke programa”, koji se može otvoriti u meniju Operacije->Konstante. (Sl.1)

U drugoj fazi povezivanja potrebno je registrovati adrese i postavke servera koji će se koristiti za isporuku i slanje mail poruka.

U ove svrhe, baza podataka pruža referentnu knjigu „Nalozi e-pošte“. Oblik elementa direktorija prikazan je na slici 2

Fig.2

Ukratko o ovom obrascu. Ima 9 kartica, od kojih vam svaka omogućava da konfigurirate svoj dio klijenta e-pošte:


Standardni model upotrebe e-pošte

Štampani obrasci prodajnih dokumenata, nabavki i nekih oblika regulatornog izveštavanja sadrže dugme u levom uglu (slika 4) koje vam omogućava da kreirate e-poruku i pošaljete je drugoj strani.

Fig.4

Kao što se može vidjeti iz prikazane slike, nema ništa komplikovano u obliku odlaznih poruka.

Programirano slanje pošte bez pohranjivanja poruke u bazu podataka

Ako planirate organizirati distribuciju pošte putem pretplate na događaj ili prilikom obavljanja bilo kojeg rutinskog zadatka, preporučljivo je kreirati proceduru Slanje poruka na listu primalaca () u konfiguratoru u zajedničkom modulu koji se izvršava na serveru sa sljedećim minimumom potreban skup parametara:

  • Subject – vrijednost niza koja sadrži predmet pisma;
  • Tekst je opet niz neograničene dužine, da tako kažemo, tijelo poruke;
  • Primaoci - nema strogog ograničenja u pogledu vrste, to može biti lista adresa koja se prenosi direktno, može biti skup elemenata iz direktorija „Pojedinci“ ili „Counterparties“, možete koristiti element iz „Distribucija pošte Grupe”.

Izuzetno je važno, kada koristite imenike, osigurati da odabrani elementi imaju kompletne podatke o kontaktu s tipom e-mail i email adresa.

Prvi korak u ovoj proceduri je da odredite profil sa kojeg će se slati pošta. Standardna konfiguracija UPP-a sadrži opći modul „Upravljanje e-poštom“, čija jedna od funkcija „Nabavi profil internetske pošte“ vraća vrijednost profila naloga koji je na njega prebačen (kreirali smo ga iznad). Sl.5

Kako bi se kontrolirao rezultat povezivanja i identificirale nestandardne situacije u njegovom procesu, preporučuje se da se to izvede unutar konstrukcije Pokušaj-izuzetak.

Fig.6

Pređimo direktno na kreiranje email poruke.

Kreirajte objekt InternetMailMessage i popunite njegove detalje. Određujemo kodiranje u kojem je kreirano, ime pošiljaoca, temu pisma, njegov tekst i, ako je potrebno, dodajemo priloge. Fig.7

Fig.7

Sljedeći korak je umetanje kreirane poruke u metodu „Pošalji“ objekta Internet pošte. Opet, možete pratiti izuzetne situacije, identificirati greške i spriječiti pad programa koristeći konstrukciju „Pokušaj-izuzetak“.

Ne zaboravite prekinuti vezu sa klijentom e-pošte. (Sl.8)

Fig.8

Kod kreiran ovim dizajnom šalje e-mail poruke sa glavne adrese e-pošte bez pohranjivanja u bazu podataka. Ako planirate da ga koristite za slanje upozorenja ili obavještenja tokom izvršavanja rutinskih zadataka, konstrukcije tipa “Notify()” mogu biti isključene iz njega. U ovim slučajevima, bolje je zabilježiti informacije o grešci ili u datoteku dnevnika ili u tekstualnu datoteku.

Obrada "ALANN: Masovno slanje mejlova iz 1C" je namenjena za masovnu slanje mejlova i štampanih formi dokumenata sa pečatom i potpisom direktno iz sistema 1C: Enterprise i radi sa konfiguracijama na upravljanim obrascima:

  • Računovodstvo preduzeća 3.0
  • Upravljanje trgovinom 11
  • Menadžment malih preduzeća
  • Za Enterprise Accounting 2.0, Trade Management 10.3, Complex Automation i Manufacturing Enterprise Management postoji obrada slična po funkcionalnosti

Podrazumevano, sledeći štampani obrasci se isporučuju sa obradom:

  • Račun za plaćanje kupcu
  • TORG-12
  • Certifikat navedenih usluga
  • Potvrda o završetku
  • Račun
  • Zakon o pomirenju
  • Punomoćje

Obrada ima sljedeće mogućnosti:

  • Učitavanje liste primatelja iz 1C adresara ili iz vanjske tekstualne datoteke. Prilikom učitavanja liste primalaca iz datoteke, tekstu poruke je moguće dodati bilo koje parametre (iznos duga druge strane, puno ime i sl.).

  • Izbor dokumenata za distribuciju direktno sa liste dokumenata

  • Štampanje poslatih dokumenata. Osim toga, možete odabrati dokumente koje je potrebno odštampati, štampač i broj kopija.
  • Određivanje proizvoljnog koda koji će se izvršavati tokom obrade. Ako trebate izvršiti bilo koji 1C kod tijekom obrade, dovoljno je naznačiti lokaciju vanjske obrade u kojoj se taj kod nalazi.
  • Dodavanje proizvoljnih parametara u tekst i predmet poruke (puno ime, iznos duga, itd.). Ova funkcija će vam omogućiti da organizirate ciljane e-pošte određenim pojedincima sa specifičnim podacima za njih.

  • Dodavanje dodatnih priloga e-poruci. Štoviše, moguće je naznačiti i , i .
  • Automatski početak planirane obrade. Obrada će započeti u navedeno vrijeme i poslati poštu na navedenu listu primalaca. .
  • Određivanje intervala između slanja e-pošte. Ova funkcionalnost će smanjiti vjerovatnoću da poslane e-poruke uđu u filter neželjene pošte u poštanskim sandučićima klijenata.
  • Prilagođeno oblikovanje teksta poruke. Isticanje teksta podebljano, kurzivom, bojom, dodavanje hiperlinkova i slika u tekst.
  • Automatsko arhiviranje priloga. Na zahtjev korisnika, svi prilozi u pismu mogu se upakovati u ZIP arhivu i poslati kao jedan fajl.

Da biste procijenili mogućnosti obrade, možete ga testirati u demo modu.

Kao i svi procesori u seriji ALANN, obrada "ALANN: Masovno slanje e-pošte iz 1C" je jednostavna za instalaciju i ne zahtijeva uključivanje 1C programera.