우리는 표 부분을 채울 것입니다. 테이블 행의 세부 정보를 프로그래밍 방식으로 채우는 방법

이 기사에서는 간단한 작성 과정을 살펴보겠습니다. 외부 처리표 형식의 부분 채우기 1C 8다음을 사용하는 구성의 경우 정기 신청. 예를 들어 다음 작업을 수행해 보겠습니다. 1C: 회계 2.0표 섹션을 채우는 외부 처리 생성 제품문서 상품 및 서비스 판매, 채울 데이터는 표 섹션에서 가져옵니다. 제품문서 재화 및 용역의 수령". 따라서 우리는 수령한 상품을 기반으로 판매 상품을 작성해야합니다. 이러한 작업은 1C 프로그래머의 실제 관행에서 매우 일반적입니다.

2. 외부 처리 생성

가자 1C 8모드에서 구성자. 메뉴 사용하기 파일 -> 새로 만들기또는 픽토그램 새 문서 새로 만들기 외부 처리.

현장에서 이름우리는 "표 형식 부분에서 가장 간단한 채우기"를 지정하고 외부 처리를 다음 위치에 저장합니다. HDD메뉴를 사용하여 파일 -> 저장또는 아이콘 구하다또는 키보드 단축키 Ctrl+s.

지점 선택 요건처리 메타데이터 트리에서 버튼 클릭 추가하다(녹색 더하기 버튼) 새 외부 처리 속성 생성 - 문서영수증, 유형을 선택하십시오. DocumentReference.수령 서비스, 문서를 선택하려면 이 속성이 필요합니다. 재화 및 용역의 수령, 구현을 기반으로 작성됩니다.

영수증 문서를 선택하려면 별도의 양식이 필요합니다. 지점 선택 양식동일한 버튼을 사용하여 - 추가하다외부 처리 양식을 만들어 보겠습니다. 폼 디자이너 창이 열리므로 디자이너의 첫 페이지에서 변경할 필요가 없으므로 버튼을 클릭하기만 하면 됩니다. 더 나아가.

생성자의 두 번째 페이지에서 소품을 선택해야 합니다. 문서영수증(생성된 폼에 나타나게 하기 위해) 버튼을 누른다 준비가 된.

그런 다음 생성 된 양식이 열리고 사용자가 영수증 문서를 선택하고 닫아야합니다. 그래서 버튼을 눌렀을 때 운영양식을 닫아야 합니다. 이를 구현하려면 버튼을 선택하십시오. 운영, 그것을 마우스 오른쪽 버튼으로 클릭하고 선택하십시오 속성. 버튼의 속성에서 줄에 동작행동을 선택 닫다. 이것은 양식 작업을 완료하고 닫습니다.

3. 프로그래밍

표 부분을 채우는 처리 프로그래밍을 시작하겠습니다. 가자 개체 모듈외부 처리(하단 처리 패널의 버튼 작업 -> 개체 모듈 열기).

그것에서 우리는 수출 절차를 만들어야합니다 초기화.

절차 초기화 내보내다종료 절차

참고 절차 초기화, 모든 매개 변수는 표 섹션 작성의 외부 처리에 필수입니다., 생성하지 않거나 모든 매개변수를 제공하지 않으면 처리가 작동하지 않습니다.

이제 글을 시작해 볼까요? 프로그램 코드. 먼저 문서의 표 형식 부분에 대한 변수를 생성해 보겠습니다. 상품 및 서비스 판매우리가 채울 것입니다.

TablePart = 개체[TablePartName];

매개변수에서 프로시저를 실행할 때 객체우리가 채우는 문서 객체와 매개변수를 포함할 것입니다. 테이블 파트 이름채우고 있는 표 형식 부분의 이름이 있는 문자열입니다. 따라서 이 코드 줄은 채워진 문서의 표 형식 부분을 이름으로 가져옵니다.

