SDS 보고서의 사용자 정의 필드. 데이터 구성 시스템 표현 언어(1Cv8) 1c 사용자 정의 표현 필드

보고서는 다양한 섹션(특성, 시리즈, 측정 단위 등)의 창고에 있는 상품 잔액을 수신합니다. 예시를 복잡하게 하지 않기 위해 품목별로 그룹화만 하고 보고일 기준 최종 잔액만 표시하도록 하겠습니다. 마지막 테이블에는 창고에 있는 품목의 잔액이 표시됩니다.

그러나 사용자는 두 개의 추가 필드를 추가해야 한다고 보고했습니다.

  1. 수량 알림. 수량이 5보다 작거나 같으면 경고는 "부족"입니다. 수량이 5보다 크고 10보다 작거나 같으면 경고는 "정상"입니다. 수량이 10개를 초과하면 "과잉"입니다.
  2. 최종 잔액을 계산하는 공식입니다. 추가 열에서 사용자는 최종 잔액 값을 얻기 위해 프로그램이 수행한 작업을 확인하려고 합니다. 즉, "초기 잔액 + 매출액 = 최종 잔액"이라는 공식에 해당 값이 대체됩니다.

물론 프로그래머가 여기에 개입하여 데이터 구성 방식 요청 및 보고서 설정을 변경할 수도 있지만 구성 모드에서는 보고서를 변경하지 않고 사용자 모드에서 작업을 완료합니다.

추가 필드

이제 시작하겠습니다. 보고서 옵션 설정으로 이동해 보겠습니다.

ACS 보고서 옵션의 설정 디자이너가 우리 앞에 열립니다. "사용자 정의 필드" 탭으로 이동하여 필드 생성을 시작하겠습니다.

스크린샷에는 이미 두 개의 생성된 사용자 정의 필드가 표시되어 있으며 그 기능은 위에 설명되어 있습니다. 각각의 설정을 살펴보겠습니다. "알림" 필드부터 시작해 보겠습니다.

설정에서는 보고서에 표시될 필드 제목을 설정하고 세부 레코드 필드와 이 필드의 합계에서 값을 생성하기 위한 표현식을 설정해야 합니다. 총계에는 알림을 표시할 필요가 없기 때문에 세부 기록에 대해서만 표현식을 작성하겠습니다.

표현식 구문은 1C:Enterprise 쿼리 언어와 유사합니다. 몇 가지 차이점이 있지만 이 기사에서는 자세히 다루지 않겠습니다. 표현식은 선택 연산자를 사용합니다.

"선택하면 그렇지 않으면 끝"

쿼리 언어의 연산자와 유사합니다. 사용자 정의 필드 표현식의 필드는 해당 표현으로 지정됩니다. 입력된 뷰가 특정 필드를 나타내는 것임을 플랫폼이 이해할 수 있도록 뷰 이름을 대괄호 ""로 묶습니다. 필드 표현이 한 단어인 경우 대괄호는 선택 사항입니다. 위 예에서는 기말 잔액 필드를 살펴봅니다.

"최종 잔액 계산 공식" 필드의 설정도 같은 방식으로 설정됩니다.


여기서는 몇 가지 뉘앙스를 언급할 필요가 있습니다.

  1. 셀의 수식을 선으로만 표시할 수 있습니다. 따라서 모든 값을 문자열로 변환하는 SKD 표현 언어 메서드 "String()"을 사용하여 모든 숫자 값을 문자열로 변환합니다. 그런 다음 문자열 연결을 수행합니다.
  2. 보고서 총계에 해당 필드가 표시되도록 총계 기록 표현에 유사한 수식을 추가하겠습니다. 합계에 따라 각 값에 대해 집계 함수 "SUM()"을 추가하기만 하면 됩니다.

보고서에서 필드를 사용할 준비가 되었습니다!

보고서 설정 및 생성

보고서의 출력 필드에 "최종 잔액 계산 공식" 필드를 추가합니다.

세부 항목 기록에 '알림'이라는 표현을 추가하겠습니다. 이렇게 하려면 "명명법" 그룹에 "알림" 표현 필드를 추가하세요. 그 후 보고서 구조는 다음과 같은 형식을 취합니다.

이제 보고서 설정이 완료되었습니다. 필요한 경우 추가된 설정을 재사용을 위해 저장할 수 있습니다. 보고서를 생성해 보겠습니다.

보시다시피 작업 조건에 따라 보고서에 필드가 추가되었습니다. 동시에 구성자 모드에서는 보고서를 수정할 필요가 없었습니다. 이것이 바로 사용자 정의 필드의 주요 장점입니다! 이를 사용하도록 교육받은 사용자는 프로그래머의 도움 없이 이를 사용하여 사내 요구 사항에 대한 보고서를 작성할 수 있습니다.

