1s 8.3은 사용자 정의 필드의 계산을 보고합니다. 데이터 구성 시스템 표현 언어(1Cv8)

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

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

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

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

리터럴

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

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

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

“문자열 리터럴”

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

예를 들어:

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

숫자

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

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.SumTurnover" 필드 금액의 비율입니다.

수준

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

수준()

번호순서

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

번호별순서()

NumberInOrderInGrouping

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

번호별주문인그룹()

체재

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

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

옵션:

  • 의미;
  • 형식 문자열.

형식(소모품 송장.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" 함수가 일반 구성 모듈에서 호출됩니다.

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

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

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

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

보고서 설정 변경

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

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

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

사용자 정의 필드

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

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

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

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

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

미리 만들어진 보고서에 나만의 열을 추가합니다.
사용자 모드에서 "데이터 구성 체계"를 사용하여 작성된 보고서에서 생성 중에 표시되는 고유한 필드를 추가할 수 있습니다.
이러한 필드에서 산술 연산을 사용할 수 있습니다.

오래 전에 저는 "배송 별 상품 판매"http://infostart.ru/public/16477/ 보고서를 썼습니다. 이 간행물에서는 관련성과 장점에 대해 논의하지 않습니다. 이 보고서는 실험 및 수정을 위한 템플릿으로 사용됩니다. 또한 댓글에서 필드를 추가하는 방법을 물었습니다.

"설정..."을 열고 "사용자 정의 설정" 탭으로 이동합니다.

2. "새 필드 표현식" 추가

필드 추가는 등록입니다 산술 연산사용 가능한 필드 사이(녹색 사각형으로 표시된 필드는 허용됨) 또한, 해당 필드의 이름이 두 개 이상의 단어로 구성된 경우에는 대괄호로 묶어야 합니다. [판매금액] 이렇게 나옵니다.

저장하면 이 필드를 선택할 수 있게 됩니다.

간단한 조작을 통해 필요한 가치를 얻을 수 있습니다. 이 기능을 사용하면 다음을 추가할 수 있습니다. 필수 입력 사항. 필요한 계산 옵션이 있습니다. 수익성, 효율성 및 기타 값은 산술 계산 논리에서 고려됩니다.

이 경우 작업 내용은 손실되지 않으며 다음에 보고서를 열 때 사용할 수 있습니다.

필드를 작성할 때 사용되는 함수입니다.

  • 산술 "+, -, *, /"는 이해할 수 있으므로 작동 원리를 설명할 필요는 없다고 생각합니다.
  • 부울 표현식 in은 선택 항목을 결정하는 데 사용됩니다. « > ,< , = , >= , <= , <>, AND, OR, NOT." 이러한 표현식은 선택 작업과 함께 사용됩니다.
  • 선택 작업. 지정된 조건에 따라 가능한 값 중 하나를 얻는 데 사용됩니다.

선택
언제< Операция выбора >그 다음에<Выражение>
그렇지 않으면<Выражение>

예:
선택
수량 > 0이고 금액 > 0일 때 "정확함"
그 외 "오류"

이를 해독하면 다음과 같습니다. 수량이 0보다 크고 금액이 0보다 크면 "올바름"이라는 텍스트가 표시되고, 조건 중 하나라도 충족되지 않으면 "오류"가 표시됩니다.

  • 내장된 기능을 사용하면 필드로 특정 변환을 수행할 수 있습니다.

SUB-STRING("표현", "시작 위치", "최종 위치") - "시작..." 및 "최종..." 프레임에 의해 제한되는 "표현" 부분을 선택합니다.
명명법 값이 "Chocolate Paste"인 경우 어떻게 이런 일이 발생합니까? 수식 하위 문자열(Nomenclature,1,5)은 "Paste" 값을 표시합니다.

날짜를 다루려면 다음 기능을 사용하십시오.

년도(<Дата>), 4분의 1(<Дата>), 월(<Дата>), DAYYEAR(<Дата>), 낮(<Дата>), 일주일(<Дата>), 평일(<Дата>),시간(<Дата>), 분(<Дата>), 두번째(<Дата>)

함수 이름에 해당하는 값이 표시됩니다.

기간 시작(“날짜”, “교대 기간”), 기간 종료(“날짜”, “교대 기간”). 함수 데이터의 경우 날짜 표현식의 값은 지정된 날짜의 시작 또는 끝에 있습니다.

ADDCDATE(“날짜”, “교대 기간”, “날짜를 늘리려는 금액”) - 이 기능을 사용하면 날짜를 특정 값만큼 늘리거나 줄일 수 있습니다.

DATE DIFFERENCE (“Date1”, “Date2”, “Shift period”) - 이 함수는 두 날짜 간의 차이를 구하도록 설계되었습니다.

“교대 기간”은 “분, 시, 일, 주, 월, 분기, 연도, 10년, 반기” 중 하나입니다.

5. 결과를 그룹화하고 합계를 계산할 때 쿼리 언어의 집계 기능이 사용됩니다.

합계(<>) 샘플에 포함된 모든 값의 산술 합계.
평균 (<>) 샘플에 포함된 모든 항목의 평균값을 계산합니다.
최소(<>) 샘플에 포함된 모든 값 중에서 최소값을 계산합니다.
최대(<>) 샘플에 포함된 모든 값 중에서 최대값을 계산합니다.
수량 (<>)는 샘플에 포함된 매개변수 값의 개수를 계산합니다. 이 기능을 사용하면 사용 옵션을 선택할 수 있습니다. COUNT(*) - 결과의 행 수를 계산할 수 있습니다. QUANTITY(DIFFERENT “Expression”) - 지정된 필드의 다양한 값 수를 계산할 수 있습니다.

금액(선택
하위 문자열(명명법, 1, 5) = "붙여넣기"인 경우
그런 다음 수량 *0.2
그렇지 않으면 수량 *0.35
끝)

결과는 해당 값의 합으로, 명명법명 앞에 “Paste”가 있으면 수량은 0.2 증가하고, 없으면 0.35 증가한다.

연도([문서.날짜])

문서가 기록/게시된 연도가 표시됩니다.

디코딩이 없는 더 복잡한 예입니다.

선택
Quarter([Document.Date]) = 1 AND Substring(명명법, 1, 5) = "붙여넣기"인 경우
그런 다음 수량 * 0.2
그렇지 않으면 선택
Quarter([Document.Date]) = 2인 경우
그런 다음 수량 * 0.3
그렇지 않으면 선택
Quarter([Document.Date]) = 3인 경우
그런 다음 수량 * 0.4
그렇지 않으면 선택
Quarter([Document.Date]) = 4인 경우
그런 다음 수량 * 0.5



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

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

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. 추가 설정.포함 추가 세팅보고서 준비. 공통을 선택할 수 있습니다. 모습보고서, 필드 위치, 그룹화, 세부 정보, 리소스, 합계, 차트 설정 지정, 제목, 매개변수 및 선택 표시 제어, 리소스 위치 결정, 보고서 버전의 헤더 및 그룹화 열 수정.


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


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

적시에 올바른 관리 결정을 내리기 위해 각 조직은 창고의 상품 가용성, 비용 및 판매에 대한 운영 정보가 필요합니다. 무역 조직은 수많은 품목 및 상대방과 협력하며 이를 위해서는 분석 회계를 잘 설정하고 데이터에서 필요한 정보를 빠르게 획득해야 합니다. 이 기사에서는 표준 보고서 작업을 위한 기본 기술에 대해 설명합니다. 표준 용액데이터 구성 시스템을 기반으로 구축된 "1C: Trade Management 8"(11판)은 초보 사용자와 이전 버전에서 새 버전으로 전환한 사용자 모두에게 유용한 실용적인 권장 사항을 제공합니다.

예를 들어 보고서를 보자

  • 제품 가용성 분석

설정.

칼럼에서 비교 유형 명명법

  • 같음
  • 같지 않음
  • 목록에
  • 목록에 없음
  • 그룹에서 명명법;
  • 그룹에 속하지 않음 명명법;
  • 목록의 그룹에서 명명법;
  • 목록의 그룹에 속하지 않음 명명법.

의미

"빠른 선택"

1C:Enterprise 8 플랫폼이 개발되고 새 버전 8.2가 등장함에 따라 시스템의 보고서는 더욱 유연해지고 사용자는 프로그래머의 도움 없이 요구 사항에 맞게 사용자 정의할 수 있는 기회가 점점 더 많아집니다.

데이터 구성 시스템(DCS)이 제공하는 새로운 기회를 통해 이전과는 전혀 다른 방식으로 보고서를 작성할 때 1C:Enterprise 8 기능의 이점을 경험할 수 있습니다. 그리고 보고서 인터페이스가 크게 변경되었음에도 불구하고("Trade Management" 구성 버전 10.3과 비교하여, 이하 UT라고 함) 일반 사용자는 여전히 보고서 설정을 사용할 수 있습니다. 이를 사용하기 위한 몇 가지 기본 기술을 살펴보겠습니다.

가장 먼저 주목해야 할 것은 빠른 선택입니다. 이를 통해 사용자의 희망에 따라 보고서 필드의 특정 값을 기반으로 보고서에 데이터를 표시할 수 있습니다.

예를 들어 보고서를 보자 UT의 제품 가용성 분석. UT 11의 보고 기능에 대한 전체 데모는 두 가지 보고서의 예를 사용하여 수행됩니다.

  • 제품 가용성 분석
  • 수익 및 판매 비용.

일부 필드 선택은 보고서 양식에서 직접 또는 버튼을 사용하여 수행할 수 있습니다. 설정.

칼럼에서 비교 유형사용자는 다양한 비교 조건을 선택할 수 있습니다. 예를 들어, 해당 분야의 경우 명명법다음 비교 유형을 선택할 수 있습니다.

  • 같음- 선택한 항목에 대해서만 보고서가 작성됩니다.
  • 같지 않음- 선택한 품목을 제외한 전체 제품군에 대한 보고서가 생성됩니다.
  • 목록에- 보고서는 항목 항목 목록을 기반으로 합니다.
  • 목록에 없음- 보고서는 선택된 품목을 제외한 전체 제품군에 대해 작성됩니다.
  • 그룹에서- 보고서는 선택한 디렉터리 폴더에 있는 전체 항목에 대해 작성됩니다. 명명법;
  • 그룹에 속하지 않음- 보고서는 선택한 디렉토리 폴더에 있는 항목을 제외한 전체 제품 범위에 대해 작성됩니다. 명명법;
  • 목록의 그룹에서- 비교와 유사 목록에서는 디렉터리에 있는 폴더만 목록 값으로 선택됩니다. 명명법;
  • 목록의 그룹에 속하지 않음- 비교와 유사 목록에 없음, 디렉터리에 있는 폴더만 목록 값으로 선택됨 명명법.

선택 필드 왼쪽에 있는 확인란은 이 필드에 대한 선택이 "활성화"되었음을 나타냅니다. 즉, 보고서에서 고려됩니다.

선택되지 않은 필드는 해당 필드에 대해 특정 값을 선택한 경우에도 고려되지 않습니다.

열에서 선택한 비교 유형에 따라 의미디렉토리의 특정 요소나 폴더(그룹), 요소나 폴더의 목록이 표시됩니다.

1C:Enterprise 8 플랫폼의 모든 솔루션에서 "빠른 선택"을 사용할 수 있습니다.

보고서 설정의 간단한 변경 예

보고서 설정을 보거나 변경하려면 메뉴로 이동해야 합니다. 모든 작업 - 옵션 변경.

선택한 보고서 옵션에 대한 설정 창이 우리 앞에 열립니다.

보고서 구조는 창 상단에 표시됩니다. 본질적으로 이는 보고서의 행과 열 그룹화, 즉 분석 데이터가 보고서에 행과 열로 표시되는 순서를 시각적으로 표시한 것입니다.

창 하단에는 보고서와 관련된 정보가 전체적으로 표시됩니다(보고서 구조에서 최상위 수준을 선택한 경우). 보고서) 또는 보고서의 특정 행이나 열 그룹화(하위 수준의 그룹화가 선택된 경우), 정보 표시 및 필드 디자인 설정.

