1c xml 작업의 예. XML 파일 생성

데이터 전송은 모든 회계 시스템에서 매우 중요한 프로세스이며 1C 8.3 및 8.2 플랫폼도 예외는 아닙니다. 아래에서 유사한 구성으로 한 시스템에서 다른 시스템으로 데이터를 쉽게 전송하는 방법에 대한 지침을 살펴보겠습니다(구성이 다른 경우 프로그래머용 도구를 사용할 수 있음).

조치가 필요하기 전에 변경 사항을 취소할 수 없습니다!

가장 간단하고 편리한 방법 1C 8.3에서 1C 8.3으로 데이터 전송 8.3 회계 3.0 - 처리 사용 XML 형식의 데이터 업로드 및 다운로드(다운로드 - 8.2 또는 1C 8.3 또는 ITS의 경우). 처리는 보편적이며 모든 구성에 적합합니다.

우리는 세부 사항에 들어가지 않을 것입니다, 고려 단계별 지침가장 간단한 상품 이전의 예를 사용하여 이 처리를 사용한 데이터 마이그레이션에 대해 설명합니다.

XML로 데이터 내보내기

우선, 소스 데이터베이스(상품을 내릴 위치)에서 처리를 열고 인터페이스를 살펴보겠습니다.

267개의 1C 비디오 자습서를 무료로 받으십시오.

"파일 이름" 필드를 즉시 작성해야 합니다. 이 경로는 새로운 파일수신기 데이터베이스에 로드할 데이터입니다. 약간 아래의 "언로드 데이터" 섹션에서 데이터베이스에서 언로드할 데이터를 선택해야 합니다.

왼쪽 표 섹션에서 개체를 선택한 후 오른쪽 표 섹션에서 선택을 적용할 수 있습니다.

이 예에서는 "Rake"라는 이름의 모든 제품을 언로드하고 싶습니다.

모든 설정이 완료되면 데이터를 다운로드할 수 있습니다. 이렇게 하려면 "데이터 업로드" 버튼을 클릭하십시오.

xml에서 1c 8.3으로 데이터 로드

데이터가 소스 베이스에서 언로드되었으므로 이제 대상 베이스로 전송해야 합니다.

이렇게 하려면 데이터를 로드해야 하는 데이터베이스에서 이미 처리를 시작하고 "다운로드" 탭으로 이동하여 디스크에서 다운로드한 파일을 선택하고 "데이터 로드" 버튼을 클릭해야 합니다.

이 예는 1C 플랫폼의 동일한 구성 간에 데이터를 전송하는 데에만 적합합니다. 프로그래머를 위한 교환 메커니즘을 이해하기 위해 기사를 작성했습니다 -.

조직에서 회계는 1C: Enterprise 플랫폼 기반 솔루션뿐만 아니라 다른 소프트웨어 패키지(Galaxy, Parus, SAP 등)에서도 유지될 수 있습니다. 이 경우 두 응용 프로그램을 통합하는 작업이 나타납니다.

예를 들어, 일부 응용 프로그램("X"라고 함)에서 구성 문서 목록을 읽으려고 합니다. 우리는 그러한 문제를 해결할 때의 실질적인 이점에 대해 이야기하지 않을 것이며, 그러한 상황에서 가장 편리하고 보편적인 방법은 XML 형식의 문서 목록을 언로드하는 것이라는 점만 언급할 것입니다.

이 형식을 사용하는 교환은 대부분의 응용 프로그램에서 사용할 수 있으므로 보편적입니다. 구성 문서 목록을 1C: Enterprise에서 XML 파일로 언로드하는 방법을 고려해 보겠습니다.

XML로 내보내기

이제 본론으로 넘어가겠습니다. 문서 메타데이터 목록을 탐색하고 XML 파일에서 목록을 구성해야 합니다. 다음 스크린샷은 XML 파일 생성 알고리즘을 보여줍니다.