저를 믿으세요. Excel 스프레드시트에 수식을 작성하는 것보다 훨씬 쉽기 때문에 자녀에게 이러한 기능을 사용하도록 교육하는 것이 가능합니다.

데이터 구성 시스템 표현 언어

데이터 구성 시스템 표현 언어는 시스템의 다양한 부분에서 사용되는 표현을 작성하도록 설계되었습니다.

표현식은 다음 하위 시스템에서 사용됩니다.

  • 데이터 레이아웃 다이어그램 - 계산된 필드, 전체 필드, 연결 표현식 등을 설명합니다.
  • 데이터 레이아웃 설정 - 사용자 정의 필드 표현식을 설명합니다.
  • 데이터 레이아웃 레이아웃 - 데이터 세트 연결을 위한 표현식 설명, 레이아웃 매개변수 설명 등을 위한 것입니다.

리터럴

표현식에는 리터럴이 포함될 수 있습니다. 다음 유형의 리터럴이 가능합니다.

  • 선;
  • 숫자;
  • 날짜;
  • 부울.

문자열 리터럴은 "" 문자로 작성됩니다. 예를 들면 다음과 같습니다.

“문자열 리터럴”

문자열 리터럴 내에 "" 문자를 사용해야 하는 경우 해당 문자 두 개를 사용해야 합니다.

예를 들어:

“리터럴 “”따옴표로 묶음”““

숫자

숫자는 공백 없이 십진수 형식으로 기록됩니다. 소수 부분은 "." 기호를 사용하여 구분됩니다. 예를 들어:

10.5 200

날짜

날짜 리터럴은 키 리터럴 DATETIME을 사용하여 작성됩니다. 이 키워드 뒤에는 연도, 월, 일, 시, 분, 초가 괄호 안에 나열되고 쉼표로 구분됩니다. 시간 지정은 필요하지 않습니다.

예를 들어:

DATETIME(1975, 1, 06) – 1975년 1월 6일 DATETIME(2006, 12, 2, 23, 56, 57) – 2006년 12월 2일, 23시 56분 57초, 23시 56분 57초

부울

부울 값은 True(True), False(False) 리터럴을 사용하여 작성할 수 있습니다.

의미

다른 유형의 리터럴(시스템 열거, 미리 정의된 데이터)을 지정하려면 Value 키워드를 사용하고 그 뒤에 리터럴 이름을 괄호 안에 넣습니다.

값(계정 유형. 활성)

숫자에 대한 연산

단항 –

이 작업은 숫자의 부호를 반대 부호로 변경하기 위한 것입니다. 예를 들어:

판매량.수량

단항 +

이 작업은 번호에 대해 어떤 작업도 수행하지 않습니다. 예를 들어:

판매량.수량

바이너리 -

이 연산은 두 숫자의 차이를 계산하기 위한 것입니다. 예를 들어:

ResidualsAndTurnovers.InitialRemaining – RemainingsAndTurnovers.FinalResidualsRemainingsAndTurnovers.InitialRemaining - 100 400 – 357

바이너리 +

이 연산은 두 숫자의 합을 계산하도록 설계되었습니다. 예를 들어:

RemainingsAndTurnover.InitialRemaining + RemainingAndTurnover.Turnover ResiduesAndTurnover.InitialRemaining + 100 400 + 357

일하다

이 연산은 두 숫자의 곱을 계산하도록 설계되었습니다. 예를 들어:

명칭. 가격 * 1.2 2 * 3.14

분할

이 연산은 한 피연산자를 다른 피연산자로 나눈 결과를 얻도록 설계되었습니다. 예를 들어:

명칭.가격 / 1.2 2 / 3.14

나머지 부문

이 연산은 한 피연산자를 다른 피연산자로 나눌 때 나머지를 얻도록 설계되었습니다. 예를 들어:

명칭 가격 % 1.2 2 % 3.14

문자열 연산

연결(바이너리 +)

이 작업은 두 문자열을 연결하도록 설계되었습니다. 예를 들어:

명명법.기사 + “:”+ 명명법.이름

좋다

이 작업은 문자열이 전달된 패턴과 일치하는지 확인합니다.

LIKE 연산자의 값은 다음과 같은 경우 TRUE입니다.<Выражения>패턴을 만족하고 그렇지 않으면 FALSE입니다.

