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

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

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

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


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


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

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

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

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

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

리터럴

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

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

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

“문자열 리터럴”

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

예를 들어:

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

숫자

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

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 형식 문자열에 따라 설정됩니다.

옵션:

  • 의미;
  • 형식 문자열.

형식(송장.문서 금액, "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사용자에게 보고서를 맞춤화할 수 있는 충분한 기회를 제공하여 필요한 정보를 편리한 형식으로 신속하게 얻을 수 있도록 합니다.

적시에 올바른 관리 결정을 내리기 위해 각 조직은 창고의 상품 가용성, 비용 및 판매에 대한 운영 정보가 필요합니다. 무역 조직은 수많은 품목 및 상대방과 협력하며 이를 위해서는 분석 회계를 잘 설정하고 데이터에서 필요한 정보를 빠르게 획득해야 합니다. 이 기사에서는 데이터 구성 시스템을 기반으로 구축된 표준 솔루션 "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

변경사항 저장

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

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

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

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

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

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

추가 필드

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

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

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

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

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

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

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

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


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

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

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

보고서 설정 및 생성

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

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

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

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

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