1c როგორ გაეცნოთ მოლოდინის დამმუშავებლის შესრულებას. "Flash" ინტერფეისი, ან ასინქრონული ზარების ჯაჭვები

კოდი 1C v 8.2 Connectures Publishing (<ИмяПроцедуры>, <Интервал>, <Однократно>)
Პარამეტრები:
<ИмяПроцедуры>
<Интервал> (სავალდებულო) ტიპი: ნომერი. დროის ინტერვალი წამში 1/10 წამში, რომლის მეშვეობითაც პროცედურა ექნება (დადებითი). თუ ღირებულება 1-ზე ნაკლებია, მესამე პარამეტრის ღირებულება სიმართლის ტოლია.
<Однократно> (სურვილისამებრ) ტიპი: ლოგიკური. ერთჯერადი მოლოდინის ხელმოწერის ნიშანი.
სიმართლე - მითითებული ლოდინი დამმუშავებელი შესრულდება ერთხელ. ნაგულისხმევი მნიშვნელობა: ტყუილი
აღწერა: აკავშირებს მითითებულ პროცედურას, როგორც ლოდინის დამმუშავებელს. პროცედურა ხელს უწყობს სისტემის ელოდების პერიოდში ყოველ ჯერზე მითითებულ დროის ინტერვალის შემდეგ.

ხელმისაწვდომობა:
Slim კლიენტი, ვებ კლიენტი, Fat Client.

Შენიშვნა:
დარეკვის დამმუშავებლის მოწოდება გრძელდება, სანამ ფორმა არ დაიხურება ან ინვალიდების ფორმირების ფორმის მეთოდს. კოდი 1C v 8.2 UE გამორთულია<ИмяПроцедуры>)

კოდი 1C v 8.2 Up
& Svalette
ჭურვი პროცესორის პროცედურა ()
დამუშავება ();
ექსტრადირება

და სერვერზე
პროცედურის დამუშავება ()
/ / ყველაფერი რაც თქვენ გჭირდებათ
ექსტრადირება

//....
დამაკავშირებელი მეთოდები ("Shell Processor", 3, სიმართლე);

<ИмяПроцедуры>, <Интервал>, <Однократно>)
აკავშირებს ზარის მითითებულ პროცედურას კონტროლირებადი განაცხადის მოდულის (ჩვეულებრივი განაცხადის მოდული) ან გლობალური გაზიარებული მოდული კონკრეტული დროის ინტერვალის შემდეგ. ზარი განხორციელდება მხოლოდ "დასვენების სახელმწიფოში", რომელიც, იმ მომენტში, როდესაც პროგრამა არ ასრულებს რაიმე ქმედებას. დარეკვის დამმუშავებლის მოწოდება გრძელდება, სანამ სისტემა ასრულებს სამუშაოს ან გამორთული გარიგების გლობალური კონტექსტის მეთოდს.
კოდი 1c v 8.x პროცედურის გაშუქების გაყიდვა სართული ()
// ...
ექსტრადირება