다음 문자는<Строке_шаблона>줄의 다른 문자와는 다른 의미를 갖습니다.

  • % - 백분율: 0개 이상의 임의 문자를 포함하는 시퀀스입니다.
  • _ - 밑줄: 임의의 문자 1개;
  • [...] - 대괄호 안의 하나 이상의 문자: 대괄호 안에 나열된 문자 중 하나. 열거형에는 범위가 포함될 수 있습니다. 예를 들어 a-z는 범위의 끝을 포함하여 범위에 포함된 임의의 문자를 의미합니다.
  • [^...] - 대괄호 안의 부정 아이콘 뒤에 하나 이상의 문자가 옵니다. 부정 아이콘 뒤에 나열된 문자를 제외한 모든 문자.

다른 기호는 그 자체를 의미하며 추가 부하를 전달하지 않습니다. 나열된 문자 중 하나를 그대로 작성해야 하는 경우 앞에 다음 문자를 붙여야 합니다.<Спецсимвол>, SPECIAL CHARACTER 키워드(ESCAPE) 뒤에 지정됩니다.

예를 들어 템플릿

“%ABV[abvg]\_abv%” 특수 문자 “\”

일련의 문자로 구성된 하위 문자열을 의미합니다: 문자 A; 문자 B; 문자 B; 한 자리; 문자 a, b, c 또는 d 중 하나; 밑줄; 편지 a; 문자 b; 편지 v. 또한, 이 시퀀스는 라인의 임의의 위치에서 시작하여 위치할 수 있습니다.

비교 작업

같음

이 연산은 두 피연산자가 같은지 비교하기 위한 것입니다. 예를 들어:

Sales.Counterparty = Sales.NomenclatureMainSupplier

같지 않음

이 연산은 두 피연산자가 같지 않은지 비교하기 위한 것입니다. 예를 들어:

판매.상대방<>Sales.NomenclatureMainSupplier

더 적은

이 연산은 첫 번째 피연산자가 두 번째 피연산자보다 작은지 확인하도록 설계되었습니다. 예를 들어:

매출액현재.금액< ПродажиПрошлые.Сумма

이 연산은 첫 번째 피연산자가 두 번째 피연산자보다 큰지 확인하도록 설계되었습니다. 예를 들어:

SalesCurrent.Sum > SalesPast.Sum

작거나 같음

이 연산은 첫 번째 피연산자가 두 번째 피연산자보다 작거나 같은지 확인하도록 설계되었습니다. 예를 들어:

매출액현재.금액<= ПродажиПрошлые.Сумма

그 이상 또는 같음

이 연산은 첫 번째 피연산자가 두 번째 피연산자보다 크거나 같은지 확인하도록 설계되었습니다. 예를 들어:

SalesCurrent.Amount >= SalesPast.Amount

작전 B

이 작업은 전달된 값 목록에 값이 있는지 확인합니다. 작업 결과는 값이 발견되면 True이고, 그렇지 않으면 False입니다. 예를 들어:

품목 B(&제품1, &제품2)

데이터 세트에 값이 있는지 확인하는 작업

이 작업은 지정된 데이터 세트에 값이 있는지 확인합니다. 검증 데이터 세트에는 하나의 필드가 포함되어야 합니다. 예를 들어:

매출.상대방 대 거래상대방

NULL 값을 확인하는 작업

이 작업은 값이 NULL인 경우 True를 반환합니다. 예를 들어:

판매.상대방이 NULL입니다.

NULL 부등식 값을 확인하는 작업

이 작업은 값이 NULL이 아닌 경우 True를 반환합니다. 예를 들어:

판매. 상대방은 NULL이 아닙니다.

논리 연산

논리 연산은 부울 유형의 표현식을 피연산자로 허용합니다.

작동하지 않음

NOT 연산은 피연산자가 False이면 True를 반환하고 피연산자가 True이면 False를 반환합니다. 예를 들어:

문서.수취인 아님 = 문서.위탁자

작전 I

AND 연산은 두 피연산자가 모두 True이면 True를 반환하고, 피연산자 중 하나가 False이면 False를 반환합니다. 예를 들어:

Document.Consignee = Document.Consignor AND Document.Consignee = &상대방

OR 연산

OR 연산은 피연산자 중 하나가 True이면 True를 반환하고, 두 피연산자가 모두 False이면 False를 반환합니다. 예를 들어:

Document.Consignee = Document.Consignor OR Document.Consignee = &상대방

집계 함수

집계 함수는 데이터 집합에 대해 일부 작업을 수행합니다.

합집합

Sum 집계 함수는 모든 세부 레코드에 대한 인수로 전달된 표현식 값의 합계를 계산합니다. 예를 들어:

금액(매출.금액회전율)

수량

Count 함수는 NULL이 아닌 값의 개수를 계산합니다. 예를 들어:

수량(판매.상대방)

