俄羅斯於1年2019月1日起對一批商品實施強制標示制度。鞋類原定於2020年1月XNUMX日納入該法。由於並非所有企業都有時間準備,因此該法律的實施被推遲至XNUMX月XNUMX日。 Lamoda就是其中之一。
因此,我們想與尚未在服裝、輪胎、香水等領域應用標籤的人士分享我們的經驗。本文介紹了一些行業標準、一些監管文件以及個人經驗。本文主要針對尚未了解此專案的整合商和開發者。

請注意,監管框架經常變化,作者沒有機會持續更新內容。因此,當您閱讀本文時,部分資訊可能已經過時。
作者在 Lamoda 的 Datamatrix 專案工作框架內以及在開發自己的用於標記 BarCodesFx 的免費應用程式期間獲得了個人經驗。
自1年2019月XNUMX日起,俄羅斯開始實施強制標示法。該法並非適用於所有產品類別,且不同產品類別強制標示的生效日期也有所不同。目前,強制標籤適用於菸草、皮草、鞋類和藥品。在不久的將來,輪胎、服裝、香水和自行車也將引入強制標籤。每個產品類別均受單獨的政府法規(東德)的監管。因此,一些適用於鞋類的聲明可能不適用於其他產品類別。但我們希望不同產品類別的技術內容不會有太大差異。
記號這種標記的核心思想是為每個商品單元分配一個單獨的編號。此編號可用於追蹤特定商品單元從生產或進口到收銀台的整個過程。這聽起來不錯,但實際操作起來卻極為困難。 「誠實標誌」的官方網站上對此概念進行了更詳細的描述。
普遍接受的術語和概念
奧托德州大學 —— 貨物週轉的參與者。
CRPT — 一家先進技術開發中心。一家私人公司,也是該標籤項目的唯一國家承包商。本計畫採用公私合作(PPP)模式運作。遺憾的是,目前尚無關於該項目其他投標參與者以及招標本身的資訊。
甘油三酸酯 — 產品類別。鞋類、服裝、輪胎等。
GTIN — 本質上是一個考慮顏色和尺寸的商品編號。此編號在 GS1 或國家目錄中為每個進口商或製造商的商品發放。製造商或進口商必須先描述該產品。
聚乳酸 — 俄羅斯聯邦政府法令。鞋類產品 — 860。
知識管理 — 標記代碼。分配給特定商品單元的一組唯一字元。對於鞋類,它由GTIN、序號、驗證碼和加密尾標組成。
GS1 — 一個發布GTIN的國際組織。也是許多標籤標準的製定者。
國家目錄 — 由 CRPT 開發的 GS1 類似物。
Cryptotail — 類似於數位簽名,用於確認金鑰管理 (KM) 的合法性。它必須包含在印章的資料矩陣中。禁止以文字形式儲存。印章列印後,必須根據與 CRPT 的協議將其移除。目前尚無實際使用案例。
蘇茲 — 訂單管理站。用於訂購貨物CM的系統。
電子數據交換 ——電子文件管理。
英國就業政策委員會 ——增強型合格電子簽名。
本文框架內的術語和概念
捷克共和國 - 一個誠實的標誌。
好的 — 個人帳戶。
馬克 — 印刷標記代碼。
流程如下:首先,參與者 (UOT) 簽發電子簽名 (UKEP),在 Chestny Znak (ChZ) 註冊,在國家目錄或 GS1 中描述產品,並接收產品的 GTIN。 Chestny Znak 網站上詳細介紹了這些步驟,我們在此不再贅述。
訂購和接收代碼
收到 GTIN 後,參與者(UOT)在 SUZ 系統中訂購代號(KM)。
重要,但並不明顯。
- 一個訂單最多可以申請10個GTIN代碼。原則上,這是一個難以理解的限制。一個擁有14個GTIN的進口商必須創建000個訂單。
- 一個訂單最多可以請求 150 個代碼。
- 處理中的訂單數量上限為 100 個。也就是說,同一時間最多只能處理 100 個訂單。如果超過 100 個,API 將傳回錯誤訊息,而不是訂單清單。修復此錯誤的唯一方法是透過網頁介面關閉部分訂單。 API 不提供用於顯示部分訂單的參數。
- 請求數量有限制——每秒最多 10 個請求。據我所知,文檔中沒有提到這個限制,但確實存在。
根據透過 SUZ 系統的 API 處理 KM 標記代碼訂單的個人經驗。
- 請求(json 本身)必須使用 GOST 簽章進行簽章。此功能與 cryptopro 搭配使用。您必須仔細監控所使用的框架或函式庫是否對原始 json 進行哪怕一個位元組的變更。否則,簽名將立即失效。
- 訂單簽名。訂單可以由任何客戶端使用任何簽名進行簽名。如果簽章有效,SUZ 系統就會接受。在整合過程中,有人可能使用測試 CA 簽發的其他人的簽名來簽署請求。 SUZ 作戰電路處理了訂單並發出了代碼。在我看來,這是一個安全漏洞。開發人員對錯誤報告的回覆是「我們拭目以待」。希望他們已經修復了這個問題。
因此,如果一個工作場所有多個法人實體,請務必格外小心。今天,SUZ 會接受這些申請,但明天這些申請就會被重新審核,一半的程式碼會因為其他人的簽名而被收回。原則上,這些代碼在形式上是正確的。
- 自動簽名訂單的功能在 SUS 中已不再可用。要使用此功能,必須將金鑰的私鑰部分上傳到誠實簽署者的個人帳戶中。這會導緻密鑰洩漏。根據現行法律,如果增強型合格電子簽名 (EQES) 被洩露,所有者必須通知其認證中心 (CA) 並撤銷 EQES。如果恢復此功能,請仔細監控,確保金鑰的私鑰部分不會洩漏到電腦之外。
- 今年10月,先進技術發展中心(CRPT)悄悄地限制了UZ(烏茲別克共和國)API的請求數量。每秒最多只能有一個請求。然後,同樣出乎意料且悄無聲息地,這項限制被取消了。因此,我建議系統配備限制CRPT API請求數量的功能,以防復發。目前,有資訊顯示每秒請求數量限制為XNUMX個。
- 同樣在二月份,SUZ 的 API 行為在沒有任何預警的情況下發生了重大變化。該 API 包含一個獲取訂單狀態的請求。此狀態指示緩衝區及其狀態。一個 GTIN 對應一個緩衝區。它還指示了緩衝區中有多少個代碼可供接收。在一個晴朗的日子裡,所有緩衝區的數量變成了 -1。因此,必須透過單獨的方法分別查詢每個緩衝區的狀態。因此,需要發出 XNUMX 個請求,而不是一個。
程式碼結構
這樣,程式碼就被排序並產生了。它們可以透過 API 以文字形式、PDF 格式(用於列印的標籤)以及包含文字的 CSV 檔案形式取得。
API 上面已經寫好了。至於其他兩種方法。最初,SUS 只允許你提取一次程式碼。如果提取的是 PDF 文件,那麼你只能透過重新掃描 PDF 中的所有資料矩陣才能以文字形式取得程式碼。幸運的是,他們增加了多次提取程式碼的功能,這個問題得到了解決。這些代碼仍然可以在兩天內重新下載。
如果您以 csv 格式儲存,則在任何情況下都不要使用 Excel 開啟。也不要允許任何人這樣做。 Excel 具有自動儲存功能。儲存時,Excel 可能會以最不可預測的方式變更您的程式碼。我建議使用 Notepad++ 查看程式碼。
如果你用 Notepad++ 開啟 SUZ 文件,你會看到類似這樣的行。第三個代碼無效(缺少 GS 分隔符號)。
![]()
合作夥伴提供了用於標記其商品的代碼。肉眼就能看出哪些檔案是用Excel產生的-高達5%的程式碼是無效的。
我強烈建議閱讀 GS1. 這個標準的描述包含有關 DataMatrix 形成的許多問題的答案。
識別碼由 GTIN 和序號組成。根據 GS1 標準,它們分別對應應用識別碼 (AI) 01 和 21。請注意,應用程式識別碼不包含在 GTIN 和序號中。它們表示套用標識符 (AI) 後跟 GTIN 或序號。這在編寫收銀機軟體時尤其重要。要填寫標籤 1162,您需要 GTIN 和序號,而不是套用識別碼。
相反,對於UPD(通用轉移文件)和其他文件,通常需要帶有應用程式識別碼的完整記錄。