//...
ConnectingConditions ("ანგარიშგების გაყიდვა", 60); // ყოველ წუთს
კოდი 1C v 8.x // in ტიპიური din შემოწმება. კონფიგურაციის განახლებები ყოველ 20 წუთში.
დამაკავშირებელი მეთოდები ("გადამუშავების-ღვინის წერა დინამიური ჩანაცვლება", 20 * 60);
/ / დაკავშირება მონაცემთა გაცვლის დამმუშავებელი
გამოცემა ("დამოწმებული", გლობალური თავისუფალი ("glocolitysencenchandproms");
დამაკავშირებელი მეთოდები ("საგუშაგოს", 86400); // \u003d 24 (h) * 60 (წთ) * 60 (წმ) \u003d 1 დღე

ფორმით
კოდი 1C v 8.x დამაკავშირებელი მანქანები (<ИмяПроцедуры>, <Интервал>, <Однократно>)
Პარამეტრები:
<ИмяПроцедуры> (სავალდებულო) ტიპი: სიმებიანი. პროცედურის სახელი, რომელიც დაკავშირებულია როგორც ლოდინი.
<Интервал> (სავალდებულო) ტიპი: ნომერი. დრო ინტერვალი წამებში 1/10 წამში, რომლის მეშვეობითაც პროცედურა ეწოდება (დადებითი). თუ 1-ზე ნაკლებ არის მითითებული, ღირებულება მესამე პარამეტრი უნდა იყოს ტოლი სიმართლე.
<Однократно> (სურვილისამებრ) ტიპი: ლოგიკური. ერთჯერადი მოლოდინის ხელმოწერის ნიშანი. 0istina - მითითებული ლოდინი დამმუშავებელი შესრულდება ერთხელ. ნაგულისხმევი მნიშვნელობა: ტყუილი

აღწერა:
აკავშირებს მითითებულ პროცედურას, როგორც ლოდინის დამმუშავებელს. პროცედურა იქნება მოუწოდა დროს ლოდინის პერიოდი სისტემის ყოველ ჯერზე შემდეგ მითითებული დროის ინტერვალი.

ხელმისაწვდომობა:
სქელი კლიენტი.
Შენიშვნა:
დარეკვის დამმუშავებლის მოწოდება გრძელდება, სანამ ფორმა არ დაიხურება ან ინვალიდების ფორმირების ფორმის მეთოდს.
მაგალითი:
კოდი 1C v 8.x დამაკავშირებელი პუნქტები ("სიღარიბე", 1);
კოდი 1C v 8.x ფორმა. Minervalustrust \u003d 300; // 5 წუთი
თუ ფორმა. Minervatorstosteo<> 0 მაშინ
ფორმა. გაზრდილი დამუშავება ("გადამამუშავებელი პროცესორი", ფორმისთვის (ფორმა, minermatorship * 60));
Დასრულდა;

სისტემაში მოლოდინის მკურნალობა 1C: საწარმოდოკუმენტაციის შემდეგ, იგი მიზნად ისახავს გლობალური მოდულის პროცედურის პერიოდულ აღსრულებას მოცემულ დროში ინტერვალით. დაწყების კოდი გამოიყურება ასე:
კოდექსის 1C v 7.x გადამუშავება ("UpdateCeer _", 1);
სად "განახლება მეტრი_" - სახელი გლობალური მოდული პროცედურა, რომელიც იქნება გაშვებული სიხშირე 1 წ. (მეორე პარამეტრი ტოლია 1)

მაგრამ! პრობლემა ის არის, რომ ეს შესაძლებელია დაიწყოს მოლოდინი დამუშავების მხოლოდ 1 დრო. გაიმეორეთ დაწყება გააუქმებს წინა. სხვა სიტყვებით რომ ვთქვათ, მაგალითად, მაგალითად, გადამუშავების ტაიმერი ითვლიან გატარებულ დროს, შეგიძლიათ მხოლოდ ერთი ტაიმერი დაიწყოთ, რადგან დაწყების მეორე ტაიმერი გამოიწვევს პირველი. და რა მოხდება, თუ თქვენ უნდა აწარმოოთ 2, 3 ან მეტი ასეთი ქრონომეტრი ამავე დროს? ან საჭიროა პერიოდულად სკანირება დოკუმენტების მდგომარეობა?

არსებობს გასასვლელი! ლოდინის დამუშავება უნდა დაიწყოს ფორმის კონტექსტში, რათა განისაზღვროს ეს ნაკადი გლობალური კონტექსტიდან. და მაშინ იქნება შესაძლებელი, პერიოდული დაწყებას ადგილობრივი მოდული პროცედურა, ანუ თქვენი დამუშავების მოდულის ფორმებში მდებარე პროცედურები.

დაწყების კოდი გამოიყურება ასე:
კოდექსის 1C v 7.x ფორმა. დამუშავება ("განახლება _", 1);
სად "განახლება მეტრი_" - ადგილობრივი დამუშავების ფორმის მოდულის პროცედურის დასახელება, რომელიც 1 წმ-ს სიხშირით აწარმოებს. (მეორე პარამეტრი ტოლია 1)
ამდენად, თითოეულ პროცესში, თქვენ შეგიძლიათ აწარმოოთ თქვენი მოლოდინის დამუშავება, რომელიც იმუშავებს, სანამ ფორმა არ არის ღია.

ფორმებში შეგიძლიათ გამოიყენოთ კოდი 1C v 8.x ფორმა. დამუშავება, "NameProcessor", დრო),
სადაც nameProcessor სახელი სახელი პროცედურა, რომელიც გადის დროს მეორე
პროცედურაში, ჩადეთ კოდი 1C v 8.x ფორმა. დამუშავება, "სახელის სახელის სახელი", 0) მოლოდინის დამუშავების შეჩერების მიზნით (ბუნებრივია, აუცილებელი პირობების შესრულების შემდეგ).
წყარო