사용자가 문서를 선택해야 합니다. 재화 및 용역의 수령, 문서 선택 양식을 여는 코드를 작성해 보겠습니다. 먼저 외부 처리 방법을 사용하여 이 형식을 변수로 가져옵니다. GetForm(<Форма>, <Владелец>, <КлючУникальности>) . 이 메소드의 첫 번째 매개변수만 채우고 거기에 양식 이름이 있는 문자열을 전달하는 것으로 충분합니다.

IncomingSelectionForm = GetForm("양식");

이제 모달 열기를 사용하여 결과 양식을 열어 보겠습니다(양식이 열려 있는 동안 다른 모든 1C 창은 사용할 수 없음). 이 열기 방법을 사용하면 절차의 추가 코드가 있기 때문입니다. 초기화사용자가 양식을 닫을 때까지 실행되지 않습니다.

입학선택폼.OpenModally();

사용자가 양식을 닫은 후 속성이 채워졌는지 확인해야 합니다. 문서영수증(영수증 문서가 선택되지 않은 경우). 확인 후 문서영수증비어 있으면 추가 처리가 의미가 없으므로 중단되어야 합니다.

ValueFilled(ReceiptDocument)가 아니면 Report(); 반품 ; 종료하면 ;

속성의 충만도를 확인하기 위해 전역 컨텍스트 함수가 여기에 사용됩니다. 값이 채워진(<Значение>) , 매개변수에 전달된 값이 동일한 유형의 기본값과 다른지 확인합니다. 절차 신고하기메시지 상자 1C 8에 지정된 텍스트를 표시합니다. 예어 반품프로시저의 실행을 중단합니다.

테이블 형식 부분의 데이터를 선택하는 쿼리 작성을 시작해 보겠습니다. 제품문서 재화 및 용역의 수령. 새 요청을 만들어 보겠습니다.

요청 = 새 요청;

요청.SetParameter( "영수증 문서",영수증 문서);

요청의 텍스트를 작성해 보겠습니다. 요청 생성자. 수동으로 요청 텍스트를 작성하는 것은 권장되지 않으며, 비효율적이며 시간이 많이 걸립니다. 한 줄부터 시작하겠습니다.

요청.텍스트 = "" ;

따옴표 문자 사이에 커서를 놓고 마우스 오른쪽 버튼을 눌러 항목을 선택합니다. 요청 생성자.... 그런 다음 새 요청을 생성하라는 메시지가 표시되면 "확인" 버튼을 클릭합니다. 생성자 창이 열리고 왼쪽 부분에 사용 가능한 모든 데이터베이스 테이블이 있습니다. 문서가 필요합니다. 입고 상품 서비스. 그것을 찾아 "+"기호로 열고 표 형식 부분을 선택하십시오. 제품디자이너 화면의 두 번째 부분으로 드래그합니다. 테이블(">" 버튼을 사용하여 원하는 테이블을 이동할 수도 있습니다.)

이제 "+"( 입고 상품 서비스 상품) 탭 부분을 채우는 데 필요한 필드를 생성자 화면의 세 번째 부분으로 드래그합니다. 필드. 사용 가능한 모든 필드를 선택하지 않고 다음 세트로 제한합니다. 명칭, 수량, 가격, 금액, VAT 세율, VAT 금액.

하나의 영수증 문서(채우기를 시작하기 전에 선택한)의 데이터만 필요하므로 "조건" 탭에서 전달한 매개변수를 사용하여 문서 링크에 조건을 부과합니다.

이제 생성자에서 쿼리 텍스트 생성이 완료되었으므로 "확인" 버튼을 클릭합니다. 결과적으로 다음과 같은 요청 텍스트가 있습니다.

Query.Text = "SELECT |FROM |WHERE ;

생성된 요청은 실행하고 변수로 언로드하기만 하면 됩니다.

결과 = Request.Execute().Upload();

변수에서 결과값 테이블은 테이블 부분의 행과 함께 저장됩니다. 제품우리가 선택한 문서 재화 및 용역의 수령. 이제 스프레드시트 작성을 시작할 수 있습니다. 제품우리의 구현. 그러나 데이터를 채우기 전에 이미 행이 있는 경우 데이터를 지워야 합니다.