GS1 標準規定,GTIN 的長度固定為 14 個字符,並且只能由數字組成。序號的長度可變,具體說明請參閱該標準的第 155 頁。此外,還有一個鏈接,指向一個表格,其中列出了序號中可能出現的符號。
由於序號的長度可變,GS 分隔符號指示其結束。在 ASCII 表中,它的代碼為 29。如果沒有此分隔符,任何程式都無法識別序號在何處結束,以及其他資料組在何處開始。
您可以在以下位置閱讀有關標記代碼 (KM) 的更多信息 .
鞋類產品的序號固定為13個字符,但其大小可隨時變更。其他產品組(TG)的序號長度可能有所不同。
生成 DataMatrix

下一步是將資料轉換為 DataMatrix 碼。俄羅斯聯邦政府第 860 號決議規定了產生 DataMatrix 碼所必須遵循的 GOST 標準。此外,PPR 860 決議規定必須使用應用程式識別碼。請注意,DataMatrix 標準中沒有「應用程式識別碼」的概念。此概念僅在 GS-1 DataMatrix 標準中存在。事實證明,PPR 860 隱式要求使用 GS-1 DataMatrix。幸運的是,這兩個標準類似。主要區別在於,在 GS-1 DataMatrix 中,第一個符號必須是 FNC1。 GS 符號不應位於 DataMatrix 的首位,而應位於 FNC1 的首位。
FNC1 不能簡單地作為 GS 添加到行中。它必須由產生 DataMatrix 的程式加入。聯盟要塞資源中發布了幾個 ,借助它您可以檢查生成的 DataMatrix 程式碼的正確性。
這很重要。 Honest Sign 應用程式接受無效的 DataMatrix,即使是二維碼也不例外。雖然識別了品牌並顯示了產品訊息,但這並不表示 DataMatrix 的格式正確。即使取代了加密尾部,CHZ 應用程式也能識別品牌並顯示產品資料。
後來,CZ 被發布 如何正確產生程式碼。由於錯誤代碼數量眾多,他們雖然將不含 FNC1 的代碼識別為有效代碼,但仍建議產生 GS-1 DataMatrix。
遺憾的是,合作夥伴提交的資料矩陣中相當一部分有錯誤。感謝常見問題解答中的解釋,「1月XNUMX日後還能交易這類商品嗎?」這個問題終於解決了。劇透一下——是可以交易的。
打印
請注意列印印章的方式。使用熱敏印表機列印時,印章會很快褪色,導致該產品無法繼續銷售。印章難以辨認違反了 PPR 860 的規定。這將導致商品被扣押、罰款甚至承擔刑事責任。
使用熱轉印列印。這樣,印章不易褪色。標籤材質也決定了印章受機械損壞的程度。如果由於機械損壞導致代碼無法讀取,則相當於印章丟失,並可能帶來所有後果。