다른 수

이 함수는 고유 값의 수를 계산합니다. 예를 들어:

수량(다양한 판매.상대방)

최고

함수는 최대값을 얻습니다. 예를 들어:

최대(남은.수량)

최저한의

함수는 최소값을 얻습니다. 예를 들어:

최소(남은.수량)

평균

이 함수는 NULL이 아닌 값의 평균을 가져옵니다. 예를 들어:

평균(남은.수량)

기타 작업

작업 선택

Select 작업은 특정 조건이 충족되면 여러 값 중 하나를 선택하는 작업입니다. 예를 들어:

금액 > 1000인 경우 선택하고 그렇지 않은 경우 금액 0 끝

두 값을 비교하는 규칙

비교되는 값의 유형이 서로 다른 경우 유형의 우선 순위에 따라 값 간의 관계가 결정됩니다.

  • NULL(최저);
  • 부울;
  • 숫자;
  • 날짜;
  • 선;
  • 참조 유형

서로 다른 참조 유형 간의 관계는 특정 유형에 해당하는 테이블의 참조 번호를 기반으로 결정됩니다.

데이터 유형이 동일한 경우 다음 규칙에 따라 값을 비교합니다.

  • 부울 유형의 경우 TRUE 값은 FALSE 값보다 큽니다.
  • Number 유형에는 숫자에 대한 일반적인 비교 규칙이 있습니다.
  • 날짜 유형의 경우 이전 날짜가 이후 날짜보다 작습니다.
  • 문자열 유형의 경우 - 데이터베이스의 확립된 국가 특성에 따른 문자열 비교
  • 참조 유형은 해당 값(레코드 번호 등)을 기준으로 비교됩니다.

NULL 값 작업

피연산자 중 하나가 NULL인 모든 연산은 NULL 결과를 생성합니다.

예외가 있습니다:

  • AND 연산은 피연산자 중 False가 아닌 경우에만 NULL을 반환합니다.
  • OR 연산은 피연산자 중 True가 아닌 경우에만 NULL을 반환합니다.

운영 우선순위

작업의 우선순위는 다음과 같습니다(첫 번째 줄의 우선순위가 가장 낮습니다).

  • B는 NULL이고, NULL이 아닙니다.
  • =, <>, <=, <, >=, >;
  • 바이너리 +, 바이너리 – ;
  • *, /, %;
  • 단항 +, 단항 -.

데이터 구성 시스템 표현 언어 기능

계산하다

계산 기능은 특정 그룹화의 맥락에서 표현식을 계산하도록 설계되었습니다. 이 함수에는 다음과 같은 매개변수가 있습니다.

  • 표현. 문자열을 입력합니다. 계산된 표현식을 포함합니다.
  • 그룹화. 문자열을 입력합니다. 표현식이 평가되는 컨텍스트의 그룹화 이름을 포함합니다. 빈 문자열을 그룹화 이름으로 사용하는 경우 현재 그룹화 컨텍스트에서 계산이 수행됩니다. GrandTotal 문자열이 그룹 이름으로 사용되는 경우 총합계 컨텍스트에서 계산이 수행됩니다. 그렇지 않으면 이름이 같은 상위 그룹의 컨텍스트에서 계산이 수행됩니다. 예를 들어:
Sum(Sales.SumTurnover) / Calculate("Sum(Sales.SumTurnover)", "총액")

이 예에서 결과는 전체 레이아웃의 동일한 필드 금액에 대한 그룹화 레코드의 "Sales.AmountTurnover" 필드 금액의 비율입니다.

수준

이 기능은 현재 녹음 레벨을 가져오도록 설계되었습니다.

수준()

번호순서

다음 시퀀스 번호를 가져옵니다.

번호별순서()

NumberInOrderInGrouping

현재 그룹의 다음 서수를 반환합니다.

번호별주문인그룹()

체재

전달된 값의 형식화된 문자열을 가져옵니다.

형식 문자열은 1C:Enterprise 형식 문자열에 따라 설정됩니다.

옵션:

  • 의미;
  • 형식 문자열.

형식(소모품 송장.Doc 금액, "NPV=2")

기간의 시작

옵션:

    • 분;
    • 낮;
    • 일주일;
    • 월;
    • 4분의 1;
    • 10년;
    • 반년.

StartPeriod(DateTime(2002, 10, 12, 10, 15, 34), "월")

결과:

01.10.2002 0:00:00

기간 종료

이 함수는 주어진 날짜에서 특정 날짜를 추출하도록 설계되었습니다.