TablePart.Clear();

주기로 모두를 위해쿼리 결과로 값 테이블을 살펴 보겠습니다.

결과 루프의 각 결과 요소에 대해 루프 끝 ;

이 주기에서는 문서의 표 형식 부분의 줄을 만들고 채울 것입니다. 상품 및 서비스 판매. 변수를 사용하여 새 줄을 만들 수 있습니다. 표 형식, 이를 통해 모든 작업을 수행할 수 있습니다.

NewStringPT = TabularPart.Add();

생성된 라인 탭을 채웁니다. 프로시저를 사용하여 쿼리 결과 문자열의 데이터 부분 글로벌 컨텍스트 - FillPropertyValues(<Приемник>, <Источник>) .

FillPropertyValues(NewStringPT, 결과 요소);

그러나 우리가 채운 데이터가 충분하지 않습니다. 문서를 수행하려면 더 많이 채워야합니다. 재고 회계 계정. 이를 위해 내보내기를 사용합니다.

절차 청구서 작성AccountingInRowTabParts문서 개체 모듈에서 상품 및 서비스 판매. 매개변수로 호출하자 객체(참고해야 할

우리만 부를 수 있는 내보내다문서 개체 모듈의 절차).

Object.FillAccountsAccountingInTabPartRow(NewPTRow, TabularPartName, True);

이것으로 표 부분을 채우는 프로그래밍이 완료됩니다. 1C 8완전한. 처리를 사용할 수 있습니다. 절차의 전체 텍스트 초기화, 다음과 같이 보입니다.

절차 초기화 (개체, TabularPartName = 정의되지 않음, 개체 TableField = 정의되지 않음) 내보내다 TablePart = 개체[TablePartName]; IncomingSelectionForm = GetForm("양식"); 입학선택폼.OpenModally(); 값이 채워지지 않은 경우(수신 문서) 다음 보고( "선택된 영수증 문서가 없습니다"); 반품 ; 종료하면 ; 요청 = 새 요청; 요청.SetParameter( "영수증 문서",영수증 문서); Query.Text = "선택 | 상품, 서비스, 상품 수령. | 상품, 서비스, 상품의 수령 수량, | 상품, 서비스, 상품 수령 VAT 세율, | 상품, 서비스, 상품의 수령 금액, | 상품, 서비스, 상품 수령 VAT 금액, | 상품, 서비스, 상품 수령 가격| 부터 | Document.Receipt of GoodsServices.Goods AS Receipt of GoodsServiceGoods|어디 | GoodReceiptServicesGoods.Reference = ReceiptDocument(&ReceiptDocument)"; 결과 = Request.Execute().Upload(); TablePart.Clear(); 결과 루프의 각 결과 요소에 대해 NewRowPT = TabularPart.Add(); FillPropertyValues(NewStringPT, 결과 요소); Object.FillAccountsAccountingInTabPartRow(NewPTRow, TabularPartName, True); 엔드 사이클 ; 종료 절차

이 기사의 다음 부분에서는 표 형식 부분을 채우는 처리를 디버그하는 방법과 문서에 연결하는 방법을 설명합니다.

4. 디버깅

종종 작성한 코드를 디버그해야 합니다. 표 형식 부분을 채우는 처리를 디버그하려면 1C 8그녀의 소품 만들기 개체 참조유형 DocumentReference.Realization of GoodsServices

디버깅 중에 구현 문서를 선택하려면 이 문서가 필요합니다. 이 문서는 작성합니다. 다음으로 디버깅을 위한 양식을 만들고 생성된 props를 거기에 배치해야 합니다. 개체 참조, 디버깅 양식을 만드는 과정은 영수증 문서 선택 양식을 만드는 것과 다르지 않으므로 자세히 다루지 않습니다.

양식이 생성되면 해당 모듈로 이동합니다. 거기에서 자동으로 생성된 프로시저를 찾을 수 있습니다. ButtonExecutePushing. 이 절차는 버튼을 눌렀을 때 실행됩니다. 운영. 그것에서 프로시저를 호출하자 초기화, 처리 모듈에 있는 문서 객체를 매개변수에 전달합니다. 상품 및 서비스 판매(우리는 소품에서 얻을 것입니다 개체 참조) 및 채울 표 형식 부분의 이름이 있는 줄(우리의 경우 제품).

