양식 1의 세부 사항 8.3. 관리형 양식 세부정보(1Cv8). 애플리케이션 객체 데이터를 양식 데이터로 변환하는 방법

양식 세부정보

양식 세부정보 세트는 양식에 표시, 편집 또는 저장되는 데이터의 구성을 설명합니다. 동시에, 양식 세부사항 자체는 데이터를 표시하고 편집하는 기능을 제공하지 않습니다. 양식 세부 정보와 관련된 양식 요소(이 장의 "양식 요소" 섹션 참조)는 표시 및 편집에 사용됩니다. 모든 양식 세부정보 집합을 양식 데이터라고 합니다.

중요한!모든 데이터는 기존 형식과 달리 통제된 형태세부적인 형태로 기술되어야 한다. 양식 모듈 변수를 양식 요소의 데이터 소스로 사용할 수 없습니다.

할당이 가능하다 기본 양식 세부정보, 즉 양식의 표준 기능(양식 확장)을 결정하는 속성입니다. 양식에는 하나의 기본 속성만 있을 수 있다는 점을 기억해야 합니다.

양식 확장– 이는 양식의 기본 요소인 개체의 특성인 ManagedForm 개체의 추가 속성, 메서드 및 양식 매개 변수입니다.

양식 개발 프로세스 중에 보기 및 편집 속성을 사용하여 역할 측면에서 특정 양식 세부 정보를 보고 편집하는 기능을 명시적으로 설정할 수 있습니다. 자세한 내용은 "편집기"의 "역할 기반 양식 설정" 섹션을 참조하세요. "장). 또한 양식 자체에 있는 특정 속성의 가용성은 기능 옵션을 사용하여 구성할 수 있습니다(기능 옵션에 대한 자세한 내용은 "구성 인터페이스 관리" 장에서 확인할 수 있음).

양식 속성 속성 저장된 데이터세부 사항을 대화식으로 변경하면 편집을 위해 양식 데이터를 잠그려는 시도가 발생함을 나타냅니다. 자동 설치변형된 형태의 표시.

관리형 양식에서 사용할 수 있는 데이터 유형

관리되는 양식은 작업하는 데이터 유형에 있어서도 일반 양식과 다릅니다. 일반 형식이 1C:Enterprise가 제공하는 대부분의 유형(DirectoryObject, DocumentObject 등 유형 포함)에서 작동하는 경우 관리되는 양식에서 다음 유형 범주를 구별할 수 있습니다.

  • 양식에서 직접 사용되는 유형은 씬 및 웹 클라이언트 측에 존재하는 유형입니다(예: Number, DirectoryLink.Products, GraphicScheme, TabularDocument).
  • 특수 데이터 유형(관리 양식 데이터 유형)으로 변환될 유형입니다. 이러한 유형은 양식 세부 정보 목록에서 괄호 안에 표시됩니다(예: (DirectoryObject.Products)).
  • 동적 목록(자세한 내용은 이 장의 "동적 목록" 섹션 참조)

애플리케이션 객체를 양식 데이터로 변환

일부 애플리케이션 유형(예: DirectoryObject 등)은 씬 및 웹 클라이언트 측에 존재하지 않습니다(자세한 내용은 관리 애플리케이션 개념 장 참조). 따라서 이러한 애플리케이션 유형을 양식으로 표현하기 위해 플랫폼은 관리되는 양식에서 작동하도록 설계된 특수 데이터 유형을 도입했습니다. 관리되는 애플리케이션의 이 기능을 사용하면 애플리케이션 개체를 양식 데이터로 변환해야 합니다(또는 그 반대로).