옵션:

  • 날짜. 날짜를 입력하세요. 특정 날짜;
  • 기간 유형. 문자열을 입력합니다. 다음 값 중 하나를 포함합니다.
    • 분;
    • 낮;
    • 일주일;
    • 월;
    • 4분의 1;
    • 10년;
    • 반년.

EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), "주")

결과:

13.10.2002 23:59:59

날짜 추가

이 기능은 날짜에 특정 값을 추가하도록 설계되었습니다.

옵션:

  • 확대 유형. 문자열을 입력합니다. 다음 값 중 하나를 포함합니다.
    • 분;
    • 낮;
    • 일주일;
    • 월;
    • 4분의 1;
    • 10년;
    • 반년.
  • 금액 - 날짜를 늘려야 하는 금액입니다. 번호를 입력하세요. 소수 부분은 무시됩니다.

AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "월", 1)

결과:

12.11.2002 10:15:34

날짜 차이

이 함수는 두 날짜의 차이를 얻도록 설계되었습니다.

옵션:

  • 표현. 날짜를 입력하세요. 원래 날짜;
  • 표현. 날짜를 입력하세요. 차감된 날짜;
  • 차이 유형. 문자열을 입력합니다. 다음 값 중 하나를 포함합니다.
    • 두번째;
    • 분;
    • 낮;
    • 월;
    • 4분의 1;

DATEDIFFERENCE(DATETIME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06), "요일")

결과:

하위 문자열

이 함수는 문자열에서 부분 문자열을 추출하도록 설계되었습니다.

옵션:

  • 선. 문자열을 입력합니다. 하위 문자열이 추출되는 문자열입니다.
  • 위치. 번호를 입력하세요. 문자열에서 추출할 부분 문자열이 시작되는 문자의 위치입니다.
  • 길이. 번호를 입력하세요. 할당된 하위 문자열의 길이입니다.

SUBSTRING(계정.주소, 1, 4)

줄 길이

이 함수는 문자열의 길이를 결정하도록 설계되었습니다.

매개변수:

  • 선. 문자열을 입력합니다. 길이가 지정된 문자열입니다.

라인(상대방.주소)

년도

이 함수는 Date 유형 값에서 연도를 추출하도록 설계되었습니다.

매개변수:

  • 날짜. 날짜를 입력하세요. 연도가 결정되는 날짜입니다.

YEAR(비용.날짜)

4분의 1

이 함수는 날짜 유형 값에서 분기 숫자를 추출하도록 설계되었습니다. 분기 번호의 범위는 일반적으로 1부터 4까지입니다.

매개변수

  • 날짜. 날짜를 입력하세요. 분기가 결정되는 날짜
QUARTER(비용.날짜)

이 함수는 Date 유형 값에서 월 번호를 추출하도록 설계되었습니다. 월 번호의 범위는 일반적으로 1부터 12까지입니다.

  • 날짜. 날짜를 입력하세요. 월이 결정되는 날짜입니다.
MONTH(비용.날짜)

올해의 날

이 함수는 Date 유형 값에서 해당 연도의 날짜를 가져오도록 설계되었습니다. 연중 날짜의 범위는 일반적으로 1부터 365(366)까지입니다.

  • 날짜. 날짜를 입력하세요. 해당 연도의 날짜가 결정되는 날짜입니다.
DAYYEAR(비용계정.날짜)

이 함수는 Date 유형 값에서 해당 월의 일자를 가져오도록 설계되었습니다. 해당 월의 날짜 범위는 일반적으로 1부터 31까지입니다.

  • 날짜. 날짜를 입력하세요. 해당 월의 날짜가 결정되는 날짜입니다.
DAY(비용.날짜)

일주일

이 함수는 날짜 유형 값에서 해당 연도의 주 수를 가져오도록 설계되었습니다. 한 해의 주는 1부터 시작하여 번호가 매겨집니다.

  • 날짜. 날짜를 입력하세요. 주 번호가 결정되는 날짜입니다.
WEEK(비용.날짜)

요일

이 함수는 Date 유형 값에서 요일을 가져오도록 설계되었습니다. 일반적인 요일은 1(월요일)부터 7(일요일)까지입니다.

  • 날짜. 날짜를 입력하세요. 요일이 결정되는 날짜입니다.
요일(비용.날짜)

시간

이 함수는 Date 유형 값에서 시간을 가져오도록 설계되었습니다. 하루의 시간 범위는 0부터 23까지입니다.

  • 날짜. 날짜를 입력하세요. 하루의 시간이 결정되는 날짜입니다.
HOUR(비용.날짜)

이 함수는 날짜 유형 값에서 시간의 분을 가져오도록 설계되었습니다. 분의 범위는 0부터 59까지입니다.

  • 날짜. 날짜를 입력하세요. 분을 결정하는 날짜입니다.
