1c externé spracovanie podľa harmonogramu. Univerzálna regulačná úloha. Viac o konfiguračných rozšíreniach

Dnes vám chceme povedať o využití dodatočných reportov a spracovaní, a najmä konfiguračných rozšírení v modeli služieb. Technológie nestoja, servis 1C databáz v cloude sa stáva čoraz atraktívnejšou službou. Čo potrebujete vedieť, aby sa funkcionalita potrebná pre vašu spoločnosť implementovala do prenajatej databázy a ako tento proces vyzerá zo strany poskytovateľa služieb – o tom sa dozviete pod strihom.

Čo sú externé správy a spracovanie

Ošetrenia 1C sú odlišné, ale v každom prípade rozširujú funkčnosť konfigurácie a umožňujú rýchly prístup k informáciám uloženým v databáze bez zmeny konfigurácie a bez odstránenia podpory. Môžu byť zabudované priamo do konfigurácie, pridané ako rozšírenie konfigurácie alebo môžu byť externými súbormi.

Spracovanie je podľa funkčnosti rozdelené na tie, ktoré dokážu meniť dáta a tie, ktoré jednoducho analyzujú informácie a zobrazia výsledok v užívateľsky príjemnej forme (správy). Aby sa nemenili štandardné rozloženia tlače dokumentov, boli vyvinuté externé tlačové formy. Externé spracovanie je tiež možné vykonávať podľa daného plánu na aplikačnom serveri 1C - ide o rutinné úlohy.

V Buttone bolo vyvinutých niekoľko desiatok riešení spracovania, ktoré našim účtovníkom umožňujú používať „praktickú mágiu“. Napríklad na analýzu správnosti účtovania v tlačidle sa používa externý prehľad „Automatický audit databázy“. Ľahko čitateľné tabuľky poskytujú analýzu 120 kritérií pre stavy a obraty účtov, súlad údajov z daňových priznaní a účtovných informácií, analýzu dlhodobého majetku atď.

Príklad externého tlačeného formulára „zmluva o pôžičke“ podľa formulára vypracovaného našimi právnikmi. Sú prípady, keď si podnikateľ ako fyzická osoba zoberie od svojej firmy bezúročnú pôžičku, alebo naopak prevedie do firmy vlastné prostriedky, vtedy je možné zmluvu ihneď vytlačiť.

Otvorí sa formulár na vyplnenie potrebných údajov:

A zobrazí sa tlačená forma zmluvy:

Plánované spracovanie (rutinné úlohy) využívame napríklad na opravu výpisov. Tlačidlá majú nastavené integrácie s veľkými bankami a špeciálne roboty načítavajú výpisy priamo do 1C. Vďaka technológii strojového učenia sa percento chýb pri vybíjaní znížilo na 3 %. Ako vždy však existujú výnimky, napríklad klienti, ktorí na predaj tovaru využívajú agentúrnu schému, v tomto prípade sú pravidlá pre vedenie bankového výpisu individuálne. Aby nedošlo k preprogramovaniu robota pre konkrétny prípad, pred príchodom rozšírení konfigurácie sa použila rutinná úloha na opravu výroku robota každých 10 minút.

Čo sú rozšírenia konfigurácie

Rozšírenie je mini konfigurácia, ktorá dedí objekty z hlavnej konfigurácie databázy a obsahuje kód s doplnkami alebo opravami objektov a modulov. V tomto prípade zostáva podporovaná hlavná konfigurácia, nie je potrebné povoliť úpravy, čo značne zjednodušuje proces aktualizácie.

Mechanizmus predpokladá tri typy použitia, ktoré sú v skutočnosti uvedené v poli „Účel“ pri vytváraní rozšírenia:

Ústrednou zložkou technológie je Vedúci služby, uchováva všetky informácie o predplatiteľoch, používateľoch, aplikáciách, informačných bázach a spojeniach medzi nimi a s jeho pomocou sú spravované externé spracovateľské a konfiguračné rozšírenia.

Všetky súbory so spracovaním sa nahrajú do špeciálneho adresára správcu služieb. Ale predtým, ako nahráte súbor do adresára, inými slovami, „zverejníte ho do služby“, musí byť pripravený špeciálnym spôsobom.

Príprava externých správ a ich spracovanie na zverejnenie v modeli služieb

Dodatočná zostava alebo spracovanie sa vytvorí v konfigurátore 1C: Enterprise 8 ako štandardné externé zostavy a spracovanie a uloží sa do súboru s príponou - .epf (pre dodatočné spracovanie) alebo .erf (pre dodatočné zostavy).

Objektový modul musí mať procedúry a funkcie na definovanie registračných parametrov.

Upozorňujeme, že dôležitým parametrom je „Verzia“. Ak ste vykonali zmeny v spracovaní, ktoré bolo predtým nahrané do adresára správcu služieb, nezabudnite zmeniť číslo verzie, inak správca služieb odmietne načítať súbor. Pri vývoji správy alebo spracovania musíte vziať do úvahy, že používatelia pracujú v modeli služieb prostredníctvom webového klienta (dobrý článok na blogu 1C). Ak spracovanie obsahuje formuláre, musia fungovať vo webovom klientovi pod všetkými webovými prehliadačmi, ktoré podporuje technologická platforma 1C: Enterprise 8.

Podľa štandardov služby 1cfresh.com musí byť dodatočná správa alebo spracovanie plne funkčné, keď sa vykonáva v núdzovom režime, to znamená pracovať bez prístupu k objektom mimo konfigurácie.

Na nahranie do služby ako súprava na doručenie je potrebné pripraviť dodatočnú správu alebo spracovanie. Doručovacia súprava je archív (súbor zip), ktorý obsahuje:

  • dodatočná správa alebo súbor spracovania;
  • xml manifest, ktorý obsahuje dodatočné metainformácie potrebné na to, aby manažér služby zverejnil dodatočnú správu alebo ju spracoval v službe.
