1s 외부 연결 모듈. 공유 모듈 생성 규칙

소프트웨어 모듈에는 시각적 개발 도구가 충분하지 않을 때 시스템이나 사용자의 작업에 특정 방식으로 응답하는 데 필요한 1C 언어의 실행 코드가 포함되어 있습니다. 또한 프로그램 모듈에서는 자체 방법(절차 및 기능)을 설명할 수 있습니다.

일반적으로 소프트웨어 모듈은 세 가지 섹션으로 구성됩니다.

  • 변수 선언 영역;
  • 절차 및 기능 설명 영역;
  • 프로그램의 주요 텍스트.

구조예 소프트웨어 모듈:

//******************** 변수 선언 영역 *************************

렘 성 수출; / /이것은 전역 변수입니다
변수 이름, Patronymic; //이것은 모듈 변수입니다
이름을 바꿔라; //이것은 또한 모듈 변수이고 접근될 수 있습니다

//우리 모듈의 모든 프로시저와 함수에서

//***************** 절차 및 기능 설명 영역 ****************

절차 절차1 ()
변동 합계 ; / /Total은 지역 변수(프로시저 변수)입니다.

합계 = 성 + "" + 이름 + " "+ 후원자;

절차 종료

기능 기능1 ()

// 함수문

Return(성 + " " + 이름 );

EndFunctions

//**************************** 프로그램 본문 ***************** *

성 = "이바노프";
이름 = "이반";
중간 이름 = "이바노비치";

//******************************************************************************

특정 프로그램 모듈에서는 해당 영역이 없을 수 있습니다.
변수 선언 범위모듈 텍스트의 시작 부분부터 프로시저의 첫 번째 문이나 Function 문 또는 실행 가능한 문까지 배치됩니다. 이 섹션에는 변수 선언문만 포함될 수 있습니다.

절차 및 기능에 대한 설명 영역프로시저 또는 함수 문의 첫 번째 문부터 프로시저 또는 함수 선언 본문 외부의 실행 가능한 문까지 배치됩니다.

메인 프로그램 텍스트 영역프로시저 또는 함수 본문 외부의 첫 번째 실행문부터 모듈 끝까지 배치됩니다. 이 섹션에는 실행 가능한 명령문만 포함될 수 있습니다. 프로그램 본문의 영역은 모듈 초기화시 실행됩니다. 일반적으로 메인 프로그램 섹션에는 모듈의 프로시저나 함수를 처음 호출하기 전에 할당해야 하는 특정 값으로 변수를 초기화하는 명령문을 배치하는 것이 좋습니다.

프로그램 모듈은 특정 작동 알고리즘에 대한 설명이 필요할 수 있는 구성 위치에 있습니다. 이러한 알고리즘은 미리 결정된 상황(예: 참조 양식을 열 때, 대화 상자에서 버튼을 클릭할 때, 개체를 변경할 때 등)에서 시스템 자체에 의해 호출되는 프로시저나 함수로 설계되어야 합니다.

각각의 개별 프로그램 모듈은 시스템 전체에서 인식되므로 프로그램 모듈의 모든 절차와 기능은 단일 컨텍스트에서 실행됩니다.

모듈의 실행 컨텍스트는 클라이언트 컨텍스트와 서버 컨텍스트로 구분됩니다. 또한 일부 소프트웨어 모듈은 클라이언트측과 서버측 모두에서 컴파일될 수 있습니다.

애플리케이션 모듈(관리형 또는 일반)