다음 데이터 유형이 사용됩니다.

  • Form DataStructure – 임의 유형의 속성 집합을 포함합니다. 속성은 다른 구조, 컬렉션 또는 컬렉션이 있는 구조일 수 있습니다. 이 유형은 예를 들어 DirectoryObject 형식으로 표시됩니다.
  • FormDataCollection은 배열과 유사한 형식화된 값의 목록입니다. 컬렉션 요소는 인덱스나 식별자로 액세스됩니다. 경우에 따라 ID로 접속이 불가능할 수 있습니다. 이는 이 컬렉션이 나타내는 애플리케이션 개체의 유형 때문입니다. 식별자는 임의의 정수일 수 있습니다. 이 유형은 예를 들어 다음과 같은 형식으로 표시됩니다. 표 섹션.
  • Form DataStructureWithCollection은 구조체인 동시에 컬렉션으로 표현되는 객체이다. 이는 이러한 엔터티 중 하나로 취급될 수 있습니다. 예를 들어 이 유형은 양식의 레코드 집합을 나타냅니다.
  • Form DataTree – 계층적 데이터를 저장하도록 설계된 개체입니다.

애플리케이션 객체는 하나 이상의 양식 데이터 요소로 표현됩니다. 안에 일반적인 견해양식 데이터의 계층 구조와 구성은 관리되는 양식의 응용 프로그램 개체의 복잡성과 상호 연결에 따라 달라집니다.

예를 들어, 테이블 형식 부분을 포함하는 문서는 FormDataCollection 유형의 개체(문서의 테이블 형식 부분)가 종속되는 FormDataStructure 유형의 개체(문서 자체)로 표시됩니다.

중요한!구성을 개발할 때 응용 프로그램 개체는 서버에서만 사용할 수 있는 반면 양식 데이터 개체는 서버와 클라이언트 모두에서 사용할 수 있다는 점을 기억하는 것이 중요합니다.

관리되는 양식의 클라이언트와 서버 부분 간에 데이터 전달

실제로, 양식 데이터는 양식이 균일하게 작동하고 서버와 클라이언트 모두에 존재하는 다양한 응용 프로그램 개체의 데이터에 대한 통합 표현이라고 말할 수 있습니다. 즉, 양식에는 자체 데이터 유형의 형태로 응용 프로그램 개체 데이터의 일부 "프로젝션"이 포함되어 있으며 필요한 경우 이들 간의 변환을 수행합니다. 그러나 구성 개발자가 자신의 데이터 처리 알고리즘을 구현하는 경우 데이터 변환(특수 유형에서 애플리케이션 유형으로 또는 그 반대로)을 독립적으로 수행해야 합니다.

특수 편집기에서 양식 세부사항을 편집할 때(자세한 내용은 "편집기" 장의 "양식 세부사항" 섹션 참조) 양식이 실행되는 동안 클라이언트와 서버 간의 데이터 전송에 영향을 줄 수 있습니다. 이를 위해 세부정보 편집기의 열이 사용됩니다. 항상 사용. 이 속성의 효과는 세 가지 속성 유형에 따라 다릅니다.

  • 동적 목록(열)에 종속된 속성의 경우 동적 목록):
    • 속성 활성화 – 속성은 항상 데이터베이스에서 읽혀지고 양식 데이터에 포함됩니다.
    • 속성이 비활성화되었습니다. 속성은 데이터베이스에서 읽혀지고 표시되는 경우에만 양식 데이터에 포함됩니다. 이 순간속성 또는 해당 하위 속성과 연관된 양식 요소입니다.
  • 움직임 컬렉션에 종속된 소품의 경우:
    • 속성이 활성화되었습니다. 문서 이동은 데이터베이스에서 읽혀지고 양식 데이터에 표시됩니다.
    • 속성이 비활성화되었습니다. 문서 이동은 데이터베이스에서 읽혀지지 않으며 양식 데이터에 포함되지 않습니다(문서 이동을 참조하는 양식 요소가 없는 경우).
  • 기타 양식 세부정보:
    • 속성이 활성화됨 - 속성 또는 해당 하위 속성과 연결된 양식 요소가 하나 이상 있는지 여부에 관계없이 속성이 양식 데이터에 존재합니다.
    • 속성이 비활성화되었습니다. 속성 또는 해당 하위 속성과 연결된 양식 요소가 있는 경우에만 속성이 양식 데이터에 나타납니다. 동적 목록 속성과 달리 여기에서는 속성과 연결된 요소의 가시성이 중요하지 않습니다.