根據計劃的列印量選擇印表機。桌上型印表機的設計目標並非每天列印 100 萬張標籤。
停止並重新開始列印會增加印表機的磨損。某些程式會一次傳送一個標籤的列印作業。最好不要使用此類程序。
處理文檔
印章印製貼上後,所有後續操作均透過誠信標誌人的文件或個人帳戶進行。
當處理大量程式碼時,您可以建立包含所需程式碼的 xml 文件,並透過個人帳戶的 API 或 Web 介面上傳這些文件。
可以從常見問題個人帳戶的「說明」部分下載 XSD 模式。
請注意以下幾點。
- 捷克共和國個人帳戶中的 XSD 架構在 INN 驗證和字串長度限制方面存在錯誤。只有修正錯誤後才能使用這些架構。幸運的是,這些錯誤很明顯,所以糾正起來並不難。
- 此方案通常由兩部分組成:一個適用於所有類型文件的通用方案,以及一個針對特定類型的單獨方案。通用方案可透過匯入新增至特定方案。這兩個方案都位於個人帳戶常見問題解答的說明部分。
- KM 的轉義規則與 XML 的通用規則不同,這在 ChZ 的官方文件中有說明,請注意。這裡 所有規則均在第 4 頁。
- 別想用一個檔案就把150萬個程式碼都放進去。據目擊者稱,超過000萬個文件通常都能通過。
- XML 檔案可能會因「xml 驗證錯誤」錯誤而被拒絕,而五分鐘後,同一個檔案就可以被接受,不會有任何問題。
- 如果文件包含已經流通的代碼,那麼流通文件很可能不會被接受。
- 裝運和驗收單據目前僅作為臨時解決方案使用。未來計畫根據 PPR 860 廢除出貨和驗收單據,並改用 UPD。
- 60天神話。有一種觀點認為,未投入流通的代碼會在60天後「失效」。這是一個神話,來源不明。只有當您在60天內未從SUZ中取出代碼時,代碼才會「失效」。已取出的代碼的使用壽命不受限制。
結論
在開發我的免費 BarCodesFX 標記應用程式時,最初嘗試了與 SUZ API 的整合。當「誠實的標誌」意外地第二次更改 API 邏輯時,整合不得不被放棄。我希望未來 ChZ 能夠穩定開發和 API,因為對於非商業產品來說,每天重新檢查 API 是否有任何變化並及時改進對我來說成本非常高。
實施標記時,請仔細閱讀產品組 TG 的監管文件,正確列印 GS1-DataMatrix,並為 CHZ 誠實標記的任何不可預見的變化做好準備。
堡壘聯盟創建了一個資訊空間(, 透過電報、研討會、網路研討會),您可以找到有關所有行業標籤的有用和最新資訊。
來源: www.habr.com