절차 ButtonExecuteClick(버튼)초기화(ReferenceToObject.GetObject(), "상품" ); 종료 절차

이제 생성된 양식을 기본 처리 양식으로 만들어야 합니다. 이렇게 하려면 "양식 처리" 필드에서 선택합니다.

이제 절차의 올바른 위치에 중단점을 설정할 수 있습니다. 초기화또는 절차 ButtonExecutePushing디버그 양식 및 디버그 모드에서 표 섹션 채우기 처리 시작 1C:기업.

5. 문서에 연결하기

채우기 처리를 작성하고 디버깅한 후 실행할 문서에 연결해야 합니다. 이렇게 하려면 다음으로 이동하십시오. 1C 8모드에서 회사, 메뉴로 이동 서비스 -> 추가 신고 및 처리 -> 추가 외부 처리 표 부분 새 디렉토리 요소를 추가하십시오. 버튼으로 외부 처리 파일 교체우리가 만든 표 섹션을 채우는 처리 파일을 추가합시다.

버튼을 사용하여 처리 소속을 입력하십시오. 선택문서를 선택 상품 및 서비스 판매

그리고 우리는 채우기가 표 부분을위한 것임을 나타냅니다. 제품.

우리는 버튼을 누릅니다 확인그게 다야 메뉴에서 채우기 처리를 사용할 수 있습니다. 채우다표 부분 제품문서 상품 및 서비스 판매. 기사 하단에서 이 예제에 사용된 처리를 다운로드할 수 있습니다.

1. 문제 진술

이 기사에서는 표 부분을 채우는 가장 간단한 외부 처리를 작성하는 프로세스를 고려할 것입니다. 1C 8일반 응용 프로그램을 사용하는 구성의 경우. 예를 들어 다음 작업을 수행해 보겠습니다. 1C: 회계 2.0표 섹션을 채우는 외부 처리 생성 제품문서에서 채울 데이터는 표 섹션에서 가져옵니다. 제품문서 재화 및 용역의 수령". 따라서 우리는 수령한 상품을 기반으로 판매 상품을 작성해야합니다. 이러한 작업은 1C 프로그래머의 실제 관행에서 매우 일반적입니다.

2. 외부 처리 생성

가자 1C 8모드에서 구성자. 메뉴 사용하기 파일 -> 새로 만들기또는 픽토그램 새 문서새로 만들기 외부 처리.

현장에서 이름우리는 "가장 간단한 표 형식 채우기"를 표시하고 메뉴를 사용하여 외부 처리를 하드 디스크에 저장합니다. 파일 -> 저장또는 아이콘 구하다또는 키보드 단축키 Ctrl+s.

지점 선택 요건처리 메타데이터 트리에서 버튼 클릭 추가하다(녹색 더하기 버튼) 새 외부 처리 속성 생성 - 문서영수증, 유형을 선택하십시오. DocumentReference.수령 서비스, 문서를 선택하려면 이 속성이 필요합니다. 재화 및 용역의 수령, 구현을 기반으로 작성됩니다.

영수증 문서를 선택하려면 별도의 양식이 필요합니다. 지점 선택 양식동일한 버튼을 사용하여 - 추가하다외부 처리 양식을 만들어 보겠습니다. 폼 디자이너 창이 열리므로 디자이너의 첫 페이지에서 변경할 필요가 없으므로 버튼을 클릭하기만 하면 됩니다. 더 나아가.

생성자의 두 번째 페이지에서 소품을 선택해야 합니다. 문서영수증(생성된 폼에 나타나게 하기 위해) 버튼을 누른다 준비가 된.