MINUTE(비용.날짜)

두번째

이 함수는 날짜 유형 값에서 1분의 1초를 가져오도록 설계되었습니다. 분의 초 범위는 0부터 59까지입니다.

  • 날짜. 날짜를 입력하세요. 분의 초가 결정되는 날짜입니다.
SECOND(비용.날짜)

표현하다

이 함수는 복합 유형을 포함할 수 있는 표현식에서 유형을 추출하도록 설계되었습니다. 표현식에 필수 유형이 아닌 유형이 포함되어 있으면 NULL이 반환됩니다.

옵션:

  • 변환할 표현식입니다.
  • 유형 표시. 문자열을 입력합니다. 유형 문자열을 포함합니다. 예를 들어 "숫자", "문자열" 등이 있습니다. 기본 유형 외에도 이 줄에는 테이블 이름이 포함될 수 있습니다. 이 경우 지정된 테이블에 대한 참조를 표현하려고 시도합니다.

Express(Data.Props1, "번호(10,3)")

IsNull

이 함수는 첫 번째 매개변수의 값이 NULL인 경우 두 번째 매개변수의 값을 반환합니다.

그렇지 않으면 첫 번째 매개변수의 값이 반환됩니다.

YesNULL(Amount(Sales.AmountTurnover), 0)

공통 모듈의 기능

데이터 구성 엔진 표현식에는 전역 공통 구성 모듈의 기능에 대한 호출이 포함될 수 있습니다. 이러한 함수를 호출하는 데 추가 구문이 필요하지 않습니다.

이 예에서는 "AbbreviatedName" 함수가 일반 구성 모듈에서 호출됩니다.

공통 모듈 기능의 사용은 적절한 데이터 구성 프로세서 매개변수가 지정된 경우에만 허용됩니다.

또한 공통 모듈의 기능은 사용자 정의 필드 표현식에 사용할 수 없습니다.

우리는 접근 통제 시스템을 기반으로 구현된 보고서 설정을 좀 더 자세히 조사했습니다. 이제 보고서 옵션에 대한 보다 미묘하고 자세한 설정을 살펴보겠습니다. 보고서 옵션의 "고급" 설정 창은 "추가" - "기타" - "보고서 옵션 변경" 명령으로 호출됩니다.

보고서 버전 변경 창은 두 부분으로 구분됩니다.

1. 보고서 구조.

2. 보고서 설정.


보고서 옵션 구조 섹션은 표준 보고서 설정의 "구조" 탭과 유사합니다. 그룹화의 목적과 구성은 기사의 1부에서 자세히 설명합니다.

보고서 변형 구조 테이블에는 그룹화가 포함된 실제 열 외에도 다음과 같은 몇 가지 추가 열이 포함되어 있습니다.

보고서 옵션 설정 섹션에서는 사용자에게 필요에 맞게 보고서를 구성할 수 있는 충분한 기회를 제공합니다. 이는 1부에서 설명한 표준 보고서 설정과 거의 완전히 일치합니다. 섹션의 모든 탭을 살펴보고 차이점을 살펴보겠습니다.

설정 섹션은 다음 탭으로 구성됩니다.

1. 매개변수.사용자가 사용할 수 있는 ACS 매개변수가 포함되어 있습니다.

SKD 매개변수는 보고서 데이터를 얻기 위해 사용되는 값입니다. 이는 데이터를 선택하거나 확인하기 위한 조건값일 수도 있고, 보조값일 수도 있습니다.


매개변수 테이블은 "매개변수" - "값" 형식으로 표시됩니다. 필요한 경우 매개변수 값을 변경할 수 있습니다. "사용자 정의 설정 요소 속성" 버튼을 클릭하면 요소의 사용자 정의 설정이 열립니다.


이 창에서 요소를 사용자 설정에 포함할지(즉, 보고서를 설정할 때 사용자에게 표시) 여부를 선택하고, 요소의 표시 및 편집 모드(보고서 헤더에서 빠른 액세스, 일반에서는 일반)를 설정할 수 있습니다. 보고서 설정 및 액세스할 수 없음).

사용자 정의 설정 항목 속성에는 그룹화 가능한 필드, 여백, 선택 항목 및 조건부 모양 요소도 있습니다.

2. 사용자 정의 필드.보고서에서 선택한 데이터를 기반으로 사용자가 직접 생성한 필드가 포함되어 있습니다.


사용자는 두 가지 유형의 필드를 추가할 수 있습니다.

  • 새로운 선택 필드...
  • 새로운 표현 필드...