애플리케이션 모듈은 시스템 시작과 종료 시 초기화되는 이벤트의 프로시저(핸들러)를 설명합니다. 예를 들어, 애플리케이션을 시작할 때 일부 구성 데이터를 업데이트할 수 있고, 종료할 때 프로그램을 종료해야 하는지 묻는 메시지를 표시할 수 있습니다. 또한 이 모듈은 거래 또는 재정 장비와 같은 외부 장비의 이벤트를 차단합니다. 애플리케이션 모듈은 애플리케이션이 대화형으로 실행되는 경우, 즉 프로그램 창이 실행되는 경우에만 실행된다는 점은 주목할 가치가 있습니다. 응용 프로그램이 com-connection 모드에서 실행되는 경우에는 이런 일이 발생하지 않습니다.
1C 8 플랫폼에는 두 가지 서로 다른 애플리케이션 모듈이 있습니다. 공통 애플리케이션 모듈과 관리 애플리케이션 모듈이 있습니다. 다른 클라이언트가 시작될 때 트리거됩니다. 예를 들어 관리되는 애플리케이션 모듈은 웹 클라이언트, 씬 클라이언트 및 씩 클라이언트가 관리되는 애플리케이션 모드에서 실행될 때 트리거됩니다. 그리고 일반 애플리케이션 모드에서 씩 클라이언트가 시작되면 일반 애플리케이션 모듈이 트리거됩니다. 애플리케이션 시작 모드 설정은 "기본 시작 모드" 구성 속성에서 설정됩니다.

애플리케이션 모듈에는 변수 선언, 프로시저 및 함수 설명, 프로그램의 기본 텍스트 등 세 가지 섹션이 모두 포함될 수 있습니다. 애플리케이션 모듈은 클라이언트 측에서 컴파일되므로 다양한 유형의 데이터를 사용하는 것이 심각하게 제한됩니다. 호출 서버 속성이 설정된 공유 모듈의 메서드를 사용하여 애플리케이션 모듈의 컨텍스트를 확장할 수 있습니다. 내보내기로 표시된 응용 프로그램 모듈의 모든 변수와 메소드는 모든 클라이언트측 구성 모듈에서 사용할 수 있습니다. 그러나 유혹적일 수 있지만 여기에 많은 프로시저와 기능을 배치해서는 안 됩니다. 특정 모듈에 코드가 많을수록 컴파일 시간이 길어지고 결과적으로 애플리케이션 시작 시간도 길어집니다.

위에서 언급한 것처럼 애플리케이션 모듈은 애플리케이션의 시작 및 종료 이벤트를 처리합니다. 애플리케이션 모듈에서 이러한 각 이벤트를 처리하기 위해 Before ... 및 When ... 핸들러 두 개가 있습니다. 이들 간의 차이점은 다음과 같습니다. Before ... 핸들러의 코드가 실행될 때 작업은 다음과 같습니다. 아직 발생하지 않았으므로 실행을 거부할 수 있습니다. 이것이 바로 거절 옵션의 목적입니다. On 핸들러에서는 작업이 이미 수행되었으므로 애플리케이션 시작이나 종료를 거부할 수 없습니다.

외부접속모듈

  • 3개 영역을 모두 포함할 수 있습니다.
  • 구성의 루트 섹션에 위치

모듈의 목적은 애플리케이션 모듈의 목적과 유사합니다. 애플리케이션의 시작 및 종료 이벤트를 처리합니다. 외부 연결 모듈은 애플리케이션이 com-connection 모드에서 실행될 때 트리거됩니다. 외부 조인 프로세스 자체는 대화형 프로세스가 아닙니다. 이 모드에서 프로그램은 다음과 같이 작동합니다. 정보 기반응용 프로그램 창이 열리지 않아 대화형 작업을 위한 방법 사용에 특정 제한이 적용됩니다. 이 모드에서는 대화 상자 양식 호출, 사용자에게 보내는 경고 및 메시지 등을 사용할 수 없습니다. 그들은 단순히 실행되지 않습니다.

애플리케이션 모듈에서와 마찬가지로 여기에서는 변수 선언, 프로시저 및 기능 설명, 프로그램의 기본 텍스트 등 세 가지 영역을 모두 사용할 수 있습니다. 응용 프로그램 모듈과의 주요 차이점은 com-connection 모드에서는 정보베이스에 대한 모든 작업이 서버 측에서 발생하므로 외부 연결 모듈은 서버 측에서 컴파일된다는 것입니다. 따라서 일반 클라이언트 모듈의 내보내기 변수 및 메소드를 사용할 수 없습니다.

세션 모듈

  • 서버 측에서 수행됨
  • 구성의 루트 섹션에 위치