메모. 상위 특성에 설정된 속성은 모든 하위 특성에 영향을 미친다는 점을 기억해야 합니다. 예를 들어 문서의 표 형식 부분에 대해 사용 속성이 항상 지워지면 시스템에서는 속성의 실제 상태에도 불구하고 모든 하위 세부 정보에 대해서도 이 속성이 지워진 것으로 간주합니다.

애플리케이션 객체 데이터를 양식 데이터로 변환하는 방법

애플리케이션 객체를 양식 데이터로 변환하거나 그 반대로 변환하려면 다음과 같은 전역 메소드 세트가 있습니다.

  • ValueInFormData(),
  • FormDataInValue(),
  • CopyFormData().

중요한!응용 프로그램 개체와 함께 작동하는 메서드는 서버 프로시저에서만 사용할 수 있습니다. 양식 데이터 간 값을 복사하는 방법은 응용 프로그램 개체를 매개 변수로 필요하지 않으므로 서버와 클라이언트에서 사용할 수 있습니다.

양식 데이터를 응용 프로그램 개체로 변환할 때 호환성을 고려해야 합니다.

  • ValueInFormData() – 애플리케이션 유형 객체를 양식 데이터로 변환합니다.
  • FormDataInValue() – 양식 데이터를 애플리케이션 유형 객체로 변환합니다.
  • CopyFormData() – 호환 가능한 구조를 가진 양식 데이터를 복사합니다. 복사가 성공하면 True를 반환하고, 객체 구조가 호환되지 않으면 False를 반환합니다.

메모. 주요 세부 사항이 포함된 양식의 표준 작업(양식 열기, 표준 쓰기 명령 실행 등)을 수행하면 자동으로 변환이 수행됩니다.

자신의 알고리즘에서 데이터 변환을 사용하는 방법에 대한 예를 들어 보겠습니다.

CreateOnServer(실패, 표준처리) 시 &OnServerProcedure

ObjectProduct = Directories.Products.FindByName("커피포트").GetObject(); ValueInFormData(ObjectItem, Object);

절차 종료

&OnClient 프로시저 쓰기()

쓰기온서버();

절차 종료

&OnServer 프로시저 WriteOnServer()

ObjectProduct = FormDataValue(Object, Type("DirectoryObject.Products")); ObjectItem.Write();

절차 종료

ManagedForm 개체에는 서버에서 사용할 수 있는 메서드도 있습니다.

  • ValueВFormAttribute() – 애플리케이션 유형 객체를 지정된 양식 속성으로 변환합니다.
  • FormAttributeVValue() – 양식 데이터 속성을 애플리케이션 유형의 객체로 변환합니다.

일반적으로 이러한 방법을 사용하는 것이 더 편리합니다. 예를 들어 양식 세부정보 유형에 대한 정보가 있기 때문입니다. 또한 Form AttributesValue() 메소드는 메시지 생성 시 사용되는 양식 데이터와 객체 간의 대응 관계를 설정합니다. 이에 대한 자세한 내용은 "서비스 탐색 기능" 장에서 확인할 수 있습니다.

이러한 방법을 사용하는 예를 들어 보겠습니다.

&OnServer 프로시저 RecalculateOnServer()

// Object 속성을 애플리케이션 객체로 변환합니다. 문서 = 양식 AttributesValue("객체"); // 문서 모듈에 정의된 메소드를 사용하여 재계산을 수행합니다. Document.Recalculate(); // 애플리케이션 객체를 다시 prop으로 변환합니다. ValueВFormAttributes(문서, “개체”);

절차 종료

소프트웨어 인터페이스

양식데이터트리

  • ID별 찾기
  • 항목 가져오기

설명:

관리되는 양식 데이터에서 트리를 모델링하도록 설계되었습니다.

이 객체는 XDTO와 직렬화될 수 있습니다. XDTO 유형 대응 이 개체네임스페이스에 정의되어 있습니다. XDTO 유형 이름:

항목 가져오기

통사론:

항목 가져오기()

반환 값:

유형: 트리 요소의 양식 DataCollection.

설명:

최상위 트리 요소의 컬렉션을 가져옵니다.