실시예 1

1 단계. 제품 특성별 그룹화를 제거하고 제품별 그룹화만 남겨야 합니다. 이렇게 하려면 보고서 설정 창 상단에서 해당 필드를 클릭하세요. 명명법, 특성. 창 하단에서 탭으로 이동하세요. 여러 떼.

분야를 선택하세요 특성그리고 버튼을 클릭하세요 삭제명령 패널.

버튼을 클릭하여 보고서 설정 변경 사항을 확인하세요. 편집 완료화면 왼쪽 하단에 있습니다.

2 단계. 특성을 제거한 후 예제 조건에 따라 가격 그룹을 추가하는 것이 우리의 임무입니다. 본질적으로 이 그룹핑은 창고별 그룹핑보다 낮은 수준에 있어야 하고 품목별 그룹핑보다는 높은 수준에 있어야 합니다. 따라서 보고서 구조에서 그룹화를 강조하겠습니다. 재고.

그것을 클릭하면 마우스 오른쪽 버튼으로 클릭마우스, 상황에 맞는 메뉴에서 명령을 선택하십시오 새 그룹.

열리는 그룹화 필드 편집 창에서 명칭.가격 그룹.

버튼을 클릭하면 좋아요, 그룹화에 종속된 새 그룹화가 보고서에 추가된 것을 볼 수 있습니다. 재고.

이제 제품별 그룹을 선택하고 마우스 오른쪽 버튼을 놓지 않은 채 가격 그룹별 그룹 내부(즉, 아래)로 드래그해 보겠습니다. 그림 1에 표시된 구조를 얻습니다. 보고서 설정 결과는 그림 2에 표시됩니다.

쌀. 1. 결과 보고서 구조

쌀. 2. 리포트 커스터마이징 결과

사용자 정의 필드 작업

이제 1C: Trade Management 8 프로그램에서 보고서를 사용자 정의하기 위한 새로운 옵션을 자세히 살펴보겠습니다.

보고서의 구조와 설정을 편집하는 형태로 탭에 주목해 보겠습니다. 사용자 정의 필드.

이전에는 개발자가 미리 지정한 목록인 필드를 보고서에 추가했습니다. 이 탭을 사용하면 필요한 필드를 직접 만들 수 있습니다. 선택 필드또는 표현식 필드.

실시예 2

"판매 내역" 보고서("판매 수익 및 비용" 보고서의 옵션)를 사용자 정의해 보겠습니다. 파트너별, 제품군별 판매 데이터를 표시해 드립니다. 우리 회사가 모스크바와 그 지역에서 상품을 판매한다고 가정해 보겠습니다. 따라서 정보 베이스의 각 클라이언트는 특정 지리적 지역("Partners" 디렉토리의 "Business Region" 속성)에 속합니다. 판매 데이터를 지역별로 보고서로 쉽게 그룹화할 수 있지만, 특히 "모스크바에서 판매된 상품 수와 다른 모든 지역에서 판매된 상품 수는 몇 개입니까?"라는 질문에 대한 답변과 같이 더욱 집계된 통계에 관심이 있는 경우 어떻게 해야 합니까? 여기서는 "사용자 정의 필드"가 유용합니다.