NewXML() 내보내기 기능 // 임시 파일의 이름을 가져옵니다.경로 = GetTemporaryFileName(); // "XML Writer" 클래스 초기화레코드 = 새 XML 레코드; // 쓰기 위한 임시 파일 열기- 8 " ) ; // XML 파일 선언 작성녹음. 쓰기XML 선언(); // 기록. WriteItemStart(" 문서구성" ) ; // 첫 번째 항목 // 파일 생성 날짜가 있는 첫 번째 요소의 속성녹음. WriteAttribute("생성됨", 형식(CurrentDate(), "DF = yyyy- MM- ddThh: mm: ss; DLF = DT" ) ) ; // 각 구성 문서에 대한 항목을 작성합니다. 문서의 이름을 텍스트에 넣습니다.메타데이터의 각 도크에 대해. 문서 주기 기록. WriteElementStart("문서"); 녹음. WriteText(문서 이름); 녹음. 쓰기 종료 요소(); 사이클 종료; // 첫 번째 항목 쓰기 완료녹음. 쓰기 종료 요소(); 녹음. 닫다 (); // 파일을 닫는다 // 파일의 바이너리 데이터를 가져와 임시 저장소에 넣습니다. BinaryData = 새 BinaryData(경로); 주소 = PlaceTemporaryStorage(BinaryData, 새 UniqueIdentifier); 반송 주소; // 저장소에 있는 파일의 주소를 반환종료 기능

생성된 각 요소는 올바르게 완료되어야 합니다. "WriteElementBeginning()" 메서드를 실행한 후 "WriteElementEnd" 메서드를 실행해야 합니다. 그렇지 않으면 XML 파일의 구조가 올바르지 않습니다.

XML 파일을 만드는 일반적인 패턴은 다음과 같습니다.

// 1. "XML Writer" 클래스 초기화레코드 = 새 XML 레코드; // 2. 녹화용 임시 파일 열기녹음. OpenFile(경로, "UTF - 8 " ) ; // 3. XML 파일 선언문 작성녹음. 쓰기XML 선언(); // // 4. ++ XML 파일의 내용 쓰기녹음. WriteElementStart("XML 요소"); 녹음. 쓰기 종료 요소(); // - XML ​​파일의 내용 쓰기 // 5. 파일 닫기녹음. 닫다 ();

이 5단계를 통해 거의 모든 XML 파일을 만들 수 있습니다.

이 예에서 생성된 파일은 이진 데이터로 변환되어 CreateXML 함수가 호출된 위치로 반환됩니다. 그런 다음 이 파일을 파일 시스템에 쓸 수 있습니다.

위의 스크린샷에서 업로드된 파일의 예를 볼 수 있습니다.

타사 애플리케이션

예를 들어 타사 응용 프로그램에서 XML 파일을 읽는 방법을 보여 주기 위해 .NET Framework 응용 프로그램을 만들었습니다.

프로그램은 생성된 파일을 읽고 문서를 목록 형태로 표시합니다.

직접 사용해 볼 수 있으며 기사 끝에 있는 링크에서 응용 프로그램을 다운로드할 수 있습니다.

다재

XML 형식은 1C: Enterprise 플랫폼에서 애플리케이션 솔루션 간의 데이터 교환을 위한 대부분의 구성에서 사용됩니다. 일반적으로 사용되는 또 다른 교환 방법은 COM 연결입니다. XML을 사용하면 거의 모든 응용 프로그램과 교환할 수 있으므로 범용이라고 불러야 합니다.

다운로드:

XML 파일 판독기 응용 프로그램입니다.

XML 파일 생성 처리.

작동 모드

UnloadingLoadingXML82 Data 처리는 Unloading(사용자가 지정한 언로드 파일 생성)과 Loading(동일 이름 모드에서 생성된 언로드 파일 읽기 및 사용 가능한 데이터 쓰기)의 2가지 작동 모드를 구현합니다. 모드는 모드 필드에서 선택하여 설정합니다.

이 또는 저 모드를 시작하기 전에(실행 버튼 누름) "파일 이름" 필드에 수동으로 입력하거나 이 필드 및 표준 파일 선택을 선택하는 버튼을 사용하여 업로드 파일의 이름을 지정해야 합니다. 대화.

다운로드 모드에서 레지스터를 작성할 때 총계 사용을 편집할 수 있으며, 이는 다운로드 속도에 영향을 줄 수 있습니다. "총계 비활성화" 및 "총계 포함" 버튼은 "데이터 로드 중 총계 사용 편집 기능 활성화" 확인란이 선택된 경우 사용할 수 있으며 데이터를 로드할 때 총계 사용 모드를 수동으로 제어하는 ​​데 사용됩니다. ** 처리 적용 조건 **