კოდი 1C v 8.2 Connectures Publishing (<ИмяПроцедуры>, <Интервал>, <Однократно>)
Პარამეტრები:
<ИмяПроцедуры>
<Интервал> (სავალდებულო) ტიპი: ნომერი. დროის ინტერვალი წამში 1/10 წამში, რომლის მეშვეობითაც პროცედურა ექნება (დადებითი). თუ ღირებულება 1-ზე ნაკლებია, მესამე პარამეტრის ღირებულება სიმართლის ტოლია.
<Однократно> (სურვილისამებრ) ტიპი: ლოგიკური. ერთჯერადი მოლოდინის ხელმოწერის ნიშანი.
სიმართლე - მითითებული ლოდინი დამმუშავებელი შესრულდება ერთხელ. ნაგულისხმევი მნიშვნელობა: ტყუილი
აღწერა: აკავშირებს მითითებულ პროცედურას, როგორც ლოდინის დამმუშავებელს. პროცედურა ხელს უწყობს სისტემის ელოდების პერიოდში ყოველ ჯერზე მითითებულ დროის ინტერვალის შემდეგ.

ხელმისაწვდომობა:
Slim კლიენტი, ვებ კლიენტი, Fat Client.

Შენიშვნა:
დარეკვის დამმუშავებლის მოწოდება გრძელდება, სანამ ფორმა არ დაიხურება ან ინვალიდების ფორმირების ფორმის მეთოდს. კოდი 1C v 8.2 UE გამორთულია<ИмяПроцедуры>)

კოდი 1C v 8.2 Up
& Svalette
ჭურვი პროცესორის პროცედურა ()
დამუშავება ();
ექსტრადირება

და სერვერზე
პროცედურის დამუშავება ()
/ / ყველაფერი რაც თქვენ გჭირდებათ
ექსტრადირება

//....
დამაკავშირებელი მეთოდები ("Shell Processor", 3, სიმართლე);

<ИмяПроцедуры>, <Интервал>, <Однократно>)
აკავშირებს ზარის მითითებულ პროცედურას კონტროლირებადი განაცხადის მოდულის (ჩვეულებრივი განაცხადის მოდული) ან გლობალური გაზიარებული მოდული კონკრეტული დროის ინტერვალის შემდეგ. ზარი განხორციელდება მხოლოდ "დასვენების სახელმწიფოში", რომელიც, იმ მომენტში, როდესაც პროგრამა არ ასრულებს რაიმე ქმედებას. დარეკვის დამმუშავებლის მოწოდება გრძელდება, სანამ სისტემა ასრულებს სამუშაოს ან გამორთული გარიგების გლობალური კონტექსტის მეთოდს.
კოდი 1c v 8.x პროცედურის გაშუქების გაყიდვა სართული ()
// ...
ექსტრადირება