이는 세션 매개변수 초기화만을 위해 설계된 고도로 전문화된 모듈입니다. 왜 이를 위해 자체 모듈을 만들어야 했나요? 이를 사용하는 이유는 애플리케이션 자체가 다양한 모드(관리되는 애플리케이션 모듈, 일반 애플리케이션 모듈 또는 외부 연결 모듈의 실행으로 이어짐)에서 실행될 수 있고 세션 매개변수가 관계없이 초기화되어야 하기 때문입니다. 발사 모드. 이 세 가지 모듈 모두에 동일한 프로그램 코드를 작성하지 않으려면 애플리케이션 시작 모드에 관계없이 실행되는 추가 모듈이 필요했습니다.

세션 모듈에는 하나의 "SetSessionParameters" 이벤트가 있는데, 이는 애플리케이션 모듈의 PreSystemBegin 이벤트 이전에도 가장 먼저 실행됩니다. 변수 선언 섹션과 기본 프로그램 섹션이 없습니다. 또한 수출 방법을 선언하는 것도 불가능합니다. 모듈은 서버 측에서 컴파일됩니다.

일반 모듈

  • 절차와 기능을 설명하는 영역을 포함할 수 있습니다.
  • 서버 또는 클라이언트 측에서 실행됨(모듈 설정에 따라 다름)
  • 구성 개체 "일반" - "일반 모듈" 트리 분기에 위치

공통 모듈은 다른 구성 모듈에서 호출되는 몇 가지 공통 알고리즘을 설명하기 위한 것입니다. 일반 모듈에는 변수 선언 영역과 프로그램 본문이 포함되어 있지 않습니다. 내보내기 방법을 선언할 수 있으며, 그 가용성은 모듈 설정(실행되는 쪽: 서버 쪽 또는 클라이언트 쪽)에 따라 결정됩니다. 변수 선언 부분을 사용할 수 없기 때문에 공유 모듈에서는 전역 변수를 정의하는 것이 불가능합니다. 이를 위해 애플리케이션 모듈을 사용할 수 있습니다.

공유 모듈의 동작은 매개변수 세트(전역 여부, 다양한 컴파일 플래그, 서버 호출 사용 가능 여부 등)에 따라 달라집니다. 공유 모듈 설정에 대한 몇 가지 팁은 다음과 같습니다.

어디에서나 "Global" 플래그를 사용하지 않는 것이 좋습니다. 이렇게 하면 애플리케이션 시작 시간이 줄어들 뿐만 아니라 코드의 가독성도 향상됩니다(물론 공통 모듈에 완전히 의미 있는 이름이 있는 경우).
- 하나 이상의 컴파일 플래그를 사용하는 것은 바람직하지 않습니다. 다양한 컨텍스트에서 수행해야 하는 방법은 그리 많지 않으며, 그럼에도 불구하고 그러한 방법이 필요한 경우 별도의 공통 모듈을 할당할 수 있습니다.
- "서버 호출" 플래그는 모듈이 "서버에서" 컴파일된 경우에만 의미가 있습니다. 따라서 다양한 문제를 방지하려면 다른 모든 컴파일 플래그를 제거해야 합니다.
- 모듈 방법에 대량의 데이터 처리, 데이터베이스 읽기 및 쓰기가 있는 경우 작업 속도를 높이려면 "권한" 플래그를 설정하여 액세스 제어를 비활성화하는 것이 좋습니다. 이 모드는 서버에서 컴파일된 공유 모듈에만 사용할 수 있습니다.

양식 모듈

  • 3개 영역을 모두 포함할 수 있습니다.
  • 서버 및 클라이언트 측에서 수행됨

양식 모듈은 이 양식을 사용하여 사용자 작업(버튼 클릭 이벤트 처리, 양식 속성 변경 등)을 처리하도록 설계되었습니다. 양식 자체와 직접 관련된 이벤트(예: 열기 또는 닫기)도 있습니다. 관리 양식 모듈과 일반 양식 모듈은 주로 관리 양식 모듈이 컨텍스트로 명확하게 구분된다는 점에서 다릅니다. 모든 프로시저나 함수에는 컴파일 지시문이 있어야 합니다. 컴파일 지시어가 지정되지 않은 경우 이 프로시저나 함수는 서버측에서 실행됩니다. 안에 정규형모든 코드는 클라이언트 측에서 실행됩니다.

