Menu
Jest wolny
Zameldować się
główny  /  Multimedia. / Zadania regulacyjne i tła 1C 8.3. Uniwersalne zadanie regulacyjne.

Zadania regulacyjne i tła 1C 8.3. Uniwersalne zadanie regulacyjne.

Podczas pracy w 1C istnieje wiele rutynowych operacji, które należy uruchomić lub formować na harmonogramie wykonywaniu tego lub tego działania, na przykład: prowadzenie dokumentów lub obciążenia danych w 1C z witryny.

Niedawno opublikowałem artykuł: Nadszedł czas, aby go zautomatyzować:

Regulamin i zadania w tle

Mechanizm zadania jest zaprojektowany do wykonywania dowolnego zastosowania lub funkcjonalności na harmonogramie lub asynchronicznie.

Mechanizm zadania rozwiązuje następujące zadania:

  • Możliwość definiowania procedur regulacyjnych w fazie konfiguracji systemu;
  • Wykonanie określonych działań na harmonogramie;
  • Wykonywanie połączenia dla danej procedury lub funkcji asynchronicznej, tj. bez czekania na jego zakończenie;
  • Śledzenie postępu określonego zadania i uzyskanie statusu zakończenia (wartości wskazujące na sukces lub nie udaną realizację);
  • Odbieranie listy bieżących zadań;
  • Umiejętność czekać na zakończenie jednego lub więcej zadań;
  • Zarządzanie pracą (umiejętność anulowania, wykonywania blokady itp.).

Mechanizm zadania składa się z następujących elementów:

  • Metadane zadań regulacyjnych;
  • Zadania regulacyjne;
  • Zadania w tle;
  • Harmonogram pracy.

Zadania w tle i są zaprojektowane do wykonywania zadań stosowanych asynchronicznie. Zadania w tle są realizowane przez wbudowany język.

Zadania zasad i są zaprojektowane do wykonywania zadań harmonogramu zastosowanego. Zadania regulacyjne są przechowywane w bazie informacyjnej i są tworzone na podstawie metadanych zdefiniowanych w konfiguracji. Metadane zadania regulacyjnego zawiera takie informacje jak nazwa, metoda, użytkowanie itp.

Zadanie regulacyjne ma harmonogram, który określa, które momenty czasu muszą być przeprowadzane przez metodę związaną z zadaniem regulacyjnym. Harmonogram jest zwykle ustawiony w bazie informacyjnej, ale może być również określony na etapie konfiguracji (na przykład dla predefiniowanych zadań regulacyjnych).

Harmonogram zadań służy do zaplanowania wykonania zadań regulacyjnych. Dla każdego zadania regulacyjnego planista okresowo sprawdza, czy bieżąca data i godzina harmonogramu zadania regulacyjnego jest prawdziwa. Jeśli pasuje, harmonogram przypisuje takie zadanie do wykonania. Aby to zrobić, zgodnie z tym zadaniem regulacyjnym, planista tworzy zadanie tła, które wykonuje prawdziwe przetwarzanie.

Z opisem, wystarczy - przejdę do wdrożenia:

Tworzenie zadania regulacyjnego

Nazwa metody. - Ścieżka do procedury, która zostanie wykonana w zadaniu tła na określonym harmonogramie. Procedura musi znajdować się w ogólnym module. Zaleca się nie używać typowych wspólnych modułów, ale tworzyć własne. Nie zapomnij tego zadania w tle Wykonane na serwerze!

Za pomocą - znak przy użyciu zadania regulacyjnego.

Predefiniowany- Wskazuje, czy zadanie regulacyjne jest predefiniowane.

Jeśli chcesz pracować jako zadanie regulacyjne natychmiast po pokoju w bazie danych, określ znak Predefiniowany. W przeciwnym razie będziesz musiał użyć przetwarzania konsoli zadania lub zadzwoń do zadania, aby rozpocząć programowo.

Liczba powtórzeń w przypadku zakończenia awaryjnego - Ile razy ponowne uruchomienie pracy w tle, jeśli został wykonany z błędem.

Powtórz interwał, gdy awaria wypadku - Jakiego częstotliwości zostanie skonfigurowany do ponownego uruchomienia zadania w tle, jeśli przeprowadzono z błędem.

Ustawianie harmonogramu.

harmonogram Wydajność zadania:

Co godzinę, tylko jeden dzieńOkresstoistnee \u003d 0, okresowyNaedydee \u003d 3600
Każdego dnia raz dziennieOkresstoistnee \u003d 1, okres dwustronnyANeednya \u003d 0
Pewnego dnia razOkresstrans: 0.
Co drugi dzień raz dziennieOkresy \u003d 2.
Co godzinę od 01.00 do 07.00 każdego dniaOkresstoistnee \u003d 1 Periodhonthe Showroom \u003d 3600 wyciągnięty \u003d 01.00