그런 다음 생성 된 양식이 열리고 사용자가 영수증 문서를 선택하고 닫아야합니다. 그래서 버튼을 눌렀을 때 운영양식을 닫아야 합니다. 이를 구현하려면 버튼을 선택하십시오. 운영, 그것을 마우스 오른쪽 버튼으로 클릭하고 선택하십시오 속성. 버튼의 속성에서 줄에 동작행동을 선택 닫다. 이것은 양식 작업을 완료하고 닫습니다.

3. 프로그래밍

표 부분을 채우는 처리 프로그래밍을 시작하겠습니다. 가자 개체 모듈외부 처리(하단 처리 패널의 버튼 작업 -> 개체 모듈 열기).

그것에서 우리는 수출 절차를 만들어야합니다 초기화.

절차 초기화 내보내다종료 절차

참고 절차 초기화, 모든 매개 변수는 표 섹션 작성의 외부 처리에 필수입니다., 생성하지 않거나 모든 매개변수를 제공하지 않으면 처리가 작동하지 않습니다.

이제 코드 작성을 시작하겠습니다. 먼저 문서의 표 형식 부분에 대한 변수를 생성해 보겠습니다. 상품 및 서비스 판매우리가 채울 것입니다.

TablePart = 개체[TablePartName];

매개변수에서 프로시저를 실행할 때 객체우리가 채우는 문서 객체와 매개변수를 포함할 것입니다. 테이블 파트 이름채우고 있는 표 형식 부분의 이름이 있는 문자열입니다. 따라서 이 코드 줄은 채워진 문서의 표 형식 부분을 이름으로 가져옵니다.

사용자가 문서를 선택해야 합니다. 재화 및 용역의 수령, 문서 선택 양식을 여는 코드를 작성해 보겠습니다. 먼저 외부 처리 방법을 사용하여 이 형식을 변수로 가져옵니다. GetForm(<Форма>, <Владелец>, <КлючУникальности>) . 이 메소드의 첫 번째 매개변수만 채우고 거기에 양식 이름이 있는 문자열을 전달하는 것으로 충분합니다.

IncomingSelectionForm = GetForm("양식");

이제 모달 열기를 사용하여 결과 양식을 열어 보겠습니다(양식이 열려 있는 동안 다른 모든 1C 창은 사용할 수 없음). 이 열기 방법을 사용하면 절차의 추가 코드가 있기 때문입니다. 초기화사용자가 양식을 닫을 때까지 실행되지 않습니다.

입학선택폼.OpenModally();

사용자가 양식을 닫은 후 속성이 채워졌는지 확인해야 합니다. 문서영수증(영수증 문서가 선택되지 않은 경우). 확인 후 문서영수증비어 있으면 추가 처리가 의미가 없으므로 중단되어야 합니다.

ValueFilled(ReceiptDocument)가 아니면 Report(); 반품 ; 종료하면 ;

속성의 충만도를 확인하기 위해 전역 컨텍스트 함수가 여기에 사용됩니다. 값이 채워진(<Значение>) , 매개변수에 전달된 값이 동일한 유형의 기본값과 다른지 확인합니다. 절차 신고하기 1C 8 메시지 상자에 지정된 텍스트를 표시합니다. 반품프로시저의 실행을 중단합니다.

테이블 형식 부분의 데이터를 선택하는 쿼리 작성을 시작해 보겠습니다. 제품문서 재화 및 용역의 수령. 새 요청을 만들어 보겠습니다.

요청 = 새 요청;

요청.SetParameter( "영수증 문서",영수증 문서);

요청의 텍스트를 작성해 보겠습니다. 요청 생성자. 수동으로 요청 텍스트를 작성하는 것은 권장되지 않으며, 비효율적이며 시간이 많이 걸립니다. 한 줄부터 시작하겠습니다.

요청.텍스트 = "" ;

따옴표 문자 사이에 커서를 놓고 마우스 오른쪽 버튼을 눌러 항목을 선택합니다. 요청 생성자.... 그런 다음 새 요청을 생성하라는 메시지가 표시되면 "확인" 버튼을 클릭합니다. 생성자 창이 열리고 왼쪽 부분에 사용 가능한 모든 데이터베이스 테이블이 있습니다. 문서가 필요합니다. 입고 상품 서비스. 그것을 찾아 "+"기호로 열고 표 형식 부분을 선택하십시오. 제품디자이너 화면의 두 번째 부분으로 드래그합니다. 테이블(">" 버튼을 사용하여 원하는 테이블을 이동할 수도 있습니다.)