가용성: 클라이언트, 서버, 씬 클라이언트, 웹 클라이언트.

ID별 찾기

통사론:

ID별 찾기(<Идентификатор>)

옵션:

<Идентификатор>(필수의)

유형: 숫자. 트리 요소 식별자입니다.

반환 값:

유형:FormDataTreeElement.

설명:

ID로 컬렉션 요소를 가져옵니다.

가용성: 클라이언트, 서버, 씬 클라이언트, 웹 클라이언트.

양식데이터트리항목

속성:

<Имя свойства> (<Имя свойства>)

  • GetId(GetId)
  • GetParent
  • 항목 가져오기
  • 재산

설명:

양식 데이터 트리 요소.

FormDataTreeItemCollection

컬렉션 요소: DataFormTreeElement

객체의 경우 For Each... From... Loop 연산자를 사용하여 컬렉션을 탐색할 수 있습니다. 순회는 컬렉션의 요소를 선택합니다. [...] 연산자를 사용하여 컬렉션 요소에 액세스할 수 있습니다. 요소의 인덱스가 인수로 전달됩니다.

  • 끼워 넣다
  • 추가하다
  • 인덱스(IndexOf)
  • 세다
  • 분명한
  • 얻다
  • 이동하다
  • 삭제

설명:

나무 요소의 컬렉션입니다.

가용성: 클라이언트, 서버, 씬 클라이언트, 웹 클라이언트.

또한보십시오:

  • FormDataTreeElement, GetElements 메서드
  • DataFormTree, 메서드 GetItems

가치 트리 작업의 특징

트리 업데이트

문제가 있습니다 폭포트리를 업데이트할 때 플랫폼.

트리의 노드가 확장되고 하위 노드가 선택된 경우 다음 기능으로 트리를 업데이트할 때 ValueInFormData플랫폼이 무너집니다.

해결책: 업데이트하기 전에 트리를 지워야 합니다.

예를 들어:

&서버 프로시저 ClearTree(elements) 요소의 각 요소에 대해 Loop ClearTree(element.GetElements()); 엔드사이클; 요소.Clear(); 절차 종료

&서버 프로시저 채우기 개념 트리() dConcepts = srProperties.Build 개념 트리(OnDate, Meta.CurrentIB()); ClearTree(ConceptTree.GetItems()); ValueInFormData(dConcepts, ConceptTree); 절차 종료

&OnClient 프로시저 OnDateOnChange(Element) Fill ConceptTree(); 절차 종료

1C의 참고 도서 및 문서에 대한 사용자의 작업은 양식의 필드를 작성하는 것으로 구성됩니다.

1C 세부 정보는 사용자가 작성할 양식에 표시되는 디렉터리 및 문서 필드입니다.

1C의 세부 주제에 대해 자세히 살펴 보겠습니다.

1C 세부 사항이란 무엇입니까?

각 디렉토리와 1C 문서는 일련의 필드로 구성됩니다. 이러한 필드를 1C 세부정보(1C 프로그래머의 경우)라고 합니다.

구성기의 1C 구성 트리에서 디렉터리나 문서를 열면 세부 정보 분기가 표시됩니다. 디렉터리 세부정보(필드) 목록입니다.

1C 디렉터리 양식에서 동일한 1C 세부 정보가 어떻게 보이는지 확인하세요.

각 1C 속성에는 속성에 저장되는 값 유형(문자열, 숫자 등)과 사용자가 해당 값을 사용하는 방법을 나타내는 속성이 있습니다.

1C 속성을 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭합니다. 선택한 속성의 속성 목록이 오른쪽 창에 열립니다.

1C 세부사항의 주요 특성:

표준 1C 세부 사항

아시다시피 디렉터리 양식에는 구성자에 나열되지 않은 그룹, 이름, BIC 등 1C 세부 정보가 있습니다.

디렉토리 목록 양식에는 목록에 없는 1C 세부정보(삭제 표시)도 포함되어 있습니다.