Czas konferta \u003d 07.00

W każdą sobotę i niedziela o godzinie 09.00Okresstoistnes \u003d 1dnnnedheli \u003d 6, 7 wyciągnięty \u003d 09.00
Każdego dnia tygodnia tygodnia weekmisjiOkresstrans: 1 okres \u003d 2
O 01.00 razCzas \u003d 01.00.
Ostatni numer każdego miesiąca o 9:00.Okresstoistnee \u003d 1 Deniye \u003d -1 wyciągnięty \u003d 09.00
Piąta liczba każdego miesiąca o 9:00Okresstoistnee \u003d 1 Deniye \u003d 5 wyciągnięty \u003d 09.00
Drugie środowisko każdego miesiąca o 9:00Okresstoistnee \u003d 1deneliyvyza \u003d 2dnnnyed \u003d 3

Top \u003d 09.00.

Funkcje wykonania plików zadań w tle i wersji serwera klienta

Mechanizmy do wykonywania zadań w tle w wariantach plików i serwerów klientowych różnią się.

W wersji pliku Konieczne jest utworzenie wybranego procesu klienta, który dokonuje wydajności zadań w tle. Aby to zrobić, w procesie klienta funkcja kontekstu kontekstu globalnego kontekstu powinna być zajęta. Tylko jeden proces klienta w bazie informacyjnej musi wykonać przetwarzanie zadań w tle (i odpowiednio, przyczyny ta cecha). Jeśli proces klienta nie zostanie utworzony do przetwarzania zadań w tle, wtedy, gdy dostęp do oprogramowania Menedżer zadań zostanie wydany mechanizm pracy. Proces klienta, który wykonuje przetwarzanie zadań w tle nie jest zalecany dla innych funkcji.

Po uruchomieniu procesu klienta wykonującego przetwarzanie zadań tła, pozostałe procesy klientów uzyskają możliwość dostęp do oprogramowania do mechanizmu zadań w tle, tj. Może działać i zarządzać zadaniami w tle.

W wersji klient-serwer Aby wykonać zadania tła, używany jest harmonogram zadań, który jest fizycznie w menedżerze klastrów. Harmonogram dla wszystkich zadań tła przypisanych do wykonywania zadań tła otrzymuje najmniej załadowany przepływ pracy i wykorzystuje go do wykonania odpowiedniego zadania w tle. Przepływ pracy jest zadaniowy i powiadamia harmonogram o wynikach wykonania.

Wersja serwera klienta ma możliwość blokowania wykonywania zadań regulacyjnych. Blokowanie wykonywania zadań regulacyjnych występuje w następujących przypadkach:

  • Podstawa informacyjna ma wyraźne blokowanie zadań regulacyjnych. Zamek można zainstalować za pomocą konsoli klastrowej;
  • Baza danych informacyjnych jest ustawiona na blokowanie połączenia. Zamek można zainstalować za pomocą konsoli klastrowej;
  • Od wbudowanego języka, metoda ustawień monogularny () z parametrem prawdy jest nazywana;
  • W innych przypadkach (na przykład podczas aktualizacji konfiguracji bazy danych).

Uruchamianie i przeglądanie reguł dla zadań regulacyjnych Możesz tutaj pobrać.

" W nim przyjrzymy się nowych funkcji, które nie dotyczą interfejsu systemu, ale znacznie rozszerzają podaną funkcjonalność platformy "1C: Enterprise 8".

Stosowalność

W artykule omówiono platformę "1C: Enterprise" w wersji 8.3.4.437. Wszystkie funkcje opisane w artykule jest aktualizowane do Redakcji 8.3.11.

Inne innowacje w "1C: Przedsiębiorstwo 8.3"

Będziemy nadal zapoznać się z innowacjami platformy 1C: Enterprise 8.3.

Tło i zadania regulacyjne w bazie informacji o plikach

W wielu typowych konfiguracjach platformy 8.2 Była stała, w której użytkownik został określony, w którym zadania zostały wykonane w pliku.

Po uruchomieniu systemu, pod tym użytkownikiem wystąpił przewodnik oczekiwania, który na pewną okresowość spowodowała metodę wbudowanej języki. PorysingPackets ().

Takie podejście stworzyło dodatkowe trudności i niedogodności, aby korzystać z zadań regulacyjnych w bazie danych plików.

Może to być szczególnie krytyczne podczas pracy z takimi konfiguracjami jak "Automatyka kompleksowa" lub "Zarządzanie przedsiębiorstwem produkcyjnym"W którym zadania regulacyjne odgrywają raczej ważną rolę.

