메인 콘텐츠로 건너뛰기
인쇄는 부품, 배치, 선반, 칸반 빈에 실제 라벨을 붙입니다. 관리자가 프린터를 연결하고 각 스테이션에 어떤 프린터를 사용할지 결정하며, 이후 창고 및 현장 직원은 입고를 전기하거나, 배치를 분할하거나, 작업의 첫 공정작업을 마칠 때 자동으로 라벨을 받습니다.

개요

인쇄 시스템은 세 부분으로 구성됩니다. 이는 송장, 발주서, 견적, 작업 트래블러 같이 파일로 전달되는 생성 문서와는 다릅니다. 인쇄는 출력을 실제 프린터로 보내며, 기본적으로 그 출력은 열전사 ZPL 라벨입니다.

형식

작업이 라우팅되는 프린터가 렌더링 방식을 결정합니다.
  • ZPL은 열전사 라벨 프린터의 명령 언어이며 부품 및 보관 라벨의 기본값입니다. ZPL 라벨은 용지 크기에 ZPL 치수가 있는 경우에만 렌더링됩니다.
  • PDF는 송장과 트래블러를 생성하는 것과 같은 React-PDF 엔진으로 그려지는 전체 문서입니다. 칸반 카드는 PDF 전용이므로 템플릿이 다루지 않는 한 ZPL 전용 프린터로 보내면 실패합니다.

문서 유형

세 가지 라벨 유형이 정의되어 있습니다(packages/web/printing/src/registry.ts의 documentTypeRegistry). 소스 문서가 인쇄할 수 있는 유형을 결정합니다. 출하를 전기하면 제품 라벨이 생성되고, 보관 단위를 스캔하면 보관 라벨이 생성됩니다. 조회는 getDocumentTypesForSource가 수행합니다.

인쇄 설정

1. 프린터 라우트 추가

프린터 라우트는 하나의 물리적 프린터를 나타냅니다. 설정 → 인쇄 → 프린터로 이동하여 프린터 추가를 선택합니다.

2. 프린터 테스트

모든 라우트에는 작은 ZPL 라벨을 printerUrl로 바로 보내는 테스트 작업이 있어, 프린터에 의존하기 전에 연결 가능한지 확인할 수 있습니다. 테스트는 용지 크기가 있는 ZPL 라우트에서만 작동하며 성공하면 "Test label sent to printer"(테스트 라벨이 프린터로 전송되었습니다)가 표시됩니다.

3. 컨텍스트에 프린터 배정

라우트는 프린터이고 배정은 언제 사용할지를 결정합니다. 설정 → 인쇄 → 배정을 열면 각 위치에 자체 블록이 있습니다. 그 안에서 각 컨텍스트에 프린터를 지정합니다(packages/web/printing/src/assignments.ts의 printerContexts). 각 컨텍스트 행에는 자동 인쇄 스위치도 있습니다. 켜져 있으면 해당 비즈니스 이벤트가 누군가 클릭하지 않아도 인쇄됩니다. getPrinterContextForSource가 소스 문서의 컨텍스트를 찾고 resolveContextAssignment가 대체값을 적용하므로, 배정되지 않은 컨텍스트는 위치의 기본 프린터를 사용합니다.

자동 인쇄

지원되는 비즈니스 이벤트가 끝나면 Alforse는 위치와 컨텍스트의 프린터를 찾고, autoPrint를 확인하여(설정되지 않으면 켜짐으로 취급) 작업을 대기열에 넣습니다. 인쇄 실패가 이를 유발한 입고, 출하, 작업을 막는 일은 없습니다. 스테이션을 조용하게 하려면 해당 위치의 컨텍스트 행에서 자동 인쇄를 끄십시오.

수동 인쇄

관련 화면에서 인쇄를 선택하거나 소스 문서를 수동 인쇄 라우트(/x/print)로 보내면 요청을 검증하고 같은 종류의 작업을 대기열에 넣습니다. 인쇄의 동작은 위치에 따라 다릅니다.

인쇄 작업 대기열

작업 상태

각 작업은 origin을 기록합니다. 작업은 sourceDocument, sourceDocumentId, 읽기 쉬운 id, contentType, 전송된 printerUrl도 저장합니다.

모니터링과 재출력

설정 → 인쇄 → 인쇄 작업 지시를 엽니다. 테이블은 상태, 설명, 소스, 유형, 출처, 시각과 함께 실시간으로 업데이트됩니다. 행을 펼치면 프린터 URL, 시도 횟수, 타임스탬프, 오류를 볼 수 있습니다. 행에서 다음을 할 수 있습니다.
  • 내용을 보기: ZPL은 Labelary로 미리보고, PDF는 인라인 프레임으로 봅니다.
  • 재출력: origin: "reprint"인 새 작업을 만듭니다.
  • 삭제.

라벨 크기

용지 크기는 고정된 카탈로그(packages/web/utils/src/labels.ts)에서 가져옵니다. label2x1, label4x2, 미터법 label100x50mm과 label50x25mm, PDF 전용 avery5163입니다. ZPL 치수가 있는 크기만 열전사 프린터에서 인쇄할 수 있으므로 Avery 같은 PDF 전용 크기는 인쇄할 수 없습니다. 크기는 두 곳에서 설정됩니다.
  • 각 프린터 라우트는 해당 프린터에 장착된 라벨과 일치하는 자체 mediaSizeId를 고정합니다.
  • 문서 템플릿 화면에서 설정하는 회사의 기본 제품 라벨 크기(companySettings.productLabelSize)는 라우트가 크기를 설정하지 않을 때 대화형 라벨 다운로드 라우트가 사용합니다.
해당 기본값이 있는 위치는 회사 설정을, 기본 제공 라벨 템플릿의 스타일을 지정하는 커스터마이저는 문서를 참조하십시오.

문제 해결

라벨이 인쇄되지 않았습니다

다음 점검을 순서대로 진행하십시오.
  1. 위치와 컨텍스트에 프린터 라우트가 배정되어 있고 자동 인쇄 스위치가 켜져 있습니다.
  2. 라우트에 연결 가능한 printerUrl이 있습니다. 없으면 작업은 렌더링되지만 전달할 수 없습니다.
  3. 설정 → 인쇄 → 인쇄 작업 지시에서 작업이 failed가 아닙니다. 행을 펼쳐 error를 확인하십시오.
자동 인쇄를 대기열에 넣는 중의 실패는 “Auto-print failed”로 기록되며 입고나 출하 화면에는 표시되지 않으므로 인쇄 작업 목록에서 확인해야 합니다. 작업이 전혀 없다면 프린터가 확정되지 않았고 자동 인쇄가 꺼져 있었거나, 해당 이벤트가 자동 인쇄 대상이 아닌 것입니다. 자동 인쇄의 네 가지 이벤트만 해당하며, 그 외에는 인쇄나 수동 라우트를 사용하십시오.

오류 메시지

관련 문서