//...
ConnectingConditions ("ანგარიშგების გაყიდვა", 60); // ყოველ წუთს
კოდი 1C v 8.x // in ტიპიური din შემოწმება. კონფიგურაციის განახლებები ყოველ 20 წუთში.
დამაკავშირებელი მეთოდები ("გადამუშავების-ღვინის წერა დინამიური ჩანაცვლება", 20 * 60);
/ / დაკავშირება მონაცემთა გაცვლის დამმუშავებელი
გამოცემა ("დამოწმებული", გლობალური თავისუფალი ("glocolitysencenchandproms");
დამაკავშირებელი მეთოდები ("საგუშაგოს", 86400); // \u003d 24 (h) * 60 (წთ) * 60 (წმ) \u003d 1 დღე

ფორმით
კოდი 1C v 8.x დამაკავშირებელი მანქანები (<ИмяПроцедуры>, <Интервал>, <Однократно>)
Პარამეტრები:
<ИмяПроцедуры> (სავალდებულო) ტიპი: სიმებიანი. პროცედურის სახელი, რომელიც დაკავშირებულია როგორც ლოდინი.
<Интервал> (სავალდებულო) ტიპი: ნომერი. დრო ინტერვალი წამებში 1/10 წამში, რომლის მეშვეობითაც პროცედურა ეწოდება (დადებითი). თუ 1-ზე ნაკლებ არის მითითებული, ღირებულება მესამე პარამეტრი უნდა იყოს ტოლი სიმართლე.
<Однократно> (სურვილისამებრ) ტიპი: ლოგიკური. ერთჯერადი მოლოდინის ხელმოწერის ნიშანი. 0istina - მითითებული ლოდინი დამმუშავებელი შესრულდება ერთხელ. ნაგულისხმევი მნიშვნელობა: ტყუილი

აღწერა:
აკავშირებს მითითებულ პროცედურას, როგორც ლოდინის დამმუშავებელს. პროცედურა იქნება მოუწოდა დროს ლოდინის პერიოდი სისტემის ყოველ ჯერზე შემდეგ მითითებული დროის ინტერვალი.

ხელმისაწვდომობა:
სქელი კლიენტი.
Შენიშვნა:
დარეკვის დამმუშავებლის მოწოდება გრძელდება, სანამ ფორმა არ დაიხურება ან ინვალიდების ფორმირების ფორმის მეთოდს.
მაგალითი:
კოდი 1C v 8.x დამაკავშირებელი პუნქტები ("სიღარიბე", 1);
კოდი 1C v 8.x ფორმა. Minervalustrust \u003d 300; // 5 წუთი
თუ ფორმა. Minervatorstosteo<> 0 მაშინ
ფორმა. გაზრდილი დამუშავება ("გადამამუშავებელი პროცესორი", ფორმისთვის (ფორმა, minermatorship * 60));
Დასრულდა;

სისტემაში მოლოდინის მკურნალობა 1C: საწარმოდოკუმენტაციის შემდეგ, იგი მიზნად ისახავს გლობალური მოდულის პროცედურის პერიოდულ აღსრულებას მოცემულ დროში ინტერვალით. დაწყების კოდი გამოიყურება ასე:
კოდექსის 1C v 7.x გადამუშავება ("UpdateCeer _", 1);
სად "განახლება მეტრი_" - სახელი გლობალური მოდული პროცედურა, რომელიც იქნება გაშვებული სიხშირე 1 წ. (მეორე პარამეტრი ტოლია 1)

მაგრამ! პრობლემა ის არის, რომ ეს შესაძლებელია დაიწყოს მოლოდინი დამუშავების მხოლოდ 1 დრო. გაიმეორეთ დაწყება გააუქმებს წინა. სხვა სიტყვებით რომ ვთქვათ, მაგალითად, მაგალითად, გადამუშავების ტაიმერი ითვლიან გატარებულ დროს, შეგიძლიათ მხოლოდ ერთი ტაიმერი დაიწყოთ, რადგან დაწყების მეორე ტაიმერი გამოიწვევს პირველი. და რა მოხდება, თუ თქვენ უნდა აწარმოოთ 2, 3 ან მეტი ასეთი ქრონომეტრი ამავე დროს? ან საჭიროა პერიოდულად სკანირება დოკუმენტების მდგომარეობა?

არსებობს გასასვლელი! ლოდინის დამუშავება უნდა დაიწყოს ფორმის კონტექსტში, რათა განისაზღვროს ეს ნაკადი გლობალური კონტექსტიდან. და მაშინ იქნება შესაძლებელი, პერიოდული დაწყებას ადგილობრივი მოდული პროცედურა, ანუ თქვენი დამუშავების მოდულის ფორმებში მდებარე პროცედურები.

დაწყების კოდი გამოიყურება ასე:
კოდექსის 1C v 7.x ფორმა. დამუშავება ("განახლება _", 1);
სად "განახლება მეტრი_" - ადგილობრივი დამუშავების ფორმის მოდულის პროცედურის დასახელება, რომელიც 1 წმ-ს სიხშირით აწარმოებს. (მეორე პარამეტრი ტოლია 1)
ამდენად, თითოეულ პროცესში, თქვენ შეგიძლიათ აწარმოოთ თქვენი მოლოდინის დამუშავება, რომელიც იმუშავებს, სანამ ფორმა არ არის ღია.

ფორმებში შეგიძლიათ გამოიყენოთ კოდი 1C v 8.x ფორმა. დამუშავება, "NameProcessor", დრო),
სადაც nameProcessor სახელი სახელი პროცედურა, რომელიც გადის დროს მეორე
პროცედურაში, ჩადეთ კოდი 1C v 8.x ფორმა. დამუშავება, "სახელის სახელის სახელი", 0) მოლოდინის დამუშავების შეჩერების მიზნით (ბუნებრივია, აუცილებელი პირობების შესრულების შემდეგ).
წყარო