1 단계. 보고서를 열어보겠습니다. 보고서 구조를 설정하는 양식( 모든 작업 -> 옵션 변경). 보고서에서 이전에 생성된 모든 그룹을 차례로 삭제해 보겠습니다. 이렇게 하려면 각 그룹을 선택하고 버튼을 클릭하세요. 삭제명령 패널을 사용하거나 DEL 키를 사용하십시오.

이전 예와 마찬가지로 파트너별로 보고서에 그룹화를 추가한 다음 항목별로 그룹화를 추가해 보겠습니다. 우리는 이미 이 작업을 수행하는 방법을 알고 있으므로 시간이 많이 걸리지 않습니다.

2 단계. 새로운 사용자 정의 필드를 만들어 보겠습니다. 북마크를 열어보자 사용자 정의 필드그리고 명령을 실행 추가 -> 새 선택 필드.

새 필드에 이름을 지정해 보겠습니다. 지역 전반.

버튼을 클릭해 볼까요 추가하다. 안에 새 줄열에 있는 버튼을 클릭하세요. 선택. 나타나는 선택 편집 양식에서 필드별로 선택 항목을 추가합니다. 파트너.사업지역. 비교 유형을 선택하자 같음, 의미 - 모스크바.

버튼을 클릭해 볼까요 좋아요, 그 후에는 사용자 정의 필드 편집 창으로 돌아갑니다. 다음으로 열의 버튼을 클릭해야 합니다. 의미표시되는 데이터 유형 선택 목록에서 그리고 값으로 쓰기 모스크바.

작업을 반복해 보겠습니다. 테이블에 행을 하나 더 추가해 보겠습니다. 이번에는 분야별 선택을 위해 파트너.사업지역비교 유형을 선택하세요 같지 않음.

열의 사용자 정의 필드 편집 창으로 돌아가기 의미글을 쓰자 기타 지역(그림 3 참조).

쌀. 3. 사용자 정의 필드 편집

버튼을 클릭해 볼까요 좋아요. 새로운 분야가 준비되었습니다.

3단계. 보고서 구조에 새 필드를 추가해 보겠습니다. 마우스로 최상위 레벨 선택 구조로 보고, 새 그룹을 추가합니다. 소품에서 필드선택하자 지역 전반.

새로 생성된 항목 내부에 파트너별 그룹화와 항목별 하위 그룹화를 마우스로 드래그해 보겠습니다.

보고서를 생성하고 결과를 살펴보겠습니다(그림 4 참조).

쌀. 4. 보고서 생성 결과

선택 및 정렬

보고서 구조 및 설정 편집 창으로 돌아가 북마크에 주목해 보겠습니다. 선택그리고 정렬.

보고서 구조에서 루트 요소가 선택된 경우( 보고서), 이 탭에서 지정한 설정이 전체 보고서에 전체적으로 적용됩니다. 보고서 그룹을 선택한 경우 설정은 해당 그룹에만 영향을 미칩니다.

실시예 3

그 결과 보고서는 판매 내역관리자가 지정된 구현만 포함됩니다. 이바노프 이반 페도로비치.

실시예 4

변경사항 저장

보고서 구조를 변경하면 언제든지 다음 명령을 사용하여 저장할 수 있습니다. 모든 작업 -> 저장 옵션.

옵션 저장 양식에서 스위치를 사용하여 선택할 수 있습니다. 기존 보고서 버전에 저장(이미 사용 가능한 옵션 중 하나 대신) 또는 구하다 새로운 옵션보고서.

공유하다