선택 필드를 사용하면 주어진 조건에 따라 값을 계산할 수 있습니다. 선택 필드 편집 창에는 필드 제목과 필드의 선택, 값 및 표시가 지정된 테이블이 포함되어 있습니다. 선택은 원하는 값이 대체되는 조건입니다.


예를 들어 판매량 추정치를 계산해 보겠습니다. 제품이 10개 미만으로 팔리면 조금 팔린 것이고, 10개 이상이면 많이 팔린 것으로 가정하겠습니다. 이를 위해 계산된 필드에 대해 2개의 값을 설정합니다. 첫 번째는 "10"보다 작거나 같은 상품 수"를 선택하고, 두 번째는 "10보다 큼 상품 수"를 선택합니다. "".

표현식 필드를 사용하면 임의의 알고리즘을 사용하여 값을 계산할 수 있습니다. 쿼리 언어 및 내장 1C 프로그래밍 언어의 기능을 사용할 수 있습니다. 표현 필드 편집 창에는 세부 기록과 요약 기록 표현을 위한 두 개의 필드가 있습니다. 총 기록은 "보고서 구조" 영역에 구성된 그룹화이며, 집계 기능("합계", "최소값", "최대값", "수량")을 사용해야 합니다.

예를 들어 평균 할인율을 계산해 보겠습니다. 평균 할인율은 [할인 없는 매출액] - [할인된 매출액] / [할인 없는 매출액]의 공식을 사용하여 계산됩니다. 할인을 적용하지 않은 판매량은 0이 될 수 있다는 점을 기억해 두셔야 하므로 SELECT 연산자를 이용하여 확인하겠습니다. 우리는 다음과 같은 표현을 얻습니다.

· 자세한 항목은 다음을 참조하세요.

선택

[할인 없는 판매금액] = 0인 경우

그러면 0

그렇지 않은 경우 [할인 없는 판매 금액] - [할인 적용된 판매 금액] / [할인 없는 판매 금액]

· 요약 레코드의 경우:

선택

Amount([할인 없는 판매 금액]) = 0인 경우

그러면 0

그렇지 않으면 Sum([할인 없는 매출]) - Sum([할인 없는 매출]) / Sum([할인 없는 매출])

앞에서 언급했듯이 총 기록 표현에서는 집계 함수 "Sum"을 사용합니다.

3. 그룹화 가능한 필드.보고서 변형의 결과를 그룹화하는 필드가 포함되어 있습니다. 그룹화된 필드는 각 그룹화마다 별도로 구성되지만, 구조 트리에서 "보고서" 루트를 선택하면 보고서 옵션에 대한 일반 그룹화된 필드를 설정할 수 있습니다. 보고서 결과의 필드, 사용자 정의 필드를 추가하거나 자동 필드를 선택할 수 있습니다. 그러면 시스템이 해당 필드를 자동으로 선택합니다. 이 탭에서는 그룹화된 필드의 순서를 변경할 수도 있습니다.


4. 필드.보고서 변형의 결과로 출력될 필드를 포함합니다. 필드는 그룹별로 별도로 구성되지만, 구조 트리에서 루트 "보고서"를 선택하면 보고서 옵션에 대한 공통 필드를 설정할 수 있습니다. 보고서 결과의 필드, 사용자 정의 필드를 추가하거나 자동 필드를 선택할 수 있습니다. 그러면 시스템이 해당 필드를 자동으로 선택합니다. 이 탭에서는 필드 순서를 변경할 수도 있습니다.

필드를 그룹화하여 보고서의 특정 부분을 논리적으로 강조 표시하거나 특별한 열 배열을 지정할 수 있습니다. 그룹을 추가하면 "위치" 열이 활성화되고 다음 위치 옵션 중 하나를 선택할 수 있습니다.

  • 자동 - 시스템이 자동으로 필드를 배치합니다.
  • 수평 - 필드가 수평으로 배치됩니다.
  • 수직 - 필드가 수직으로 정렬됩니다.
  • 별도의 열 - 필드는 다른 열에 있습니다.
  • 함께 - 필드가 하나의 열에 위치합니다.


5. 선택.보고서 변형에 사용된 선택 사항이 포함되어 있습니다. 선택 항목 설정은 이 문서의 1부에서 자세히 설명했습니다. 필터는 그룹별로 별도로 구성되지만, 구조 트리에서 루트 "보고서"를 선택하면 보고서 옵션에 대한 일반 필터를 설정할 수 있습니다.


6. 정렬.보고서 변형에 사용되는 정렬 필드가 포함되어 있습니다. 정렬 필드 설정은 이 문서의 1부에서 자세히 설명했습니다. 정렬은 각 그룹화에 대해 별도로 구성되지만 구조 트리에서 루트 "보고서"를 선택하면 보고서 옵션에 대한 일반 정렬 필드를 설정할 수 있습니다.