이는 표준 1C 세부 사항입니다. 그것은 무엇입니까? 모든 사람은 기본 1C 세부 정보 세트를 가지고 있습니다. 디렉터리의 경우 이는 코드 및 이름 등입니다. 문서의 경우 날짜와 번호입니다.

표준 1C 세부 정보는 다음과 같이 볼 수 있습니다.

  • 마우스로 1C 개체(디렉터리 또는 문서)를 두 번 클릭하여 편집기로 이동합니다.
  • 열리는 편집기에서 데이터 탭을 선택합니다.
  • 여기서 표준 세부 정보 코드 및 디렉터리 이름을 구성할 수 있습니다.
  • 전체 목록을 보려면 1C 표준 세부정보 버튼을 클릭하세요.

일반 1C 세부 사항

버전 1C 8.2.14부터 새로운 1C 개체가 1C - 일반 1C 세부 정보에 나타났습니다. 이를 사용하면 여러 디렉터리와 문서에 동시에 표시되는 속성(필드)을 추가할 수 있습니다.

일반 1C 속성의 속성:

  • 자동 사용 – 모든 디렉토리와 문서에 일반 1C 세부 정보를 한 번에 추가합니다.
  • 구성 - 필요한 디렉터리 및 문서에만 일반 1C 세부 정보를 추가할 수 있습니다(자동 사용은 사용하지 않음으로 설정됨).

1C 세부 정보를 추가하는 방법

원하는 디렉터리의 1C 세부 사항 분기를 마우스 오른쪽 버튼으로 클릭하고 추가를 선택합니다.

예를 들어 "사무실 주소" 및 동의어 "사무실 주소"와 같이 1C 속성의 이름을 입력해야 합니다. 기본 유형을 문자열로 유지하고 무제한 길이 확인란을 선택합니다.

같은 방식으로 또 다른 1C 속성을 추가해 보겠습니다. 부울 유형을 선택하고 "Works on Weekends"라고 부르겠습니다.

1C 양식에 세부 정보를 표시하는 방법(1C 씩 클라이언트)

동일한 디렉터리의 Forms 분기를 확장해 보겠습니다. 양식을 열려면 요소 양식을 선택하고 마우스로 두 번 클릭합니다.

마우스로 모양의 가장자리를 끌어 늘립니다(선택 사항).

구성 패널에서 "데이터 배치" 버튼을 클릭합니다. 양식/데이터 배치 메뉴를 사용할 수도 있습니다.

세부 정보가 양식에 표시되지 않는 것을 볼 수 있습니다. 확인해보세요. 또한 라벨 삽입 및 자동 배치 확인란도 있습니다.

1C 양식에 세부 정보를 표시하는 방법(1C 씬 클라이언트)

동일한 디렉터리의 Forms 분기를 확장해 보겠습니다. 요소의 모양을 선택하고 마우스로 두 번 클릭합니다.

세부 정보 탭에서 개체 줄을 확장합니다. 이전에 디렉터리에 추가된 세부정보 목록이 표시됩니다.

이제 오른쪽 창에서 왼쪽 창으로 필수 속성을 드래그하면 양식에 표시됩니다.

양식 1C 세부정보

씩(Thick) 클라이언트에서는 양식에 고유한 세부 정보가 있습니다. 세부정보 탭에 있습니다.

이러한 세부 정보는 데이터베이스에 저장되지 않지만 양식 작업에 필요한 필드의 양식에서 사용할 수 있습니다.

예를 들어 양식에 확인 표시를 추가했습니다. 클릭하면 양식에 어떤 일이 발생합니다. 확인란의 의미는 중요하지 않습니다(적어둘 필요 없음). 작업할 때 양식을 전환하는 데에만 사용됩니다. 이 경우 디렉토리 속성을 데이터로 사용하지 않고 양식 속성을 사용합니다.

주기적 세부사항 1C

1C 버전 7.7에는 주기적인 세부 사항이 있었습니다. 그 의미는 다음과 같습니다. 소품의 의미는 날짜에 따라 다릅니다. 예를 들어 9월 1일의 값은 1이고 10월 1일의 값은 또 다른 값입니다. 같은 소품.