이제 "+"( 입고 상품 서비스 상품) 탭 부분을 채우는 데 필요한 필드를 생성자 화면의 세 번째 부분으로 드래그합니다. 필드. 사용 가능한 모든 필드를 선택하지 않고 다음 세트로 제한합니다. 명칭, 수량, 가격, 금액, VAT 세율, VAT 금액.

하나의 영수증 문서(채우기를 시작하기 전에 선택한)의 데이터만 필요하므로 "조건" 탭에서 전달한 매개변수를 사용하여 문서 링크에 조건을 부과합니다.

이제 생성자에서 쿼리 텍스트 생성이 완료되었으므로 "확인" 버튼을 클릭합니다. 결과적으로 다음과 같은 요청 텍스트가 있습니다.

Query.Text = "SELECT |FROM |WHERE ;

생성된 요청은 실행하고 변수로 언로드하기만 하면 됩니다.

결과 = Request.Execute().Upload();

변수에서 결과값 테이블은 테이블 부분의 행과 함께 저장됩니다. 제품우리가 선택한 문서 재화 및 용역의 수령. 이제 스프레드시트 작성을 시작할 수 있습니다. 제품우리의 구현. 그러나 데이터를 채우기 전에 이미 행이 있는 경우 데이터를 지워야 합니다.

TablePart.Clear();

주기로 모두를 위해쿼리 결과로 값 테이블을 살펴 보겠습니다.

결과 루프의 각 결과 요소에 대해 루프 끝 ;

이 주기에서는 문서의 표 형식 부분의 줄을 만들고 채울 것입니다. 상품 및 서비스 판매. 변수를 사용하여 새 줄을 만들 수 있습니다. 표 형식, 이를 통해 모든 작업을 수행할 수 있습니다.

NewStringPT = TabularPart.Add();

생성된 라인 탭을 채웁니다. 프로시저를 사용하여 쿼리 결과 문자열의 데이터 부분 글로벌 컨텍스트FillPropertyValues(<Приемник>, <Источник>) .

FillPropertyValues(NewStringPT, 결과 요소);

그러나 우리가 채운 데이터가 충분하지 않습니다. 문서를 수행하려면 더 많이 채워야합니다. 재고 회계 계정. 이를 위해 내보내기를 사용합니다.

절차 청구서 작성AccountingInRowTabParts문서 개체 모듈에서 상품 및 서비스 판매. 매개변수로 호출하자 객체(참고해야 할

우리만 부를 수 있는 내보내다문서 개체 모듈의 절차).

Object.FillAccountsAccountingInTabPartRow(NewPTRow, TabularPartName, True);

이것으로 표 부분을 채우는 프로그래밍이 완료됩니다. 1C 8완전한. 처리를 사용할 수 있습니다. 절차의 전체 텍스트 초기화, 다음과 같이 보입니다.

절차 초기화 (개체, TabularPartName = 정의되지 않음, 개체 TableField = 정의되지 않음) 내보내다 TablePart = 개체[TablePartName]; IncomingSelectionForm = GetForm("양식"); 입학선택폼.OpenModally(); 값이 채워지지 않은 경우(수신 문서) 다음 보고( "선택된 영수증 문서가 없습니다"); 반품 ; 종료하면 ; 요청 = 새 요청; 요청.SetParameter( "영수증 문서",영수증 문서); Query.Text = "선택 | 상품, 서비스, 상품 수령. | 상품, 서비스, 상품의 수령 수량, | 상품, 서비스, 상품 수령 VAT 세율, | 상품, 서비스, 상품의 수령 금액, | 상품, 서비스, 상품 수령 VAT 금액, | 상품, 서비스, 상품 수령 가격| 부터 | Document.Receipt of GoodsServices.Goods AS Receipt of GoodsServiceGoods|어디 | GoodReceiptServicesGoods.Reference = ReceiptDocument(&ReceiptDocument)"; 결과 = Request.Execute().Upload(); TablePart.Clear(); 결과 루프의 각 결과 요소에 대해 NewRowPT = TabularPart.Add(); FillPropertyValues(NewStringPT, 결과 요소); Object.FillAccountsAccountingInTabPartRow(NewPTRow, TabularPartName, True); 엔드 사이클 ; 종료 절차