Jeśli to jest Fileib
=
Stałe. Zwykle pełne planethere Worsvariant. Skup się();
Jeśli glnageved.("Usuwanie użytkownika") =
KlipNastępnie
// W przedziale sekund wywołaj procedurę pracy z zadaniami regulacyjnymi
SupportedLentyloentyfyle Filevession.();
Interwał=
Stałe. Intervallasprosarlamentadnayataniyvifylevarisa. Wlać();
Jeśli Interwał\u003d Niepewny
LUB Interwał\u003d 0 Następnie.
Interwał= 60 ;
Zakończony;
Connectographicing.("SupportDlamedadantedlamyFilevation",
Interwał);
Zakończony;
Zakończony;

Na platformie 8.3 Prace zadań w tle i regulacyjnych w bazie danych informacji o plikach jest realizowany bez użycia metody kontekstu globalnego PorysingPackets ().

Zadania tła i regulacyjne są wykonywane bezpośrednio w jednej z aplikacji klienckich (cienkich, grubych klient) lub rozszerzenia serwera WWW.

Zadanie tła prowadzone przez dowolną sesję jest wykonywane przez tę samą aplikację kliencką, która ją zainicjowała.

Zadania tła są wykonywane sekwencyjnie, tj. W jednej aplikacji Klient w pewnym momencie można wykonać tylko jedno zadanie tła (w tym regulacyjne).

Zadania regulacyjne są wykonywane tylko przez jedno zastosowanie klienta. Aby zarządzać rozpoczęciem zadań regulacyjnych, klawisz wiersza poleceń jest przeznaczony. DelffexecutecheduledJobs..

Zadania regulacyjne są najpierw wykonywane w celu rozpoczęcia wniosku klienta, który nie zakazuje wykonania zadań regulacyjnych (dla zakazu sesji należy uruchomić za pomocą parametru linii poleceń DefledexecutcheduledJobs -Off.).

Po zakończeniu tej sesji wykonanie wpływa do dowolnej z pozostałych biegłych sesji.

Jeśli ciąg aplikacji Klient wyraźnie wskazuje potrzebę rozpoczęcia zadań regulacyjnych (w wiersz poleceń Określony AFLUELEXECUTCHEDULDJOBS -Force.) Zadania regulacyjne zaczynają na niej wykonywać, niezależnie od dostępności innych sesji.

Przetwarzanie zadań regulacyjnych występuje raz na 60 sekund.

Zauważ, że zadania regulacyjne zastosowane rozwiązanie (W pliku) zaczął być wykonany nie wcześniej niż 1 minutę po uruchomieniu aplikacji klienta. Zaczynając od wydania 8.3.8, tym razem został podwojony, a zatem zadania regulacyjne zaczynają być wykonane do maksymalnie 2 minuty po uruchomieniu klienta (w pliku).

To rozwiązanie wynika z zmniejszenia opóźnienia po uruchomieniu aplikacji. Ponadto w wersji 8.3.7, możliwość szybkiego określenia, że \u200b\u200bbieżąca sesja jest sesją zadań w tle. Jest to realizowane kosztem nowej metody kontekstu globalnego, aby uzyskać podstawę theseansinformational (), a także nową metodę na sesji bazowej informacji. Opendfonevenation ().

Poniżej znajduje się kod, który ilustruje opisane powyżej:

Aby powiększyć, kliknij obraz.

Obliczanie kontrolnych

Na platformie, mechanizmy wydawały się obliczyć sumy sterujące.

Przypomnijmy, że suma kontrolna (Hash) jest pewną wartością obliczoną przez dane ustawione za pomocą określonego algorytmu i używane do weryfikacji integralności danych, gdy są one przesyłane lub przechowywane.

Hischai może być użyty do sprawdzenia tożsamości danych (na przykład, konieczne jest upewnienie się, że nie jest uszkodzony podczas przesyłania pliku; Sprawdź, czy były zmiany w pliku, a jeśli tak, a następnie załadowano go do bazy danych jeszcze raz).

Aby to zrobić, obiekt został wdrożony na platformie CzechirowanyDostępne na serwerze w grubym kliencie, połączenia zewnętrzne, a także na mobilnym serwerze aplikacji.

Ten obiekt ma dwie metody: Dodaj () i Aby dodać plik ()Kto aktualizuje sumę Hash z danymi transmitowanymi w parametrach.

Platforma 8.3.4.437 Obsługuje obliczenie następujących funkcji Hash: CRC32., MD5., Sha1., Sha256.. Ale funkcje Sha1.i Sha256.nie obsługiwany na platformie mobilnej.

Rozważmy prosty przykład. Zakłada się, że na serwerze w katalogu programu znajduje się plik " ragent.exe.". Konieczne jest obliczenie MD5.-Sumaż dla tego pliku.

Zrobić to, stwórz przetwarzanie zewnętrzne, na formularzu zostaną umieszczone Oblicz. Handler zawiera następujący kod:

& Svalete.
Oblicz procedurę (polecenie)
Wynik \u003d. Oblicz serwer();
Raport (ciąg (wynik));
Wytłaczane
& Na serwerze.
Funkcjonować Oblicz serwer()
Hash \u003d Nowy Czechirowany(.Md5 Hashfunction);
Hash.daddlindile.(Program katalogowy() + "Ragent.exe");
RETURN HESE.EFEUMUM;
Endfunction.

Na platformie redakcyjnej 8.3.10+ w metodzie Dodaj () Obiekt Czechirowany Możliwe było wykorzystanie strumienia danych binarnych, co znacznie uprościło ich stosowanie w rozwiązywaniu różnych zadań aplikacji do aktualizacji sumów Hash.

Pracuj z bezpiecznymi wersjami protokołów SMTP / POP3.

Na platformie 8.3 Istnieje okazja do użycia chronionych wersji protokołów. SMTP / POP3. (Znaleziono terminy SMTPS / POP3S. lub SSLSMTP / SSLPOP3.).

Dla obiektu. InternetpootPofil. Nowe właściwości wdrożone:

  • Usesslsmtp.;
  • Usesslpop3.;
  • RozluźnienieMTP.;
  • RozluźnienieTificationpop3..

Nieruchomości AuthenticationSmtp.i AuthenticationPop3.obiekt InternetpootPofil.jak również wyliczenia Podsmpautentification.i Popop3anauthentification.użyj go nie jest zalecane - są obsługiwane w celu kompatybilności.

Za pomocą bezpiecznego protokołu SMTPS.umożliwia wysyłanie poczty 1c.Za pomocą skrzynka pocztowa Google.

Rozważ przykład. W formularzu mamy pole do wprowadzenia przedmiotu listu i adresu odbiorcy, a także wprowadzenie tekstu listu - pole sformatowanego dokumentu.

Aby powiększyć, kliknij obraz.

Naciśnięcie przycisku. Wysłaćnastępujący kod zostanie wykonany:

& Svalete.
Procedura Wyślij (polecenie) Mail \u003d New Online Pub; Profil \u003d nowy InternetpootPofil.;
Profil. PressResersMTP.\u003d "Smtp.googlemail.com";
Profil. UżytkownikówMTP.= “[Chroniony e-mail]” ;
Profil. Palsmtp.\u003d "Hasło";
Profil. Usesslsmtp.\u003d Prawda;
Profil. Portsmtp \u003d 465; Próba
Poczta. Konferencja.(Profil);
Wyjątek
Opis raportu ());
Zwrot;
Uroczystości; Pocztowy Informantexter.= “” ;
Załączniki \u003d nowa struktura;
Text.chelchhtml.(Pocztowy Informantexter., Inwestycje); Postalizowanie\u003d Nowy Dżinga internetowa;
Postalizowanie. Praktykujący. Dodaj(Do kogo);
Postalizowanie\u003d Temat;
Pocztyzowanie. Biali. Dodaj(Pocztowy Informantexter.,
Tytextapochetovop.html.); Adres mailowy ( Postalizowanie); Poczta. Postępuj();
Wytłaczane

Zauważ, że w naszym przykładzie, jeśli serwer SMTP nie mógł wysłać wiadomość elektroniczna adresata (-am), a następnie metoda Poczta. Wyślij (Komunikacja pocztowa) wygenerowałem wyjątek. Spowodowało to pewne niedogodności od programistów, ponieważ Powodem wytwarzania wyjątku nie był oczywisty.

W Redakcji 8.3.9 Zachowanie to zmieniło się, a teraz metoda wysyłania () zwraca zgodność, którego klucz jest adresatem, a wartość - diagnoza z serwer poczty elektronicznej. Pozwala to dokładnie określić powody nieudanego e-maila wysyłającego do każdego z adresatów. W trybie zgodności z wersją 8.3.8 zachowanie nie zmieniło się.

Drukowanie dwustronne

Na platformie 8.2 Sama platforma nie radziła sobie z dwustronną uszczelką, można zarządzać tym funkcją tylko za pomocą sterownika drukarki.

Na platformie 8.3 Możliwość sterowania dwustronną uszczelką do dokumentu tabeli, schematu graficznego (z wbudowanego języka i interaktywnie) i dokument tekstowy (Tylko interaktywnie).

W wbudowanym języku pojawiły się oferty systemowe:

  • Typidowy zmiękczający(Nie, Dvorsope, Doraved);
  • (Auto, Mirror Power, Slab Lustro, Rozumiem).

I w obiektach Drzewnyi Glapiftshem.pojawiły się właściwości Drukowanie dwustronnei Naprzemienna rozdzielenieTranitryna.Z którym można zmienić lokalizację wydrukowanych stron.

W Redakcji Platformy 8.3.9 dodano nowe znaczenie do listy systemowej TIDYLON Użyj Nastyprinter.. Wybór ta wartość Dozwolone użycie ustawień drukarki podczas drukowania dokumentów systemowych. W trybie kompatybilności z wersją 8.3.8 zachowanie nie zmieniło się, a odpowiednie ustawienia drukarki są ignorowane.

Dialog publikacji bazy informacyjnej na serwerze WWW jest bardziej funkcjonalne. Teraz publikowanie konfiguratora umożliwia ustawienie wszystkich ustawień plików. default.vrd..

Dialogowy publikowanie klienta internetowego i usługi internetowe za pośrednictwem konfiguratora jest wdrażane:

  • domyślnie możliwość zarządzania dostępnością usług internetowych (atrybut pointenablecommon. Element ws.);
  • możliwość kontrolowania wykonywania zadań w tle w pliku (atrybut delffexecutecheduledJobs. Element ws.).

Jeśli flaga "Publikuj usługi domyślnie" Na karcie. "Podstawowy" Zainstalowany, gdy aktualizowanie publikacji wybrane usługi internetowe zostaną opublikowane automatycznie.

W przeciwnym razie usługi internetowe zostaną oznaczone jako niezgodne. Ta flaga pasuje do atrybutu pointenablecommon.element ws.w pliku default.vrd.Zaprojektowany, aby skonfigurować klienta internetowe i usługi internetowe.

Atrybut pointenablecommon.element WS jest odpowiedzialny za możliwość korzystania z usług internetowych w tej bazie informacyjnej, które są publikowane bez wyraźnego korzystania z uprawnień do użytku (atrybut włączyćelement punkt).

Jeśli atrybut jest ważny prawdziwe.Następnie wszystkie usługi sieciowe, dla których wartość atrybutu jest wyraźnie nie określona. włączyćelement punktbędzie dozwolony do użytku.

W przeciwnym razie użycie takich usług internetowych będzie zabronione.

Oprawa "Zadania w tle w trybie pliku" odpowiada atrybucie delffexecutecheduledJobs.ws element w pliku default.vrd..

Atrybut delffexecutecheduledJobs.zarządza zdolnością do wykonywania zadań regulacyjnych do ekspansji serwera WWW dla pliku podstawy informacji.

Atrybut może podjąć następujące wartości:

  • poza- W tym przypadku przedłużenie serwera WWW nie wykona zadań regulacyjnych. Wykonywanie zadań regulacyjnych będzie aplikacją klienta (jeśli istnieje), która łączy się bezpośrednio z bazą danych informacyjną, bez użycia serwera WWW.
  • siła- W tym przypadku przedłużenie serwera WWW wykonuje zadania regulacyjne.
    Jeśli wartość tego atrybutu nie jest określona, \u200b\u200bzadania regulacyjne wykonają aplikację, z którą zostanie wykonana pierwsze połączenie z bazą informacji.

Okno publikacji w serwisie internetowej w bieżącym wydaniu platformy stało się jeszcze wygodniejsze i ergonomiczne. Teraz parametry opisujące uwierzytelnianie OpenID są wykonane na oddzielnej karcie.

Numeracja obiektów bazowych informacji

Na platformie 8.3 mechanizm recyklingu automatyczna numeracja Obiekty bazowe informacji. Monitorowanie wyjątkowości liczby lub kodu (w tym numer lub kod uzyskany w wyniku automatycznego wytwarzania) jest zawsze wykonywane podczas wpisania obiektu.

Tekst wyjątkowości wyjątkowości liczby lub kodu dodaje się do wskazania, którego numer lub kod nie jest unikalny.

Zmieniono użycie wyzwolonego numeru lub kodu. Nowy numer lub kod jest przypisany bez użycia wydanych numerów lub kodów, jeśli istnieją już wydane liczby lub kody z dużym (w porządku) liczbą lub kodem.

Łączny język języka Language Language Layout

W języku wyrażeń systemu układu danych wdrażane są nowe funkcje kruszywa:

  • Wszyscy();
  • Każdy();
  • Standardowa alternatywna degeneracja ();
  • Stwory StandardLonions ();
  • Wystawa dyspersji ();
  • Czujnik dyspersji ();
  • Pojemnik kowariantyczny ();
  • CovarirationSeBors ();
  • Korelacja();
  • Regresionallon ();
  • Regressing ();
  • Pojemność regresji ();
  • RegresjaR2 ();
  • Uformowany ();
  • Regresja średnia ();
  • Regresja średnioxxx ();
  • Regresja średnia ();
  • Regresyjne średnie ().

Jak widać z nazw, są to funkcje statystyczne, oznacza to, że deweloperzy mają możliwość tworzenia złożonych raportów bez uciekania się do rozwoju procedur obliczania danych statystycznych.

Aby powiększyć, kliknij obraz.

Jak widać na rysunku, nie ma nowych funkcji na liście rozwijanej, ale jeśli ręcznie wprowadzisz je komunikat o błędzie nie będzie, a raport zostanie utworzony:

Interesuje się również nowa cecha Klasyfikacjaabc (). Wynikiem funkcji funkcji będzie numer klasy, począwszy od 1 (1 odpowiada klasie A, 2 - klasa B, 3 - klasy C itp.).

Zapazujemy pracę tej funkcji. Utwórz nowy raport zewnętrzny "Klasyfikacja towarów" Na podstawie żądania:

WYBIERAĆ
Carchdranovanovari.thovar.,
Costbarovanovari.Colism.
Z
Dokument. Źródło. DopasoweryTAK JAK Costbatovaratovari.

Określ nowe obliczone pole Klasa:

Aby powiększyć, kliknij obraz.

Skonfigurujemy zasoby w następujący sposób:

Aby powiększyć, kliknij obraz.

W trybie użytkownika raport wygląda tak:

Podsumowując, zauważamy, że od Redakcji w platformie 1C 8.3 8.3, Mechanizm SCD jest stale ulepszony i wyrafinowany, aw naszym "Newcomer" Zmiany danych dotyczących artykułów nie są możliwe. Tak, wydaje się niepotrzebne, ponieważ, pracując rzeczywista wersja Platformy, zawsze można skorzystać z różnych systemów referencyjnych, aby pomóc w analizie określonego aspektu działania tego mechanizmu.

Ponadto nie zapomnij o naszym odrębnym kursie, profesjonalnym rozwój raportów w 1C 8.3 w systemie układu danych, który przejmuje wszystkie subtelności i boiska do atomu podczas pracy z tym mechanizmem. Spójrz na demo siebie i.

Podsumujmy więc wyniki. Do tego momentu zapoznaliśmy się z nowymi funkcjami interfejsu "taksówki" i zarządzane formy, a także z pewnymi wcześniej dostarczonymi możliwościami samej platformy. Teraz nadszedł czas, aby zobaczyć co wygodne możliwości Deweloper w konfiguratorze stał się dostępny.

Często, podczas rejestracji istnieje potrzeba okresowego wykonywania pewnych działań bez interwencji użytkownika. Zadania regulacyjne i tła w 1C - te mechanizmy, które są świadczone w tym celu w ósmej wersji programu i zezwalają na:

  • Ustanowił terminową prereparację dokumentów;
  • Obliczyć pozostałości i wyniki;
  • Zapewnij częstotliwość listy mailingowej;
  • Sprawdź i usuń nieistotne dane.

Tło i zadanie regulacyjne - Co to jest i gdzie jest skonfigurowany

Zadaniem regulacyjnym jest mechanizm położony w 1C, który umożliwia skonfigurowanie i, zgodnie z Układaną zaplanowaną i częstotliwością, wykonaj określoną sekwencję działań.

Zadaniem tła jest działaniem generowanym przez działanie regulacyjne i nie wymaga bezpośredniego uczestnictwa użytkownika.

Tworzenie zadania regulacyjnego występuje w trybie konfiguratora:

  • W oknie Drzewo konfiguracji znajdujemy odpowiednią gałąź (rys. 1);
  • Kliknij przycisk Dodaj;
  • W oknie, które otwierają się, należy określić nazwę, która umożliwia identyfikację obiektu w konfiguracji;

Rys. 2.

  • Naprzeciwko napisu "Harmonogram" (rys. 2) jest napis "Otwórz", klikając, które otwierają ustawienia czasowe i okno otwierające okresowe (rys. 3);

Rys. 3.

  • Należy również wypełnić "nazwę metody" (nazwa procedury wyrządzonej z ogólnego modułu i algorytmu opisującego zachowania programu zostanie wprowadzone tutaj;
  • Pola "Nazwa" i "Key" pozwalają na grupowanie obiektów;
  • Flaga "Użycie" wskazuje aktywność operacji regulacyjnej;
  • "Predefiniowany" należy zainstalować, jeśli obsługiwacz musi rozpocząć się natychmiast po dodaniu do bazy danych, w przeciwnym razie uruchomienie można wykonać z odpowiedniego przetwarzania (o tym poniżej);
  • Parametry "Liczba powtórzeń" i "powtórzenia interwałów" opisują zachowanie programu w przypadku wyjątkowej sytuacji podczas wykonywania zadania tła.

Tak więc, wykorzystując mechanizm operacji regulacyjnych, możesz ustawić harmonogram i główne działania zadań w tle. Teraz rozważmy ich funkcje.

Cechy zadań w tle

Główną cechą tego mechanizmu jest to, że proces tła jest wykonywany asynchronicznie.

Co to znaczy. Faktem jest, że z synchronicznym modelem pracy, w przypadku wykonania, każdy algorytm jest zablokowany interfejs użytkownika. W naszym przypadku użytkownik może nadal wprowadzać i edytować dane, nawet jeśli działa procedura. Model programowania asynchronicznego obejmuje oddzielenie strumieni komputerowych.

Zatem zadania w tle w 1C mogą generować swoje procesy, dystrybucję obliczeń na różnych serwerach wprowadzających jeden klaster.

Cechy pracy w trybie klient-serwer

  • Wykonanie i planowanie kontroli prowadzone jest przez harmonogram z klastra serwera;
  • W przypadku wniosku wykonawczego harmonogram szuka przepływów pracy klastra przy minimalnym obciążeniu i dystrybuuje im zadania;
  • Każdy proces może wykonywać kilka obliczeń równoległych;
  • Po odebraniu zadania proces jest podłączony do podstawy i wykonuje w nim algorytm;
  • Proces zgłasza planer na temat wyników.

Zadania w tle w trybie pliku

Przed wersją platformy 8.3.3.641. Praca z zadaniami tła w wersji plików reprezentowaną pewne trudności:

  1. Konieczne było uruchomienie oddzielnej sesji, która działałaby po zegarze, zastępując planistę;
  2. Ta sesja miała okresowo wykonać metodę wykonania ().

Po zaktualizowaniu, każdy początek gruby i smukły klienci.W przypadku, gdy w ustawieniach START (Rys. 4) W polu "Dodatkowe", określono klucz VELLOXEXECUTCHEDULDJOBS, inicjuje dodatkowy strumień połączenia do bazy danych, co nie wpływa na użytkownika do pracy, ale wykonuje tylko operacje tła.

Rys.4.

Należy pamiętać, że nawet w wersji plików, procesy tła nie pozwalają na interaktywną pracę z użytkownikiem (oficjalne wiadomości, ostrzeżenia, problemy nie będą wyświetlane). Oznacza to, że konieczne jest zakodowanie ich tak, jakby zostaną wykonane z boku serwera.

Jak wyłączyć zadania regulacyjne

Niewykorzystane zadania mogą być wyłączone, po prostu usuwając pole wyboru, aby "użyć" w Właściwości obiektu.

W przypadku, gdy administrator musi zabronić stosowania operacji regulacyjnych i tła dla całej bazy jako całości (na przykład, nie jest przechowywany przez kilka baz danych, z których tylko jeden podstawowy, a reszta jest używana tylko do rozwoju) Konieczne jest użycie narzędzia administracyjnego bazy danych. Możesz także zainstalować "Zainstaluj blokowanie przepisów" w bazie danych utworzonej na serwerze.

Ponadto na dyskach istnieje specjalne przetwarzanie "konsoli pracy", co pozwala edytować harmonogram procesy w tle I zmień ich działalność.

Zadania regulacyjne w 1C są zaprojektowane do wykonywania pewnych procedur w harmonogramie, z pewną częstotliwością.

Zadania regulacyjne są przechowywane w bazie informacyjnej, mają harmonogram uruchomienia. Sama startowa jest w pełni wykonana, jeśli baza informacji jest serwer klient. Jeśli podstawa jest plik, należy wykonać następujące kroki:

  • przydzielić specjalny użytkownik do wykonywania zadań regulacyjnych;
  • podstawa powinna być otwarta pod tym użytkownikiem, w którym okresowo należy wykonać Wykonywanie potwierdzenia ().

Tworzenie zadania regulacyjnego

Zadania regulacyjne - obiekt metadanych konfiguracji 1C. Znajduje się w General Group. Rozważ parametry i właściwości zadań regulacyjnych.

Nazwa metody.- Ścieżka do procedury eksportu w ogólnym module, który zostanie wykonany w danym harmonogramie. Procedura musi być wykonana na serwerze. W tym zadaniach regulacyjnych z czymś podobnym do obiektu Subskrybuj wydarzenie.

Klucz - Umożliwia utworzenie kilku zadań regulacyjnych tego samego typu. Na przykład, wykonanie synchronizacji danych między wieloma bazami informacji można wdrożyć za pomocą jednego obiektu metadanych. RozporządzenieJednocześnie kilka (według liczby zasad wymiany) zostanie utworzony przez zadania regulacyjne. Różne te zadania regulacyjne będą różne Klucz. W tym samym czasie można wykonać tylko jedno zadanie z tym samym kluczem.

Za pomocą - Flaga pokazująca, czy zadanie regulacyjne jest włączone.

Predefiniowany- Tutaj możesz narysować analogię z predefiniowanymi elementami książki referencyjnej. Predefiniowane elementy Utworzony w konfiguratorze i dotyczy użytkowników. Konwencjonalne elementy użytkownika tworzą sam. Z zadaniami regulacyjnymi w taki sam sposób: Jeśli zostanie z góry określony, to istnieje i może być wykonywany na harmonogramie natychmiast po utworzeniu w konfiguracji. Jeśli flaga Predefiniowanynie zainstalowany, użytkownik musi utworzyć jeden lub więcej zadań regulacyjnych tego typu (na przykład, przez Konsola zadań).

Liczba powtórzeń w przypadku zakończenia awaryjnego - Określa, ile razy zadanie tła jest ponownie uruchamiane, jeśli został ukończony z błędem.

Powtórz interwał, gdy awaria wypadku - Określa, która częstotliwość ponownego uruchomienia zadania tła, jeśli została zakończona z błędem.

Praca oprogramowania z zadaniami regulacyjnymi

W tych przykładach rozważymy współpracę z konwencjonalnymi, nie z góry określonymi, zadaniami regulacyjnymi.

Tworzenie oprogramowania zadania regulacyjnego

// Utwórz zadanie
"MARELIMENTACJA") ;

// Zainstaluj klucz zadania regulacyjnego (nie jest wymagane)
Zadanie. Klucz \u003d "Klawisz";

// włącz zadanie regulacyjne
Zadanie. Użyj \u003d prawda;

// Napisz zadanie regulacyjne
Zadanie. Zanotować ();

Oprogramowanie uzyskuje zadanie regulacyjne do zmiany parametrów

W tym przykładzie zakładamy, że istnieje tylko jedno zadanie regulacyjne tego typu. Jeśli zadania są kilka, wiedząc, nie trudno jest wprowadzić odpowiednie zmiany w kodzie.


"Nazwagelament"] ) ) ;


Jeśli zadania. Ilość ()\u003e 0 Następnie
Zadanie \u003d zadania [0];


Inaczej
Zadanie \u003d aplikacje regulacyjne. KatestreatName ( "Nazwagelament") ;

Zakończony;

// zadanie regulacyjne jest w zadaniu zmiennym. Możesz zmienić jego parametry.

Złączyć harmonogram zmiany dialogu dla zadań regulacyjnych

Istnieje specjalny rodzaj dialogu do pracy z harmonogramem zadania regulacyjnego. Nadal zakładamy, że mamy tylko jedno zadanie regulacyjne tego typu.

// Uzyskaj tablicę z zadaniami regulacyjnymi żądanego typu
Zadania \u003d aplikacje regulacyjne. Opłaty operacyjne (nowa struktura ("metadane", metadane. Zastosowania regulacyjne [ "Nazwagelament"] ) ) ;

// Jeśli zadanie istnieje, a stan to jeden
Jeśli zadania. Ilość ()\u003e 0 Następnie
Zadanie \u003d zadania [0];

// jeśli zadania nie, utwórz to
Inaczej
Zadanie \u003d aplikacje regulacyjne. KatestreatName ( "Nazwagelament") ;

Zakończony;

Harmonogram \u003d zadanie. Harmonogram;

// Utwórz okno dialogowe zmiany harmonogramu zadania regulacyjnego
Dialogress \u003d New Dialographersparememement (harmonogram);

// Pokaż dialog użytkownika i zmiany harmonogramu procesu
If Dialogress. OpenModally ()
Zadanie. Harmonogram \u003d dialogress. Harmonogram;
Zadanie. Zanotować ();
Zakończony;

Często użytkownicy narzekają, że "1C 8.3 spowalnia": Formy dokumentów są powoli otwarte, dokumenty są utrzymywane przez długi czas, program jest uruchomiony, raporty i tak dalej.

Co więcej, takie "usterki" mogą wystąpić w różnych programach:

Przyczyny mogą być różne. Nie jest to przywrócone do prowadzenia dokumentów, słabego komputera lub serwera, serwer 1C jest nieprawidłowo skonfigurowany.

W tym artykule chcę rozważyć jedną z najłatwiejszych i najczęstszych powodów powolnej pracy programu. Ta instrukcja Będzie istotne dla użytkowników baz danych przez 1-2 użytkowników, w których nie ma konkurencji dla zasobów.

Jeśli jesteś zainteresowany poważniejszą optymalizacją wersji systemu klienta systemu, odwiedź sekcję witryny.

Gdzie w 1C 8.3 Niezawodne zadania

Nie miałem czasu na przesłanie programu jako w 1C wiele zadań w tle. Możesz je zobaczyć, wprowadzając menu "Administracja", zwany dalej - "Wsparcie i serwis":

Uzyskaj 267 samouczków wideo za 1C za darmo:

Tutaj wygląda jak okno z wykonywanymi zadaniami:

A więc pełna lista Wszystkie zadania regulacyjne, które zostały uruchomione:

Wśród tych zadań, takich jak "", pobieranie różnych klasyfikatorów, sprawdzić znaczenie wersji programu i tak dalej. Na przykład mam prawie wszystkie te zadania. Nie prowadzę rachunkowości walutowej, samą kontrolę wersji, klasyfikatory ładują się w razie potrzeby.

W związku z tym w moim (iw większości przypadków w swoim) odsetki, aby wyłączyć niepotrzebne zadania.

Wyłącz zadania regulacyjne i tła w 1C 8.3