관리되는 양식 구조에는 변수 선언 섹션, 프로시저 및 함수에 대한 설명, 프로그램 본문(양식이 초기화될 때 실행됨)이 포함됩니다. 양식의 예상 절차 및 기능 목록을 통해 표준 양식 이벤트에 액세스할 수 있습니다. (Ctrl+Alt+P), 또는 양식 자체의 속성 팔레트를 통해.

기본 속성이 양식에 할당되면 기본 속성으로 사용되는 애플리케이션 개체의 속성과 메서드를 양식 모듈에서 사용할 수 있게 됩니다.

객체 모듈

  • 3개 영역을 모두 포함할 수 있습니다.
  • 서버 측에서 수행됨

이 모듈은 대부분의 구성 개체에 사용할 수 있으며 일반적으로 개체와 직접 관련된 이벤트를 처리하는 데 사용됩니다. 예를 들어, 객체 기록 및 삭제, 객체의 내용이 입력되었는지 확인, 문서 게시 등의 이벤트가 있습니다.

일부 개체 모듈 이벤트는 양식 모듈 이벤트와 중복됩니다. 예를 들어, 기록과 관련된 이벤트입니다. 그러나 양식 모듈의 이벤트는 개체의 특정 양식, 즉 특정 양식이 열릴 때만 실행된다는 점을 이해해야 합니다. 그리고 개체 모듈의 이벤트는 어떤 경우에도 호출됩니다. 프로그램이 개체를 사용하는 동안에도 마찬가지입니다. 따라서 객체의 특정 형태에 얽매이지 않고 객체와 관련된 메서드가 필요한 경우 이를 위해 객체 모듈을 사용하는 것이 좋습니다.

개체 관리자 모듈

  • 3개 영역을 모두 포함할 수 있습니다.
  • 서버 측에서 수행됨

개체 관리자 모듈은 버전 1C 8.2부터만 나타났습니다. 관리자 모듈은 모든 애플리케이션 개체에 대해 존재하며 이 개체를 구성 개체로 관리하도록 설계되었습니다. 관리자 모듈을 사용하면 데이터베이스 개체의 특정 인스턴스가 아닌 구성 개체 자체에 적용되는 프로시저와 기능을 도입(작성)하여 개체의 기능을 확장할 수 있습니다. 개체 관리자 모듈을 사용하면 특정 개체에 대한 공통 프로시저와 기능을 배치하고 처리 등 외부에서 액세스할 수 있습니다(물론 이 프로시저나 기능이 다음과 함께 사용되는 경우). 예어내보내다). 이것이 우리에게 무엇을 주는가? 일반적으로 절차를 개체별로 구성하고 별도의 장소(개체 관리자 모듈)에 저장하는 것 외에는 아무것도 없습니다. 이러한 절차와 기능을 공통 모듈에 배치할 수도 있지만 1C에서는 객체 관리자 모듈에 객체의 공통 절차와 기능을 배치하는 것이 좋습니다. 개체 관리자 모듈의 절차 및 기능 사용 예: 특정 조건에서 디렉터리 또는 문서의 개별 세부 정보 초기 채우기, 특정 조건에서 디렉터리 또는 문서 세부 정보 채우기 확인 등

명령 모듈

  • 절차와 기능을 설명하는 섹션이 포함될 수 있습니다.
  • 클라이언트 측에서 실행됨

명령은 전체적으로 응용 프로그램 개체 또는 구성에 종속된 개체입니다. 각 명령에는 해당 명령을 실행하기 위해 미리 정의된 CommandProcess() 프로시저를 설명할 수 있는 명령 모듈이 있습니다.


관리형 애플리케이션 모듈

주로 애플리케이션 실행 순간과 종료 순간을 포착하기 위한 것입니다. 장비에서 외부 이벤트를 가로챌 수 있는 핸들러도 있습니다. 관리되는 애플리케이션 모듈에서 추적되는 것은 시스템의 대화형 시작입니다.

관리되는 애플리케이션의 씬 클라이언트, 웹 클라이언트 및 씩 클라이언트가 시작되면 관리되는 애플리케이션 모듈 이벤트가 시작됩니다. 제어 모듈에서 응용 프로그램은 구성 루트 노드의 속성 팔레트 또는 다음에서 액세스할 수 있습니다. 상황에 맞는 메뉴루트 구성 노드에서 호출됩니다.