Príprava sa vykonáva v lokálne nasadenej infobáze konfigurácie, pre ktorú je určená dodatočná správa alebo spracovanie. Používame špeciálneho asistenta na vytvorenie sady dodávok, externé spracovanie Príprava dodatočných správ a spracovanie publikácií v Servisnom modeli.epf. Viac sa dočítate v dokumentácii k Technológii publikovania riešení 1C Fresh.

Inštalácia ďalších správ a spracovanie v modeli služby

Charakteristickým rysom technológie 1C Fresh je, že externú správu alebo spracovanie nemožno načítať priamo do oblasti údajov. Pridávanie môže vykonať iba správca služby prostredníctvom správcu služby. Po príprave archívu zip so súborom spracovania je potrebné ho nahrať do adresára správcu služieb a nainštalovať pre konkrétneho predplatiteľa služby.

Predplatiteľ služby je skupina používateľov zjednotených podľa nejakého princípu. V súlade s tým sa informačné bázy dostupné určitej skupine používateľov nazývajú predplatiteľské aplikácie.

Aplikácie môžu mať rôzne konfigurácie 1C (Podnikové účtovníctvo, Mzdový a personálny manažment, Manažment našej spoločnosti atď.), pre ktoré je možné ho použiť v modeli služieb. Dodatočné hlásenie alebo spracovanie je možné nainštalovať iba v aplikáciách predplatiteľa, ktoré sú špecifikované pri sťahovaní súboru.

Takto vyzerá formulár vlastností pre dodatočnú zostavu s verziami. Pomocou hypertextového odkazu „Inštalovať/Odstrániť“ sa dostaneme do zoznamu aplikácií a vyberieme požadované databázy.

Po načítaní spracovania a výbere aplikácie manažér služby kontaktuje adresu aplikácie a dá príkaz na jej inštaláciu do informačnej základne.

Spracovanie spúšťame podľa harmonogramu

Pri práci s veľkým počtom účtovných databáz je potrebné periodicky vykonávať určité spracovanie. Napríklad raz za mesiac alebo raz za pár minút. Je tiež dôležité automatizovať manuálne a rutinné používateľské operácie. K tomu aktívne využívame rutinné úlohy.

Spracovanie, ktoré sa bude vykonávať podľa harmonogramu, nemá formu. Celá logika je zapísaná v objektovom module a vyzerá takto.



Pri príprave doručovacej súpravy si stanovíme harmonogram. Teraz bude naše spracovanie prebiehať každú hodinu.

Viac o konfiguračných rozšíreniach

Paralelne s externými správami a spracovaním, ktoré je potrebné pripravovať a spravovať „po starom“, sme začali aktívne využívať mechanizmus rozšírenia konfigurácie. Počnúc platformou 1C Enterprise 8.3.10 nám tento mechanizmus celkom uľahčil život a umožnil zjednodušiť prispôsobenie konfigurácií funkciám tlačidla.

Vyššie sme napríklad písali o rutinných operáciách pri opravách dokumentov robotmi, ktoré sa spúšťali raz za 10 minút. Teraz môžete použiť rozšírenie na predefinovanie fungovania modulov. Pri evidencii alebo zaúčtovaní dokladu tak môžeme okamžite vykonať potrebné úkony. Je to oveľa optimálnejšie, pretože front úloh v databáze nie je upchatý akciami vykonávanými každých 10 minút a je to efektívnejšie, pretože zmeny sa vykonávajú okamžite.

Je celkom jednoduché pripraviť nové rozšírenie. Pozrime sa na proces vytvárania rozšírení na konkrétnych príkladoch.
Na základe pracovných skúseností je lídrom v požiadavkách na úpravy tlačená forma TORG-12. Napríklad musíme urobiť rozšírenie, aby sme mohli vytlačiť dodací list v cudzej mene (štandardne sa dá vygenerovať len v rubľoch).
Otvorte Menu → Konfigurácia → Rozšírenia konfigurácie
Vytvárame nové rozšírenie s cieľom „Adaptácia“.

Rozšírenie vyzerá ako známy konfiguračný strom, ale zatiaľ bez objektov. V prvom rade pridajme nový layout TORG-12, do ktorého sme vložili stĺpce so sumami v mene.

Keďže faktúra sa tlačí z dokladu „Predaj tovaru a služieb“, tento doklad pridáme do nášho rozšírenia z hlavnej konfigurácie a vykonáme potrebné zmeny v module manažéra. Ak to chcete urobiť, v kontextovej ponuke implementácie vyberte možnosť „pridať do rozšírenia“.

Teraz môžete upraviť modul manažéra implementácie. Musíme pridať nový formulár do zoznamu tlačív formulárov a vyplniť sumy meny.

Na zmenu štandardných procedúr používame anotáciu &After, potrebujeme aj niekoľko vlastných funkcií a procedúru.

Pozrime sa bližšie na anotácie. V rozšíreniach môžete použiť: &Pred, &Po, &Namiesto toho (veľmi opatrne). Princíp činnosti je jednoduchý: chceme, aby sa najskôr spustili naše algoritmy z rozšírenia, vložíme anotáciu &Before a v zátvorkách uvedieme názov procedúry zo štandardnej konfigurácie. Ak sa najskôr spracuje štandardný modul a potom náš, použijeme &Po.

Anotácie &Pred a &Po nemožno použiť pre funkcie. Preto, ak potrebujeme zmeniť algoritmus funkcie z hlavnej konfigurácie, použijeme namiesto toho anotáciu &.