데이터가 다운로드된 정보베이스와 데이터가 로드된 정보베이스가 동질적이거나(구성이 동일하고 데이터가 다를 수 있음), 로드되지 않은 모든 객체의 구성이 거의 완전히 동일한 경우에만 처리를 사용할 수 있습니다. 속성 및 표 섹션의 유형, "선행" 메타데이터 개체의 속성 등. 지정된 제한 사항으로 인해 처리는 주로 동종 정보 보안 간의 교환을 목적으로 한다는 점에 유의해야 합니다.

업로드 파일의 형식은 헤더 부분에 의한 교환 계획에 따라 업로드 시 생성되는 파일의 형식과 다릅니다. 데이터(사전 요소, 레지스터 레코드 집합 등)를 언로드하기 위해 처리는 교환 계획에 따라 언로드와 동일한 XML 직렬화 메커니즘을 사용하며 이 부분에서 파일 형식이 동일합니다.

언 로딩의 구성 결정

처리를 통해 정보 베이스 데이터를 파일에 전체 및 부분 업로드할 수 있습니다. 업로드할 데이터의 구성은 데이터를 업로드할 수 있는 메타데이터 개체를 표시하는 트리의 열에 있는 상자를 선택하여 대화 상자에서 구성됩니다. "필요한 경우" 플래그의 추가 열은 개체를 언로드할 필요성을 설정합니다. 이 유형의"링크". 즉, "필요한 경우" 열에서만 확인란을 선택하면 해당 개체에 대한 데이터가 완전히 언로드되지 않고 언로드 파일을 로드할 정보베이스에서 참조 무결성을 유지하는 데 필요한 범위까지만 됩니다.

양식이 열리면 처리에서 모든 개체에 대한 참조로 언로드의 부호를 설정하여 언로드된 정보베이스 조각의 참조 무결성을 보장합니다.

"링크로 업로드할 개체 정의" 버튼을 클릭하면 처리가 전체 업로드 플래그가 설정된 개체에 포함될 수 있는 링크를 분석하고 업로드해야 함을 나타내는 플래그 열을 자동으로 채웁니다. 링크로. 개체에 이미 전체 언로드 확인란이 선택되어 있으면 링크로 언로드 확인란이 설정되지 않습니다.

가능한 응용

이 처리의 사용은 예를 들어 전체 또는 부분을 생성하는 데 가능합니다. 지원데이터, 정보베이스 간의 데이터 교환 및 문제 정보베이스 복구의 보조 도구로 사용됩니다.

XML 문서 작업은 1C: Enterprise 8 시스템의 기본 제공 언어에서 직접 사용할 수 있습니다.

가능성이있다:

  • xml 문서를 순차적으로 읽고 씁니다.
    • 요소 텍스트 또는 XML 속성 값에서 얻은 문자열을 지정된 유형에 따른 값으로 변환합니다.
    • 요소의 텍스트 또는 XML 속성 값에 배치할 값의 문자열 표현을 가져옵니다.
    • 매개변수로 전달된 유형에 해당하는 XML 데이터 유형을 가져옵니다.
    • XML에서 지정된 유형의 값을 읽을 수 있는지 확인합니다.
    • XML을 읽을 때 XML 스키마 준수 확인
    • 값을 XML 형식으로 작성합니다.
    • XML 데이터 유형과 일치하는 유형을 반환합니다.
  • 다음 표준을 준수하는 xml 문서(DocumentDOM)에 대한 개체 데이터 액세스 모델을 사용합니다.
    • DOM 레벨 2;
    • XPath(DOM 레벨 3);
    • DOM 로드 및 저장(DOM 레벨 3).
  • XML 스키마 개체 모델(XML 스키마) 사용
  • Canonical XML 1.1 표준을 사용합니다.

XML 작업을 위한 외부 연결 및 메커니즘을 사용하여 이러한 시스템에서 허용되는 형식에 따라 응용 프로그램 시스템과의 통합을 구성할 수 있습니다. 이를 위해 XSL 변환 메커니즘이 사용됩니다. 예를 들어 이러한 통합을 위해 Microsoft의 BizTalk 서버를 사용할 수 있습니다.

빠른 정보 세트

플랫폼은 Fast Infoset 바이너리 형식의 XML 문서 작업을 위한 도구를 제공합니다. 빠른 기술 Infoset은 XML 데이터를 표시하기 위해 대체 구문을 사용합니다. 따라서 기존 XML 형식으로 작성된 데이터의 처리 속도보다 파일 수가 적고 처리 속도가 빨라집니다. Fast Infoset 형식으로 기록된 파일의 확장자는 .fi 또는 .finf입니다.



관련 기사: