xml 형식의 범용 데이터 교환 7.7. 범용 데이터 교환 사용의 모양 및 기능

그리고 이 기사에서는 동일한 구성 데이터 변환, 에디션 2.1.4.1을 사용하여 1C: Enterprise 버전 7.7에서 8.2의 구성에서 데이터를 교환하는 데 필요한 단계를 설명합니다.

데이터 변환 배포 키트의 일부로 MD82Exp.epf 처리 파일을 찾아보겠습니다.
수신기 기본 구성의 메타데이터 구조에 대한 설명을 언로드하는 데 필요합니다.

동일한 배포 키트의 일부로 처리 파일 V8Exchan82.epf - "XML 형식의 범용 데이터 교환"도 있습니다.
수신기 베이스를 내리기 위해 필요합니다. 이름에서 알 수 있듯이 이러한 치료법은
버전 1C: Enterprise 8.2와 함께 작동합니다.

그런 다음 1C: Enterprise 7.7 작업을 위한 도구를 찾습니다.

데이터 변환 구성 배포에는 처리 파일 MD77Exp.ert가 포함되어 있습니다.
소스 데이터베이스 구성의 메타데이터 구조에 대한 설명을 언로드하는 데 필요합니다.

동일한 배포 키트의 일부로 처리 파일 V77Exp.ert - "XML 형식의 범용 데이터 내보내기"도 있습니다.
소스 베이스를 언로드하는 데 필요합니다.

시작하겠습니다.

먼저 소스 및 대상 메타데이터 구조 설명을 언로드하겠습니다.

  1. 1C: Enterprise 7.7 모드에서 소스 데이터베이스를 열고 MD77Exp.ert 처리를 시작하겠습니다.
    소스 메타데이터 구조의 설명을 언로드합니다.
    소스 메타데이터 구조를 Rules1.xml 파일에 저장해 보겠습니다.
  2. 1C: Enterprise 8.2 모드에서 수신기 베이스를 열고 MD82Exp.epf 처리를 시작하겠습니다.
    수신기 메타데이터 구조의 설명을 언로드합니다.
    수신자 메타데이터 구조를 Rules2.xml 파일에 저장해 보겠습니다.

두 구성의 메타데이터 구조에 대한 설명을 로드해 보겠습니다.

  1. 1C: 엔터프라이즈 모드 8.2에서 구성 데이터 변환을 시작하겠습니다.
  2. "Configurations" 디렉토리를 열어봅시다(References—> Configurations). 구성 정보를 저장하고,
    교환 규칙을 구성할 수 있습니다.
  3. 소스 구성에 대한 정보를 추가해 보겠습니다. "추가" 버튼 또는 "삽입" 키를 누릅니다.
  4. rules1.xml 소스 메타데이터 구조를 사용하여 파일 경로를 지정해 보겠습니다. "다운로드 실행" 버튼을 누릅니다.
  5. 수신기 구성에 대한 정보를 추가해 보겠습니다. "추가" 버튼 또는 "삽입" 키를 누르십시오.
  6. Rules2.xml 수신자 메타데이터 구조를 사용하여 파일의 경로를 지정해 보겠습니다. "다운로드 실행" 버튼을 누릅니다.

따라서 소스 및 대상 정보를 로드했습니다. 이제 교환 규칙을 구성할 수 있습니다.

  1. "Conversions" 디렉토리(References -> Conversions)를 열어봅시다. 이 가이드에는 정보가 포함되어 있습니다.
    어떤 구성에서 어떤 방향으로 교환이 수행되는지가 결정됩니다.
  2. 새로운 요소를 추가해 봅시다. "추가" 버튼 또는 "삽입" 키를 누릅니다.
  3. "Configurations" 디렉토리에서 구성 소스를 표시해 보겠습니다. "구성 - 소스:" 필드.
  4. "Configurations" 디렉토리에서 수신기의 구성을 표시해 보겠습니다. "구성 - 대상:" 필드.
  5. 중요한 디테일!!! "추가" 탭을 열어 보겠습니다. "언로드 모듈의 파일 이름:" 필드.
  6. 언로드 모듈 파일의 위치를 ​​지정하십시오(예: C: \\ Bases \\ Unloading module.txt).
  7. 전체를 교체하려면 이 파일의 내용이 필요합니다.
    V77Exp.ert 처리의 모듈. 이 교체 없이는 하역이 불가능합니다!
  8. "확인" 버튼을 눌러봅시다.

좋습니다. 교환 규칙을 구성했습니다. 이러한 교환 규칙을 파일에 업로드하는 작업이 남아 있습니다.

  1. "전환" 참고서에서 새로 생성된 요소를 선택합니다.
  2. 참조 패널에서 "규칙으로 이동" 버튼을 클릭합니다. 변환 규칙이 있는 양식이 열립니다.
  3. "데이터 업로드 규칙" 탭에서 정확히 무엇을 업로드할지 지정합니다.
  4. "속성 변환" 탭에서 교환된 개체의 세부 정보 매핑을 지정할 수 있습니다.
  5. 이 양식의 왼쪽 상단에는 "규칙 저장" 버튼이 있습니다.
  6. 파일 이름과 경로를 지정합니다(예: C: \\ Bases \\ Data Exchange Rules.xml). "열기" 버튼을 눌러봅시다.
  7. 나중, 지정된 경로참조 "전환" -> "현재 요소 변경(F2)" -> "고급" 탭 -> "교환 규칙 파일 이름:" 필드에서 변경할 수 있습니다.
  8. 규칙을 저장하는 동안 이전에 지정한 경로에 따라 언로드 모듈도 기록됩니다: C: \\ Bases \\ Unloading module.txt.

변환 규칙이 준비되었습니다! 이제 데이터 교환을 해보자.

1C: Configurator 7.7 모드에서 소스 기반을 연 다음 V77Exp.ert 처리를 엽니다.
"XML 형식의 범용 데이터 업로드". "모듈" 탭을 열고 모듈의 모든 내용을 삭제합시다.
#LoadFromFile C: \\ Bases \\ Unload Module.txt 줄을 삽입합니다.

"LoadFromFile" 지시어를 사용하여 로딩을 전환합니다. 소프트웨어 모듈텍스트 파일에서 로드합니다.
이제 언로드 코드 ModuleUnload.txt가 있는 파일이 항상 우리가 지정한 폴더에 있는지 확인해야 합니다.

V77Exp.ert의 처리를 저장합시다.

데이터를 업로드하려면 다음을 수행해야 합니다.

  1. 1C: Enterprise 7.7 모드에서 소스 데이터베이스를 연 다음 방금 저장된 처리 V77Exp.ert를 엽니다.
  2. "규칙 파일 이름:" 필드에 교환 규칙 파일의 이름을 지정합니다(여기에 저장했습니다: C: \\ Bases \\ DataExchange Rules.xml).
    데이터가 다운로드될 "데이터 파일 이름:" 필드에서 파일을 선택합니다(예: C: \\ Bases \\ UnloadingDataFrom7.7.xml).
  3. 다음으로 "교환 규칙 다운로드" 버튼을 클릭하여 교환 규칙을 다운로드해야 합니다.
  4. 특정 간격 동안 문서를 업로드하려면 "시작 날짜" 및 "종료 날짜" 기간을 지정해야 합니다.
  5. "데이터 업로드 규칙" 목록의 확인란은 업로드할 데이터와 업로드하지 않을 데이터를 나타냅니다.

이제 수신기 데이터베이스에 데이터를 로드해 보겠습니다. 1C: Enterprise 8.2 모드에서 열고 처리를 시작합시다.
소스 데이터를 로드하기 위한 "일반 XML 데이터 교환".

V8Exchan82.epf 처리 파일입니다. 또는 "서비스" -> "기타 데이터 교환" -> "XML 형식의 범용 데이터 교환"을 엽니다.

  1. 처리 중 "데이터 로드" 탭에서 데이터 파일의 이름을 선택합니다(여기에 저장했습니다: C: \\ Bases \\ UnloadingDataFrom7.7.xml).
  2. "데이터 로드" 버튼을 누릅니다(상단 패널에 있음).

데이터가 로드되었습니다!

버전 1C: Enterprise 7.7에서 언로드하기 위한 동일한 단계가 버전 1C: Enterprise 8.1 및 1C: Enterprise 8.0에 적용됩니다.
배포 키트의 일부로 데이터 변환 구성에는 다음이 포함됩니다.
이러한 버전 MD81Exp.epf 및 V8Exchan81.epf, MD80Exp.epf 및 V8Exchan.epf에 대한 처리 파일.

1C: Enterprise 7.7에 데이터를 로드하려면 V77Imp.ert 처리를 사용해야 합니다.
데이터를 로드하기 전에 설명된 V77Imp.ert 처리 모듈과 동일한 작업을 수행해야 합니다.
V77Exp.ert 처리용.

목록에서 처리를 선택하면 빠른 접근(파일 - V77Exp.ert) 파일을 찾을 수 없다는 메시지가 표시됩니다.
파일이 같은 위치에 있고 이름이 변경되지 않았더라도 처음과 같이 모든 작업을 수행하면 됩니다.
«파일 | "를 열고 V77Exp.ert 파일을 다시 선택하십시오.

오늘 우리는 당신과 함께 고려할 것입니다 "1s 7.7을 위한 XML로의 범용 언로드" 처리 중. 이 처리교환 규칙에 따라 XML 파일로 데이터를 언로드하기 위한 것입니다. 데이터 언로드 규칙은 XML 파일로 어떤 데이터와 어떤 구조로 언로드되어야 하는지에 대한 설명이 포함된 XML 파일이기도 합니다.

1c 7.7에서 범용 XML 언로드 처리를 사용하는 방법은 무엇입니까?

아래 스크린샷에서 주요 처리 양식을 볼 수 있습니다. 1s 7.7용 XML로 범용 내보내기, 필요한 주요 매개 변수를 살펴 보겠습니다. 올바른 작업... 숫자 1이있는 곳에서 우리는 데이터 업로드 규칙이있는 파일을 나타냅니다. 이러한 규칙이 필요한 경우 기사의 첫 번째 단락에서 이미 이야기했습니다. 2번은 데이터를 업로드할 파일을 선택합니다. 단락 3에서 시작 날짜와 종료 날짜를 지정해야 하며 이 기간 동안 데이터가 파일로 업로드됩니다. 이 모든 매개변수를 지정한 후 "규칙 로드"를 클릭합니다. 단락 5의 규칙을 읽은 후 규칙 이름이 있는 교환 규칙 파일의 트리 모양 구조가 나타납니다. 이제 우리가해야 할 일은 우리의 버튼을 클릭하는 것입니다 범용 언로드 XML 1s 7.7 처리 6번 "업로드" 아래에서 이 작업 후에 모든 데이터는 데이터 업로드에 대한 현재 규칙에 따라 2절에서 지정한 XML 파일로 업로드됩니다.

여기에서는 표준 구성 요소로 작업할 때의 주요 사항을 설명합니다. v7plus.dll... 정보는 매우 구식이며 다음에 나타날 때 잊지 않도록 여기에 더 많이 나타납니다. 거의 표준 구성 요소의 XML 파서를 사용하여 XML 파일에서 읽는 방법을 설명합니다. 예를 들어 CommerceML 2.03 형식의 파일(Bitrix의 사이트에서)에 업로드된 응용 프로그램 문서의 파일이 있습니다.

시작하겠습니다. 첫 번째 단계는 구성 요소를 로드하는 것입니다. 다음은 일반적인 코드입니다.

경우 + "v7plus.dll")<>1 그렇다면 DownloadExternalComponent(IB 카탈로그()+ "ExtForms \" + "v7plus.dll")<>1 그렇다면 DownloadExternalComponent(카탈로그프로그램()+ "v7plus.dll")<>1 그런 다음 경고("v7plus.dll 구성 요소를 찾을 수 없습니다!"); 반환; EndIf; EndIf; EndIf; 파서 = CreateObject("AddIn.XMLParser");

분석기는 회로와 함께 작동할 수 있지만 이 순간은 고려하지 않을 것입니다. 단순 선형(또는 거의 선형) 파일 읽기. 따라서 우리는 단순히 새 문서:

XML_Document = 파서. 문서 만들기(); 값이 비어 있는 경우( XML_문서) = 1 그런 다음 EndIf를 반환합니다. XML_문서. 로드(파일명);

변수에서 파일 이름열려 있는 파일의 이름이 있는 줄이 작성되었습니다. 그런 다음 파일을 읽고 점차적으로 암호를 해독할 수 있습니다.
XML 파일은 노드와 속성으로 구성됩니다. 각 노드는 0개 이상의 속성과 0개 이상의 자식 노드를 포함할 수 있습니다. 루트 노드는 변수에서 직접 얻을 수 있습니다. XML_문서... 명확성을 위해 XML 파일의 일부를 살펴보겠습니다.

<КоммерческаяИнформация ВерсияСхемы=»2.03″ ДатаФормирования=»2014-04-09 14:25″>
<Документ>
<Ид>53006
<Номер>53006
<Дата>2014-04-29
<ХозОперация>상품 주문
<Роль>파는 사람
<Валюта>장애
<Курс>1
<Сумма>300000.00
<Контрагенты>…
<Время>11:52
<Комментарий>테스트 … .BSV
<Товары>
<Товар>
<Ид>ID46
<Наименование>…
<БазоваяЕдиница Код=»796″ НаименованиеПолное=»Штука» МеждународноеСокращение=»PCE»>PC

다음은 파일의 크게 축약된 버전 또는 그 일부입니다. 이 기사의 목적은 CommerceML 형식을 설명하는 것이 아니라 XML 파일로 작업하는 방법을 보여주는 것이므로 명령만 제공합니다. CommerceML 파일은 루트 노드 " 상업 정보". 우리는 문서에서 그것을 읽었습니다.

ElDocument = XML_Document. SelectNode("상업 정보");

변수 값 엘다큐먼트노드(OLE 개체)가 있습니다. 여기에는 자식 노드와 속성이 있습니다. 한 파일에 여러 문서가 있을 수 있으므로 루프에서 반복합니다.

샘플 = 전자 문서. SelectNodes("문서"); th = 1 샘플 기준. 노드 수사이클 독 = 샘플. 노드 가져오기(일 - 1);

특성 노드 수자식 노드의 총 수를 반환하고 메서드 노드 가져오기()지정된 자식 노드를 반환합니다(번호는 0부터 시작).

노드 " "속성이나 자식 노드가 없습니다. 중요할 뿐" 00006 ". 마찬가지로 " 데이트«, « 호스트 작업" 그리고 많은 다른 사람들. 노드 값을 얻으려면 다음 구성이 사용됩니다.

번호 = 문서 셀렉트노드("숫자"). 값; NumberNumber = 숫자(문서. 노드 선택("숫자"). 값);

여기에 사용된 방법은 셀렉트노드()... "와 달리 셀렉트노드()", 목록을 반환하지 않고 지정된 이름의 맨 처음 노드를 반환합니다. 그리고 그 속성 " »값이 있는 문자열을 반환합니다. 값을 원하는 유형으로 변환하기 위해 변환 함수를 사용합니다. 날짜는 부분적으로 변환되어야 합니다(표준 날짜() 함수에서 지원하지 않는 yyyy-mm-dd 형식으로 XML에 저장됨). 스키마를 사용할 때 유형 변환이 자동으로 수행될 수 있습니다. 확인하지 않았습니다.
다음 방법은 속성을 읽는 데 사용됩니다.

OKEI = 제품. 노드("기본 장치")를 선택합니다. 속성 가져오기("코드");

여기 생성물노드 " 생성물". 단일 자식 노드와 같은 속성 값은 속성 이름으로 얻을 수 있습니다. 문자열은 항상 반환되므로 필요한 경우 값 유형을 필요한 유형으로 캐스트해야 합니다. 노드가 여러 속성을 읽어야 하는 경우 노드 값을 별도의 변수에 저장하는 것이 좋습니다.
이것이 XML 파일을 완전히 읽는 데 필요한 모든 기본 기능입니다.

1C의 XML 파일 작업: 회계 7.7

종종 대기업 및 소매 체인 작업에서 데이터베이스 간에 데이터를 교환해야 합니다. 각 프로그래머와 관리자는 이 문제를 다르게 해결합니다. 누군가는 중간 테이블 파일을 통해 업로드-다운로드를 작성하고 누군가는 모드를 사용합니다. COM 연결기본 소스에 연결합니다. 그러나 최근 몇 년 동안 "XML 형식의 범용 데이터 교환"이라는 자체 1C-ovsky 메커니즘이 점점 더 인기를 얻고 있습니다.

가공 모습

전체 인터페이스에서 서비스-> 기타 데이터 교환-> XML 형식의 범용 데이터 교환에서 처리를 열 수 있습니다.

처리 양식(그림 1)에는 4개의 탭이 있습니다.

  • 추가 세팅;
  • 데이터 삭제.
  • 각 탭의 인터페이스는 요소가 많이 로드되므로 별도의 고려가 필요합니다.

    데이터 업로드

    책갈피의 맨 위에는 교환 규칙 파일을 선택하는 필드가 있습니다. 비표준 기지 및 교환의 경우 교환 파일을 직접 생성해야 합니다.

    양식의 다음 줄에는 두 개의 라디오 버튼이 있습니다.

    1. 교환 파일에 업로드(그림 2);
    2. IB에 데이터 연결 및 업로드(그림 3).

    위의 그림에서 알 수 있듯이 스위치에 따라 모양의 모양이 다릅니다. 파일 교환 옵션을 선택하면 업로드가 수행될 파일의 ​​위치와 공간을 절약하고 암호로 보호하기 위해 파일을 압축할 가능성을 선택하라는 메시지가 표시됩니다.

    수신기 기반에 대한 직접 연결 옵션은 파일 및 클라이언트-서버 작동 모드를 모두 지원합니다. 이 경우 기본 주소를 등록하고 "사용자" 및 "비밀번호" 필드를 입력해야 합니다. 데이터 교환을 진행하기 전에 연결을 테스트하는 것이 좋습니다.

    표 부분아래에 있는 선택 및 기타 언로딩 매개변수를 구성할 수 있습니다.

    알고리즘을 디버그하고 오류를 수정하기 위해 교환 처리에 내장된 메커니즘을 사용할 수 있습니다. 활성화는 양식 하단의 해당 확인란을 선택하여 수행됩니다. "디버그 설정 ..."버튼을 누르면 창을 호출합니다 (그림 4).

    그림 4

    구별되는 특징이 양식은 세 가지 가능한 디버깅 모드 각각을 설명하는 레이아웃 왼쪽의 유익한 도움말입니다. 파일로 외부 처리모든 epf 파일을 모듈과 함께 사용할 수 있습니다.

    "마침" 버튼을 클릭하면 채워진 데이터의 정확성과 완전성이 확인됩니다.

    "업로드"와 달리 이 탭(그림 5)에는 표 섹션이 없지만 새 개체 및 변경된 개체를 기록하는 매개변수를 조정할 수 있는 플래그가 더 많습니다.

    그림 5

    먼저 정보의 출처가 될 파일을 선택해야 합니다. 이것은 "파일 이름 다운로드" 입력 필드에서 수행할 수 있습니다. 데이터가 암호로 보호된 아카이브에 업로드된 경우 해당 필드에 입력해야 합니다.

    해당 확인란을 사용하여 다음을 구성할 수 있습니다.

    • 객체를 작성할 때의 트랜잭션(때로는 프로세스 속도를 높임)
    • 교환 모드에서 데이터 업로드(이 경우 문서 게시 시 확인을 제외한 모든 플랫폼 확인은 기록 시 무시됨)
    • 변경된 요소 덮어쓰기
    • 다운로드한 항목에 대한 삭제 표시 설치
    • 레지스터에 새 데이터를 쓰는 모드(하나씩 또는 전화 걸기)
    • 문자열 값에 대해 중요하지 않은 문자(공백 및 탭) 자르기.

    추가 세팅

    책갈피의 이름에서 알 수 있듯이 도구가 포함되어 있어 교환 프로세스를 미세 조정할 수 있습니다. 특히:

    1. 디버그 모드를 켭니다.
    2. 업로드 프로세스에서 트랜잭션을 사용할 수 있습니다.
    3. 1C의 8번째 버전 데이터베이스 간의 교환을 최적화합니다.
    4. 현재 사용자가 사용하도록 허용된 개체만 언로드합니다.
    5. 데이터베이스 간의 교환 프로세스 로깅을 활성화합니다.

    이러한 기능과 기타 기능은 양식에서 적절한 확인란을 설정하여 활성화할 수 있습니다(그림 6).

    그림 6

    데이터 삭제

    이 탭은 디버그 모드의 개발자만 사용합니다. 데이터베이스에서 불필요한 개체를 제거할 수 있습니다.

    교환 규칙 설정에 대해 간략하게

    표준 핸들러를 사용하면 프로그래머의 삶이 훨씬 쉬워집니다. 동시에 XML 형식의 Universal Data Exchange를 처음 접한 사람에게 가장 어려운 순간 중 하나는 "교환 규칙 파일을 어디에서 얻을 수 있습니까?"라는 질문입니다.

    먼저 교환 규칙을 독립적으로 생성하려면 "데이터 변환"이라고 하는 특별한 구성이 필요합니다. 여기에는 서로 다른 1C 7 및 8 데이터베이스 간의 거의 모든 교환을 설정할 수 있는 몇 가지 흥미로운 파일이 포함되어 있습니다.

    1. epf - 1C 8 데이터베이스의 메타데이터 구조를 언로드하는 데 필요합니다.
    2. epf - 1C 8 구성이 자체 작성 또는 비표준인 경우 Universal Data Exchange 처리가 없을 수 있습니다. 이 파일은 이 처리입니다.
    3. ert - 파일에는 1C 버전 7.7의 구성 메타데이터 구조를 언로드하기 위한 코드가 포함되어 있습니다.
    4. ert - 7에 대한 데이터 언로드 및 로드를 처리하기 위한 파일입니다.

    적절한 처리를 시작한 후에는 소스 및 대상 데이터베이스에 대한 메타데이터 구조를 언로드해야 합니다. 그런 다음 "Conversion" 구성에서 "Configurations" 디렉토리에 소스 및 수신기 구성에 대한 정보를 입력해야 합니다.

    그런 다음 데이터 교환 방향에 대한 정보가 포함된 요소가 Conversion 디렉터리에 생성됩니다. 이에 대한 교환 규칙을 설정할 수 있습니다.

    이 공유