1C პლატფორმა გვაძლევს იმ პროცედურების ასინქრონული გამოწვევების შესაძლებლობებს, რომლებიც ზოგჯერ შეიძლება გამოყენებულ იქნას მარტივი, მაგრამ მხიარული რამ. მაგალითად, შეგიძლიათ "Flash" ყველასთვის, რა ფერის ან ვიზუალური დიზაინის შეცვლის შესაძლებლობას აქვს. უფრო მეტიც, თქვენ შეგიძლიათ გამოიყენოთ როგორც მარტივი, მაგრამ უკონტროლო მექანიზმი და ასინქრონული გამოწვევების საინტერესო ჯაჭვის აშენება და სასურველი ქცევა.

ეს მოდის აქ, რა თქმა უნდა, კონტეინერის მიღების პროცედურის შესახებ ().

ნება მომეცით შევახსენო სინტაქსის პროცედურა:

ConnectingConditions (<ИмяПроцедуры>, <Интервал>, <Однократно>)

უფრო მეტიც, თუ თქვენ მიუთითეთ ინტერვალი მეორეზე, პროცედურის დაწყებისთანავე უნდა იყოს ერთჯერადი. აქ ჩვენ დავკარგავთ კონტროლს აღსრულების ნაკადი და დაკარგავს შესაძლებლობას "მორგებული" (მოქნილად, ინდივიდუალურად კონფიგურირებული).

მაგრამ ეს შეზღუდვა ადვილად გაკეთდა.

იმისათვის, რომ არ გამოიყენოთ აზრები ხეზე, დაუყოვნებლივ მისცეს უბრალო მაგალითი და მე ახსნას.

დავუშვათ, რომ ჩვენ გვყავს მაგიდის დოკუმენტი ფორმაზე და გვინდა "blink" 5 ჯერ მისი ფართობი.