정규응용모듈

일반 앱 모듈은 관리되는 앱 모듈과 동일한 역할을 수행하며, 일반 앱의 씩 클라이언트가 시작될 때 일반 앱 모듈 이벤트만 실행됩니다.

일반 애플리케이션 모듈은 "일반" 탭의 구성 설정에서 "시작 모드에 대한 구성 편집" 옵션을 "관리되는 애플리케이션 및 일반"으로 설정한 후 구성 루트 노드의 속성 팔레트에서 사용할 수 있게 됩니다.

외부접속모듈

외부 연결 모듈은 로그인 이벤트(대화형이 아닌 COM 연결 모드) 및 로그아웃을 처리하도록 설계되었습니다. 적절한 핸들러가 있습니다. COM 연결은 대화형 창을 열지 않으므로 사용자와의 대화 상자 기능이 작동하지 않습니다. 모듈에서 내보내기 변수와 메서드를 설명하는 것이 가능합니다. 외부 연결 모듈은 서버에서 컴파일됩니다. 저것들. 예를 들어 디렉터리와 같은 해당 구성 개체에 액세스할 수 있습니다.

세션 모듈

"세션 옵션"과 같은 일반적인 구성 개체가 있습니다. 세션 모듈은 세션 매개변수를 초기화하기 위해 생성되었습니다(이를 위한 특정 이벤트가 있으며, 애플리케이션이 시작될 때 가장 먼저 시작됩니다).

특권 모드로 실행됩니다(데이터베이스에 접근할 때 접근 권한을 확인하지 않음). 세션 모듈은 서버에서 컴파일됩니다. 변수 선언 섹션과 기본 프로그램 섹션이 없으며 내보내기 방법을 설명할 수 없으며 세션 매개변수 설정에만 사용됩니다. 보시다시피 세션 모듈의 목적은 매우 좁습니다.

일반 모듈

일반 모듈에서는 다음을 설명합니다. 일반 알고리즘, 다양한 위치에서 호출할 수 있는 함수를 포함합니다. 공유 모듈은 클라이언트와 서버 모두에서 컴파일될 수 있습니다.

일반 모듈에서는 절차와 기능을 설명하는 섹션만 사용할 수 있습니다. 전역 변수를 사용해야 하는 경우 세션 매개변수 또는 관리되는 애플리케이션 모듈의 내보내기 변수를 사용할 수 있습니다.

일반 모듈에서는 동작에 영향을 미치는 일부 매개변수를 설정할 수 있습니다. 일반 모듈에 "글로벌" 체크박스가 설정된 경우 해당 내보내기 기능은 글로벌 컨텍스트 형성에 참여합니다. 그리고 다른 컨텍스트에서 직접 액세스할 수 있습니다(공통 모듈의 이름을 언급하지 않고): CommonModuleMethod();

공통 모듈의 "전역" 속성을 어디에서나 사용해서는 안 됩니다. 이러한 모듈은 시스템 시작 시 컴파일되어 프로그램 시작 속도를 늦춥니다.

객체 모듈

많은 구성 개체(디렉터리, 문서 등)에는 개체 모듈이 있습니다. 새 디렉토리 요소 생성, 새 개체 입력, 삭제, 문서 게시 처리 등과 같은 표준 이벤트를 입력할 수 있습니다. 쓰기 이벤트는 양식 모듈(사용자가 "쓰기" 버튼을 클릭할 때 대화형 기록 프로세스 중에 발생)과 개체 모듈 모두에 존재합니다.

하나의 객체가 여러 형태를 가질 수 있다는 점을 기억해야 합니다. 따라서 쓰기 이벤트는 개체 모듈에서 처리되어야 합니다. 기록된 데이터의 정확성이 확인되는 곳입니다.

개체 모듈은 지정된 개체의 속성 팔레트나 상황에 맞는 메뉴에서 호출할 수 있습니다. 개체 모듈은 양식 모듈과 동일한 구조를 갖습니다. 개체 모듈은 서버에서 컴파일되므로 컴파일 지시문이 필요하지 않습니다.

양식 모듈