Anotácia &Namiesto by sa mala používať čo najmenej, pretože úplne nahrádza vykonanie procedúry a funkcie z hlavnej konfigurácie rozširujúcou procedúrou/funkciou. Pri tejto metóde zachytávania sa procedúra/funkcia z hlavnej konfigurácie prestane vykonávať počas inštalácie rozšírenia, nepomôže ani aktualizácia verzií.

Záver

Existuje mnoho rôznych názorov na používanie rozšírení a externých správ/spracovanie. Na základe našich skúseností sme obaja za expanziu. Ide o modernú a adaptívnejšiu technológiu, má oveľa viac možností a ich publikovanie je oveľa jednoduchšie. V rozšírení je umiestnená len nevyhnutná časť kódu, taktiež nie je potrebné dodatočne písať procedúry a funkcie na určenie registračných parametrov, sledovanie verzií a vytvorenie dodávky.

Pre jednu dátovú oblasť môžete použiť viacero rozšírení.
Pre špecifiká 1C Fresh pracujúceho v režime separácie dát (jedna konfigurácia, veľa nezávislých oblastí) je metóda rozšírenia vynikajúcim riešením.

2017-12-19T18:29:06+00:00

K aktualizátorovi nevyžaduje sa byť stále otvorené alebo bežať ako služba, aby bolo možné spustiť plánované operácie.

Plánované spustenie funguje prostredníctvom štandardného mechanizmu Windows, ktorý sa nazýva „Plánovač úloh“.

A keď používateľ nastaví nastavenia plánu...

Aktualizátor automaticky vytvorí potrebné úlohy v plánovači:

Na čo by ste nemali zabudnúť

Výber používateľa

Nesmieme zabúdať, že používateľ, ktorého určíme na spúšťanie naplánovaných operácií...

Musíte mať systémové práva na "Prihlásenie ako dávková úloha".

Ako skontrolovať, či má používateľ potrebné práva?

Najjednoduchšou možnosťou je kliknúť pravým tlačidlom myši na vytvorenú úlohu v plánovači a vybrať "Spustiť":

Ak je po dokončení úlohy výsledok jej spustenia úspešný...

Ak tomu tak nie je, kontaktujeme správcu systému, aby v bezpečnostnej politike uviedol (náš používateľ alebo jeho skupina) v položke „ Prihlásenie ako dávková úloha", a tiež vylúčené z odseku " Odmietnuť prihlásenie ako dávková úloha".

Musí mať neprázdne heslo. Toto je požiadavka zabezpečenia systému Windows. Ak sa stretnete s týmto konkrétnym obmedzením, potom by najsprávnejšie riešenie bolo:

  • alebo priraďte heslo aktuálnemu používateľovi, pod ktorým sa chystáte spustiť aktualizátor podľa plánu
  • alebo vytvorte v systéme samostatného používateľa s heslom, ktorý bude zaregistrovaný v pláne aktualizátora

Najjednoduchším (ale z bezpečnostného hľadiska nesprávnym) riešením tohto obmedzenia by bolo zakázať možnosť „Povoliť používanie prázdnych hesiel iba počas prihlásenia do konzoly“ v politike zabezpečenia lokálneho počítača.

Výber základov

Nesmieme zabúdať ani na to, že na plánovaných operáciách sa zúčastňujú iba tie databázy, ktoré sú vybrané v zozname databáz zúčastňujúcich sa harmonogramu:

V tomto prípade nezáleží na tom, či je začiarknutie vedľa základne vo všeobecnom zozname:

Tieto zaškrtávacie políčka (vo všeobecnom zozname) sú určené len na manuálne spustenie operácií a žiadnym spôsobom neovplyvňujú plánované spustenie.

Poradie pri spustení

A na záver ešte jeden nezrejmý bod. Pri spúšťaní naplánovanej úlohy aktualizátor najskôr skontroluje, či momentálne beží iná naplánovaná úloha. A ak sa vykoná, najskôr počká na dokončenie a až potom vykoná nový.

To znamená, že ak napríklad potrebujeme nakonfigurovať, aby archivácia prebiehala o 22:00 a databázy sa aktualizovali ihneď po jej ukončení, potom stačí zadať čas začiatku archivácie o 22:00 a aktualizácie , napríklad 22-01.

Čo ak potrebujete komplexnejší rozvrh?

Čo ak nepotrebujeme len pravidelné spustenie v určitý čas v určité dni? Čo ak to chceme, povedzme, nastaviť tak, aby každú polhodinu začínalo o piatej alebo niečo podobné?

V tomto prípade musíme využiť plnú silu plánovača úloh.

Najprv nastavíme plán prostredníctvom aktualizátora, čo naznačuje, že v plánovači bude nakonfigurovaný konkrétny plán:

A až potom otvorte vlastnosti úloh vytvorených aktualizátorom v Plánovači systému Windows:

A na príslušných kartách konfigurujeme všetko, po čom naše srdce túži:

Ako vylúčiť databázu z niektorých plánovaných operácií

Predpokladajme, že máme nakonfigurovaný plán na aktualizáciu a archiváciu:

Zároveň však chceme, aby sa jedna databáza podieľala na plánovanej archivácii, ale nezúčastňovala sa na plánovanej aktualizácii.

Ako to dosiahnuť - máme predsa rovnaký zoznam základní, ktoré sa zúčastňujú na rozvrhu:

A je to veľmi jednoduché.

Prejdite do vlastností databázy, ktorú chcete vylúčiť z plánovaných aktualizácií a úplne dole v okne nájdite položku „Vylúčiť niektoré operácie...“:

Kliknite naň a vylúčte aktualizáciu tejto databázy z plánovaného spustenia:

Malo by to vyzerať takto:

Je možné bežať podľa plánu s inými parametrami?

Osobitne by som chcel upozorniť na skutočnosť, že úlohou v plánovači úloh je pravidelné spúšťanie aktualizátora s určitými parametrami príkazového riadku:

A updater má veľa parametrov na spustenie cez príkazový riadok.

Pomocou nich si môžete automatizáciu prispôsobiť oveľa jemnejšie a podľa svojich potrieb. Len nemeňte parametre príkazového riadka v už vytvorenej úlohe aktualizátora - inak ich pri aktualizácii nastavení plánovaného spustenia stále obnoví na pôvodné. Namiesto toho skopírujte vytvorenú úlohu v plánovači (aby mala vlastný názov) a zmeňte ju.

O všetkých prepínačoch príkazového riadka nástroja Updater.

Ako zistiť, či bol aktualizátor spustený podľa plánu

Stáva sa, že sa zdá, že rozvrh bol nastavený, ale niečo sa pokazí.

A už vôbec nie sme si istí, či bol updater spustený ešte v tú noc.

V prvom rade by som vás chcel upozorniť na oblasť v hlavnom okne aktualizátora, kde sa zobrazuje stav naplánovaných operácií:

Tu vidíme, pred koľkými dňami bol spustený príslušný. plánovaná prevádzka; koľko databáz bolo zapojených a či sa vyskytli nejaké chyby. Navyše, ak na tieto odkazy klikneme ľavým tlačidlom myši, otvorí sa príslušný prehľad.

Môžeme tiež prejsť na úplný denník správ aktualizátora...

A uvidíte, či boli úlohy splnené.

Najspoľahlivejším spôsobom, ako zistiť, či sa program spustil, a pochopiť dôvody jeho nespustenia alebo náhleho ukončenia, je povoliť protokol všetkých úloh v Plánovači systému Windows. V predvolenom nastavení je vypnutý a odporúčam ho zapnúť, aby ste vždy vedeli vyriešiť problémové situácie.

Ak chcete povoliť protokol Windows Scheduler, prejdite do dialógového okna „Spustiť podľa plánu“ a kliknite na tlačidlo „Otvoriť plánovač Windows“:

Môžete to urobiť aj z ovládacieho panela systému Windows (časť Správa).

Tu nájdeme a klikneme na položku „Povoliť protokol všetkých úloh“:

Pripravený! Teraz môžeme zobraziť históriu akejkoľvek úlohy v plánovači.

Vyzdvihnime napríklad jednu z úloh aktualizátora:

Ako nastaviť cloudový monitorovací systém pre spustenie úloh aktualizátora

Teraz vám poviem o spôsobe, ako sa poistiť proti situácii - „och, ukázalo sa, že naše databázy neboli archivované (aktualizované, testované..) celý týždeň.“

Táto situácia je veľmi možná, ak sme nakonfigurovali spustenie archivácie podľa plánu a potom:

  • iný správca servera odobral nášmu účtu práva na spustenie archivácie z plánovača a v tomto prípade nám aktualizátor nebude môcť poslať upozornenie e-mailom, pretože na to je potrebné spustiť, ale nie sú na to žiadne práva takže...
  • alebo sa vyskytli nejaké iné chyby a na serveri nie je internet, aby nám aktualizátor poslal chybové hlásenie...
  • alebo sme sami omylom vypli naplánovanú archiváciu v updateri...
  • nikdy nevieš čo sa môže stať...

A okrem nastavenia upozornení na chyby e-mailom si stačí nastaviť cloudový systém na sledovanie spustenia nášho aktualizátora. Čo to je a ako to funguje?

Toto je podľa mňa úplne geniálna vec s názvom healthchecks.io. Títo chlapci majú tiež platené plány, ale ich bezplatný plán je pre nás v poriadku.

Myšlienka je nasledovná. Registrujeme sa na ich webovej stránke a v našom osobnom účte máme možnosť povedať:

  • Ahoj, HealthChecks, dajte mi jedinečnú adresu URL (adresa internetového zdroja).
  • HealthChecks, ak na túto adresu nikto neklope (nežiada) počas takého a takého obdobia, upozornite ma na to takým a takým emailom.

Potom túto adresu zadáme v aktualizátore a ten si ju vyžiada napríklad na konci každej plánovanej archivácie. A ak sa v určitom okamihu náhle prestane spúšťať alebo zlyhá, služba HealthChecks nás na to upozorní. Aj keď nám server zhorí, bude ukradnutý a rozobraný na malé kúsky..., budeme o tom vedieť ako prví z HealthChecks

Myslím, že je to skvelý nápad. Ak sa vám to nezdá, zdá sa, že ste úplne nepochopili význam tejto veci – prečítajte si prosím ešte raz môj nepríjemný text.

Samostatne spomeniemže popísaný monitorovací systém neruší, ale dopĺňa, emailové notifikácie o chybách, ktoré je tiež potrebné nakonfigurovať v updateri pre úplnú kontrolu nad situáciou.

Najjednoduchší scenár nastavenia HealthChecks pomocou aktualizátora

Nastavme dennú archiváciu na server s názvom DataServer ktorá patrí spoločnosti LLC "Romashka":

A chceme, aby nás HealthChecks upozornil, ak aktualizátor náhle prestane bežať na archiváciu alebo takéto spustenia skončia abnormálne.

3. Zaregistrujte sa pomocou e-mailovej adresy, na ktorú chcete dostávať upozornenia.

3. Prejdite do časti „Kontroly“ a kliknite na veľké zelené tlačidlo „Pridať kontrolu“.

5. Zmeňme názov tejto kontroly na OOO "Romashka" (Dátový server, archivácia). Toto je potrebné urobiť, aby sme pochopili, s čím presne súvisí táto kontrola (archivácia na serveri s názvom DataServer v spoločnosti Romashka LLC):

6. Zadajte obdobie overenia (archivácia by sa mala začať raz denne, samotný proces archivácie môže trvať až 12 hodín):

Druhý posúvač (milosť) je presne prípustné prekročenie obdobia, teda času, počas ktorého môže proces archivácie trvať.