이 기사의 다음 부분에서는 표 형식 부분을 채우는 처리를 디버그하는 방법과 문서에 연결하는 방법을 설명합니다.

4. 디버깅

종종 작성한 코드를 디버그해야 합니다. 표 형식 부분을 채우는 처리를 디버그하려면 1C 8그녀의 소품 만들기 개체 참조유형 DocumentReference.Realization of GoodsServices

디버깅 중에 구현 문서를 선택하려면 이 문서가 필요합니다. 이 문서는 작성합니다. 다음으로 디버깅을 위한 양식을 만들고 생성된 props를 거기에 배치해야 합니다. 개체 참조, 디버깅 양식을 만드는 과정은 영수증 문서 선택 양식을 만드는 것과 다르지 않으므로 자세히 다루지 않습니다.

양식이 생성되면 해당 모듈로 이동합니다. 거기에서 자동으로 생성된 프로시저를 찾을 수 있습니다. ButtonExecutePushing. 이 절차는 버튼을 눌렀을 때 실행됩니다. 운영. 그것에서 프로시저를 호출하자 초기화, 처리 모듈에 있는 문서 객체를 매개변수에 전달합니다. 상품 및 서비스 판매(우리는 소품에서 얻을 것입니다 개체 참조) 및 채울 표 형식 부분의 이름이 있는 줄(우리의 경우 제품).

절차 ButtonExecuteClick(버튼)초기화(ReferenceToObject.GetObject(), "상품" ); 종료 절차

이제 생성된 양식을 기본 처리 양식으로 만들어야 합니다. 이렇게 하려면 "양식 처리" 필드에서 선택합니다.

이제 절차의 올바른 위치에 중단점을 설정할 수 있습니다. 초기화또는 절차 ButtonExecutePushing디버그 양식 및 디버그 모드에서 표 섹션 채우기 처리 시작 1C:기업.

5. 문서에 연결하기

채우기 처리를 작성하고 디버깅한 후 실행할 문서에 연결해야 합니다. 이렇게 하려면 다음으로 이동하십시오. 1C 8모드에서 회사, 메뉴로 이동 서비스 -> 추가 보고 및 처리 -> 표 형식 부분의 추가 외부 처리새 디렉토리 요소를 추가하십시오. 버튼으로 외부 처리 파일 교체우리가 만든 표 섹션을 채우는 처리 파일을 추가합시다.

버튼을 사용하여 처리 소속을 입력하십시오. 선택문서를 선택 상품 및 서비스 판매

그리고 우리는 채우기가 표 부분을위한 것임을 나타냅니다. 제품.

우리는 버튼을 누릅니다 확인그게 다야 메뉴에서 채우기 처리를 사용할 수 있습니다. 채우다표 부분 제품문서 상품 및 서비스 판매. 에서 이 예제에 사용된 처리를 다운로드할 수 있습니다.

1C의 많은 개체에 대해 표 형식 부분이 있습니다.

  • 참고 도서
  • 그 문서들
  • 보고 및 처리
  • 계정과목표
  • 특성 유형 계획
  • 계산 유형 계획
  • 비즈니스 프로세스 및 작업

테이블 형식 부품을 사용하면 보관할 수 있습니다. 무제한 수량하나의 객체에 속하는 구조화된 정보.

표 형식 부분으로 작업하는 몇 가지 방법을 살펴보겠습니다.

표 부분을 우회하는 방법

루프를 사용하여 표 형식 부분을 횡단할 수 있습니다. 모두를 위해

TabularPart 루프의 각 행에 대해