양식 모듈은 사용자 작업(버튼 클릭 이벤트 처리 등)을 처리하도록 설계되었습니다. 양식 자체와 직접적으로 연관된 이벤트도 있습니다(예: 양식 열기, 닫기 이벤트). 관리 양식 모듈과 일반 양식 모듈은 주로 관리 양식 모듈이 컨텍스트로 명확하게 구분된다는 점에서 다릅니다. 각 프로시저에는 컴파일 지시문이 있어야 합니다. 일반적인 형태에서는 모든 코드가 클라이언트에서 실행됩니다.

관리되는 양식 구조에는 변수 선언 섹션, 프로시저 및 함수 섹션, 기본 프로그램 섹션(양식이 초기화될 때 실행됨)이 포함됩니다. 프로시저 및 기능 목록(Ctrl+Alt+P)을 통해 또는 양식 자체의 속성 팔레트를 통해 표준 양식 이벤트에 액세스할 수 있습니다. 또한 관리형 양식요소 기록 이벤트를 처리하는 것이 가능합니다(이 이벤트는 디렉터리, 문서 등 개체에만 존재함).

개체 관리자 모듈

관리자 모듈은 1C 8.2에만 나타 났으며 많은 구성 개체에 존재합니다. 개체 관리자 모듈의 주요 목적은 표준 이벤트 "ProcessingChoiceDataReceive"를 재정의하는 것입니다.

가치 관리자 모듈

상수 구성 개체에는 개체 모듈이 없지만 매우 유사한 모듈인 값 관리자 모듈이 있습니다. 상수 값 관리자 모듈에서는 다양한 절차(내보내기 절차 포함)와 프로세스 3 이벤트(BeforeWrite, OnWrite, ProcessFillCheck)를 설명할 수 있습니다. 이 모듈은 서버에서 컴파일됩니다.

레코드세트 모듈

레코드세트 모듈은 개체 모듈과 유사하며 레지스터에 고유합니다. 레코드세트 모듈에는 다음과 같은 표준 이벤트가 있습니다.

  • 녹음 전
  • 녹음할 때
  • 채우기 확인 처리

레코드세트 모듈에는 변수, 프로시저 및 함수(내보내기 기능 포함)를 설명하는 섹션과 기본 프로그램에 대한 섹션이 있습니다.

모든 프로그램은 프로그램 코드, 즉 실제로 수행해야 하는 언어로 작성된 일련의 작업으로 구성됩니다.

그러나 바로 이 프로그램은 어딘가에 작성되어야 합니다. 즉, 어딘가에 위치해야 합니다. 대부분의 경우 프로그램 코드는 일반 텍스트 파일로 작성됩니다. 유일한 차이점은 확장자가 .txt가 아니라 .cpp 또는 .php라는 것입니다.

1C 프로그램은 어디에 작성되어 있습니까?

모듈 1C란 무엇입니까?

물론 1C 코드는 일부 텍스트 파일에 작성될 수도 있습니다. 그러나 설정 목록, 양식 템플릿 및 기타 사항뿐만 아니라 1C 프로그램 코드도 포함하는 1C 구성 개념이 있습니다. 따라서 1C 코드가 구성에 저장됩니다.

구성은 이전 강의에서 이미 고려한 것처럼 1C 개체로 구성됩니다. 각 1C 개체에는 중첩된 개체가 포함되어 있습니다. 예를 들어 디렉터리에는 여러 형식이 있습니다.

일부 중첩된 개체를 포함하여 각 1C 개체에는 프로그램 코드가 포함된 일종의 텍스트 파일인 자체 모듈이 있습니다.

특정 개체와 독립적인 프로그램 코드를 작성할 수 있는 개체 독립적 모듈도 있습니다.

따라서 1C에는 "단일" 프로그램이 없습니다. 각 1C 구성 개체에 대한 프로그램 코드를 작성하기 위한 모듈 세트가 있습니다.

1C 모듈은 어떻게 사용됩니까?

전체 프로그램은 대략 두 가지 유형으로 나눌 수 있습니다.

  • 객체 방법
  • 이벤트에 대한 반응.

행동 양식. 앞서 말했듯이 1C 객체는 데이터와 이를 처리하는 방법을 모두 포함하는 통합 구조입니다. 이러한 메서드는 데이터를 처리하기 위해 호출할 수 있는 일련의 작업(메서드)입니다. 이러한 작업의 예 DirectoryObject.Write() – 디렉터리 요소를 데이터베이스에 씁니다.

많은 1C 개체의 메서드는 표준(즉, 1C 플랫폼에서 프로그래밍)일 수 있으며 프로그래머가 1C 언어로 작성할 수 있습니다. 후자의 도움으로 원하는 대로 1C 개체의 기능을 확장할 수 있습니다.

이벤트. 이벤트는 다른 많은 개발 도구에서도 발견됩니다. 프로그램의 목적은 시작 시 무언가를 계산하는 것뿐만 아니라 사용자의 작업을 지원하는 것이기도 합니다.

사용자 이벤트 - 사용자가 버튼을 눌렀습니다. 이에 대한 응답으로 코드의 일부가 실행되어 사용자의 작업에 반응합니다.

시스템 이벤트 - 1C 개체를 데이터베이스에 썼습니다. 시스템 이벤트 "Record object"가 발생했습니다. 사용자(버튼을 누르거나 다른 작업을 수행한 사람)가 아닌 시스템 자체에 의해 발생한 이벤트에 대해 발생할 반응을 구성하는 것이 가능합니다. 그러한 이벤트의 놀라운 예는 프로그램이 시작될 때입니다.

모듈 1C 실행 순서

많은 언어에는 "진입점"이라는 것이 있습니다. 이것은 프로그램이 시작될 때 실행될 첫 번째 줄이나 함수입니다.

1C에는 각 클라이언트 유형마다 이러한 진입점이 여러 개 있습니다. 즉, 씩 클라이언트를 시작할 때 진입점은 하나이고, 씬 클라이언트를 시작할 때는 다른 진입점입니다. 이를 통해 클라이언트 유형에 따라 다른 기능을 프로그래밍할 수 있습니다.

해당 모듈의 진입점은 각각 시스템 이벤트 핸들러 BeforeSystemStart() 및 AtSystemStart()입니다(즉, 순서대로). 이러한 기능은 먼저 실행되며 자동으로 무언가를 시작할 수 있습니다.

자동으로 시작된 것이 없으면 1C 인터페이스가 사용자 앞에 열리고 모든 것이 이에 따라 달라집니다. 그는 버튼을 클릭합니다. 이 버튼을 누르는 핸들러가 실행됩니다. 그러면 자동으로 무언가를 시작할 수도 있습니다.

1C 모듈 작업

구성자에서 생성됩니다. 구성 창을 사용하여 모듈을 열 수 있습니다.

플랫폼 모듈 1C:Enterprise 8.3, 8.2

일반 모듈

이러한 모듈에서 "export" 플래그로 선언된 함수는 구성의 어느 곳에서나 호출할 수 있습니다. 호출은 CommonModuleName.FunctionName()을 통해 이루어집니다.

이러한 모듈에는 변수 섹션이 없습니다.

공통 모듈의 실행은 해당 속성에 설정된 매개변수에 따라 달라집니다.

플래그 "글로벌"

이 플래그가 설정되면 해당 모듈의 컨텍스트가 전역이 됩니다. 즉, 내보내기 기능에 액세스할 때 모듈 이름을 지정할 필요가 없습니다. 그러나 내보내기 기능의 이름은 전역 구성 컨텍스트 내에서 고유해야 합니다.

플래그 "서버"

이러한 모듈의 기능은 서버에서 수행될 수 있습니다.

플래그 "클라이언트(일반 응용 프로그램)"

이러한 모듈의 기능은 일반 애플리케이션 모드로 클라이언트에서 실행될 수 있습니다.

"클라이언트(관리되는 애플리케이션)" 플래그

이러한 모듈의 기능은 관리되는 애플리케이션 모드의 클라이언트에서 실행될 수 있습니다.

서버 호출 플래그

이 플래그는 "서버" 플래그가 설정된 모듈에 사용할 수 있습니다. 클라이언트가 이 모듈의 내보내기 기능(서버에서 실행됨)을 호출할 수 있도록 합니다.

"외부 조인" 플래그

이러한 모듈의 내보내기 기능은 외부 소스에서 연결될 때 호출될 수 있습니다.

"특권" 플래그