1C 8에는 주기적 세부 정보가 없습니다. 이는 다음과 같이 구현됩니다.

양식 세부정보는 데이터와의 연결을 보장합니다. 이 경우 세부 정보 중 하나만(단 하나만) 기본 세부 정보로 지정할 수 있습니다. 반드시 양식을 그리는 데이터 유형일 필요는 없습니다. 그러나 양식의 동작은 기본 속성의 데이터 유형에 따라 달라집니다. 양식의 동작을 변경하는 것 외에도 양식 모듈의 컨텍스트도 변경됩니다. 양식의 메서드 및 속성과 함께 기본 속성의 값인 개체의 메서드 및 속성도 사용할 수 있게 됩니다. 자유 형식 유형의 양식에는 기본 세부정보가 없다는 것이 중요합니다. 이 경우 양식의 동작은 사용자 설정에 의해서만 결정됩니다. 기본 세부 사항에 대한 질문을 고려해 보겠습니다.

시험 1C: 플랫폼 전문가의 질문 10.05. 기본 양식 속성은 무엇에 사용됩니까?

  1. 양식 전체의 데이터 소스를 정의합니다.
  2. 기본 속성에 지정된 유형의 데이터가 포함된 양식 작업을 위한 플랫폼의 표준 기능을 정의합니다.
  3. 로컬 양식 컨텍스트에서 개체 세부 정보에 프로그래밍 방식으로 액세스하는 기능을 제공합니다.
  4. 양식 대화 상자에서 개체 세부 정보 시각화 제공
  5. 2와 3이 맞습니다
  6. 1과 2가 맞습니다

정답은 6번입니다. 위를 참조하세요.


시험 1C: 플랫폼 전문가의 문제 10.06. 양식 세부정보는 무엇에 필요합니까?
  1. 양식에 표시, 편집 또는 저장되는 데이터의 내용을 설명하려면
  2. 양식에서 데이터를 표시하고 편집하려면
  3. 1과 2가 맞습니다

정답은 세 번째입니다. 둘 다입니다.

시험 1C: 플랫폼 전문가의 질문 10.07. 임의의 제어 양식에 기본 속성을 할당하려면...

  1. 양식 속성의 속성에서 "기본 세부 정보" 확인란을 선택해야 합니다.
  2. 필수 양식 속성을 선택하여 양식의 "데이터" 속성을 채워야 합니다.

정답은 두 번째입니다.

시험 1C: 플랫폼 전문가의 질문 10.08. 뭐든 임의적이야 정규형기본 세부 사항 할당...
  1. 양식을 기본 양식으로 만들어야 하며 주요 세부 정보가 자동으로 결정됩니다.
  2. 양식 속성의 속성에서 "기본 세부 정보" 확인란을 선택해야 합니다.
  3. "편집" 메뉴, "기본 세부정보"로 이동하여 원하는 값을 선택해야 합니다.
  4. 필수 양식 속성을 선택하여 양식의 "데이터" 속성을 채워야 합니다.

네 번째 정답은 다음과 같습니다.

주요 세부 사항은 굵게 강조 표시되어 있습니다.

시험 1C: 플랫폼 전문가의 문제 10.09. 기본 양식 속성이 하나인 경우 다른 기본 속성을 추가할 수 있나요?
  1. 이건 불가능 해
  2. 양식 속성 속성에 적절한 값을 할당하면 가능합니다.
  3. "양식" 개체에 접근할 때 프로그래밍 방식으로만 가능합니다.
  4. 해당 양식 속성에 다른 값을 추가하면 가능합니다.

정답은 첫 번째입니다. 주요 요구 사항은 엄격히 하나입니다. 객체와의 연결이 명확해야 합니다.

시험 1C: Platform Professional의 문제 10.113. 그림에 제시된 양식의 세부 사항 중 주요 내용은 무엇입니까?

  1. 환율 목록
  2. 디렉토리객체
  3. 디렉토리 양식에는 기본 세부정보가 없습니다.
  4. 디렉토리 양식에는 모든 기본 세부정보가 포함되어 있습니다.
두 번째 정답은 굵은 글씨입니다.