////////// / /// / // // // // // // // / // // // // // // // // // // // // // // // // /// // // // // // // // // // // // / // // // // / // // // // // // // // // // // // // / // // // // // // // // // // // / // // // // // // // // // / // // // // // // // / ////////////// //// / საჩივარი Communion (გუნდი) mfsmymind \u003d 3; // counter. რეკვიზიტები ფორმები, "ხილული" მოლოდინების პროცედურებში, რომლებიც დაკავშირებულია პუნქტებში ("showdeeling კომპლექსი", 0.1, სიმართლე); // თქვენ შეგიძლიათ პირდაპირ მოვუწოდებთ დეტალურ პროცედურას და პროცედურას. პროცედურა დახურვის () ფართობი \u003d ობიექტის ჩვენება. TD. მარცხენა (MFPerstrowardated, Mfpertayolonkada, IFSLEDSTROWARD, IFSLESELLSHOLDS); საზღვარი \u003d ახალი ხაზი (TyphelniaCyclable Tribulation. ორმაგი); ფართობი. სიღარიბე (საზღვარი, საზღვარი, საზღვარი, საზღვარი); // ავალდებულებს mf regionmymymymyg რეგიონში \u003d mfsmymind - 1; / / დამაკავშირებელი პუნქტების კავშირის კონტრშეტევა ("საავტორო უფლებების მიღება", 0.5, სიმართლე); // აკავშირებს ჯაჭვის ასინქრონული ზარები. End Condollations & Clause პროცედურა RemoverOptwork Climes () რეგიონი \u003d ობიექტი. TD. რეგიონი (MFPertayStrad, MFPertayConcade, IFSled გაძლიერება, MF learnasts); საზღვარი \u003d ახალი ხაზი (TyphelniaCyclable Tribulation. სათაური); ფართობი. სიღარიბე (საზღვარი, საზღვარი, საზღვარი, საზღვარი); // ამოღება რეგიონის მიმოქცევაში, თუ MFSMymyg ... 0 შემდეგ დამაკავშირებელი Covds ("Showdeeling", 0.5, სიმართლე); / / ჩვენ ვიმეორებ, რამდენადაც ეს რჩება მეტრზე. ექსტრადირება

ძირითადი მოთხოვნა არის მხოლოდ, რომ MFSMIMMG- ს მეტრიანი ცვლადი არის "თვალსაჩინო" პროცედურებიდან, რომლებიც ასინქრონულად ვაპირებთ. -ში ეს საქმე ცვლადი არის props ფორმა.

ყურადღებიანი მკითხველი შეამჩნია, რომ ასეთი ჯაჭვების ჩამოყალიბებით, ჩვენ ორზე მეტს კლავს:

  • ჩვენ გვერდის ავლით გამოწვეული პროცედურის გამოწვევების განმეორების პროცედურის განმეორებით მეორეზე ნაკლებია;
  • ჩვენ გვაქვს შესაძლებლობა, შექმნან სხვადასხვა სიგრძის და სირთულის ჯაჭვები:
    • დააკავშირეთ მოლოდინი Handler პირდაპირ მოლოდინში handler თავად;
    • ჩადება ასეთი პროცედურები ერთმანეთთან დაკავშირება;
    • ჯაჭვის ჯაჭვების უფრო რთული სტრუქტურის ორგანიზება;
    • უსასრულოდ გაართულებს ზარის მენეჯმენტის გამოწვევა (მაგალითად, ცვლილებების ფარგლებში არა მარტო მათი მრიცხველები, არამედ ინტერვალით, დიზაინის სტილის ღირებულებები (ისე, რომ ცისარტყელას გადალახეს 🌈).

მიუხედავად იმისა, რომ აღწერილი მეთოდის სიმარტივის მიუხედავად, მასში მნიშვნელოვანი პოტენციალი იმალება.

2017 წელს, უფრო მოქნილად მართოს პროგრამის ქცევა თანამედროვე.