보고서(String.TablePartAttribute) ;

엔드 사이클 ;

변수에 대한 각 반복에서 표 형식 부분의 다음 줄이 전송됩니다. 문자열 속성 값은 표현식으로 얻을 수 있습니다. 문자열.속성 이름.

표 섹션에서 선택한 행을 가져오고 우회하는 방법

form 요소는 개체의 표 형식 부분에서 정보를 표시하는 데 사용됩니다. 테이블 필드. 테이블 필드에서 여러 행을 선택하는 기능을 활성화하려면 값을 설정해야 합니다. 다수의그 재산에 선택 모드.

선택한 행 목록을 얻으려면 다음 코드를 사용하십시오.

루프는 선택한 라인을 반복하는 데 사용됩니다. 모두를 위해:

SelectedLines = FormElements. 테이블 필드 이름. 선택된 라인;

선택한 행 루프의 각 행에 대해

//루프 내용

엔드 사이클 ;

테이블 형식 부분(테이블 필드)의 행을 프로그래밍 방식으로 선택하고 선택을 제거하는 방법

테이블 필드의 행을 프로그래밍 방식으로 선택 해제하려면 다음을 수행합니다.

요소폼. 테이블 필드 이름. 선택된 문자열. 분명한() ;

테이블 필드의 모든 행을 프로그래밍 방식으로 선택하려면:

TablePart 루프의 각 CurrentRow에 대해
요소폼. 테이블 필드 이름. 선택된 라인. 추가(현재 행) ;
엔드 사이클 ;

스프레드시트를 지우는 방법

표 형식 부분. 분명한() ;

표 섹션의 현재 행을 가져오는 방법

현재 라인은 사용자가 이 순간커서가 위치합니다. 그것을 얻으려면 표 형식 부분과 연결된 양식의 컨트롤을 참조해야 합니다.

을 위한 일반 양식코드는 다음과 같습니다.

요소폼. 테이블 필드 이름. 현재의 데이터;

관리되는 양식의 경우:

집단. 테이블 필드 이름. 현재의 데이터;

스프레드시트에 새 행을 추가하는 방법

표 섹션 끝에 새 줄 추가:

NewRow = TablePart. 추가하다() ;

표 섹션의 아무 곳에나 새 줄 추가(이후 줄은 이동됨):

NewRow = TablePart. 붙여넣기(색인)
//색인 - 추가된 줄의 번호입니다. 줄 번호는 0부터 시작합니다.

새로운 라인. 속성1 = "값" ;

테이블 행의 세부 정보를 프로그래밍 방식으로 채우는 방법

사용자가 추가한 테이블 섹션 행의 세부 정보를 프로그래밍 방식으로 입력해야 하는 경우 테이블 섹션의 이벤트 핸들러를 사용해야 합니다. 시작 편집.

핸들러에 의해 생성된 프로시저에는 세 개의 매개변수가 있습니다.

  • 요소- 컨트롤을 포함 테이블필드.
  • 새로운 라인- 부울. 값 포함 진실, 표 섹션의 새 행이 추가되는 경우 거짓말하다,사용자가 이미 존재하는 행 편집을 시작한 경우.
  • 사자- 부울. 값 포함 진실사용자가 문자열을 복사하는 경우 거짓말하다다른 경우에.

예를 들어보겠습니다. 표 섹션의 세부 정보를 입력해야 한다고 가정해 보겠습니다. 계정계정, 새로운 라인이 추가되는 경우. 기존 행을 편집할 때 원장 계정을 변경할 필요가 없습니다.

절차 TabularPartAt EditingStart(요소, NewRow, 복사)

//사용자가 기존 행을 편집 중이면 아무 것도 하지 않음
NewString이 아닌 경우
반품;
종료하면 ;

//문자열이 새로운 경우 계정을 설정합니다.
텍스트 문자열 = 요소. 현재의 데이터; // 테이블 형식 섹션의 현재 행을 수신했습니다.
텍스트링. AccountAccount = 계정과목표. 자립. 원하는 계정;
종료 절차

관련 출판물