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

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

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

테이블 형식 부분을 사용하면 한 개체에 속하는 구조화된 정보를 무제한으로 저장할 수 있습니다.

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

표 부분을 우회하는 방법

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

TabularPart 루프의 각 행에 대해

보고서(String.TablePartAttribute) ;

엔드 사이클 ;

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

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

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

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

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

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

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

//루프 내용

엔드 사이클 ;

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

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

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

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

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

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

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

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

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

일반 양식의 경우 코드는 다음과 같습니다.

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

관리되는 양식의 경우:

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

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

표 섹션 끝에 새 줄 추가:

NewRow = TablePart. 추가하다() ;

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

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

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

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

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

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

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

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

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

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

// 새 문자열이면 계정을 설정합니다.
텍스트 문자열 = 요소. 현재의 데이터; //테이블 섹션의 현재 행을 받았습니다.
텍스트링. AccountAccount = 계정과목표. 자립. 원하는 계정;
종료 절차

먼저 FormDataCollection과 같이 데이터를 포함하는 개체가 있고 데이터를 시각적으로 표시하는 개체인 테이블이 있음을 이해해야 합니다.

테이블에는 현재 행만 있으며 연결된 FormDataCollection의 모든 기존 값을 찾는 데 사용할 수 없습니다. 차례로 FormDataCollection에는 현재 행이 없습니다. 시각적 부분과 데이터 모두에서 행의 행 순서를 변경할 수 있지만 연결이 끊어지면 안 되므로 이러한 개체를 1로 연결하기 위해 식별자가 사용됩니다.

이를 예를 들어 살펴보겠습니다.

양식에는 TK 유형(ValueTable)의 속성이 있습니다. 실제 유형이 FormDataCollection이기 때문에 대괄호 안에 있습니다.

필수 항목은 표 형식으로 양식에 표시됩니다.

테이블의 현재 행으로 값 테이블의 행 결정

현재 어떤 TK 라인이 최신인지 확인하려면 먼저 테이블에서 행 ID를 얻은 다음 이를 사용하여 TK에서 라인을 찾아야 합니다.

RowId = Elements.TK.CurrentRow; // 테이블에서 식별자 가져오기 StringT3 = T3.FindByIdentifier(RowId);

테이블의 현재 행 설정

현재 테이블 행을 설정하려면 반대로 해야 합니다. 먼저 TK의 ID를 가져온 다음, 그 위에 Table의 현재 행을 설정합니다.

StringT3 = FormDataCollection; // 예를 들어, 1행 StringID = StringT3.GetIdentifier(); Elements.TK.CurrentLine = LineID;

더 나은 이해를 위해 다운로드할 수 있습니다.

8.2에서 문자열을 설정하는 방법( 관리되는 양식) 읽다 .

먼저 문서의 표(또는 값의 표) 부분의 데이터와 표 필드의 데이터는 다른 개체임을 상기시키고 싶습니다. 몇 가지 시각적 작업을 수행하기 위해 테이블 ​​필드로 작업합니다. 이 경우 "CurrentRow" 속성을 사용합니다. 이 속성은 정확히 어떤 행이 활성 상태인지를 담당합니다.

테이블 필드에서 필요한 행을 선택하려면 두 단계가 필요합니다.

1. 테이블 필드가 표시하는 데이터 개체에서 필요한 문자열을 찾습니다.
여기서 데이터 개체가 필요하다는 점을 강조합니다. 예를 들어, 상품 및 서비스 실현 문서가 있습니다. 표 부분"상품"과 우리는 문서 양식에서 두 번째 줄을 활성화하기로 결정했습니다. 그런 다음 문서 양식 모듈에서 다음을 작성합니다.


// 두 번째 행의 인덱스는 1과 같습니다.
RequiredString = 제품;

또는 Nomenclature 열의 두 번째 줄에서 Code 요소가 "001"과 같다는 것을 알고 다음 구성을 사용합니다.


// 먼저 코드로 참조 항목 명명법을 찾습니다.
// 그런 다음 "제품" 표 부분에서 찾습니다.
RequiredString = Products.Find(Directories.Nomenclature.FindByCode("001"));

2. 현재 라인의 값을 찾은 라인으로 설정
이제 DesiredRow 변수의 값을 CurrentRow 테이블 필드 속성에 할당해야 합니다.


// 테이블 필드가 Goods라고도 불리는 경우
FormElements.Products.CurrentLine = DesiredLine;

// 테이블 필드가 TableField1인 경우

결과적으로 코드 라인은 다음과 같을 수 있습니다.

RequiredString = Products.Find(Directories.Nomenclature.FindByCode("001"));
FormElements.TableField1.CurrentRow = DesiredRow;

공유하다