7. 조건부 등록.보고서 변형에 사용되는 조건부 디자인 요소가 포함되어 있습니다. 조건부 표시 설정은 이 문서의 1부에서 자세히 설명했습니다. 조건부 표시는 그룹화마다 별도로 구성되지만, 구조 트리에서 루트 "보고서"를 선택하면 보고서 옵션에 대한 조건부 표시의 일반 요소를 설정할 수 있습니다.


8. 추가 설정.추가 보고서 디자인 설정이 포함되어 있습니다. 보고서의 일반적인 모양, 필드 위치, 그룹화, 세부 정보, 리소스, 합계를 선택하고, 차트 설정을 지정하고, 제목, 매개변수 및 선택 표시를 제어하고, 리소스 위치를 결정하고, 헤더 및 그룹화를 수정할 수 있습니다. 보고서 버전의 열입니다.


결론적으로, 보고서 설정은 보고서 옵션으로 저장할 수 있을 뿐만 아니라 파일로 업로드할 수도 있습니다(메뉴 "추가" - "설정 저장"). 다운로드하려면 "설정 로드"를 선택하고 저장된 파일을 선택해야 합니다. 따라서 동일한 구성을 가진 여러 데이터베이스 간에 보고서 변형 설정을 전송할 수 있습니다.


이를 바탕으로 사용자가 자신의 필요에 맞게 보고서를 독립적으로 사용자 정의할 수 있을 뿐만 아니라 설정을 저장하고 필요할 경우 나중에 사용할 수도 있다는 점을 요약할 수 있습니다.

유능한 관리를 위해 모든 무역 조직은 상품, 판매 및 이익의 현재 상태에 대한 정보를 신속하게 수신해야 합니다. 그러나 조직이 광범위한 상품 및 다수의 상대방과 협력하는 경우가 많다는 점을 고려하면 분석 보고서 사용자 정의 도구는 필요한 정보를 얻는 데 중요한 역할을 합니다. 표준 프로그램 보고서(rev. 11)에서 사용자 정의 필드로 작업하는 방법을 자세히 살펴보겠습니다.

1C: Enterprise 8 플랫폼의 개발은 사용자에게 점점 더 많은 기회를 제공합니다. 예를 들어, 버전 8.2에서는 보고서가 더욱 유연해져서 자격을 갖춘 프로그래머의 도움 없이도 다양한 요구 사항에 맞게 사용자 정의할 수 있습니다.

보고서 설정 변경

보고서 설정을 보거나 변경하려면 "모든 작업" 메뉴로 이동하여 "옵션 변경" 명령을 선택하세요. 그런 다음 열린 보고서에 대한 설정 창이 사용자 앞에 열립니다.

설정 창의 상단에서는 보고서 열과 해당 행 그룹을 시각적으로 반영한 보고서의 구조를 볼 수 있습니다. 이를 통해 기본적으로 분석 데이터의 순서를 상상할 수 있습니다. 이 보고서에 표시됩니다.

설정 창 하단에는 보고서 또는 해당 구조 요소(열 및 행 그룹)와 관련된 실제 정보 및 필드 설정이 표시됩니다.

사용자 정의 필드

프로그램에서 1C: 무역 관리 8 Edition 11 보고서 설정은 사용자에게 생성 시 더 많은 옵션을 제공합니다.

설정 및 보고서 구조 편집 창에서 사용자가 자신만의 필드를 만들고 보고서에 추가할 수 있는 "사용자 정의 필드" 탭에 특히 주의를 기울이고 싶습니다. 이전에는 사용자가 개발자가 구현한 필드만 사용할 수 있었다는 점을 기억해야 합니다.

예제를 사용하여 이 기능의 사용법을 살펴보겠습니다.

모스크바 및 해당 지역에서 상품을 판매하는 무역 회사의 책임자가 "판매 내역" 보고서를 자신의 요구 사항에 맞게 사용자 정의하고 모스크바 및 지역 전반의 제품 판매에 대한 데이터를 표시하려고 한다고 가정해 보겠습니다. 파트너에게도 마찬가지다. 사용자 정의 필드를 사용하면 이 작업이 매우 쉽습니다.

따라서 명확한 예는 표준 프로그램의 사용자 정의 필드에 대한 유연한 설정을 보여줍니다. 1C: 무역 관리 8사용자에게 보고서를 사용자 정의할 수 있는 충분한 기회를 제공하여 필요한 정보를 편리한 형식으로 빠르게 얻을 수 있습니다.

2024wisemotors.ru. 작동 방식. 철. 채광. 암호화폐.