Dodatočný limit 12 hodín (odklad) som uviedol zámerne, pretože aktualizátor na konci svojej práce odošle požiadavku na monitorovací systém a čas ukončenia sa môže líšiť v závislosti od rôznych podmienok.

Ak napríklad naplánujeme začiatok aktualizácie o 22:00, dnes môže táto aktualizácia skončiť o 23:00 a zajtra (bolo vydaných veľa nových aktualizácií) potrvá do 4:00.

Preto dodatočná rezerva 12 hodín, aby sa predišlo falošným pozitívam z HealthChecks.

Výsledok nastavenia obdobia bude takýto:

7. Ale ako vidíte, pole Last Ping je prázdne (Nikdy). Aktualizuje sa, keď k tejto adrese pristupuje aktualizátor počas archivácie. A ak nedôjde k žiadnej požiadavke dlhšie ako 1 deň a 12 hodín, HealthChecks spustí poplach a upozorní nás e-mailom.

Otázka: Problém s prístupom k ďalšiemu spracovaniu v Zup3


vytvoril dodatočné spracovanie a umiestnil ho do mzdovej časti. Používateľ s právami vyššieho personalistu nemôže spustiť účtovníka, píše sa o „nedostatočné prístupové práva“. Ako nastaviť povolenia na spustenie ďalšieho spracovania?

Platy a personálny manažment, vydanie 3.0 (3.0.24.115) ()
Copyright © LLC "1C", 2007-2014. Všetky práva vyhradené
()

odpoveď:

Otázka: Spustenie dodatočného spracovania podľa plánu


Ahojte všetci. Práve sa učím programovať, takže ma príliš nevyčítaj, že kladiem nesprávne otázky. 1C Maloobchod 2.2.5.27 Vytvorené externé spracovanie, ktoré po kliknutí na tlačidlo načíta údaje zo súboru do registra informácií. Všetko funguje dobre manuálne, ale teraz je úlohou zabezpečiť, aby sa toto spracovanie začalo podľa plánu a bez otvárania formulára. Teda na pozadí, aby to fungovalo.
Spracovanie je prepojené vo formulári „Dodatočné výkazy a spracovanie“.

Kód v module formulára

Function InformationOnExternalProcessing() ExportRegistrationParameters = Nová štruktúra; Registration Parameters.Insert("View", "AdditionalProcessing"); Registračné parametre.Insert("Názov", "Načítanie zostatkov (PCService(C))"); Registračné parametre.Insert("Verzia", ​​"1.0"); Registration Parameters.Insert("SafeMode", False); Registračné parametre.Insert("Informácie", "Zostávajúce načítanie"); Registračné parametre.Insert("BSPVersion", "2.3.2.33"); CommandTable = GetCommandTable(); AddCommand(Príkazová tabuľka, "Načítanie zostatkov (PCService(C))", "1", "OtvoriťFormulár", Pravda,""); AddCommand(CommandTable, "Zostatky zaťaženia (PCService(C))", "2", "CallServerMethod", True,""); TeamId = "2"; Registračné parametre.Insert("Príkazy", Tabuľka príkazov); ReturnRegistrationParameters; Funkcia EndFunction GetTableCommands() Príkazy = NewValueTable; Commands.Columns.Add("View", NewTypeDescription("Row")); Commands.Columns.Add("Identifikátor", New TypeDescription("String")); Commands.Columns.Add("Usage", New TypeDescription("Row")); Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean")); Commands.Columns.Add("Modifier", New TypeDescription("Row")); Návratový tím; EndFunction Procedure AddCommand(CommandTable, View, Identifier, Use, ShowAlert = False, Modifier = "") NewCommand = CommandTable.Add(); NewCommand.View = Zobraziť; NewCommand.Identifier = Identifikátor; NewCommand.Use = Použitie; NewCommand.ShowAlert = ShowAlert; NewCommand.Modifier = Modifikátor; Koniec procedúry &Na serveri Procedúra Vykonať príkaz (ID príkazu, objekty priradenia) Exportovať Koniec procedúry

Keď kliknete na tlačidlo spustiť s možnosťou spustenia „Otvoriť formulár“, otvorí sa formulár a program sa okamžite spustí (spustí sa okamžite, pretože vo formulári v udalostiach „Pri CreatedOnServer“ je uvedené, že hlavný kód program sa spustí)
Keď kliknete na tlačidlo Execute s možnosťou spustenia „Call ServerMethod“, nevyvolá to žiadne chyby, ale žiadny výsledok.
Čo robím zle??

odpoveď:

Všetko som fajčil. Tu som musel skopírovať kód, ktorý som chcel vykonať bez otvorenia formulára

Otázka: Maloobchod 2.2 spustenie dodatočného spracovania podľa harmonogramu


pozdravujem. Maloobchod 2.2, je povolené ďalšie spracovanie a je nastavené plánované vykonávanie. Vykonávanie sledujem cez - Podpora a údržba - rutinné úlohy, moja úloha buď beží alebo prestane bežať podľa plánu, nejaký čas funguje presne podľa plánu a prestane bežať sama. Nie je to záležitosť samotného spracovania, pretože nedáva chybu, ale úloha sa jednoducho nespustí. Potom začne normálne fungovať sám. Čo môže ovplyvniť začiatok rutinnej úlohy?
Skúšal som nastaviť rôzne rozvrhy, ale nefungovalo to.

odpoveď:

Problém bol vyriešený preinštalovaním platformy na všetkých počítačoch

Otázka: Dodatočné spracovanie


Pekný deň všetkým.
Riadenie našej spoločnosti, verzia 1.6 (1.6.12.4)

Povedzte mi, je možné pridať ďalšie spracovanie do podsystému bez toho, aby ste sa dotkli konfigurátora?
Tie. Potrebujem, aby sa spracovanie vyvolalo nie cez dodatočné spracovanie, ale ako externá správa, okamžite v zozname podsystémov.

odpoveď:

Vytvorte zostavu v rozšírení, pridajte požadovaný (existujúci) podsystém do rozšírenia, vytvorte prepojenie na vytvorenú zostavu v „rozšírenom“ podsystéme.

Otázka: Používanie webových služieb pri dodatočnom spracovaní pomocou BSP


Dobrý deň
V čerstvom stave je potrebné zabudovať ďalšie spracovanie, ktoré bude pristupovať k Webovej službe inej databázy. Spracovanie je samozrejme v bezpečnom režime, avšak „je povolené využívať rozšírenie bezpečného režimu knižnice štandardných podsystémov (možnosť práce so súbormi, internetovými zdrojmi a pod.) prostredníctvom špecializovaného softvérového rozhrania s registráciou tzv. povolenia potrebné na dodatočné nahlasovanie/spracovanie.“ V aktuálnej verzii BSP však nemôžem nájsť, ako to nakonfigurovať. pomoc, prosím Nová verzia databázy: Enterprise Accounting, vydanie 3 .0 (3 .0 .59 .45) BSP 2.4 .5 .31

odpoveď: oO

Otázka: ZUP spadne pri spustení určitého spracovania, čo mám robiť?


Je tam dodatok, ktorý aktualizuje zúčtovacie doklady zapísané na základe výpovede. Po spustení tohto spracovania sa program hlúpo zatvorí bez akýchkoľvek správ. V debuggeri nič nevidím. V deň skúšky, na ktorý bol vyhotovený 1 doklad, prejde. Čo by som ešte mal urobiť? Spustil som testovanie a zdalo sa, že sa nevyskytli žiadne chyby.

odpoveď: skvelé, ale prečo bol cyklus potrebný? Ak máte nejaké záznamy, napíšte, neviem, do denníka alebo do niečoho iného, ​​nie potom upravte alebo nerobte nič

Otázka: Plánovaná úloha dodatočného spracovania


Konfigurácia Alfa-Auto: Autosalón + Autoservis + Autodiely CORP. Vydanie 6.
Vytvorené Externé spracovanie. Pripojil som to ako dodatočné spracovanie.
Nastavte plánované spustenie. Ale nezačína to chybou:
Rutinnú úlohu "Spustiť dodatočné spracovanie" nie je možné vykonať z dôvodu chýbajúcich nastavení v procedúre RoutineTasksOverridden.WhenDefiningRegularTaskSettings(). Kontaktujte správcu systému!
Kto mi môže povedať, čo je zlé na spracovaní alebo nastavení základne.

odpoveď:() Pozrite sa, čo je tam v RoutineTasksOverridden.WhenDefiningSettingsofRoutineTasks()
V BSP je tento postup zvyčajne prázdny. V Alfe sa možno niečo zlepšilo.

Otázka: Automatické spustenie externého spracovania


Pekný deň všetkým. Prosím, pomôžte, milí vývojári 1C, vyriešte tento problém.
Existuje externé spracovanie, má dve tlačidlá „Spustiť“ a „Odoslať“. Po kliknutí na tlačidlo „Spustiť“ sa tabuľková časť vyplní.
Po kliknutí na tlačidlo „Odoslať“ sa odošle e-mail s údajmi z tabuľkovej časti a priloženým súborom.

Otázka: Je možné, aby sa toto spracovanie automaticky vykonávalo každý deň? TIE. napríklad: o 8:00 ráno každého dňa sa spustila procedúra tlačidiel „Spustiť“ a „Odoslať“? Serverová základňa. Budem rád za každú pomoc a akékoľvek možnosti.

odpoveď:() A pri tejto možnosti spustenia sa proces 1C po spracovaní uzavrie? alebo je potrebné ukončiť spracovanie cez ShutdownSystem (False)?

Dobré ráno, povedzte mi skript, ktorý sa má spustiť podľa plánu spracovania, alebo skôr problém je v tom, že potrebujete skript (dávkový súbor), ktorý by sa spustil 1s 77, ale po kontrole, ak normálne spustenie zlyhá, potom bude exkluzívny s reindexáciou. A najlepšie s otvorením externého spracovania. Je potrebný na automatické nahrávanie, no časy odoslania sú všade nastavené inak. a väčšinou v noci.

odpoveď: akýkoľvek plánovač nncron xstarter

Externé spracovanie je veľmi pohodlný nástroj pre spoločnosti používajúce štandardné konfigurácie na 1C:Enterprise 8.3. Umožňujú vám nestrácať úsilie a peniaze na aktualizácie 1C, vďaka čomu je možné aktualizovať databázy jedným tlačidlom v jednoduchom používateľskom režime. Pomocou mechanizmu štandardných knižníc podsystémov môžete do dokumentov a referenčných kníh pridať rôzne tlačidlá bez toho, aby ste zmenili štandardnú konfiguráciu. Uvažujme o príklade vytvorenia a pripojenia externého spracovania v jednej z konfigurácií 1C.

Vytvárame externé spracovanie v 1C 8.3

Na vytvorenie nového externého spracovania používame konfigurátor. Cez menu „Súbor“ vyberieme príkaz na vytvorenie „Nový...“ a určíme, že vytvoríme externé spracovanie. V okne, ktoré sa otvorí, nastavte názov a po stlačení „Enter“ sa automaticky vyplní. Tento názov vám systém ponúkne aj ako názov súboru pri ukladaní.

Pridajme formulár na spracovanie kliknutím na tlačidlo s lupou v príslušnom okne. Napríklad vytvorte spracovanie, ktoré ukazuje, ktoré objednávky zákazníkov používajú určitú položku. Aby sme to urobili, musíme do formulára umiestniť:

  • Atribúty – pole pre nastavenie nomenklatúry;
  • Tlačidlo, ktoré zavolá kód.