이 플래그가 있는 모듈에서는 권한 확인이 비활성화됩니다. 생산성이나 관리 활동에 적합합니다.

재사용 옵션

이 옵션을 활성화하면 첫 번째 호출 직후 내보내기 기능의 반환 값이 캐시됩니다. 호출 기간(특정 프로시저 실행 기간) 또는 사용자 세션 기간 동안 캐싱이 가능합니다.

애플리케이션 모듈

애플리케이션 시작 및 종료 이벤트를 처리하도록 설계되었습니다. 일반 애플리케이션과 관리 애플리케이션의 두 가지 유형이 있습니다.

애플리케이션 시작 시간에 영향을 미치므로 이를 오버로드해서는 안 됩니다.

세션 모듈

세션 매개변수를 초기화하는 데 사용되는 특수 모듈입니다. 다른 애플리케이션 모듈에서 코드가 중복되지 않도록 하기 위해 필요합니다.

모듈은 여러 번 실행될 수 있고 베이스를 더 이상 시작하지 않고도 실행될 수 있으므로 주의해서 사용해야 합니다. 애플리케이션 모듈보다 먼저 실행됩니다.

감사합니다. (교사 및 개발자)

일반 모듈 1C- 구성에서 자주 호출되는 프로그램 코드를 저장하는 구성 메타데이터 1C 8.3 및 8.2의 개체입니다. 함수/프로시저는 구성의 어느 곳에서나 호출할 수 있습니다(내보낸 경우).

공유 모듈을 사용하는 방법

둘 이상의 위치에서 호출되는 경우 공통 모듈에 프로시저나 함수를 배치하는 것이 좋습니다. 첫째, 절차를 수정하면 한 곳만 수정하면 된다. 둘째, 코드에서 더 큰 순서를 달성합니다.

공통 모듈의 일반적인 예는 일부 등록부에 따른 게시 처리, 근무일 차이 금액 가져오기, 환율 변환, 표 섹션의 수량/가격/금액 다시 계산 및 기타 기능입니다.

일반 모듈 속성

공유 모듈과 다른 모듈의 주요 차이점 중 하나는 공유 변수를 선언할 수 없다는 것입니다.

267개의 1C 비디오 강의를 무료로 받으세요:

공통 모듈의 속성 팔레트를 자세히 살펴보겠습니다.

  • 글로벌- 플래그가 설정되면 이 모듈의 기능과 프로시저를 전역 컨텍스트에서 사용할 수 있습니다. 저것들. 공통 모듈의 이름 없이 구성의 어느 곳에서나 호출할 수 있습니다. 그러나 조건이 추가됩니다. 즉, 이 공통 모듈의 프로시저 및 함수 이름은 전역 컨텍스트 내에서 고유해야 합니다.
  • 섬기는 사람- 본 공통모듈의 절차 및 기능은 서버에서 실행될 수 있습니다.
  • 외부 조인프로그래밍 코드이 공유 모듈 중 일부는 외부 소스(예: COM)에 의해 연결될 때 실행될 수 있습니다.
  • 고객 ( 관리형 애플리케이션) — 이 공통 모듈의 프로시저 및 기능은 관리형 애플리케이션 모드의 씩 클라이언트에서 사용할 수 있습니다.
  • 고객 ( 정기 신청) — 이 공통 모듈의 프로그램 코드는 일반 응용 프로그램 모드의 씩 클라이언트에서 사용할 수 있습니다.
  • 서버 호출- 클라이언트가 이 공통 모듈의 프로시저와 기능을 사용할 수 있도록 하는 플래그입니다.
  • - True로 설정하면 이 공통 모듈에서 액세스 권한 확인이 비활성화됩니다.
  • 재사용— 반환된 값에 대한 설정을 정의합니다. 옵션이 활성화된 경우 첫 번째 실행 후 시스템은 이러한 입력 매개변수의 값을 기억하고 미리 만들어진 값을 반환합니다. 다음 값을 사용할 수 있습니다. 사용되지 않음- 종료, 통화 당시- 특정 절차가 진행되는 동안 세션 중에- 사용자가 세션(프로그램)을 종료할 때까지.

1C 프로그래밍을 배우기 시작했다면 무료 과정을 추천합니다(잊지 마세요)

관련 출판물