ПредишенСледващото

В хода на делото

Процедури и функции в дялове на контролираните форми, както и общ клиент управлявани приложни модули изискват точно определяне на кода на изпълнение.

За тази цел се използват общо пет директиви предпроцесорни: NaKliente, NaServere, NaServereBezKonteksta, NaKlienteNaServereBezKonteksta, NaKlienteNaServere. Първите три се използват доста често в развитието на konfiguartsii. Последните две - рядкост. Тя е за тях и ще бъдат обсъдени днес в статията.

NaServereNaKliente

Тази директива може да се използва само в командния модул. Действителната процедура или функция декларирана с тази директива, може да се използва както на клиента, така и от страна на сървъра в командния модул. Ето екип пример ръководство употреба. За да направите това, добавете командата "Тестване" за spravovochnika "ProstoySpravochnik" в конфигурацията на изпитването:

Инструкция Препроцесор & усилвател; naserverenakliente и & усилвател; naklientenaserverebezkonteksta

командния модул съдържа следния код:

А сега да разгледаме поведението на своята платформа за изпълнение. Обадете се на екипа в режим на предприятието и анализ на броя на сървърни повиквания. Картината е, както следва:

Инструкция Препроцесор & усилвател; naserverenakliente и & усилвател; naklientenaserverebezkonteksta

По този начин, когато процедурата се нарича с директива препроцесор "NaKlienteNaServere" сървъра от страна на клиента призив да не се случва. Единственият сървър в нашата prmere предизвикателство настъпила при достъп до "сървър" процедурата сървър.

От по-горе може да се заключи, че процедурите и функциите с директивата "NaKlienteNaServere" всъщност има същите характеристики като процедурите на клиента и функциите с директивата "NaKliente". Използване на "NaKlienteNaServere" директива позволява да се обадите на каквито и да било процедури командния модул, както и достъп до формуляра за връзка с клиента.

По мое мнение, използването на такива процедури и функции усложнява разбираемостта на кода. Ако използвате "NaKliente" директиви "NaServere" и "NaServereBezKonteksta", кодът е по-разбираем и предсказуем.

Нека сега разгледаме процедурите за работа и функции с директивата "NaKlienteNaServereBezKonteksta".

NaKlienteNaServereBezKonteksta

Директива "NaKlienteNaServereBezKonteksta" може да се използва, за да се образува модул управлява клиента и сървъра. В допълнение, тези процедури и функции не могат да получат достъп до контекста на форми, всички форми на експортни променливи, но можете да се обадите на процедури и функции от един общ сървър модули и tazhke не глобален сървър и klienskij едновременно.

Помислете за един малък пример от тяхната употреба. Елементът модулни форми директория "ProstoySpravochnik" напишете следния код:

Процедура "Тестване" принадлежи на формата на отбора. Когато се извършва старт на процедура повикване "TestiruemKlientServer" директива "NaKlienteNaServereBezKonteksta". Както бе споменато по-горе, тази процедура няма да могат да получат достъп до контекста на формуляри и други процедури на клиентите. Но всичко процедура модул форма сървър, без контекст ще бъде на разположение за разговор, както и процедури за модулни сървъри-чести.

извиква сървъра ще бъде направено, което е логично, когато се обадите на сървъра от процедурата за страна на клиента.

За да обобщим казаното:

  1. Процедури и функции с директивата "NaKlienteNaServere" се използват само в командни модули и ограничени възможности от страна на клиента.
  2. Процедури и функции с директивата "NaKlienteNaServereBezKonteksta" се използват само под формата на модули и ви позволяват да се работи с от страна на сървъра, без форма контекст трансфер (форма лични данни, износ променливи модулни форми и др ..).
  3. Основната разлика между въпросната директива - е контекстът на тяхното прилагане. Команда предпроцесорни се използва само в командните модули, други модули в контролираните форми.

За пълния опит, с контролиран фигури, за да се използват подобни процедури и функции, които имаше много рядко. Както бе споменато по-горе, аз вярвам, че тяхната isoplzovaniya накърнява четливостта на кода.

Подкрепете проекта - споделете линка, благодаря!