Pridajte atribút „Nomenclature“ s typom údajov „DirectoryLink.Nomenclature“ v príslušnej sekcii a tlačidlo „Show“ v ponuke „Commands“ -> „Form Commands“.

Aby sa pridané údaje prejavili vo formulári, musíte ich pretiahnuť do prvkov formulára umiestnených v ľavej hornej časti. Pomocou modrých šípok je možné zamieňať prvky. Aby tlačidlo, ktoré sme vytvorili, robilo to, čo malo, je potrebné mu priradiť procedúru. V kontextovej ponuke vyberte „Akcia príkazu“ a na otázku, kde je potrebný handler, odpovieme: „Vytvoriť na klientovi a procedúru na serveri“.


Fragment 1

&OnClient Postup Show(Command) ShowOnServer(); Koniec procedúry &Procedúra na serveri ShowOnServer() //Vloženie obsahu obslužného programu. Koniec procedúry

Rozhodli sme sa vytvoriť procedúru na serveri, pretože ako výsledok chceme získať vzorku z databázy. Na klientovi túto možnosť nemáme, takže sa budeme musieť pripojiť na server, ktorý si vymieňa dáta s databázou. Teraz musíme napísať kód, ktorý implementuje to, čo sme naplánovali. Použije sa požiadavka a výstup všetkých dokumentov prostredníctvom funkcie „Report()“.


Fragment 2

&OnClient Procedure Show(Command) ShowOnServer(Nomenclature); EndProcedure &OnServer Procedure ShowOnServer(Nomenclature) Request = Nová požiadavka; Query.Text = "SELECT VARIOUS | Customer OrderComposition.Link AS Link | FROM | Document.Customer Order.Composition AS Customer OrderComposition | WHERE | Customer OrderComposition.Nomenclature = &Nomenclature"; Request.SetParameter("Nomenklatúra", Nomenklatúra); RequestResult = Request.Execute(); SelectionDetailRecords = QueryResult.Select(); Kým SelectionDetailedRecords.Next() Slučka Report(SelectionDetailedRecords.Link); EndCycle; Koniec procedúry

V súčasnej fáze môžeme otvoriť externé spracovanie v spustenej databáze 1C ako obyčajný súbor a už bude funkčné. Ak však máme veľa používateľov, budeme musieť tento súbor poslať všetkým a poskytnúť im pokyny, ako ho skutočne otvoriť v 1C, čo je mimoriadne nepohodlné. Aby sme tomu zabránili, naše spracovanie by sa malo nachádzať v jednej zo sekcií 1C. Aby sme to dosiahli, musíme ho ešte trochu upraviť cez konfigurátor a špecifikovať určité nastavenia.

Pre umiestnenie externého spracovania do sekcie 1C je potrebné zaregistrovať procedúru „Informácie o externom spracovaní“ v objektovom module. V hlavnej ponuke spracovania kliknite na Akcie a vyberte Objektový modul. Tu musíte zaregistrovať všetky nastavenia potrebné pre 1C, aby systém pochopil, čo sa od neho vyžaduje a aký druh súboru je pred ním. Snímka obrazovky zobrazuje kód funkcie „Informácie o externom spracovaní“.

Funkcia InformationOnExternalProcessing() Export DataForReg = New Structure(); DataForReg.Insert("Názov","Nové externé spracovanie"); DataForReg.Insert("SafeMode", True); DataForReg.Insert("Verzia", ​​"ver.: 1.001"); DataForReg.Insert("Zobraziť", "Ďalšie spracovanie"); CommandTable = NewValueTable; TabZnCommands.Columns.Add("Identifikátor"); TabZnCommands.Columns.Add("Použitie"); TabZnCommands.Columns.Add("Zobraziť"); NewRow = TabZnCommands.Add(); NewString.Identifier = "NewExternalProcessing"; NewRow.Use = "OpenForm"; NewRow.View = "Nové externé spracovanie"; DataForReg.Insert("Príkazy", TabZnPríkazy); Return DataForReg; EndFunction

Fragment 3

Pripojenie externého spracovania v 1C

Pred pripojením externého spracovania k štandardnej konfigurácii musíte povoliť používanie tohto nástroja. V „Administrácia“ v podpoložke „Tlačené formuláre, zostavy a spracovanie“ nastavte príznak oproti mechanizmu, ktorý potrebujeme. Sprístupní sa nám tlačidlo pre prechod do adresára dodatočného spracovania a prehľadov.


Keď prejdeme na zoznam, vytvoríme v ňom nový riadok a systém vás vyzve na výber súboru. Vyberieme spracovanie, ktoré sme vykonali a uložili, a konfigurácia 1C nezávisle vyplní väčšinu polí. Pomocou tlačidla „Spustiť“ už môžeme skontrolovať funkčnosť nášho spracovania, ale pre ostatných používateľov to nie je príliš výhodné. Aby používatelia mali naše príkazy a mohli uskutočniť hovor, musíme:

  • Zadajte umiestnenie objektu. Kliknutím na „Nedefinované“ otvoríme okno sekcií a uvedieme, v ktorých sekciách bude operácia dostupná;
  • Bez zbytočných nastavení vyberte používateľov, ktorým sa tento príkaz zobrazí v ponuke „Dodatočné spracovanie“ vybraných sekcií. Ak to chcete urobiť, v tabuľkovej časti musíte vybrať položku „Rýchly prístup“ a pridať zodpovedných používateľov do pravej polovice;
  • Na karte „Ďalšie informácie“ môžete určiť priečinok, v ktorom sa bude nachádzať stiahnuté spracovanie;
  • Po stlačení tlačidla „Napísať“ vo vybranej sekcii v ponuke „Ďalšie spracovanie“ používatelia nájdu náš príkaz a budú ho môcť použiť.

Ak chceme vykonať zmeny v našom spracovaní, musíme ho najskôr vyložiť z databázy. Na tento účel nájdite požadovaný riadok v adresári „Ďalšie spracovanie a zostavy“ a použite príkaz „Nahrať do súboru...“. Vykonajte zmeny, uložte spracovanie a pomocou tlačidla „Načítať zo súboru...“ vyhľadajte upravený súbor epf bez zmeny parametrov. Po zaznamenaní sa všetkým používateľom zobrazia vykonané zmeny.

Ak používate neštandardnú alebo ukončenú databázu 1C, využite možnosť stiahnuť si spracovanie cez konfigurátor. V strome objektov v časti „Spracovania“ vytvorte nové spracovanie a cez kontextové menu vyberte „Nahradiť externým spracovaním, správa...“. Zostáva len nakonfigurovať spustenie externého spracovania z požadovanej sekcie vrátane pridaného spracovania v požadovanom podsystéme.


Práca s externým spracovaním je veľmi pohodlná a umožňuje vyhnúť sa mnohým konfliktom. Ich jedinou významnou nevýhodou je, že sa neaktualizujú automaticky spolu s konfiguráciou. To znamená, že ak vývojári zmenili názov dokumentu alebo referenčnej knihy v hlavnej konfigurácii, budeme musieť manuálne nakonfigurovať spracovanie.

Vytvorenie rutinnej úlohy

Vytvorme rutinnú úlohu „Vykonať spracovanie“.

Zakážme používanie naplánovanej úlohy, aby sa pri aktualizácii konfigurácie nespúšťala automaticky.

Priraďme procedúru, ktorá sa spustí pri spustení rutinnej úlohy:Modul RoutineTasks.RoutineTaskExecutionProcessing.

Samotný postup vyzerá takto:

Procedúra RoutineTaskExecutionProcessing(Key) Export

Parameters of RoutineTasks.PerformProcessingWithParameters(Key);

Koniec procedúry

Vytvárame referenčnú knihu pre bežné úlohy

Naša rutinná úloha môže vyvolať mnoho procesov na pozadí – jeden pre každé spracovanie. Každá úloha na platforme 1C8 má kľúč. Metóda plánovanej úlohy však nepozná kľúč úlohy na pozadí, takže musíte použiť parametre úlohy na pozadí. V dôsledku toho môžeme vidieť úlohu na pozadí v konzole úloh, ale nemôžeme manuálne vytvoriť úlohu na pozadí z tejto konzoly, pretože úlohy s parametrami sa nevytvárajú manuálne.

Príručka „Parametre naplánovaných úloh“ :

Požiadavky :

· CodeBefore Launch- neobmedzený reťazec - kód v jazyku 1C, ktorý musí byť vykonaný pred spustením.

· Spracovanie z konfigurácie - riadok (100) - identifikátor spracovania z konfigurácie

· Spracovanie z adresára - riadok (100) - odkaz na prvok adresára „Externé spracovanie“, ak je taký v konfigurácii

· Spustite cez aplikáciu 1C - Boolean - vytvorí sa samostatná aplikácia 1C a spustí sa v nej rutinná úloha. Vytvorené pre 8.1, kde nie sú dostupné všetky aplikačné metódy na serveri, kde beží naplánovaná úloha.

· Spúšťací kód- - neobmedzený riadok - kód v jazyku 1C, ktorý sa vykoná pri spustení naplánovanej úlohy.

Vytvorme tvar prvku :

Kliknutím na tlačidlo „Vytvoriť registr. task" rutinná úloha s kľúčovým kódom sa vytvorí programovo:

Postup BasicActionsFormCreateReglTask(Button)

Variabilná práca;

Kľúč = AbbrLP(Kód);

Task = RoutineTasks.CreateRoutineTask("PerformProcessing");

Task.Name = Kľúč;

Task.Key = Kľúč;

Parametre = New Array();

Parameters.Add(Key);

Task.Parameters = Parametre;

Task.Write();

Koniec procedúry

Spustenie naplánovanej úlohy

Každá rutinná úloha, ktorú vytvoríme, má kľúč:

Tento kľúč zodpovedá kódu v adresári „Parametre rutinných úloh“, používa sa na vyhľadávanie pri spúšťaní úlohy. Ak sa položka adresára nenájde, úloha sa nevykoná.

Ďalej, ak je daný kódCodeBefore Launch potom sa tento kód vykoná. Ďalej, ak premenná Splniť vyhodnotí ako nepravda, úloha nebude dokončená. Premenná dostupná na analýzu možnosti, kde je uložený odkaz na nájdený adresárový prvok „Parametre rutinných úloh“.

V závislosti od zvolených hodnôt detailov sa spustí buď kód v jazyku 1C, alebo sa spustí spracovanie z konfigurácie, alebo sa spustí spracovanie zo štandardnej referenčnej knihy „Externé spracovanie“.

Pre 1C81 je spustenie poskytované v novej aplikácii – takže môžete použiť kód, ktorý je dostupný len na klientovi, vrátane využitia externého spracovania. Ak to chcete urobiť, musíte začiarknuť políčko „Spustiť aplikáciu 1C“. V opačnom prípade sa naplánovaná úloha vykoná na serveri.

Pre novovytvorenú rutinnú úlohu odporúčam nastaviť používateľa v poli „Používateľ“, aby sa úloha vykonávala s určitými právami. Odporúčam takémuto používateľovi udeliť plné práva. Používam používateľa "robota».

Plán rutinnej úlohy sa vytvára pomocou hypertextového odkazu „Plán“ z formulára rutinnej úlohy. Môžete použiť spracovanie „Rutine Task Console“.