CRPT agrregation tool
This commit is contained in:
163
.gitignore
vendored
Normal file
163
.gitignore
vendored
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
data/
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
share/python-wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
*.py,cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
cover/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
*.pot
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
db.sqlite3-journal
|
||||||
|
|
||||||
|
# Flask stuff:
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
flask_session/
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
.pybuilder/
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# IPython
|
||||||
|
profile_default/
|
||||||
|
ipython_config.py
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
.python-version
|
||||||
|
|
||||||
|
# pipenv
|
||||||
|
Pipfile.lock
|
||||||
|
|
||||||
|
# poetry
|
||||||
|
poetry.lock
|
||||||
|
|
||||||
|
# pdm
|
||||||
|
.pdm.toml
|
||||||
|
.pdm-python
|
||||||
|
|
||||||
|
# PEP 582
|
||||||
|
__pypackages__/
|
||||||
|
|
||||||
|
# Celery stuff
|
||||||
|
celerybeat-schedule
|
||||||
|
celerybeat.pid
|
||||||
|
|
||||||
|
# SageMath parsed files
|
||||||
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
|
# Spyder project settings
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
|
||||||
|
# Rope project settings
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# mkdocs documentation
|
||||||
|
/site
|
||||||
|
|
||||||
|
# mypy
|
||||||
|
.mypy_cache/
|
||||||
|
.dmypy.json
|
||||||
|
dmypy.json
|
||||||
|
|
||||||
|
# Pyre type checker
|
||||||
|
.pyre/
|
||||||
|
|
||||||
|
# pytype static type analyzer
|
||||||
|
.pytype/
|
||||||
|
|
||||||
|
# Cython debug symbols
|
||||||
|
cython_debug/
|
||||||
|
|
||||||
|
# IDEs
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
*~
|
||||||
|
.project
|
||||||
|
.pydevproject
|
||||||
|
.settings/
|
||||||
|
|
||||||
|
# OS files
|
||||||
|
.DS_Store
|
||||||
|
.DS_Store?
|
||||||
|
._*
|
||||||
|
.Spotlight-V100
|
||||||
|
.Trashes
|
||||||
|
ehthumbs.db
|
||||||
|
Thumbs.db
|
||||||
|
Desktop.ini
|
||||||
|
|
||||||
|
# Project-specific
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
220
DistributeItems.bas
Normal file
220
DistributeItems.bas
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
Option Explicit
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD> item-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + pointer.
|
||||||
|
Sub DistributeItemsToSets_TextOutput_Fix()
|
||||||
|
Dim wsMap As Worksheet, wsItems As Worksheet, wsSets As Worksheet
|
||||||
|
Dim wsOut As Worksheet, wsErr As Worksheet
|
||||||
|
Dim lastRow As Long
|
||||||
|
Dim dictItems As Object ' ITEM_GTIN -> array of codes (Variant)
|
||||||
|
Dim dictPointers As Object ' ITEM_GTIN -> Long (next index to take, 1-based)
|
||||||
|
Dim dictSets As Object ' SET_GTIN -> Collection of set codes
|
||||||
|
Dim dictMap As Object ' SET_GTIN -> Collection of "ITEMGTIN|COUNT"
|
||||||
|
Dim r As Long
|
||||||
|
Dim key As Variant
|
||||||
|
|
||||||
|
Application.ScreenUpdating = False
|
||||||
|
Application.Calculation = xlCalculationManual
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
Set wsMap = ThisWorkbook.Worksheets("Map")
|
||||||
|
Set wsItems = ThisWorkbook.Worksheets("Items")
|
||||||
|
Set wsSets = ThisWorkbook.Worksheets("Sets")
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
On Error Resume Next
|
||||||
|
Application.DisplayAlerts = False
|
||||||
|
ThisWorkbook.Worksheets("Assignments").Delete
|
||||||
|
ThisWorkbook.Worksheets("Errors").Delete
|
||||||
|
Application.DisplayAlerts = True
|
||||||
|
On Error GoTo 0
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Set wsOut = ThisWorkbook.Worksheets.Add
|
||||||
|
wsOut.Name = "Assignments"
|
||||||
|
wsOut.Cells.NumberFormat = "@"
|
||||||
|
wsOut.Range("A1:D1").Value = Array("SET_GTIN", "SET_CODE", "ITEM_GTIN", "ITEM_CODE")
|
||||||
|
|
||||||
|
Set wsErr = ThisWorkbook.Worksheets.Add
|
||||||
|
wsErr.Name = "Errors"
|
||||||
|
wsErr.Cells.NumberFormat = "@"
|
||||||
|
wsErr.Range("A1:D1").Value = Array("ITEM_GTIN", "NEEDED", "AVAILABLE", "MISSING")
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Set dictItems = CreateObject("Scripting.Dictionary")
|
||||||
|
Set dictPointers = CreateObject("Scripting.Dictionary")
|
||||||
|
Set dictSets = CreateObject("Scripting.Dictionary")
|
||||||
|
Set dictMap = CreateObject("Scripting.Dictionary")
|
||||||
|
|
||||||
|
' ---------------- 1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Items -> dictItems (<28><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) ----------------
|
||||||
|
lastRow = wsItems.Cells(wsItems.Rows.Count, "A").End(xlUp).Row
|
||||||
|
Dim tempMap As Object
|
||||||
|
Set tempMap = CreateObject("Scripting.Dictionary") ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Collections
|
||||||
|
|
||||||
|
For r = 2 To lastRow
|
||||||
|
Dim itemCode As String, itemGTIN As String
|
||||||
|
itemCode = Trim(CStr(wsItems.Cells(r, 1).Text))
|
||||||
|
itemGTIN = Trim(CStr(wsItems.Cells(r, 2).Text))
|
||||||
|
If itemGTIN <> "" And itemCode <> "" Then
|
||||||
|
If Not tempMap.Exists(itemGTIN) Then
|
||||||
|
tempMap.Add itemGTIN, New Collection
|
||||||
|
End If
|
||||||
|
tempMap(itemGTIN).Add itemCode
|
||||||
|
End If
|
||||||
|
Next r
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Collection -> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pointers
|
||||||
|
Dim coll As Collection
|
||||||
|
For Each key In tempMap.Keys
|
||||||
|
Set coll = tempMap(key)
|
||||||
|
Dim arr() As Variant
|
||||||
|
ReDim arr(1 To coll.Count)
|
||||||
|
Dim ii As Long
|
||||||
|
For ii = 1 To coll.Count
|
||||||
|
arr(ii) = CStr(coll(ii))
|
||||||
|
Next ii
|
||||||
|
dictItems.Add CStr(key), arr
|
||||||
|
dictPointers.Add CStr(key), 1 ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (1-based)
|
||||||
|
Next key
|
||||||
|
Set tempMap = Nothing
|
||||||
|
|
||||||
|
' ---------------- 2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Sets -> dictSets ----------------
|
||||||
|
lastRow = wsSets.Cells(wsSets.Rows.Count, "A").End(xlUp).Row
|
||||||
|
For r = 2 To lastRow
|
||||||
|
Dim setCode As String, setGTIN As String
|
||||||
|
setCode = Trim(CStr(wsSets.Cells(r, 1).Text))
|
||||||
|
setGTIN = Trim(CStr(wsSets.Cells(r, 2).Text))
|
||||||
|
If setGTIN <> "" And setCode <> "" Then
|
||||||
|
If Not dictSets.Exists(setGTIN) Then
|
||||||
|
dictSets.Add setGTIN, New Collection
|
||||||
|
End If
|
||||||
|
dictSets(setGTIN).Add setCode
|
||||||
|
End If
|
||||||
|
Next r
|
||||||
|
|
||||||
|
' ---------------- 3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Map -> dictMap ----------------
|
||||||
|
lastRow = wsMap.Cells(wsMap.Rows.Count, "A").End(xlUp).Row
|
||||||
|
For r = 2 To lastRow
|
||||||
|
Dim mapSetGTIN As String, mapItemGTIN As String
|
||||||
|
Dim cntRaw As String, cnt As Long
|
||||||
|
mapSetGTIN = Trim(CStr(wsMap.Cells(r, 1).Text))
|
||||||
|
mapItemGTIN = Trim(CStr(wsMap.Cells(r, 4).Text))
|
||||||
|
cntRaw = Trim(CStr(wsMap.Cells(r, 5).Text))
|
||||||
|
cnt = ParseCountToLong(cntRaw) ' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3, 3.00, "3" <20> <20>.<2E>.
|
||||||
|
If cnt < 1 Then cnt = 1
|
||||||
|
If mapSetGTIN <> "" And mapItemGTIN <> "" Then
|
||||||
|
If Not dictMap.Exists(mapSetGTIN) Then
|
||||||
|
dictMap.Add mapSetGTIN, New Collection
|
||||||
|
End If
|
||||||
|
dictMap(mapSetGTIN).Add mapItemGTIN & "|" & CStr(cnt)
|
||||||
|
End If
|
||||||
|
Next r
|
||||||
|
|
||||||
|
' ---------------- 4) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> + pointers) ----------------
|
||||||
|
Dim outRow As Long: outRow = 2
|
||||||
|
Dim errRow As Long: errRow = 2
|
||||||
|
For Each key In dictSets.Keys
|
||||||
|
Dim curSetGTIN As String: curSetGTIN = CStr(key)
|
||||||
|
If Not dictMap.Exists(curSetGTIN) Then GoTo NextSetGTIN_Fix
|
||||||
|
|
||||||
|
Dim setCodesColl As Collection: Set setCodesColl = dictSets(curSetGTIN)
|
||||||
|
Dim mapColl As Collection: Set mapColl = dictMap(curSetGTIN)
|
||||||
|
|
||||||
|
Dim si As Long
|
||||||
|
For si = 1 To setCodesColl.Count
|
||||||
|
Dim curSetCode As String: curSetCode = CStr(setCodesColl(si))
|
||||||
|
|
||||||
|
Dim mi As Long
|
||||||
|
For mi = 1 To mapColl.Count
|
||||||
|
Dim parts As Variant
|
||||||
|
parts = Split(mapColl(mi), "|")
|
||||||
|
Dim neededItemGTIN As String: neededItemGTIN = CStr(parts(0))
|
||||||
|
Dim neededCnt As Long: neededCnt = CLng(parts(1))
|
||||||
|
|
||||||
|
Dim j As Long
|
||||||
|
For j = 1 To neededCnt
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD> neededItemGTIN
|
||||||
|
If dictItems.Exists(neededItemGTIN) Then
|
||||||
|
Dim arrCodes As Variant
|
||||||
|
arrCodes = dictItems(neededItemGTIN)
|
||||||
|
Dim ptr As Long
|
||||||
|
ptr = CLng(dictPointers(neededItemGTIN))
|
||||||
|
If ptr <= UBound(arrCodes) Then
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Dim takeCode As String
|
||||||
|
takeCode = CStr(arrCodes(ptr))
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
wsOut.Cells(outRow, 1).NumberFormat = "@"
|
||||||
|
wsOut.Cells(outRow, 2).NumberFormat = "@"
|
||||||
|
wsOut.Cells(outRow, 3).NumberFormat = "@"
|
||||||
|
wsOut.Cells(outRow, 4).NumberFormat = "@"
|
||||||
|
wsOut.Cells(outRow, 1).Value = CStr(curSetGTIN)
|
||||||
|
wsOut.Cells(outRow, 2).Value = CStr(curSetCode)
|
||||||
|
wsOut.Cells(outRow, 3).Value = CStr(neededItemGTIN)
|
||||||
|
wsOut.Cells(outRow, 4).Value = CStr(takeCode)
|
||||||
|
outRow = outRow + 1
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> pointer
|
||||||
|
dictPointers(neededItemGTIN) = CLng(ptr) + 1
|
||||||
|
Else
|
||||||
|
' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
LogError_Text wsErr, errRow, neededItemGTIN, 1, 0
|
||||||
|
errRow = errRow + 1
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
LogError_Text wsErr, errRow, neededItemGTIN, neededCnt, 0
|
||||||
|
errRow = errRow + 1
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next j
|
||||||
|
Next mi
|
||||||
|
Next si
|
||||||
|
NextSetGTIN_Fix:
|
||||||
|
Next key
|
||||||
|
|
||||||
|
Application.Calculation = xlCalculationAutomatic
|
||||||
|
Application.ScreenUpdating = True
|
||||||
|
|
||||||
|
MsgBox "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 'Assignments'. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 'Errors' (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>).", vbInformation
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' ---------------- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ----------------
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> count: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "3", "3.00", "3,00" <20> <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Long
|
||||||
|
Private Function ParseCountToLong(s As String) As Long
|
||||||
|
Dim t As String
|
||||||
|
t = Trim(s)
|
||||||
|
If t = "" Then
|
||||||
|
ParseCountToLong = 1
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
t = Replace(t, ",", ".")
|
||||||
|
Dim re As Object
|
||||||
|
Set re = CreateObject("VBScript.RegExp")
|
||||||
|
re.Pattern = "[^0-9.]"
|
||||||
|
re.Global = True
|
||||||
|
t = re.Replace(t, "")
|
||||||
|
If t = "" Then
|
||||||
|
ParseCountToLong = 1
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Dim posDot As Long
|
||||||
|
posDot = InStr(t, ".")
|
||||||
|
If posDot > 0 Then t = Left(t, posDot - 1)
|
||||||
|
If t = "" Then
|
||||||
|
ParseCountToLong = 1
|
||||||
|
Else
|
||||||
|
ParseCountToLong = CLng(Val(t))
|
||||||
|
If ParseCountToLong < 1 Then ParseCountToLong = 1
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Sub LogError_Text(ws As Worksheet, ByVal ByRefRow As Long, itemGTIN As String, needed As Long, available As Long)
|
||||||
|
ws.Cells.NumberFormat = "@"
|
||||||
|
ws.Cells(ByRefRow, 1).Value = CStr(itemGTIN)
|
||||||
|
ws.Cells(ByRefRow, 2).Value = CStr(needed)
|
||||||
|
ws.Cells(ByRefRow, 3).Value = CStr(available)
|
||||||
|
ws.Cells(ByRefRow, 4).Value = CStr(needed - available)
|
||||||
|
End Sub
|
||||||
155
ENHANCED_FEATURES.md
Normal file
155
ENHANCED_FEATURES.md
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
# Enhanced XML Generator Features
|
||||||
|
|
||||||
|
This document summarizes the new features added to the XML Generator CLI tool.
|
||||||
|
|
||||||
|
## 🎯 **New Features Summary**
|
||||||
|
|
||||||
|
### 1. **Set Composition Validation**
|
||||||
|
- **Purpose**: Validates that each SET CIS contains the correct GTINs in the right quantities
|
||||||
|
- **Usage**: `--set-dict path/to/set_dict.csv`
|
||||||
|
- **Validation Rules**: Based on `set_dict.csv` with expected GTIN compositions
|
||||||
|
- **Status Types**: ✅ OK, ⚠️ WARNING, ❌ ERROR
|
||||||
|
|
||||||
|
### 2. **Custom Document Parameters**
|
||||||
|
- **Document ID**: `--document-id "YOUR_ID"` (auto-generated if not provided)
|
||||||
|
- **Document Number**: `--document-number "YOUR_NUMBER"`
|
||||||
|
- **Operation Time**: `--operation-time "2024-01-15T10:30:00+03:00"` (auto-generated if not provided)
|
||||||
|
|
||||||
|
### 3. **Validation-Only Mode**
|
||||||
|
- **Purpose**: Validate data integrity without generating XML
|
||||||
|
- **Usage**: `--validate-only`
|
||||||
|
- **Benefits**: Quick data quality checks before processing
|
||||||
|
|
||||||
|
### 4. **Enhanced Error Reporting**
|
||||||
|
- **Comprehensive validation messages**
|
||||||
|
- **Color-coded output (✅ ⚠️ ❌)**
|
||||||
|
- **Detailed error descriptions**
|
||||||
|
- **Prevents XML generation when errors exist**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 **Technical Implementation**
|
||||||
|
|
||||||
|
### **Validation Logic**
|
||||||
|
1. **Load dictionary rules** from `set_dict.csv`
|
||||||
|
2. **Parse distributed data** from main CSV with GTIN columns
|
||||||
|
3. **Compare compositions** between actual and expected
|
||||||
|
4. **Report discrepancies** with detailed messages
|
||||||
|
|
||||||
|
### **GTIN Matching**
|
||||||
|
- Uses `SET GTIN` and `GTIN` columns from CSV files
|
||||||
|
- No need to extract GTINs from CIS codes
|
||||||
|
- Direct column-to-column matching for accuracy
|
||||||
|
|
||||||
|
### **Template Parameter Replacement**
|
||||||
|
- Regex-based substitution in XML templates
|
||||||
|
- Supports `document_id`, `document_number`, `operation_date_time`
|
||||||
|
- Automatic UUID generation for document IDs
|
||||||
|
- ISO datetime format for operation times
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 **Usage Examples**
|
||||||
|
|
||||||
|
### **Basic Validation**
|
||||||
|
```bash
|
||||||
|
python xml_generator.py --validate-only --set-dict set_dict.csv set_distributed.csv sets_creation.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Full Generation with Validation**
|
||||||
|
```bash
|
||||||
|
python xml_generator.py --set-dict set_dict.csv --document-id "DOC_123" --document-number "NUM_456" --operation-time "2024-01-15T10:30:00+03:00" set_distributed.csv sets_creation.xml -o output.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Dry Run with Validation**
|
||||||
|
```bash
|
||||||
|
python xml_generator.py --dry-run --set-dict set_dict.csv set_distributed.csv sets_creation.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 **File Format Requirements**
|
||||||
|
|
||||||
|
### **set_distributed.csv**
|
||||||
|
```csv
|
||||||
|
Код;SET CIS;SET GTIN;GTIN
|
||||||
|
CIS_CODE_1;SET_CIS_1;SET_GTIN_1;GTIN_1
|
||||||
|
CIS_CODE_2;SET_CIS_1;SET_GTIN_1;GTIN_2
|
||||||
|
```
|
||||||
|
|
||||||
|
### **set_dict.csv**
|
||||||
|
```csv
|
||||||
|
GTIN SET;GTIN ITEM;COUNT;SET NAME
|
||||||
|
SET_GTIN_1;GTIN_1;1.00;Product Set A
|
||||||
|
SET_GTIN_1;GTIN_2;1.00;Product Set A
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 **Benefits**
|
||||||
|
|
||||||
|
1. **Data Quality Assurance**: Prevents invalid XML generation
|
||||||
|
2. **Automated Parameter Management**: No manual template editing needed
|
||||||
|
3. **Comprehensive Validation**: Catches composition errors early
|
||||||
|
4. **Flexible Operation**: Validation-only mode for quick checks
|
||||||
|
5. **User-Friendly Output**: Clear error messages and color coding
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 **Test Results**
|
||||||
|
|
||||||
|
Using the provided test data:
|
||||||
|
- **120 SET CIS codes** processed
|
||||||
|
- **22 set rules** loaded from dictionary
|
||||||
|
- **100% validation success** (120 OK, 0 warnings, 0 errors)
|
||||||
|
- **Perfect composition matching** between distributed and dictionary data
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 **Command Reference**
|
||||||
|
|
||||||
|
| Option | Description | Example |
|
||||||
|
|--------|-------------|---------|
|
||||||
|
| `--set-dict` | Path to set dictionary CSV | `--set-dict set_dict.csv` |
|
||||||
|
| `--document-id` | Custom document ID | `--document-id "DOC_123"` |
|
||||||
|
| `--document-number` | Custom document number | `--document-number "NUM_456"` |
|
||||||
|
| `--operation-time` | Custom operation time | `--operation-time "2024-01-15T10:30:00+03:00"` |
|
||||||
|
| `--validate-only` | Only validate, don't generate XML | `--validate-only` |
|
||||||
|
| `--dry-run` | Show validation and processing preview | `--dry-run` |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔍 **Validation Examples**
|
||||||
|
|
||||||
|
### **Successful Validation**
|
||||||
|
```
|
||||||
|
✅ OK: 0104639970975627215!rYq<zP+sPBY - Composition is valid
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Missing Items Error**
|
||||||
|
```
|
||||||
|
❌ ERROR: SET_CIS_X - Missing GTIN 04639970975245 (expected 1)
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Wrong Count Error**
|
||||||
|
```
|
||||||
|
❌ ERROR: SET_CIS_Y - Wrong count for GTIN 04639970975306: got 2, expected 1
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Extra Items Warning**
|
||||||
|
```
|
||||||
|
⚠️ WARNING: SET_CIS_Z - Unexpected GTIN 04639970975999 (count: 1)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎉 **Summary**
|
||||||
|
|
||||||
|
The enhanced XML Generator now provides:
|
||||||
|
- **Industrial-grade validation** for set composition
|
||||||
|
- **Flexible parameter management** for document attributes
|
||||||
|
- **Comprehensive error reporting** with actionable messages
|
||||||
|
- **Multiple operation modes** for different use cases
|
||||||
|
- **Seamless integration** with existing workflows
|
||||||
|
|
||||||
|
Perfect for production environments requiring data integrity and automated XML generation! 🚀
|
||||||
219
Module1.bas
Normal file
219
Module1.bas
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
Attribute VB_Name = "Module1"
|
||||||
|
Option Explicit
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Sub DistributeItemsToSets()
|
||||||
|
Dim wsMap As Worksheet, wsItems As Worksheet, wsSets As Worksheet
|
||||||
|
Dim wsOut As Worksheet, wsErr As Worksheet
|
||||||
|
Dim lastRow As Long
|
||||||
|
Dim dictItems As Object ' ITEM_GTIN -> Collection of item codes available
|
||||||
|
Dim dictSets As Object ' SET_GTIN -> Collection of set codes available
|
||||||
|
Dim dictMap As Object ' SET_GTIN -> Collection of (ITEM_GTIN, COUNT) pairs
|
||||||
|
Dim r As Long, i As Long
|
||||||
|
Dim key As Variant
|
||||||
|
|
||||||
|
Application.ScreenUpdating = False
|
||||||
|
Application.Calculation = xlCalculationManual
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
Set wsMap = ThisWorkbook.Worksheets("Map")
|
||||||
|
Set wsItems = ThisWorkbook.Worksheets("Units")
|
||||||
|
Set wsSets = ThisWorkbook.Worksheets("Sets")
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
On Error Resume Next
|
||||||
|
Application.DisplayAlerts = False
|
||||||
|
ThisWorkbook.Worksheets("Assignments").Delete
|
||||||
|
ThisWorkbook.Worksheets("Errors").Delete
|
||||||
|
Application.DisplayAlerts = True
|
||||||
|
On Error GoTo 0
|
||||||
|
|
||||||
|
Set wsOut = ThisWorkbook.Worksheets.Add
|
||||||
|
wsOut.Name = "Assignments"
|
||||||
|
wsOut.Cells.NumberFormat = "@"
|
||||||
|
wsOut.Range("A1:D1").Value = Array("SET_GTIN", "SET_CODE", "ITEM_GTIN", "ITEM_CODE")
|
||||||
|
|
||||||
|
Set wsErr = ThisWorkbook.Worksheets.Add
|
||||||
|
wsErr.Name = "Errors"
|
||||||
|
wsErr.Cells.NumberFormat = "@"
|
||||||
|
wsErr.Range("A1:D1").Value = Array("ITEM_GTIN", "NEEDED", "AVAILABLE", "MISSING")
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Set dictItems = CreateObject("Scripting.Dictionary")
|
||||||
|
Set dictSets = CreateObject("Scripting.Dictionary")
|
||||||
|
Set dictMap = CreateObject("Scripting.Dictionary")
|
||||||
|
|
||||||
|
' ---- 1) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Items -> dictItems
|
||||||
|
lastRow = wsItems.Cells(wsItems.Rows.Count, "A").End(xlUp).Row
|
||||||
|
For r = 2 To lastRow
|
||||||
|
Dim itemCode As String, itemGTIN As String
|
||||||
|
itemCode = Trim(CStr(wsItems.Cells(r, 1).Text))
|
||||||
|
itemGTIN = Trim(CStr(wsItems.Cells(r, 2).Text))
|
||||||
|
If itemGTIN <> "" And itemCode <> "" Then
|
||||||
|
If Not dictItems.Exists(itemGTIN) Then
|
||||||
|
dictItems.Add itemGTIN, New Collection
|
||||||
|
End If
|
||||||
|
dictItems(itemGTIN).Add itemCode
|
||||||
|
End If
|
||||||
|
Next r
|
||||||
|
|
||||||
|
' ---- 2) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Sets -> dictSets
|
||||||
|
lastRow = wsSets.Cells(wsSets.Rows.Count, "A").End(xlUp).Row
|
||||||
|
For r = 2 To lastRow
|
||||||
|
Dim setCode As String, setGTIN As String
|
||||||
|
setCode = Trim(CStr(wsSets.Cells(r, 1).Text))
|
||||||
|
setGTIN = Trim(CStr(wsSets.Cells(r, 2).Text))
|
||||||
|
If setGTIN <> "" And setCode <> "" Then
|
||||||
|
If Not dictSets.Exists(setGTIN) Then
|
||||||
|
dictSets.Add setGTIN, New Collection
|
||||||
|
End If
|
||||||
|
dictSets(setGTIN).Add setCode
|
||||||
|
End If
|
||||||
|
Next r
|
||||||
|
|
||||||
|
' ---- 3) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Map -> dictMap
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: A - set gtin, D - ITEM GTIN, E - COUNT (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
lastRow = wsMap.Cells(wsMap.Rows.Count, "A").End(xlUp).Row
|
||||||
|
For r = 2 To lastRow
|
||||||
|
Dim mapSetGTIN As String, mapItemGTIN As String
|
||||||
|
Dim cnt As Long
|
||||||
|
mapSetGTIN = Trim(CStr(wsMap.Cells(r, 1).Text))
|
||||||
|
mapItemGTIN = Trim(CStr(wsMap.Cells(r, 4).Text))
|
||||||
|
cnt = 1
|
||||||
|
If IsNumeric(wsMap.Cells(r, 5).Value) Then cnt = CLng(wsMap.Cells(r, 5).Value)
|
||||||
|
If mapSetGTIN <> "" And mapItemGTIN <> "" Then
|
||||||
|
If Not dictMap.Exists(mapSetGTIN) Then
|
||||||
|
dictMap.Add mapSetGTIN, New Collection
|
||||||
|
End If
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "ITEMGTIN|COUNT"
|
||||||
|
dictMap(mapSetGTIN).Add mapItemGTIN & "|" & CStr(cnt)
|
||||||
|
End If
|
||||||
|
Next r
|
||||||
|
|
||||||
|
' ---- 4) <20><><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> item-<2D><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Dim doShuffle As Boolean
|
||||||
|
doShuffle = False ' <-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> True <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
If doShuffle Then
|
||||||
|
For Each key In dictItems.Keys
|
||||||
|
dictItems(key) = ShuffleCollection(dictItems(key))
|
||||||
|
Next key
|
||||||
|
End If
|
||||||
|
|
||||||
|
' ---- 5) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SET_GTIN, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SET_CODE - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> items <20><> dictMap
|
||||||
|
Dim outRow As Long: outRow = 2
|
||||||
|
Dim errRow As Long: errRow = 2
|
||||||
|
For Each key In dictSets.Keys
|
||||||
|
Dim curSetGTIN As String: curSetGTIN = key
|
||||||
|
If Not dictMap.Exists(curSetGTIN) Then
|
||||||
|
' <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> set gtin <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Map <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
GoTo NextSetGTIN
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim setCodesColl As Collection: Set setCodesColl = dictSets(curSetGTIN)
|
||||||
|
Dim mapColl As Collection: Set mapColl = dictMap(curSetGTIN)
|
||||||
|
|
||||||
|
Dim si As Long
|
||||||
|
For si = 1 To setCodesColl.Count
|
||||||
|
Dim curSetCode As String: curSetCode = setCodesColl(si)
|
||||||
|
|
||||||
|
' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> itemGTIN,COUNT <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Dim mi As Long
|
||||||
|
For mi = 1 To mapColl.Count
|
||||||
|
Dim parts As Variant
|
||||||
|
parts = Split(mapColl(mi), "|")
|
||||||
|
Dim neededItemGTIN As String: neededItemGTIN = parts(0)
|
||||||
|
Dim neededCnt As Long: neededCnt = CLng(parts(1))
|
||||||
|
|
||||||
|
Dim j As Long
|
||||||
|
For j = 1 To neededCnt
|
||||||
|
If dictItems.Exists(neededItemGTIN) Then
|
||||||
|
Dim col As Collection: Set col = dictItems(neededItemGTIN)
|
||||||
|
If col.Count > 0 Then
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Dim takeCode As String
|
||||||
|
takeCode = CStr(col(1))
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
wsOut.Cells(outRow, 1).Value = CStr(curSetGTIN)
|
||||||
|
wsOut.Cells(outRow, 2).Value = CStr(curSetCode)
|
||||||
|
wsOut.Cells(outRow, 3).Value = CStr(neededItemGTIN)
|
||||||
|
wsOut.Cells(outRow, 4).Value = CStr(takeCode)
|
||||||
|
outRow = outRow + 1
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||||
|
RemoveAtCollection col, 1
|
||||||
|
Else
|
||||||
|
' <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1)
|
||||||
|
LogError wsErr, errRow, neededItemGTIN, 1, 0
|
||||||
|
errRow = errRow + 1
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ITEM GTIN
|
||||||
|
LogError wsErr, errRow, neededItemGTIN, neededCnt, 0
|
||||||
|
errRow = errRow + 1
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next j
|
||||||
|
Next mi
|
||||||
|
Next si
|
||||||
|
NextSetGTIN:
|
||||||
|
Next key
|
||||||
|
|
||||||
|
' ---- 6) <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
' (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
Application.Calculation = xlCalculationAutomatic
|
||||||
|
Application.ScreenUpdating = True
|
||||||
|
|
||||||
|
MsgBox "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 'Assignments'. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD> 'Errors' (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>).", vbInformation
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Collection
|
||||||
|
Sub RemoveAtCollection(ByRef coll As Collection, ByVal idx As Long)
|
||||||
|
Dim i As Long
|
||||||
|
Dim tmp As Collection
|
||||||
|
Set tmp = New Collection
|
||||||
|
For i = 1 To coll.Count
|
||||||
|
If i <> idx Then tmp.Add coll(i)
|
||||||
|
Next i
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
Do While coll.Count > 0
|
||||||
|
coll.Remove 1
|
||||||
|
Loop
|
||||||
|
For i = 1 To tmp.Count
|
||||||
|
coll.Add tmp(i)
|
||||||
|
Next i
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
|
Sub LogError(ws As Worksheet, ByVal ByRefRow As Long, itemGTIN As String, needed As Long, available As Long)
|
||||||
|
ws.Cells.NumberFormat = "@"
|
||||||
|
ws.Cells(ByRefRow, 1).Value = CStr(itemGTIN)
|
||||||
|
ws.Cells(ByRefRow, 2).Value = CStr(needed)
|
||||||
|
ws.Cells(ByRefRow, 3).Value = CStr(available)
|
||||||
|
ws.Cells(ByRefRow, 4).Value = CStr(needed - available)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Collection -> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> Collection
|
||||||
|
Function ShuffleCollection(collIn As Collection) As Collection
|
||||||
|
Dim arr() As Variant
|
||||||
|
Dim n As Long, i As Long
|
||||||
|
n = collIn.Count
|
||||||
|
ReDim arr(1 To n)
|
||||||
|
For i = 1 To n
|
||||||
|
arr(i) = collIn(i)
|
||||||
|
Next i
|
||||||
|
Dim rndIndex As Long, tmp As Variant
|
||||||
|
Randomize
|
||||||
|
For i = n To 2 Step -1
|
||||||
|
rndIndex = Int(Rnd() * i) + 1
|
||||||
|
tmp = arr(i)
|
||||||
|
arr(i) = arr(rndIndex)
|
||||||
|
arr(rndIndex) = tmp
|
||||||
|
Next i
|
||||||
|
Dim outColl As Collection
|
||||||
|
Set outColl = New Collection
|
||||||
|
For i = 1 To n
|
||||||
|
outColl.Add arr(i)
|
||||||
|
Next i
|
||||||
|
Set ShuffleCollection = outColl
|
||||||
|
End Function
|
||||||
|
|
||||||
135
README.md
Normal file
135
README.md
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
# XML Generator CLI Tool
|
||||||
|
|
||||||
|
This Python CLI tool processes semicolon-separated CSV files to generate XML files with `<pack_content>` sections.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Reads semicolon-separated CSV files (Excel format)
|
||||||
|
- Handles BOM (Byte Order Mark) characters automatically
|
||||||
|
- Groups individual CIS codes by SET CIS values
|
||||||
|
- Generates XML using a template file
|
||||||
|
- Supports column name override for CIS codes
|
||||||
|
- Provides dry-run mode for testing
|
||||||
|
- Proper XML escaping for special characters
|
||||||
|
- **NEW:** Set composition validation using dictionary rules
|
||||||
|
- **NEW:** Auto-generation of document ID and operation time
|
||||||
|
- **NEW:** Custom document parameters (ID, number, operation time)
|
||||||
|
- **NEW:** Validation-only mode for checking data integrity
|
||||||
|
- **NEW:** Comprehensive error and warning reporting
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Basic Usage
|
||||||
|
```bash
|
||||||
|
python xml_generator.py input.csv template.xml -o output.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Options
|
||||||
|
|
||||||
|
- `--output/-o FILE`: Output XML file path (prints to stdout if not specified)
|
||||||
|
- `--cis-column/-c TEXT`: Column name for CIS codes (default: "Код")
|
||||||
|
- `--encoding/-e TEXT`: CSV file encoding (default: utf-8)
|
||||||
|
- `--dry-run`: Show what would be processed without generating output
|
||||||
|
- `--set-dict FILE`: Path to set dictionary CSV file for validation
|
||||||
|
- `--document-id TEXT`: Document ID to use in XML (auto-generated if not provided)
|
||||||
|
- `--document-number TEXT`: Document number to use in XML
|
||||||
|
- `--operation-time TEXT`: Operation time in ISO format (auto-generated if not provided)
|
||||||
|
- `--validate-only`: Only validate composition without generating XML
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
1. **Basic XML generation**:
|
||||||
|
```bash
|
||||||
|
python xml_generator.py set_distributed.csv sets_creation.xml -o output.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **With validation and custom parameters**:
|
||||||
|
```bash
|
||||||
|
python xml_generator.py --set-dict set_dict.csv --document-id "DOC_123" --document-number "NUM_456" --operation-time "2024-01-15T10:30:00+03:00" set_distributed.csv sets_creation.xml -o output.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Validation only (no XML generation)**:
|
||||||
|
```bash
|
||||||
|
python xml_generator.py --validate-only --set-dict set_dict.csv set_distributed.csv sets_creation.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **Dry run with validation**:
|
||||||
|
```bash
|
||||||
|
python xml_generator.py --dry-run --set-dict set_dict.csv set_distributed.csv sets_creation.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **Override CIS column**:
|
||||||
|
```bash
|
||||||
|
python xml_generator.py --cis-column "MyColumn" input.csv template.xml -o output.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
6. **Auto-generated parameters**:
|
||||||
|
```bash
|
||||||
|
python xml_generator.py --document-number "MY_DOC_001" set_distributed.csv sets_creation.xml -o output.xml
|
||||||
|
# Document ID and operation time will be auto-generated
|
||||||
|
```
|
||||||
|
|
||||||
|
## CSV File Format
|
||||||
|
|
||||||
|
### Distributed CSV File (set_distributed.csv)
|
||||||
|
The main CSV file should be semicolon-separated with columns:
|
||||||
|
- `SET CIS`: Pack codes that become `<pack_code>` elements
|
||||||
|
- `Код` (or specified column): Individual CIS codes that become `<cis>` elements
|
||||||
|
- `SET GTIN`: SET GTIN codes for validation (optional)
|
||||||
|
- `GTIN`: Individual GTIN codes for validation (optional)
|
||||||
|
|
||||||
|
### Set Dictionary CSV File (set_dict.csv)
|
||||||
|
For validation, provide a semicolon-separated dictionary file with:
|
||||||
|
- `GTIN SET`: SET GTIN codes (matches `SET GTIN` in distributed file)
|
||||||
|
- `GTIN ITEM`: Individual GTIN codes (matches `GTIN` in distributed file)
|
||||||
|
- `COUNT`: Expected count of each GTIN in the set
|
||||||
|
- `SET NAME`: Descriptive name of the set (optional)
|
||||||
|
|
||||||
|
## Validation Features
|
||||||
|
|
||||||
|
When using `--set-dict`, the tool validates that each SET CIS contains the correct composition:
|
||||||
|
|
||||||
|
- **Missing GTINs**: Checks if required GTIN items are missing from sets
|
||||||
|
- **Wrong counts**: Verifies that GTIN item counts match expectations
|
||||||
|
- **Extra GTINs**: Identifies unexpected GTIN items in sets
|
||||||
|
- **Validation modes**:
|
||||||
|
- `--validate-only`: Only validate without generating XML
|
||||||
|
- `--dry-run`: Show validation results and processing preview
|
||||||
|
- Normal mode: Validate and generate XML (errors prevent generation)
|
||||||
|
|
||||||
|
### Validation Output
|
||||||
|
- ✅ **OK**: Set composition is valid
|
||||||
|
- ⚠️ **WARNING**: Set has unexpected items but required items are present
|
||||||
|
- ❌ **ERROR**: Set is missing required items or has wrong counts
|
||||||
|
|
||||||
|
## XML Template
|
||||||
|
|
||||||
|
The tool uses an XML template file and replaces existing `<pack_content>` sections with generated data. The generated sections are inserted before the `</Document>` tag.
|
||||||
|
|
||||||
|
### Template Parameters
|
||||||
|
The tool can automatically replace these parameters in your template:
|
||||||
|
- `document_id="..."` - Replaced with `--document-id` value
|
||||||
|
- `document_number="..."` - Replaced with `--document-number` value
|
||||||
|
- `operation_date_time="..."` - Replaced with `--operation-time` value
|
||||||
|
|
||||||
|
## Example Output
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215!rYq<zP+sPBY]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215!lv).%ApB'P>]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215"ZqzWoJbOFB4]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215%fTQ*tVRESUU]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Python 3.6+
|
||||||
|
- click>=8.0.0
|
||||||
196
REFACTORING_SUMMARY.md
Normal file
196
REFACTORING_SUMMARY.md
Normal file
@@ -0,0 +1,196 @@
|
|||||||
|
# Code Refactoring Summary
|
||||||
|
|
||||||
|
## 🎯 **Problem Statement**
|
||||||
|
The original `xml_generator.py` was a monolithic, hardcoded implementation with:
|
||||||
|
- One massive `generate_xml()` function doing everything
|
||||||
|
- No separation of concerns
|
||||||
|
- Hardcoded logic throughout
|
||||||
|
- Difficult to test and maintain
|
||||||
|
- Poor code organization
|
||||||
|
|
||||||
|
## 🔧 **Refactoring Approach**
|
||||||
|
|
||||||
|
### **1. Separation of Concerns**
|
||||||
|
Split the monolithic function into focused, single-responsibility classes:
|
||||||
|
|
||||||
|
- **`CSVReader`**: Handles all CSV file operations
|
||||||
|
- **`SetDictionary`**: Manages set dictionary loading and rules
|
||||||
|
- **`PackValidator`**: Handles validation logic
|
||||||
|
- **`XMLGenerator`**: Manages XML generation and template processing
|
||||||
|
- **`ParameterGenerator`**: Handles parameter generation and validation
|
||||||
|
- **`ValidationReporter`**: Manages validation result reporting
|
||||||
|
- **`DryRunReporter`**: Handles dry-run output formatting
|
||||||
|
- **`XMLGeneratorApp`**: Main application orchestrator
|
||||||
|
|
||||||
|
### **2. Improved Code Organization**
|
||||||
|
|
||||||
|
#### **Before (Monolithic)**
|
||||||
|
```python
|
||||||
|
def generate_xml(csv_file, template_file, output, cis_column, encoding, dry_run, set_dict, document_id, document_number, operation_time, validate_only):
|
||||||
|
# 120+ lines of mixed logic
|
||||||
|
# Parameter generation
|
||||||
|
# CSV reading
|
||||||
|
# Validation
|
||||||
|
# XML generation
|
||||||
|
# Output handling
|
||||||
|
# All in one function!
|
||||||
|
```
|
||||||
|
|
||||||
|
#### **After (Modular)**
|
||||||
|
```python
|
||||||
|
class XMLGeneratorApp:
|
||||||
|
def load_data(self)
|
||||||
|
def load_validation_rules(self)
|
||||||
|
def validate_data(self)
|
||||||
|
def generate_parameters(self)
|
||||||
|
def process_dry_run(self)
|
||||||
|
def generate_xml_output(self)
|
||||||
|
def save_or_print_output(self)
|
||||||
|
|
||||||
|
def generate_xml():
|
||||||
|
# Clean, focused orchestration
|
||||||
|
# Each concern handled by appropriate class
|
||||||
|
```
|
||||||
|
|
||||||
|
### **3. Enhanced Maintainability**
|
||||||
|
|
||||||
|
#### **Type Hints**
|
||||||
|
- Added comprehensive type hints throughout
|
||||||
|
- Improved IDE support and code clarity
|
||||||
|
- Better error detection
|
||||||
|
|
||||||
|
#### **Method Decomposition**
|
||||||
|
- Broke large functions into smaller, focused methods
|
||||||
|
- Each method has a single responsibility
|
||||||
|
- Easier to test and debug
|
||||||
|
|
||||||
|
#### **Error Handling**
|
||||||
|
- Centralized error handling patterns
|
||||||
|
- Consistent error reporting
|
||||||
|
- Better user feedback
|
||||||
|
|
||||||
|
### **4. Backward Compatibility**
|
||||||
|
Maintained all original functionality through:
|
||||||
|
- Legacy function wrappers
|
||||||
|
- Identical CLI interface
|
||||||
|
- Same output format
|
||||||
|
- All existing features preserved
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Legacy functions for backward compatibility
|
||||||
|
def read_csv_file(file_path: str, cis_column: str = "Код") -> Dict[str, List[str]]:
|
||||||
|
return CSVReader.read_csv_simple(file_path, cis_column)
|
||||||
|
|
||||||
|
def load_set_dict(dict_file_path: str) -> Dict[str, List[Dict[str, Any]]]:
|
||||||
|
return SetDictionary(dict_file_path).get_rules()
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📊 **Benefits Achieved**
|
||||||
|
|
||||||
|
### **1. Code Quality**
|
||||||
|
- **Reduced complexity**: Single function of 120+ lines → Multiple focused classes
|
||||||
|
- **Improved readability**: Clear separation of concerns
|
||||||
|
- **Better testability**: Each class can be tested independently
|
||||||
|
- **Enhanced maintainability**: Changes isolated to specific components
|
||||||
|
|
||||||
|
### **2. Extensibility**
|
||||||
|
- **Easy to add new features**: New validation rules, output formats, etc.
|
||||||
|
- **Pluggable architecture**: Components can be swapped/extended
|
||||||
|
- **Clear extension points**: Well-defined interfaces
|
||||||
|
|
||||||
|
### **3. Reliability**
|
||||||
|
- **Type safety**: Comprehensive type hints
|
||||||
|
- **Error isolation**: Failures contained within specific components
|
||||||
|
- **Consistent behavior**: Standardized patterns throughout
|
||||||
|
|
||||||
|
### **4. Developer Experience**
|
||||||
|
- **IDE support**: Better autocomplete and error detection
|
||||||
|
- **Code navigation**: Easy to find and understand specific functionality
|
||||||
|
- **Debugging**: Clear stack traces and isolated components
|
||||||
|
|
||||||
|
## 🚀 **Class Responsibilities**
|
||||||
|
|
||||||
|
### **`CSVReader`**
|
||||||
|
- CSV file parsing
|
||||||
|
- BOM handling
|
||||||
|
- Column cleaning
|
||||||
|
- Data structure conversion
|
||||||
|
|
||||||
|
### **`SetDictionary`**
|
||||||
|
- Dictionary file loading
|
||||||
|
- Rule validation
|
||||||
|
- Rule management
|
||||||
|
|
||||||
|
### **`PackValidator`**
|
||||||
|
- Composition validation
|
||||||
|
- Error/warning detection
|
||||||
|
- Result compilation
|
||||||
|
|
||||||
|
### **`XMLGenerator`**
|
||||||
|
- XML content generation
|
||||||
|
- Template processing
|
||||||
|
- Parameter substitution
|
||||||
|
- CDATA escaping
|
||||||
|
|
||||||
|
### **`ParameterGenerator`**
|
||||||
|
- UUID generation
|
||||||
|
- Timestamp generation
|
||||||
|
- Parameter validation
|
||||||
|
|
||||||
|
### **`ValidationReporter`**
|
||||||
|
- Validation summary
|
||||||
|
- Detailed result reporting
|
||||||
|
- Color-coded output
|
||||||
|
|
||||||
|
### **`DryRunReporter`**
|
||||||
|
- Data preview
|
||||||
|
- Parameter display
|
||||||
|
- Dry-run formatting
|
||||||
|
|
||||||
|
### **`XMLGeneratorApp`**
|
||||||
|
- Component orchestration
|
||||||
|
- Workflow management
|
||||||
|
- Configuration handling
|
||||||
|
|
||||||
|
## 🎯 **Testing Results**
|
||||||
|
|
||||||
|
✅ **All functionality preserved**
|
||||||
|
- Help command works correctly
|
||||||
|
- Validation-only mode functions
|
||||||
|
- Dry-run mode displays all information
|
||||||
|
- XML generation produces identical output
|
||||||
|
- All CLI options work as expected
|
||||||
|
|
||||||
|
✅ **Performance maintained**
|
||||||
|
- Same execution speed
|
||||||
|
- Identical memory usage
|
||||||
|
- No regression in processing time
|
||||||
|
|
||||||
|
✅ **Output consistency**
|
||||||
|
- Generated XML matches original exactly
|
||||||
|
- Validation results identical
|
||||||
|
- Error messages unchanged
|
||||||
|
|
||||||
|
## 📝 **Migration Guide**
|
||||||
|
|
||||||
|
### **For Users**
|
||||||
|
- **No changes required**: All CLI commands work exactly as before
|
||||||
|
- **Same functionality**: All features preserved
|
||||||
|
- **Identical output**: Generated XML is the same
|
||||||
|
|
||||||
|
### **For Developers**
|
||||||
|
- **New class structure**: Use appropriate classes for specific functionality
|
||||||
|
- **Legacy functions**: Available for backward compatibility
|
||||||
|
- **Extension points**: Clear interfaces for new features
|
||||||
|
|
||||||
|
## 🎉 **Conclusion**
|
||||||
|
|
||||||
|
The refactoring successfully transformed a monolithic, hardcoded implementation into a modular, maintainable, and extensible architecture while preserving 100% of the original functionality. The code is now:
|
||||||
|
|
||||||
|
- **More readable** and understandable
|
||||||
|
- **Easier to test** and debug
|
||||||
|
- **Simpler to extend** with new features
|
||||||
|
- **Better organized** with clear separation of concerns
|
||||||
|
- **More reliable** with proper error handling
|
||||||
|
|
||||||
|
Perfect foundation for future enhancements and maintenance! 🚀
|
||||||
1562163
True_API_GIS_MT-v533.0-17.07.2025-at-11-24-03.pdf
Normal file
1562163
True_API_GIS_MT-v533.0-17.07.2025-at-11-24-03.pdf
Normal file
File diff suppressed because one or more lines are too long
190
XML_TEMPLATE_GUIDE.md
Normal file
190
XML_TEMPLATE_GUIDE.md
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
# XML Template Usage Guide
|
||||||
|
|
||||||
|
## 🎯 **How Templates Work**
|
||||||
|
|
||||||
|
The XML template system preserves your document structure while replacing `<pack_content>` sections with data from your CSV file.
|
||||||
|
|
||||||
|
### **Processing Logic**
|
||||||
|
|
||||||
|
1. **PRESERVED**: All XML content except `<pack_content>` sections
|
||||||
|
2. **REMOVED**: All existing `<pack_content>` sections (if any)
|
||||||
|
3. **INSERTED**: New `<pack_content>` sections from CSV data before `</Document>`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 **Template Examples**
|
||||||
|
|
||||||
|
### **1. Minimal Template (No Existing Pack Content)**
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<unit_pack document_id="EXAMPLE_ID" VerForm="1.0">
|
||||||
|
<Document operation_date_time="2024-01-01T00:00:00+00:00" document_number="EXAMPLE_DOC">
|
||||||
|
<organisation>
|
||||||
|
<id_info>
|
||||||
|
<LP_info org_name="YOUR_COMPANY" LP_TIN="1234567890" RRC="123456789" />
|
||||||
|
</id_info>
|
||||||
|
<Address>
|
||||||
|
<location_address country_code="643" text_address="Your Address" />
|
||||||
|
</Address>
|
||||||
|
<contacts phone_number="123456789" email="your@email.com" />
|
||||||
|
</organisation>
|
||||||
|
|
||||||
|
<!-- CSV data will be inserted here automatically -->
|
||||||
|
|
||||||
|
</Document>
|
||||||
|
</unit_pack>
|
||||||
|
```
|
||||||
|
|
||||||
|
**Result**: CSV data gets inserted before `</Document>` tag.
|
||||||
|
|
||||||
|
### **2. Template with Existing Pack Content**
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<unit_pack document_id="EXAMPLE_WITH_EXISTING" VerForm="1.0">
|
||||||
|
<Document operation_date_time="2024-01-01T00:00:00+00:00" document_number="EXAMPLE_DOC">
|
||||||
|
<organisation>
|
||||||
|
<id_info>
|
||||||
|
<LP_info org_name="Test Company" LP_TIN="1234567890" RRC="123456789" />
|
||||||
|
</id_info>
|
||||||
|
</organisation>
|
||||||
|
|
||||||
|
<!-- These existing pack_content sections will be REMOVED and replaced -->
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[OLD_PACK_CODE_1]]></pack_code>
|
||||||
|
<cis><![CDATA[OLD_CIS_1]]></cis>
|
||||||
|
<cis><![CDATA[OLD_CIS_2]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[OLD_PACK_CODE_2]]></pack_code>
|
||||||
|
<cis><![CDATA[OLD_CIS_3]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
|
||||||
|
<!-- Additional sections after pack_content are preserved -->
|
||||||
|
<additional_info>
|
||||||
|
<note>This section will be preserved</note>
|
||||||
|
</additional_info>
|
||||||
|
|
||||||
|
</Document>
|
||||||
|
</unit_pack>
|
||||||
|
```
|
||||||
|
|
||||||
|
**Result**: Old `<pack_content>` sections are removed, new ones from CSV are inserted, but `<additional_info>` is preserved.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 **Template Customization**
|
||||||
|
|
||||||
|
### **What You Can Customize**
|
||||||
|
|
||||||
|
✅ **Document attributes**: `document_id`, `VerForm`, `file_date_time`, etc.
|
||||||
|
✅ **Organisation information**: Company name, TIN, address, contacts
|
||||||
|
✅ **Additional XML sections**: Any custom elements outside `<pack_content>`
|
||||||
|
✅ **XML structure**: Different document layouts
|
||||||
|
|
||||||
|
### **What Gets Replaced**
|
||||||
|
|
||||||
|
❌ **All `<pack_content>` sections** - These are completely replaced with CSV data
|
||||||
|
❌ **Content inside `<pack_content>`** - `<pack_code>` and `<cis>` elements
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 **Generated Pack Content Structure**
|
||||||
|
|
||||||
|
Each SET CIS from your CSV becomes a `<pack_content>` section:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[SET_CIS_VALUE]]></pack_code>
|
||||||
|
<cis><![CDATA[CIS_CODE_1]]></cis>
|
||||||
|
<cis><![CDATA[CIS_CODE_2]]></cis>
|
||||||
|
<cis><![CDATA[CIS_CODE_3]]></cis>
|
||||||
|
<!-- ... one <cis> element per "Код" value for this SET CIS -->
|
||||||
|
</pack_content>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 **Best Practices**
|
||||||
|
|
||||||
|
### **1. Use Placeholder Values**
|
||||||
|
```xml
|
||||||
|
<organisation>
|
||||||
|
<id_info>
|
||||||
|
<LP_info org_name="YOUR_COMPANY_NAME" LP_TIN="YOUR_TIN" RRC="YOUR_RRC" />
|
||||||
|
</id_info>
|
||||||
|
</organisation>
|
||||||
|
```
|
||||||
|
|
||||||
|
### **2. Add Comments for Clarity**
|
||||||
|
```xml
|
||||||
|
<!-- This section will be preserved -->
|
||||||
|
<organisation>
|
||||||
|
<!-- Company details -->
|
||||||
|
</organisation>
|
||||||
|
|
||||||
|
<!-- Pack content will be inserted here -->
|
||||||
|
```
|
||||||
|
|
||||||
|
### **3. Include All Required Sections**
|
||||||
|
```xml
|
||||||
|
<unit_pack document_id="..." VerForm="..." file_date_time="..." VerProg="...">
|
||||||
|
<Document operation_date_time="..." document_number="...">
|
||||||
|
<organisation>...</organisation>
|
||||||
|
<!-- Pack content goes here -->
|
||||||
|
</Document>
|
||||||
|
</unit_pack>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 **Common Use Cases**
|
||||||
|
|
||||||
|
### **1. Different Companies**
|
||||||
|
Create templates for different organizations:
|
||||||
|
```bash
|
||||||
|
python xml_generator.py data.csv template_company_a.xml -o output_a.xml
|
||||||
|
python xml_generator.py data.csv template_company_b.xml -o output_b.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
### **2. Different Document Types**
|
||||||
|
Use different templates for various document formats:
|
||||||
|
```bash
|
||||||
|
python xml_generator.py data.csv template_invoice.xml -o invoice.xml
|
||||||
|
python xml_generator.py data.csv template_shipment.xml -o shipment.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
### **3. Testing with Sample Data**
|
||||||
|
Keep a template with sample data for testing:
|
||||||
|
```xml
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[SAMPLE_PACK_CODE]]></pack_code>
|
||||||
|
<cis><![CDATA[SAMPLE_CIS_1]]></cis>
|
||||||
|
<cis><![CDATA[SAMPLE_CIS_2]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ **Important Notes**
|
||||||
|
|
||||||
|
1. **XML Validity**: Ensure your template is valid XML
|
||||||
|
2. **Encoding**: Use UTF-8 encoding for proper character handling
|
||||||
|
3. **CDATA Sections**: The tool automatically wraps content in `<![CDATA[...]]>`
|
||||||
|
4. **Special Characters**: XML entities are automatically escaped
|
||||||
|
5. **Document Structure**: Must have `<Document>` and `</Document>` tags
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔍 **Testing Your Template**
|
||||||
|
|
||||||
|
Use dry-run mode to verify your template works:
|
||||||
|
```bash
|
||||||
|
python xml_generator.py --dry-run your_data.csv your_template.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
Generate to stdout for quick inspection:
|
||||||
|
```bash
|
||||||
|
python xml_generator.py your_data.csv your_template.xml
|
||||||
|
```
|
||||||
BIN
distribution.xlsm
Normal file
BIN
distribution.xlsm
Normal file
Binary file not shown.
737
output.xml
Normal file
737
output.xml
Normal file
@@ -0,0 +1,737 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<unit_pack document_id="unit_pack_5B266470FD6D41FBBE2335936EBD6C93" VerForm="1.03" file_date_time="2025-07-17T18:16:45+03:00" VerProg="CLI XML creator">
|
||||||
|
<Document operation_date_time="2025-07-17T18:35:27+03:00" document_number="Трусы набор, арт ТН008, р. S">
|
||||||
|
<organisation>
|
||||||
|
<id_info>
|
||||||
|
<SP_info full_name="Конопля Георгий Владимирович" SP_TIN="230811712250"/>
|
||||||
|
</id_info>
|
||||||
|
<Address>
|
||||||
|
<location_address country_code="643" text_address="350089, Краснодар, пр-т Чекистов 4" />
|
||||||
|
</Address>
|
||||||
|
<contacts phone_number="+79282070467" email="aperezva@mail.ru" />
|
||||||
|
</organisation>
|
||||||
|
|
||||||
|
<!-- CSV data will be inserted here automatically -->
|
||||||
|
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215!rYq<zP+sPBY]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215!lv).%ApB'P>]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215"ZqzWoJbOFB4]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215%fTQ*tVRESUU]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215%qLksT=SgjJO]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215%pVdasa09Uk(]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215)RPoif<&3<SG]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215&Wz4C>z!ifHP]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215&M(nYGbvV1Ws]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215'GR3BXRsQ(6T]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215)hW&V*YJ?X2p]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215'&V5JiZ.o3cT]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215&WobQ/U4sX-p]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215'zZGAT+1pDK,]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215.',UWItp<NpI]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215'Xiuq+n>7wG4]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215(7QMJaYJcF;m]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215(C:&2C,BoaME]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215.dvfkcmOilap]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215(TNXGbkRXcO?]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215)GL*2IoL1nC8]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215(Tr>tS?okC4i]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215/fwoRfE%3n(1]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215.hgPgi9FtU%u]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215)j(HjpnInMVe]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215(Z*5MqHB&EVo]]></cis>
|
||||||
|
<cis><![CDATA[01046399709753062151nsQtwg4WKQG]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215.qKtk+I3x"DL]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215.G9zCZT_&Mqe]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215*l8:wF&c5Gl)]]></cis>
|
||||||
|
<cis><![CDATA[01046399709753062154DkXDQCeIgpm]]></cis>
|
||||||
|
<cis><![CDATA[01046399709752762152b6BTa<hQOkQ]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215.r'Bxi9X.05d]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215,Y-kIx<DDspe]]></cis>
|
||||||
|
<cis><![CDATA[01046399709753062154QhZd-XMb-uo]]></cis>
|
||||||
|
<cis><![CDATA[01046399709752762152zIg__HgB1?Y]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215:KLKuY+2_qfG]]></pack_code>
|
||||||
|
<cis><![CDATA[01046399709752452157lS_gnsdHRro]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215?U_*WXj7>zen]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215<Ke3+h0sRRWC]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215?NMvA-t/2tVI]]></pack_code>
|
||||||
|
<cis><![CDATA[01046399709752452158WNWZ?n'p*eV]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215AHDnr+FDme5M]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215>vq%06M*b;Tg]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215?RotCqT-iJ)B]]></pack_code>
|
||||||
|
<cis><![CDATA[01046399709752452158d+&EFvuICB(]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215AVzhmOe4kh.E]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215B;l1G_F2RLoN]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215_g4X(nqR9mRq]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215TXeSpPkD2"_n]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215eM=N;JgOVD)F]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215Zgk1%IP!(jw6]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215+pNM65NXQtKl]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215)="''42yeq!p]]></cis>
|
||||||
|
<cis><![CDATA[01046399709753062152K:T<WR%JVhf]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215/DOtkuROrF3*]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215+t/3ZwimEJfz]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215*A+:beK6Old']]></cis>
|
||||||
|
<cis><![CDATA[01046399709753062153ylmJe"aSr:,]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215/W9?tM!vO:eo]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215=aDne4HhrjBs]]></pack_code>
|
||||||
|
<cis><![CDATA[010463997097524521580RqRJ=<WM>E]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215A2R7ni-itgp7]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215>6!INOYE-1PY]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[01046399709756272152fsq!nUc,N6X]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215,lsUQhW5h2;p]]></cis>
|
||||||
|
<cis><![CDATA[01046399709753062155eq?n'>pToMF]]></cis>
|
||||||
|
<cis><![CDATA[01046399709752762154haZ,R;c%Ja=]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[01046399709756272154-=LjNXEkvrq]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215-K+qia.KK;ia]]></cis>
|
||||||
|
<cis><![CDATA[01046399709753062157J%"bnVgRWtm]]></cis>
|
||||||
|
<cis><![CDATA[01046399709752762155.%uWEWap93<]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[010463997097562721543npsK6W-8Cs]]></pack_code>
|
||||||
|
<cis><![CDATA[01046399709752452151>TQE2!&d>oV]]></cis>
|
||||||
|
<cis><![CDATA[010463997097530621582GG6Gwk7MY:]]></cis>
|
||||||
|
<cis><![CDATA[01046399709752762156XZLl0!pht&D]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[01046399709756272154CvOHYke,S%"]]></pack_code>
|
||||||
|
<cis><![CDATA[01046399709752452152XgAeU4uiNaa]]></cis>
|
||||||
|
<cis><![CDATA[01046399709753062158EXx10ff;DnD]]></cis>
|
||||||
|
<cis><![CDATA[01046399709752762157PpUd9D*wqDv]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[01046399709756272155NOqt'CDiK6i]]></pack_code>
|
||||||
|
<cis><![CDATA[01046399709752452153jVJ2bbJUkoU]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215:YZP'qm(-/dP]]></cis>
|
||||||
|
<cis><![CDATA[01046399709752762157uYK,f7KL1A%]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[010463997097562721569GDK&KhdhPX]]></pack_code>
|
||||||
|
<cis><![CDATA[01046399709752452155PWhTuhXK!SU]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215;R6iZSDN(P)N]]></cis>
|
||||||
|
<cis><![CDATA[01046399709752762158Cg:5RYg>xHh]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[01046399709756272158FB5Hq9dP4o6]]></pack_code>
|
||||||
|
<cis><![CDATA[01046399709752452156n=S;KjuW=7t]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215<rjHSZrExnIh]]></cis>
|
||||||
|
<cis><![CDATA[01046399709752762159LcXnEYPpHAU]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[01046399709756272159Z1M?,"atVGI]]></pack_code>
|
||||||
|
<cis><![CDATA[01046399709752452157ImbmMta3sIl]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215=)b(+ZC<PaKD]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215:q'HmV5QWtfQ]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215a%,LzU/3aWhg]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215TiD_2CHc:mnC]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215eU&pIeSUd9Ks]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215ZsizRghLRd2+]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215AFJe-vDGIqOC]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215:6'PR,5m8SJ3]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215CerBBK>w,9Qm]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215B?yTe*.RhXj%]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215aRdG7AbdfdC9]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215U<Il2wTMYJnl]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215f+LRF+CnK%nY]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215_ATQXQNN)ujU]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215aZnnLkANr"g+]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215V?QI_kfL<2P_]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215f9gjPatemESR]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215_g"2:qK<oC7R]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215B&R?'CRaBqK"]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215:qJ0oiHL<)G_]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215DucGBdA<UXj(]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215Bf3W)zThG(dg]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215b<XkqNfGI_ie]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215WFdpfS2nq(Mw]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215fKtcL7-i3mjc]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215bmqyQN7QSEES]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215BHPoKjgle5BQ]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215;TMmYhYm!Oi6]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215E2kWn>hVM32p]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215CDT>;"a,ye1Y]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215bp-pRy=htHQl]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215WIRxqlXXXZ4n]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215fLDIoEEu8tie]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215c%8aq1T:XiJM]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215cgU4qCaq&mmX]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215WelfhClXRBV3]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215g(UWObti:sk!]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215dY6n6-wkj_LY]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215cnKN3WIEleVT]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215Y=Z4OWlqd,lY]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215gApfIUkkHE5R]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215etM7Gap:.!Vu]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215DInPBqYmiQjH]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215AH3End:otZcZ]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215EUw*Q50"e%b5]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215D'Wpqwu%tiF)]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215D-Iu/grOjKO%]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215=o,oRR3bzo,K]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215EBk,(SCRYSmm]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215CbV4&Q+)vcFV]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215Dl!8.=lfW4fk]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215AJXNPhJXHS1M]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215FIjP-dhmWUH?]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215DMJZdx_Fd!p/]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215dpFi0:nViWb*]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215Ylvj4ogynk:i]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215gM-EN6hX(ahY]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215f0hRQiL&bPe7]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215DsEiIObZjL'C]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215BXMu0Gob'aoc]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215Gi%hTcPeNWRg]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215E:'"5d-Em*>T]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215f:wT/a4Ld8m8]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215YqMrUfpgqVPf]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215giW'aItos-S3]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215fX/tH4Ger96V]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215fmkd.)dLXWyV]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215ZgcIS<mVsopb]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215gsmR(GtZDhDN]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215gBYM=EgoCBta]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215G;&t8m?DgOe5]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215BdX'X(UWHUsw]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215HnvN'b'Aa?SI]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215E;_%"?K!ixiH]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215g8iGcKsPZ%fj]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215abUQY'fEQ>sX]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215hn_dlMK,WSNg]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215gmOZOpKfJcki]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215GGSLAdYccVNj]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215BqLB,CBCL,+5]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215HyeDOtQrKmc!]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215FP)lYMM*vIic]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215GMOkF=y'X9Ge]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215C-MU4rXQffoJ]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215IAL-MJP.pf4b]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215FP5GHD>q6LP*]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215gokF&YYeWHnn]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215b=9d(6.NJ-l/]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215jte5P>sNIKc)]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215iIoB&SIA_dWi]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215gY!'L-jf2Wl!]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215b0v-rfP?Wlve]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215hys8vuMy7Wej]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215iGfOTLfqX/ig]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215GYM=!JHa?_c8]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215C8B)Rwrf+pbj]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215Iit?PyYg=%;X]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215FSRQD?oKtvGf]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215H5vxUN.rRfDH]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215C9!CMfFEAfSk]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215J94U7WO/BveT]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215FZ*Ut,J0sd6M]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215h8kQil:XRDaZ]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215btGLsH.NUzro]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215kVbo<<Jc:QBv]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215icF>YqdZF-.Q]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215Hi*wlLKemHRg]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215CTUfhQQDr;fr]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215J>EYdYkfh5/E]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215Fu7lfQ0LQ"M5]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215hKq_XoeDXN"D]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215dJ'V!o/MPkU(]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215kYH6KsKagxAL]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215isHd3H;K,Eld]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215I_eG=kk8gr)V]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215D=?BWqP9Xb(r]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215MixMqcOwrVba]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215GN,kGyUx%a/H]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215IkhRSZPUSber]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215Dm9lrCDc4d)M]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215NcnVK?*MUgC%]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215HjjgNrhcRAmY]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215IPvQZQ5DJZPi]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215D""jgcjHMh)H]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215K7helQEa&PK-]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215GI9j>VADSo"b]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215itBu/R+tNQjb]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215dMgbuXgG/z4,]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215kljh=mUa1d!r]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215j4e5"mtfi:=']]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215j2uuQ:GfAc"4]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215dnTs:OW&4U/Q]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215kz/gZiQEQo?,]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215krAUHI%T?!'B]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215jHwgFFmTlvsY]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215fD6opbb-w4pl]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215lCRjE?ssg/a.]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215kyorDjWgFyka]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215JUZlFT.In<'t]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215FT)UFP%W/YOM]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215OQ&/%PcSjsT"]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215HtgF"Fcd*!IW]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215KBzekYJXQ/T%]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215FXUe1CI&NQ2U]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215OY+s7,hODvLb]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215J'U64epAbnke]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215l_FjZgiV,a-G]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215gEnCuPK/'FME]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215mq5Gs%3)a,UZ]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215lDGZ.+s_h:=)]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215lGD=F5jhRiHd]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215fpLY&KgWNK*n]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215le;,yZfpvHkp]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215l8Zo9Ok)oXRP]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215lprZ-YTr<DnL]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215h*Jn15_.XAaB]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215o4EQXAC4Fn+L]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215lWO*))rYZ%Wn]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215LU?xNVtQsV>i]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215FiBZIcCRMb/t]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215Od:DRC_wCCSF]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215JEj5ERzLq_e5]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215lW5rpmfs5mgS]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215g5>cch/nU"a0]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215mjtc8tNe+VRl]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215l=QeTg4PErYK]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215lwVb"bg5CdiE]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215iy(v;buisn%c]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215o5Iut03sQ<aA]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215mR_JdK&8hTh1]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215McaoV&4NaC.=]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215GHrpUF<yCXq8]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215PtDVUu!a>>dn]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215Jmzp=I)CAqMa]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215Mfj)F*PdYgCA]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215HWFj32)afj7O]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215Q,PpF/SjsHNH]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215KAA")lhq1dWN]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215mg&I2yIIlmiw]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215j3gdltf1vkGC]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215oQkrJ>>3PTVH]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215mkwUfHUD4eQ;]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215mjZzy7V<UBQ4]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215jIm2HJR:CIC4]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215oU0Yr+/hHFaI]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215n,UeONwS9NPA]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215MNhC%<cEq-FJ]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215FtPPC5tP4yX=]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215OhEIc<YAh7ed]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215JYRmVN=%.=qS]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215N2Nrjs-j5PEJ]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215HmYSebZJyEpV]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215QN3FJR%3!hR,]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215KKG8a>UB"(we]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215n3aals/Ial%u]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215k(0mvqx=fB5O]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215oc,dA(bVZZoC]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215n:u2MpEgh>f1]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215nLN&K5MFKMPs]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215kV5i4IvtOy"b]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215otAyAPimhrR%]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215nFRcK2Gut=jE]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215NOWXOyMaYcTN]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215IFXOZ(GIBl!w]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215QgWB2(a(W4UD]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215LD"RkEV&z'6j]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215nqOZm7gEyGt+]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215krO)FXR;%_RQ]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215pWM1lBOyef'A]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215o(MAG.=HG1-k]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215NUmkTbirhC91]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215JPOeS(gteKCn]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215R)M=VYr+k8mb]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215LQhsdiD:04fM]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215o"WlpjtN+Znn]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215lR48PjQd0=rq]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215psNs04J_O)!"]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215pFg*eridaIse]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215oABVLMR;eBA2]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215om/ayvrKRcb=]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215qHhcu!BqS_<O]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215qXqdqa(gD;V3]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215o-B8uDTnySO:]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215oh>9p>jrbnPl]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215pvvIZKMl?6-P]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215qF2a::'d0j>X]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215od3q9,UJWYSJ]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215p+g&WNMdvgz6]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215qqiIEDGbkZd9]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215qzzOLmFFg_7T]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215odvjafqNrcn7]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215pFR1EPHrUpGh]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215r9ck.p2N3YZ2]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215r,XRw:0?yv%=]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215OHfdnVTW0/bM]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215JpjtosD7M3-X]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215RbURagmdNmpG]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215LdnfZFHNrhRN]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215Oje<syifQTpt]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215LCtdFMPbvFXG]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215SSQfdsooMhdR]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215M6+tZQ6wevmO]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215Otqgujlrj-3x]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215Lm55gw10mkpJ]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215Sk;RkltVWKHI]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215PFfUAN.Jy&%&]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215oV:)gMK"kSF)]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215os.o)ospXmef]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215ql/CAdisK6E)]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215qp-%S+nthtpf]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215-oYpD7GuuNF/]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215*g28!J7IWnVa]]></cis>
|
||||||
|
<cis><![CDATA[01046399709753062154=h+Y+Thjn:?]]></cis>
|
||||||
|
<cis><![CDATA[01046399709752762151-MbcHkfMrIL]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215P%4pX>Qbbe6d]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215LnWTJgM2asal]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215UGne6jSkDXOY]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215PY_omHV0qV?d]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215PW6sXiYZDm>5]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215MJSRBdVX?i1Z]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215Ub,GIBFBIc!0]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215Qf6S%IA)j_&B]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215Q;NV+:3x4OU?]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215NFX<Erm4epI/]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215UibuLZ-GlKN!]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215QwnDJGtPS-!v]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215r52kkleok;qU]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215pbechFuq+Ynw]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215rLjy-oOTmDa4]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215shKclfbFAbaj]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215rCVc>kCSyt)s]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215q;j7%NdiDX6k]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215rfT.tbxpMShF]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215tGf<4Fq+n9Ra]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215RD%EBH&fUZwI]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215O67KrH8ee>w%]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215Ux+EGg&lGx_E]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215RoAkMRnN0InH]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215rOhlFSQ4Wa-D]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215qZLLsU%jzcPS]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215rpVYW.dF07zo]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215tiZLMcsWC*nR]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215rr7%_eYmg_e_]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215rWv8Yim7p&ZK]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215rvl4Tt;mdYa6]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215u9mzM.rjTGE;]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215S'C0af4n<VUr]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215OGqnnY9HIaVf]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215VfcyqasGY4Lk]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215Rv1B7J9MoPdv]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215shier."&K>5K]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215re!Rp0CNIr+q]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215s)eM+-l?P9jq]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215uNFKAH(Rlpj=]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215SMiVV?nO6SVL]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215P7hRB.UOHcYG]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215Wmt5Q1gDC_FP]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215TgV3ROp0H7Lg]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215SqEVaVVO.Eer]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215PBSaGj,ZZIYi]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215YHhIXF.OLPa/]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215UkEBP3pB?<Lj]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215SSdS4J/Ifmyq]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215PA5X6gQDZyIX]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215WrP>AbyU-Bok]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215URW<ttEnl4%*]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215TaZf1lq8iROM]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215PM&tTsFeEdWE]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215Z<V)r3'(QDy?]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215UtSquasPhY4b]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215tToTn2zMY+CY]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215rx:P>)+_GQfS]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215sGEYLTw-RIIh]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215ufPP&?gkZeoM]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215tVZfOhVV&B/U]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215tdOEhR2V67j)]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215vp2RSA<3gXlL]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215uhpLcPTvI&0&]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215UG7gSy)DC?Eg]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215PdUigHeb;Lq)]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215ZgES)57g5Yeo]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215WGrVe5KUJbaQ]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215ULM:N<nF"Fnh]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215Q9j6ydRKil=v]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215a>AEd1I2oSsV]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215WUfItbGhSuWl]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215UNkTBLBQA/tt]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215Qs,Xn+HCfDex]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215bjEgMANm8UZH]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215XJmnFTYWo3)O]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215uql53YY8Eb'<]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215tszdZbM3BaY!]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215wIdy+BfDapkL]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215v:<jLEy&ebje]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215V:B57!j<,B;J]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215QvCFCmlTKR,e]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215caq&gETLSmnk]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215XfaUd;7D'WII]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215VWoh'XE+qGJ<]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215RCVJ4Ro3Ycd+]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215cusGCsm(C:kg]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215YDl(qI<;qkRl]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215VX<Dvy9F*O0h]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215RY1OoaP<M+1m]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215d"DTok!eE;ge]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215YSnY%dA1jaaA]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215wUECHqGCBMba]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215uPJsFeG7afUc]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215yGoigbt9J?fl]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215w-cFy9=nAh=Z]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215XD=Ig'JFma>j]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215RdE7eJq08O0j]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215dKdrZ5,qh3'Q]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215YWlT)d+lWuFw]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215Xfp,s;VVo&7V]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215SFapt3ZB8iVa]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215dM35xlsmH7ON]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215YfoWiBMF-v=z]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215xVgHRShUA?yO]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215vHhTXsTFOlat]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215z=W6mI<GTL8=]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215xD(3Jp2r4fHs]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215Y7LREbh5xsht]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215SeniU6hbwebK]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215dPa<Ap6g>Rfn]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215YhCFJnwBd;<r]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215yIkDnM*&'D(X]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215wI'%wgecb6ED]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215zGUJHg=3ftd8]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215y'+RlNsbjuDL]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215z.LwbnpcZcNo]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215wia+QFFrVZuV]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215zkpT9d?obyoC]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215yH-8VWm>HUWL]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215Z5Zc+Ck=UfSH]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215T2bK/l%m%SGS]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215dXr_i-YfN1'&]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215ZQbHMZN_(IKW]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215ZcIGR:sDgicQ]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215TWlPFm+L"A&q]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215dZW*9lGMRCpw]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215ZaHLZ5?ldsn:]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[0104639970975627215zIB:Y_KX4I.<]]></pack_code>
|
||||||
|
<cis><![CDATA[0104639970975245215ytgW0j.JX15S]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975306215zpInqPh,r<D+]]></cis>
|
||||||
|
<cis><![CDATA[0104639970975276215z_uWOCwOyAg_]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
</Document>
|
||||||
|
</unit_pack>
|
||||||
BIN
python_commande.xlsx
Normal file
BIN
python_commande.xlsx
Normal file
Binary file not shown.
2
requirements.txt
Normal file
2
requirements.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
click>=8.0.0
|
||||||
|
openpyxl
|
||||||
25
run_task.ps1
Normal file
25
run_task.ps1
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# 1. Устанавливаем кодировку вывода (UTF8)
|
||||||
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
||||||
|
|
||||||
|
# 3. Активация виртуального окружения
|
||||||
|
& "c:/Python/CRPT/LabelExtractor/.venv/Scripts/Activate.ps1"
|
||||||
|
|
||||||
|
Write-Host "--- Окружение активировано. Начинаю обработку файлов... ---" -ForegroundColor Green
|
||||||
|
|
||||||
|
# 4. Список команд
|
||||||
|
# Используем '--' перед аргументами, если пути содержат сложные символы
|
||||||
|
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 01Aggregation_21_02_26 "C:\Python\CRPT\CIS distribution\data\01Aggregation_21_02_26.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 02Aggregation_24_02_26 "C:\Python\CRPT\CIS distribution\data\02Aggregation_24_02_26.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 03Aggregation_27_02_26 "C:\Python\CRPT\CIS distribution\data\03Aggregation_27_02_26.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 04Aggregation_28_02_26_ТН008 "C:\Python\CRPT\CIS distribution\data\04Aggregation_28_02_26_ТН008.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 05Aggregation_28_02_26_ТНС010 "C:\Python\CRPT\CIS distribution\data\05Aggregation_28_02_26_ТНС010.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 06Aggregation_28_02_26_ТНС011 "C:\Python\CRPT\CIS distribution\data\06Aggregation_28_02_26_ТНС011.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 07Aggregation_28_02_26_ТНСК001 "C:\Python\CRPT\CIS distribution\data\07Aggregation_28_02_26_ТНСК001.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 08Aggregation_28_02_26_ТНСК002 "C:\Python\CRPT\CIS distribution\data\08Aggregation_28_02_26_ТНСК002.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 09Aggregation_28_02_26_ТНСК003 "C:\Python\CRPT\CIS distribution\data\09Aggregation_28_02_26_ТНСК003.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 10Aggregation_28_02_26_ТНСК004 "C:\Python\CRPT\CIS distribution\data\10Aggregation_28_02_26_ТНСК004.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 11Aggregation_28_02_26_ТНСК005 "C:\Python\CRPT\CIS distribution\data\11Aggregation_28_02_26_ТНСК005.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 12Aggregation_28_02_26_ТНСК0009 "C:\Python\CRPT\CIS distribution\data\12Aggregation_28_02_26_ТНСК0009.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
|
||||||
|
Write-Host "--- Все задачи выполнены успешно! ---" -ForegroundColor Cyan
|
||||||
25
run_task_validation.ps1
Normal file
25
run_task_validation.ps1
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# 1. Устанавливаем кодировку вывода (UTF8)
|
||||||
|
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
||||||
|
|
||||||
|
# 3. Активация виртуального окружения
|
||||||
|
& "c:/Python/CRPT/LabelExtractor/.venv/Scripts/Activate.ps1"
|
||||||
|
|
||||||
|
Write-Host "--- Окружение активировано. Начинаю обработку файлов... ---" -ForegroundColor Green
|
||||||
|
|
||||||
|
# 4. Список команд
|
||||||
|
# Используем '--' перед аргументами, если пути содержат сложные символы
|
||||||
|
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 01Aggregation_21_02_26 --validate-only "C:\Python\CRPT\CIS distribution\data\01Aggregation_21_02_26.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 02Aggregation_24_02_26 --validate-only "C:\Python\CRPT\CIS distribution\data\02Aggregation_24_02_26.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 03Aggregation_27_02_26 --validate-only "C:\Python\CRPT\CIS distribution\data\03Aggregation_27_02_26.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 04Aggregation_28_02_26_ТН008 --validate-only "C:\Python\CRPT\CIS distribution\data\04Aggregation_28_02_26_ТН008.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 05Aggregation_28_02_26_ТНС010 --validate-only "C:\Python\CRPT\CIS distribution\data\05Aggregation_28_02_26_ТНС010.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 06Aggregation_28_02_26_ТНС011 --validate-only "C:\Python\CRPT\CIS distribution\data\06Aggregation_28_02_26_ТНС011.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 07Aggregation_28_02_26_ТНСК001 --validate-only "C:\Python\CRPT\CIS distribution\data\07Aggregation_28_02_26_ТНСК001.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 08Aggregation_28_02_26_ТНСК002 --validate-only "C:\Python\CRPT\CIS distribution\data\08Aggregation_28_02_26_ТНСК002.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 09Aggregation_28_02_26_ТНСК003 --validate-only "C:\Python\CRPT\CIS distribution\data\09Aggregation_28_02_26_ТНСК003.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 10Aggregation_28_02_26_ТНСК004 --validate-only "C:\Python\CRPT\CIS distribution\data\10Aggregation_28_02_26_ТНСК004.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 11Aggregation_28_02_26_ТНСК005 --validate-only "C:\Python\CRPT\CIS distribution\data\11Aggregation_28_02_26_ТНСК005.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
python .\xml_generator_2_0.py --set-dict .\map.xlsx --document-number 12Aggregation_28_02_26_ТНСК0009 --validate-only "C:\Python\CRPT\CIS distribution\data\12Aggregation_28_02_26_ТНСК0009.xlsx" "C:\Python\CRPT\CIS distribution\template_minimal.xml"
|
||||||
|
|
||||||
|
Write-Host "--- Все задачи выполнены успешно! ---" -ForegroundColor Cyan
|
||||||
707
set_creation.xsd
Normal file
707
set_creation.xsd
Normal file
@@ -0,0 +1,707 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||||
|
|
||||||
|
<xs:complexType name="organisation_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об участнике факта хозяйственной жизни</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="id_info">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Идентификационные сведения</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:choice>
|
||||||
|
<xs:element name="SP_info" type="SP_info_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об индивидуальном предпринимателе</xs:documentation>
|
||||||
|
<xs:documentation>sole proprietor information</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="LP_info">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения о юридическом лице, состоящем на учете в налоговых органах</xs:documentation>
|
||||||
|
<xs:documentation>legal person information</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="org_name" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Наименование полное</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="1000"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="LP_TIN" type="LP_TIN_type" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>ИНН</xs:documentation>
|
||||||
|
<xs:documentation>taxpayer ID number</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="RRC" type="RRC_type" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>КПП</xs:documentation>
|
||||||
|
<xs:documentation> tax registration reason code </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="foreign_entity">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об иностранном лице, не состоящем на учете в налоговых органах</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="org_name" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Наименование полное</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="1000"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="other_info" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Иные сведения, идентифицирующие юридическое лицо</xs:documentation>
|
||||||
|
<xs:documentation>В частности, может быть указана страна при отсутствии country_code</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="foreign_SP">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об иностранном лице, не состоящем на учете в налоговых органах</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="org_name" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Наименование полное</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="1000"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="other_info" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Иные сведения, идентифицирующие юридическое лицо</xs:documentation>
|
||||||
|
<xs:documentation>В частности, может быть указана страна при отсутствии country_code</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:choice>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="Address" type="Address_type" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="contacts" type="contacts_type" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Контактные сведения</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="OKPO_code" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код в общероссийском классификаторе предприятий и организаций</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="10"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="structural_unit" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Структурное подразделение</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="1000"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="SP_info_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об индивидуальном предпринимателе</xs:documentation>
|
||||||
|
<xs:documentation>sole proprietor information</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="full_name" type="full_name_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Фамилия, Имя, Отчество</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="SP_TIN" type="SP_TIN_type" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>ИНН физического лица</xs:documentation>
|
||||||
|
<xs:documentation>sole proprietor taxpayer identification number</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="reg_sertificate" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Реквизиты свидетельства о государственной регистрации индивидуального предпринимателя</xs:documentation>
|
||||||
|
<xs:documentation>Обязателен для случаев подписания счета-фактуры непосредственно продавцом</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:maxLength value="100"/>
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="other_info" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Иные сведения, идентифицирующие физическое лицо</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:simpleType name="SP_TIN_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Идентификационный номер налогоплательщика - физического лица</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="12"/>
|
||||||
|
<xs:pattern value="([0-9]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{10}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="LP_TIN_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Идентификационный номер налогоплательщика - юридического лица</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="10"/>
|
||||||
|
<xs:pattern value="([0-9]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{8}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="full_name_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Фамилия, имя, отчество физического лица</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:attribute name="surname" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Фамилия</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="60"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="first_name" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Имя</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="60"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="patronymic" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Отчество</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="60"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:simpleType name="RRC_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код причины постановки на учет (КПП) - 5 и 6 знаки от 0-9 и A-Z</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="9"/>
|
||||||
|
<xs:pattern value="([0-9]{1}[1-9]{1}|[1-9]{1}[0-9]{1})([0-9]{2})([0-9A-Z]{2})([0-9]{3})"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="Address_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об адресе</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:choice>
|
||||||
|
<xs:element name="RU_address" type="RU_address_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес местонахождения/почтовый адрес (реквизиты адреса на территории Российской Федерации)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="location_address" type="location_address_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес местонахождения/почтовый адрес (информация об адресе, в том числе об адресе за пределами территории Российской Федерации)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="SAR_code" type="string-36">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Уникальный номер адреса объекта адресации в государственном адресном реестре</xs:documentation>
|
||||||
|
<xs:documentation>addressing object unique code in State Address Registry </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:choice>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="location_address_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Информация об адресе, в том числе об адресе за пределами территории Российской Федерации</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:attribute name="country_code" type="RNCC_code" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код страны</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="text_address" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="RU_address_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес в Российской Федерации </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:attribute name="zip_code" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Индекс</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="6"/>
|
||||||
|
<xs:pattern value="[0-9]{6}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="region_code" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код региона</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="CERFR_code"/>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="district_name" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Район</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="50"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="city_name" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Город</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:maxLength value="50"/>
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="locality_name" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Населенный пункт</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="50"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="street_name" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Улица</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="50"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="house_number" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Дом</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="20"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="bulk_number" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Корпус</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="20"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="flat_number" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Квартира</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="20"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="contacts_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Контактные данные</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:attribute name="phone_number" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Номер контактного телефона/факс</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="email" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес электронной почты</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:simpleType name="CERFR_code">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код из Справочника субъекта Российской Федерации </xs:documentation>
|
||||||
|
<xs:documentation>constituent entity of the Russian Federation registry code </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="2"/>
|
||||||
|
<xs:pattern value="[0-9]{2}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="RNCC_code">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код из Общероссийского классификатора стран мира </xs:documentation>
|
||||||
|
<xs:documentation> RNCC (Russian National Classification of Countries) code </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="3"/>
|
||||||
|
<xs:pattern value="[0-9]{3}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string-36">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Произвольный текст длиной от 1 до 36 символов</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:maxLength value="36"/>
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="officer_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения о должностном лице</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="full_name" type="full_name_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Фамилия, Имя, Отчество</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="officer_position" type="person_position" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Должность</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
|
||||||
|
<xs:simpleType name="datetimeoffset">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Тип "Дата со временем" (с временной зоной)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:dateTime">
|
||||||
|
<xs:minInclusive value="0001-01-01T00:00:00Z"/>
|
||||||
|
<xs:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|([1-9][0-9]{3}))-((0[1-9])|(1[012]))-((0[1-9])|([12][0-9])|(3[01]))T(([01][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.[0-9]+)?(([+-]((((0[0-9])|(1[0-3]))(:[0-5][0-9]))|14:00))|Z)"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string200_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Строка произвольной длины, но не более 200 символов</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="string_clear_type">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="200"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string500_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Строка произвольной длины, но не более 500 символов</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="string_clear_type">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="500"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string1000_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Строка произвольной длины, но не более 1000 символов</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="string_clear_type">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="1000"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="person_position">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Должность физического лица</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="200"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="tnved4_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Тип "Код ТН ВЭД ЕАЭС"</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="4"/>
|
||||||
|
<xs:pattern value="[0-9]{4}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="cis_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Индивидуальный серийный номер потребительской упаковки </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
<xs:pattern value=".*\S"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="sscc_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Индивидуальный серийный номер групповой/транспортной упаковки</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
<xs:pattern value=".*\S"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="pack_code_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Номер кода агрегата </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
<xs:pattern value=".*\S"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string_clear_at_begin_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Тип "Строка" (не пустая в начале)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:pattern value="\S.*"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string_clear_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Тип "Строка" (без спецсимволов с обеих сторон)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="string_clear_at_begin_type">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:pattern value=".*\S"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="document_number">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Порядковый номер документа</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string"/>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="date_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Дата в формате ДД.ММ.ГГГГ (01.01.1900 - 31.12.2099)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="10"/>
|
||||||
|
<xs:pattern value="((((0[1-9]{1}|1[0-9]{1}|2[0-8]{1})\.(0[1-9]{1}|1[0-2]{1}))|((29|30)\.(01|0[3-9]{1}|1[0-2]{1}))|(31\.(01|03|05|07|08|10|12)))\.((19|20)[0-9]{2}))|(29\.02\.((19|20)(((0|2|4|6|8)(0|4|8))|((1|3|5|7|9)(2|6)))))"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="time_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Время в формате ЧЧ.ММ.СС</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="8"/>
|
||||||
|
<xs:pattern value="([0-1]{1}[0-9]{1}|2[0-3]{1})\.([0-5]{1}[0-9]{1})\.([0-5]{1}[0-9]{1})"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
|
||||||
|
<xs:element name="unit_pack">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Агрегирование табачных изделий</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="Document">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="organisation" type="organisation_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об организации / ИП</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="pack_content" minOccurs="1" maxOccurs="unbounded">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Содержание упаковки</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="pack_code" type="pack_code_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Номер кода агрегата (упаковки)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:choice minOccurs="1" maxOccurs="unbounded">
|
||||||
|
<xs:element name="cis" type="cis_type"/>
|
||||||
|
<xs:element name="sscc" type="sscc_type"/>
|
||||||
|
</xs:choice>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:unique name="ux_cis">
|
||||||
|
<xs:selector xpath="cis"/>
|
||||||
|
<xs:field xpath="."/>
|
||||||
|
</xs:unique>
|
||||||
|
<xs:unique name="ux_sscc">
|
||||||
|
<xs:selector xpath="sscc"/>
|
||||||
|
<xs:field xpath="."/>
|
||||||
|
</xs:unique>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="operation_date_time" type="datetimeoffset" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Дата и время совершения операции агрегирования</xs:documentation>
|
||||||
|
<xs:documentation>Дата и время с учетом часового пояса в формате ГГГГ-ММ-ДДTЧЧ:ММ:СС+(-)ЧЧ:ММ</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="document_number" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Номер документа во внутренней системе учета участника</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="150"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="document_id" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Идентификатор файла</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="150"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="VerForm" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Версия формата</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="5"/>
|
||||||
|
<xs:enumeration value="1.03"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="file_date_time" type="datetimeoffset" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Дата и время формирования файла</xs:documentation>
|
||||||
|
<xs:documentation>Дата и время с учетом часового пояса в формате ГГГГ-ММ-ДДTЧЧ:ММ:СС+(-)ЧЧ:ММ</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="VerProg">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Наименование и версия программы, с помощью которой сформирован файл</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:maxLength value="40"/>
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="action_id" type="xs:int" use="required" fixed="30"/>
|
||||||
|
<xs:attribute name="version" type="xs:string" use="required" fixed="1"/>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
59
set_dict.csv
Normal file
59
set_dict.csv
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
GTIN NUM;GTIN SET;SET NAME;Group;Brand;Type;GTIN ITEM NUM;GTIN ITEM;COUNT
|
||||||
|
4639970975412;04639970975412;Трусы набор, арт тнск001, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu fashion;set-pack;4639970975009;04639970975009;1.00
|
||||||
|
4639970975412;04639970975412;Трусы набор, арт тнск001, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu fashion;set-pack;4639970975047;04639970975047;1.00
|
||||||
|
4639970975412;04639970975412;Трусы набор, арт тнск001, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu fashion;set-pack;4639970975085;04639970975085;1.00
|
||||||
|
4639970975436;04639970975436;Трусы набор, арт тнск001, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975016;04639970975016;1.00
|
||||||
|
4639970975436;04639970975436;Трусы набор, арт тнск001, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975054;04639970975054;1.00
|
||||||
|
4639970975436;04639970975436;Трусы набор, арт тнск001, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975092;04639970975092;1.00
|
||||||
|
4639970975443;04639970975443;Трусы набор, арт тнск001, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975023;04639970975023;1.00
|
||||||
|
4639970975443;04639970975443;Трусы набор, арт тнск001, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975061;04639970975061;1.00
|
||||||
|
4639970975443;04639970975443;Трусы набор, арт тнск001, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975108;04639970975108;1.00
|
||||||
|
4639970975450;04639970975450;Трусы набор, арт тнск001, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975030;04639970975030;1.00
|
||||||
|
4639970975450;04639970975450;Трусы набор, арт тнск001, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975078;04639970975078;1.00
|
||||||
|
4639970975450;04639970975450;Трусы набор, арт тнск001, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975115;04639970975115;1.00
|
||||||
|
4639970975467;04639970975467;Трусы набор, арт тнск002, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975009;04639970975009;1.00
|
||||||
|
4639970975467;04639970975467;Трусы набор, арт тнск002, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975085;04639970975085;1.00
|
||||||
|
4639970975467;04639970975467;Трусы набор, арт тнск002, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975122;04639970975122;1.00
|
||||||
|
4639970975474;04639970975474;Трусы набор, арт тнск002, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975016;04639970975016;1.00
|
||||||
|
4639970975474;04639970975474;Трусы набор, арт тнск002, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975092;04639970975092;1.00
|
||||||
|
4639970975474;04639970975474;Трусы набор, арт тнск002, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975139;04639970975139;1.00
|
||||||
|
4639970975481;04639970975481;Трусы набор, арт тнск002, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975023;04639970975023;1.00
|
||||||
|
4639970975481;04639970975481;Трусы набор, арт тнск002, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975108;04639970975108;1.00
|
||||||
|
4639970975481;04639970975481;Трусы набор, арт тнск002, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975146;04639970975146;1.00
|
||||||
|
4639970975498;04639970975498;Трусы набор, арт тнск002, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975030;04639970975030;1.00
|
||||||
|
4639970975498;04639970975498;Трусы набор, арт тнск002, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975115;04639970975115;1.00
|
||||||
|
4639970975498;04639970975498;Трусы набор, арт тнск002, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975153;04639970975153;1.00
|
||||||
|
4639970975504;04639970975504;Трусы набор, арт тнск003, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975085;04639970975085;3.00
|
||||||
|
4639970975511;04639970975511;Трусы, арт. 0109, цвет черный, р.L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975092;04639970975092;3.00
|
||||||
|
4639970975528;04639970975528;Трусы набор, арт тнск003, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975108;04639970975108;3.00
|
||||||
|
4639970975535;04639970975535;Трусы набор, арт тнск003, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975115;04639970975115;3.00
|
||||||
|
4639970975542;04639970975542;Трусы набор, арт тнск004, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975085;04639970975085;1.00
|
||||||
|
4639970975542;04639970975542;Трусы набор, арт тнск004, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975337;04639970975337;1.00
|
||||||
|
4639970975542;04639970975542;Трусы набор, арт тнск004, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975375;04639970975375;1.00
|
||||||
|
4639970975559;04639970975559;Трусы набор, арт тнск004, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975092;04639970975092;1.00
|
||||||
|
4639970975559;04639970975559;Трусы набор, арт тнск004, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975344;04639970975344;1.00
|
||||||
|
4639970975559;04639970975559;Трусы набор, арт тнск004, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975382;04639970975382;1.00
|
||||||
|
4639970975566;04639970975566;Трусы набор, арт тнск004, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975108;04639970975108;1.00
|
||||||
|
4639970975566;04639970975566;Трусы набор, арт тнск004, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975351;04639970975351;1.00
|
||||||
|
4639970975566;04639970975566;Трусы набор, арт тнск004, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975399;04639970975399;1.00
|
||||||
|
4639970975573;04639970975573;Трусы набор, арт тнск004, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975115;04639970975115;1.00
|
||||||
|
4639970975573;04639970975573;Трусы набор, арт тнск004, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975368;04639970975368;1.00
|
||||||
|
4639970975573;04639970975573;Трусы набор, арт тнск004, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975405;04639970975405;1.00
|
||||||
|
4639970975580;04639970975580;Трусы набор, арт тнск009, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975009;04639970975009;1.00
|
||||||
|
4639970975580;04639970975580;Трусы набор, арт тнск009, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975160;04639970975160;1.00
|
||||||
|
4639970975580;04639970975580;Трусы набор, арт тнск009, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975207;04639970975207;1.00
|
||||||
|
4639970975597;04639970975597;Трусы набор, арт тнск009, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975016;04639970975016;1.00
|
||||||
|
4639970975597;04639970975597;Трусы набор, арт тнск009, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975177;04639970975177;1.00
|
||||||
|
4639970975597;04639970975597;Трусы набор, арт тнск009, р. L;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975214;04639970975214;1.00
|
||||||
|
4639970975603;04639970975603;Трусы набор, арт тнск009, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975023;04639970975023;1.00
|
||||||
|
4639970975603;04639970975603;Трусы набор, арт тнск009, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975184;04639970975184;1.00
|
||||||
|
4639970975603;04639970975603;Трусы набор, арт тнск009, р. XL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975221;04639970975221;1.00
|
||||||
|
4639970975610;04639970975610;Трусы набор, арт тнск009, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975030;04639970975030;1.00
|
||||||
|
4639970975610;04639970975610;Трусы набор, арт тнск009, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975191;04639970975191;1.00
|
||||||
|
4639970975610;04639970975610;Трусы набор, арт тнск009, р. XXL;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975238;04639970975238;1.00
|
||||||
|
4639970975627;04639970975627;Трусы набор, арт ТН008, р. S;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975245;04639970975245;1.00
|
||||||
|
4639970975627;04639970975627;Трусы набор, арт ТН008, р. S;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975276;04639970975276;1.00
|
||||||
|
4639970975627;04639970975627;Трусы набор, арт ТН008, р. S;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975306;04639970975306;1.00
|
||||||
|
4639970975634;04639970975634;Трусы набор, арт ТН008, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975252;04639970975252;1.00
|
||||||
|
4639970975634;04639970975634;Трусы набор, арт ТН008, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975283;04639970975283;1.00
|
||||||
|
4639970975634;04639970975634;Трусы набор, арт ТН008, р. M;Майки, трусы, комбинации, пижамы, халаты и аналогичные товары;Nu Fashion;set-pack;4639970975313;04639970975313;1.00
|
||||||
|
361
set_distributed.csv
Normal file
361
set_distributed.csv
Normal file
@@ -0,0 +1,361 @@
|
|||||||
|
Код;SET CIS;SET GTIN;GTIN;Код ТН ВЭД;Группа ТН ВЭД;Максимальная розничная цена;Родительская упаковка;Производитель / Импортер;Владелец;Идентификатор ВСД;Наименование товара;Бренд;Наименование собственника товара;Наименование производителя;Дата ввода в оборот;Дата вывода из оборота;Статус кода;Состояние кода;Способ ввода в оборот;Причина вывода из оборота;Тип упаковки;Товарная группа;Дата нанесения;Дата эмиссии;Срок годности;Список дочерних КМ;Список gtin, входящих в справочный состав набора;Текстовое описание состава набора;Дата производства;Тип агрегации;Номер заказа в СУЗ;Вид оборота;КПП Места осуществления деятельности;ФИАС Места осуществления деятельности
|
||||||
|
0104639970975245215!lv).%ApB'P>;0104639970975627215!rYq<zP+sPBY;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215""ZqzWoJbOFB4";0104639970975627215!rYq<zP+sPBY;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215%fTQ*tVRESUU;0104639970975627215!rYq<zP+sPBY;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215%pVdasa09Uk(;0104639970975627215%qLksT=SgjJO;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215)RPoif<&3<SG;0104639970975627215%qLksT=SgjJO;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215&Wz4C>z!ifHP;0104639970975627215%qLksT=SgjJO;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215'GR3BXRsQ(6T;0104639970975627215&M(nYGbvV1Ws;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215)hW&V*YJ?X2p;0104639970975627215&M(nYGbvV1Ws;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215'&V5JiZ.o3cT;0104639970975627215&M(nYGbvV1Ws;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215'zZGAT+1pDK,;0104639970975627215&WobQ/U4sX-p;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215.',UWItp<NpI;0104639970975627215&WobQ/U4sX-p;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215'Xiuq+n>7wG4;0104639970975627215&WobQ/U4sX-p;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215(C:&2C,BoaME;"0104639970975627215(7QMJaYJcF;m";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215.dvfkcmOilap;"0104639970975627215(7QMJaYJcF;m";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215(TNXGbkRXcO?;"0104639970975627215(7QMJaYJcF;m";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215(Tr>tS?okC4i;0104639970975627215)GL*2IoL1nC8;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215/fwoRfE%3n(1;0104639970975627215)GL*2IoL1nC8;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215.hgPgi9FtU%u;0104639970975627215)GL*2IoL1nC8;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215(Z*5MqHB&EVo;0104639970975627215)j(HjpnInMVe;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709753062151nsQtwg4WKQG;0104639970975627215)j(HjpnInMVe;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215.qKtk+I3x""DL";0104639970975627215)j(HjpnInMVe;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215*l8:wF&c5Gl);0104639970975627215.G9zCZT_&Mqe;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709753062154DkXDQCeIgpm;0104639970975627215.G9zCZT_&Mqe;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752762152b6BTa<hQOkQ;0104639970975627215.G9zCZT_&Mqe;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215,Y-kIx<DDspe;0104639970975627215.r'Bxi9X.05d;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709753062154QhZd-XMb-uo;0104639970975627215.r'Bxi9X.05d;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752762152zIg__HgB1?Y;0104639970975627215.r'Bxi9X.05d;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752452157lS_gnsdHRro;0104639970975627215:KLKuY+2_qfG;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215?U_*WXj7>zen;0104639970975627215:KLKuY+2_qfG;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215<Ke3+h0sRRWC;0104639970975627215:KLKuY+2_qfG;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752452158WNWZ?n'p*eV;0104639970975627215?NMvA-t/2tVI;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215AHDnr+FDme5M;0104639970975627215?NMvA-t/2tVI;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215>vq%06M*b;Tg";0104639970975627215?NMvA-t/2tVI;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752452158d+&EFvuICB(;0104639970975627215?RotCqT-iJ)B;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215AVzhmOe4kh.E;0104639970975627215?RotCqT-iJ)B;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215B;l1G_F2RLoN";0104639970975627215?RotCqT-iJ)B;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215TXeSpPkD2""_n";0104639970975627215_g4X(nqR9mRq;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215eM=N;JgOVD)F";0104639970975627215_g4X(nqR9mRq;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215Zgk1%IP!(jw6;0104639970975627215_g4X(nqR9mRq;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215)=""''42yeq!p";0104639970975627215+pNM65NXQtKl;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709753062152K:T<WR%JVhf;0104639970975627215+pNM65NXQtKl;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215/DOtkuROrF3*;0104639970975627215+pNM65NXQtKl;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215*A+:beK6Old';0104639970975627215+t/3ZwimEJfz;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"01046399709753062153ylmJe""aSr:,";0104639970975627215+t/3ZwimEJfz;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215/W9?tM!vO:eo;0104639970975627215+t/3ZwimEJfz;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
010463997097524521580RqRJ=<WM>E;0104639970975627215=aDne4HhrjBs;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215A2R7ni-itgp7;0104639970975627215=aDne4HhrjBs;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215>6!INOYE-1PY;0104639970975627215=aDne4HhrjBs;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215,lsUQhW5h2;p";01046399709756272152fsq!nUc,N6X;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709753062155eq?n'>pToMF;01046399709756272152fsq!nUc,N6X;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"01046399709752762154haZ,R;c%Ja=";01046399709756272152fsq!nUc,N6X;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215-K+qia.KK;ia";01046399709756272154-=LjNXEkvrq;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"01046399709753062157J%""bnVgRWtm";01046399709756272154-=LjNXEkvrq;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752762155.%uWEWap93<;01046399709756272154-=LjNXEkvrq;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752452151>TQE2!&d>oV;010463997097562721543npsK6W-8Cs;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
010463997097530621582GG6Gwk7MY:;010463997097562721543npsK6W-8Cs;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752762156XZLl0!pht&D;010463997097562721543npsK6W-8Cs;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752452152XgAeU4uiNaa;"01046399709756272154CvOHYke,S%""";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"01046399709753062158EXx10ff;DnD";"01046399709756272154CvOHYke,S%""";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752762157PpUd9D*wqDv;"01046399709756272154CvOHYke,S%""";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752452153jVJ2bbJUkoU;01046399709756272155NOqt'CDiK6i;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215:YZP'qm(-/dP;01046399709756272155NOqt'CDiK6i;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752762157uYK,f7KL1A%;01046399709756272155NOqt'CDiK6i;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752452155PWhTuhXK!SU;010463997097562721569GDK&KhdhPX;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215;R6iZSDN(P)N";010463997097562721569GDK&KhdhPX;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752762158Cg:5RYg>xHh;010463997097562721569GDK&KhdhPX;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"01046399709752452156n=S;KjuW=7t";01046399709756272158FB5Hq9dP4o6;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215<rjHSZrExnIh;01046399709756272158FB5Hq9dP4o6;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752762159LcXnEYPpHAU;01046399709756272158FB5Hq9dP4o6;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752452157ImbmMta3sIl;"01046399709756272159Z1M?,""atVGI";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215=)b(+ZC<PaKD;"01046399709756272159Z1M?,""atVGI";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215:q'HmV5QWtfQ;"01046399709756272159Z1M?,""atVGI";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215TiD_2CHc:mnC;0104639970975627215a%,LzU/3aWhg;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215eU&pIeSUd9Ks;0104639970975627215a%,LzU/3aWhg;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215ZsizRghLRd2+;0104639970975627215a%,LzU/3aWhg;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215:6'PR,5m8SJ3;0104639970975627215AFJe-vDGIqOC;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215CerBBK>w,9Qm;0104639970975627215AFJe-vDGIqOC;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215B?yTe*.RhXj%;0104639970975627215AFJe-vDGIqOC;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215U<Il2wTMYJnl;0104639970975627215aRdG7AbdfdC9;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215f+LRF+CnK%nY;0104639970975627215aRdG7AbdfdC9;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215_ATQXQNN)ujU;0104639970975627215aRdG7AbdfdC9;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215V?QI_kfL<2P_;"0104639970975627215aZnnLkANr""g+";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215f9gjPatemESR;"0104639970975627215aZnnLkANr""g+";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215_g""2:qK<oC7R";"0104639970975627215aZnnLkANr""g+";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215:qJ0oiHL<)G_;"0104639970975627215B&R?'CRaBqK""";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215DucGBdA<UXj(;"0104639970975627215B&R?'CRaBqK""";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215Bf3W)zThG(dg;"0104639970975627215B&R?'CRaBqK""";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215WFdpfS2nq(Mw;0104639970975627215b<XkqNfGI_ie;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215fKtcL7-i3mjc;0104639970975627215b<XkqNfGI_ie;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215bmqyQN7QSEES;0104639970975627215b<XkqNfGI_ie;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215;TMmYhYm!Oi6";0104639970975627215BHPoKjgle5BQ;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215E2kWn>hVM32p;0104639970975627215BHPoKjgle5BQ;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215CDT>;""a,ye1Y";0104639970975627215BHPoKjgle5BQ;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215WIRxqlXXXZ4n;0104639970975627215bp-pRy=htHQl;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215fLDIoEEu8tie;0104639970975627215bp-pRy=htHQl;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215c%8aq1T:XiJM;0104639970975627215bp-pRy=htHQl;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215WelfhClXRBV3;0104639970975627215cgU4qCaq&mmX;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215g(UWObti:sk!;0104639970975627215cgU4qCaq&mmX;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215dY6n6-wkj_LY;0104639970975627215cgU4qCaq&mmX;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215Y=Z4OWlqd,lY;0104639970975627215cnKN3WIEleVT;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215gApfIUkkHE5R;0104639970975627215cnKN3WIEleVT;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215etM7Gap:.!Vu;0104639970975627215cnKN3WIEleVT;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215AH3End:otZcZ;0104639970975627215DInPBqYmiQjH;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215EUw*Q50""e%b5";0104639970975627215DInPBqYmiQjH;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215D'Wpqwu%tiF);0104639970975627215DInPBqYmiQjH;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215=o,oRR3bzo,K;0104639970975627215D-Iu/grOjKO%;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215EBk,(SCRYSmm;0104639970975627215D-Iu/grOjKO%;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215CbV4&Q+)vcFV;0104639970975627215D-Iu/grOjKO%;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215AJXNPhJXHS1M;0104639970975627215Dl!8.=lfW4fk;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215FIjP-dhmWUH?;0104639970975627215Dl!8.=lfW4fk;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215DMJZdx_Fd!p/;0104639970975627215Dl!8.=lfW4fk;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215Ylvj4ogynk:i;0104639970975627215dpFi0:nViWb*;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215gM-EN6hX(ahY;0104639970975627215dpFi0:nViWb*;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215f0hRQiL&bPe7;0104639970975627215dpFi0:nViWb*;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215BXMu0Gob'aoc;0104639970975627215DsEiIObZjL'C;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215Gi%hTcPeNWRg;0104639970975627215DsEiIObZjL'C;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215E:'""5d-Em*>T";0104639970975627215DsEiIObZjL'C;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215YqMrUfpgqVPf;0104639970975627215f:wT/a4Ld8m8;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215giW'aItos-S3;0104639970975627215f:wT/a4Ld8m8;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215fX/tH4Ger96V;0104639970975627215f:wT/a4Ld8m8;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215ZgcIS<mVsopb;0104639970975627215fmkd.)dLXWyV;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215gsmR(GtZDhDN;0104639970975627215fmkd.)dLXWyV;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215gBYM=EgoCBta;0104639970975627215fmkd.)dLXWyV;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215BdX'X(UWHUsw;"0104639970975627215G;&t8m?DgOe5";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215HnvN'b'Aa?SI;"0104639970975627215G;&t8m?DgOe5";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215E;_%""?K!ixiH";"0104639970975627215G;&t8m?DgOe5";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215abUQY'fEQ>sX;0104639970975627215g8iGcKsPZ%fj;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215hn_dlMK,WSNg;0104639970975627215g8iGcKsPZ%fj;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215gmOZOpKfJcki;0104639970975627215g8iGcKsPZ%fj;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215BqLB,CBCL,+5;0104639970975627215GGSLAdYccVNj;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215HyeDOtQrKmc!;0104639970975627215GGSLAdYccVNj;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215FP)lYMM*vIic;0104639970975627215GGSLAdYccVNj;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215C-MU4rXQffoJ;0104639970975627215GMOkF=y'X9Ge;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215IAL-MJP.pf4b;0104639970975627215GMOkF=y'X9Ge;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215FP5GHD>q6LP*;0104639970975627215GMOkF=y'X9Ge;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215b=9d(6.NJ-l/;0104639970975627215gokF&YYeWHnn;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215jte5P>sNIKc);0104639970975627215gokF&YYeWHnn;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215iIoB&SIA_dWi;0104639970975627215gokF&YYeWHnn;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215b0v-rfP?Wlve;0104639970975627215gY!'L-jf2Wl!;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215hys8vuMy7Wej;0104639970975627215gY!'L-jf2Wl!;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215iGfOTLfqX/ig;0104639970975627215gY!'L-jf2Wl!;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215C8B)Rwrf+pbj;0104639970975627215GYM=!JHa?_c8;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215Iit?PyYg=%;X";0104639970975627215GYM=!JHa?_c8;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215FSRQD?oKtvGf;0104639970975627215GYM=!JHa?_c8;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215C9!CMfFEAfSk;0104639970975627215H5vxUN.rRfDH;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215J94U7WO/BveT;0104639970975627215H5vxUN.rRfDH;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215FZ*Ut,J0sd6M;0104639970975627215H5vxUN.rRfDH;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215btGLsH.NUzro;0104639970975627215h8kQil:XRDaZ;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215kVbo<<Jc:QBv;0104639970975627215h8kQil:XRDaZ;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215icF>YqdZF-.Q;0104639970975627215h8kQil:XRDaZ;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215CTUfhQQDr;fr";0104639970975627215Hi*wlLKemHRg;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215J>EYdYkfh5/E;0104639970975627215Hi*wlLKemHRg;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215Fu7lfQ0LQ""M5";0104639970975627215Hi*wlLKemHRg;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215dJ'V!o/MPkU(;"0104639970975627215hKq_XoeDXN""D";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215kYH6KsKagxAL;"0104639970975627215hKq_XoeDXN""D";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215isHd3H;K,Eld";"0104639970975627215hKq_XoeDXN""D";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215D=?BWqP9Xb(r;0104639970975627215I_eG=kk8gr)V;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215MixMqcOwrVba;0104639970975627215I_eG=kk8gr)V;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215GN,kGyUx%a/H;0104639970975627215I_eG=kk8gr)V;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215Dm9lrCDc4d)M;0104639970975627215IkhRSZPUSber;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215NcnVK?*MUgC%;0104639970975627215IkhRSZPUSber;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215HjjgNrhcRAmY;0104639970975627215IkhRSZPUSber;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215D""""jgcjHMh)H";0104639970975627215IPvQZQ5DJZPi;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215K7helQEa&PK-;0104639970975627215IPvQZQ5DJZPi;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215GI9j>VADSo""b";0104639970975627215IPvQZQ5DJZPi;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215dMgbuXgG/z4,;0104639970975627215itBu/R+tNQjb;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215kljh=mUa1d!r;0104639970975627215itBu/R+tNQjb;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215j4e5""mtfi:='";0104639970975627215itBu/R+tNQjb;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215dnTs:OW&4U/Q;"0104639970975627215j2uuQ:GfAc""4";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215kz/gZiQEQo?,;"0104639970975627215j2uuQ:GfAc""4";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215krAUHI%T?!'B;"0104639970975627215j2uuQ:GfAc""4";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215fD6opbb-w4pl;0104639970975627215jHwgFFmTlvsY;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215lCRjE?ssg/a.;0104639970975627215jHwgFFmTlvsY;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215kyorDjWgFyka;0104639970975627215jHwgFFmTlvsY;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215FT)UFP%W/YOM;0104639970975627215JUZlFT.In<'t;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215OQ&/%PcSjsT""";0104639970975627215JUZlFT.In<'t;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215HtgF""Fcd*!IW";0104639970975627215JUZlFT.In<'t;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215FXUe1CI&NQ2U;0104639970975627215KBzekYJXQ/T%;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215OY+s7,hODvLb;0104639970975627215KBzekYJXQ/T%;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215J'U64epAbnke;0104639970975627215KBzekYJXQ/T%;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215gEnCuPK/'FME;0104639970975627215l_FjZgiV,a-G;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215mq5Gs%3)a,UZ;0104639970975627215l_FjZgiV,a-G;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215lDGZ.+s_h:=);0104639970975627215l_FjZgiV,a-G;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215fpLY&KgWNK*n;0104639970975627215lGD=F5jhRiHd;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215le;,yZfpvHkp";0104639970975627215lGD=F5jhRiHd;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215l8Zo9Ok)oXRP;0104639970975627215lGD=F5jhRiHd;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215h*Jn15_.XAaB;0104639970975627215lprZ-YTr<DnL;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215o4EQXAC4Fn+L;0104639970975627215lprZ-YTr<DnL;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215lWO*))rYZ%Wn;0104639970975627215lprZ-YTr<DnL;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215FiBZIcCRMb/t;0104639970975627215LU?xNVtQsV>i;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215Od:DRC_wCCSF;0104639970975627215LU?xNVtQsV>i;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215JEj5ERzLq_e5;0104639970975627215LU?xNVtQsV>i;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215g5>cch/nU""a0";0104639970975627215lW5rpmfs5mgS;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215mjtc8tNe+VRl;0104639970975627215lW5rpmfs5mgS;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215l=QeTg4PErYK;0104639970975627215lW5rpmfs5mgS;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215iy(v;buisn%c";"0104639970975627215lwVb""bg5CdiE";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215o5Iut03sQ<aA;"0104639970975627215lwVb""bg5CdiE";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215mR_JdK&8hTh1;"0104639970975627215lwVb""bg5CdiE";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215GHrpUF<yCXq8;0104639970975627215McaoV&4NaC.=;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215PtDVUu!a>>dn;0104639970975627215McaoV&4NaC.=;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215Jmzp=I)CAqMa;0104639970975627215McaoV&4NaC.=;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215HWFj32)afj7O;0104639970975627215Mfj)F*PdYgCA;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215Q,PpF/SjsHNH;0104639970975627215Mfj)F*PdYgCA;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215KAA"")lhq1dWN";0104639970975627215Mfj)F*PdYgCA;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215j3gdltf1vkGC;0104639970975627215mg&I2yIIlmiw;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215oQkrJ>>3PTVH;0104639970975627215mg&I2yIIlmiw;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215mkwUfHUD4eQ;";0104639970975627215mg&I2yIIlmiw;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215jIm2HJR:CIC4;0104639970975627215mjZzy7V<UBQ4;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215oU0Yr+/hHFaI;0104639970975627215mjZzy7V<UBQ4;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215n,UeONwS9NPA;0104639970975627215mjZzy7V<UBQ4;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215FtPPC5tP4yX=;0104639970975627215MNhC%<cEq-FJ;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215OhEIc<YAh7ed;0104639970975627215MNhC%<cEq-FJ;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215JYRmVN=%.=qS;0104639970975627215MNhC%<cEq-FJ;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215HmYSebZJyEpV;0104639970975627215N2Nrjs-j5PEJ;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215QN3FJR%3!hR,;0104639970975627215N2Nrjs-j5PEJ;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215KKG8a>UB""(we";0104639970975627215N2Nrjs-j5PEJ;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215k(0mvqx=fB5O;0104639970975627215n3aals/Ial%u;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215oc,dA(bVZZoC;0104639970975627215n3aals/Ial%u;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215n:u2MpEgh>f1;0104639970975627215n3aals/Ial%u;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215kV5i4IvtOy""b";0104639970975627215nLN&K5MFKMPs;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215otAyAPimhrR%;0104639970975627215nLN&K5MFKMPs;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215nFRcK2Gut=jE;0104639970975627215nLN&K5MFKMPs;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215IFXOZ(GIBl!w;0104639970975627215NOWXOyMaYcTN;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215QgWB2(a(W4UD;0104639970975627215NOWXOyMaYcTN;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215LD""RkEV&z'6j";0104639970975627215NOWXOyMaYcTN;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215krO)FXR;%_RQ";0104639970975627215nqOZm7gEyGt+;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215pWM1lBOyef'A;0104639970975627215nqOZm7gEyGt+;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215o(MAG.=HG1-k;0104639970975627215nqOZm7gEyGt+;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215JPOeS(gteKCn;0104639970975627215NUmkTbirhC91;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215R)M=VYr+k8mb;0104639970975627215NUmkTbirhC91;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215LQhsdiD:04fM;0104639970975627215NUmkTbirhC91;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215lR48PjQd0=rq;"0104639970975627215o""WlpjtN+Znn";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215psNs04J_O)!""";"0104639970975627215o""WlpjtN+Znn";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215pFg*eridaIse;"0104639970975627215o""WlpjtN+Znn";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215om/ayvrKRcb=;"0104639970975627215oABVLMR;eBA2";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215qHhcu!BqS_<O;"0104639970975627215oABVLMR;eBA2";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215qXqdqa(gD;V3";"0104639970975627215oABVLMR;eBA2";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215oh>9p>jrbnPl;0104639970975627215o-B8uDTnySO:;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215pvvIZKMl?6-P;0104639970975627215o-B8uDTnySO:;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215qF2a::'d0j>X;0104639970975627215o-B8uDTnySO:;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215p+g&WNMdvgz6;0104639970975627215od3q9,UJWYSJ;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215qqiIEDGbkZd9;0104639970975627215od3q9,UJWYSJ;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215qzzOLmFFg_7T;0104639970975627215od3q9,UJWYSJ;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215pFR1EPHrUpGh;0104639970975627215odvjafqNrcn7;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215r9ck.p2N3YZ2;0104639970975627215odvjafqNrcn7;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215r,XRw:0?yv%=;0104639970975627215odvjafqNrcn7;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215JpjtosD7M3-X;0104639970975627215OHfdnVTW0/bM;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215RbURagmdNmpG;0104639970975627215OHfdnVTW0/bM;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215LdnfZFHNrhRN;0104639970975627215OHfdnVTW0/bM;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215LCtdFMPbvFXG;0104639970975627215Oje<syifQTpt;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215SSQfdsooMhdR;0104639970975627215Oje<syifQTpt;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215M6+tZQ6wevmO;0104639970975627215Oje<syifQTpt;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215Lm55gw10mkpJ;0104639970975627215Otqgujlrj-3x;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215Sk;RkltVWKHI";0104639970975627215Otqgujlrj-3x;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215PFfUAN.Jy&%&;0104639970975627215Otqgujlrj-3x;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215os.o)ospXmef;"0104639970975627215oV:)gMK""kSF)";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215ql/CAdisK6E);"0104639970975627215oV:)gMK""kSF)";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215qp-%S+nthtpf;"0104639970975627215oV:)gMK""kSF)";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215*g28!J7IWnVa;0104639970975627215-oYpD7GuuNF/;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709753062154=h+Y+Thjn:?;0104639970975627215-oYpD7GuuNF/;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
01046399709752762151-MbcHkfMrIL;0104639970975627215-oYpD7GuuNF/;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215LnWTJgM2asal;0104639970975627215P%4pX>Qbbe6d;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215UGne6jSkDXOY;0104639970975627215P%4pX>Qbbe6d;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215PY_omHV0qV?d;0104639970975627215P%4pX>Qbbe6d;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215MJSRBdVX?i1Z;0104639970975627215PW6sXiYZDm>5;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215Ub,GIBFBIc!0;0104639970975627215PW6sXiYZDm>5;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215Qf6S%IA)j_&B;0104639970975627215PW6sXiYZDm>5;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215NFX<Erm4epI/;"0104639970975627215Q;NV+:3x4OU?";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215UibuLZ-GlKN!;"0104639970975627215Q;NV+:3x4OU?";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215QwnDJGtPS-!v;"0104639970975627215Q;NV+:3x4OU?";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215pbechFuq+Ynw;"0104639970975627215r52kkleok;qU";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215rLjy-oOTmDa4;"0104639970975627215r52kkleok;qU";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215shKclfbFAbaj;"0104639970975627215r52kkleok;qU";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215q;j7%NdiDX6k";0104639970975627215rCVc>kCSyt)s;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215rfT.tbxpMShF;0104639970975627215rCVc>kCSyt)s;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215tGf<4Fq+n9Ra;0104639970975627215rCVc>kCSyt)s;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215O67KrH8ee>w%;0104639970975627215RD%EBH&fUZwI;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215Ux+EGg&lGx_E;0104639970975627215RD%EBH&fUZwI;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215RoAkMRnN0InH;0104639970975627215RD%EBH&fUZwI;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215qZLLsU%jzcPS;0104639970975627215rOhlFSQ4Wa-D;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215rpVYW.dF07zo;0104639970975627215rOhlFSQ4Wa-D;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215tiZLMcsWC*nR;0104639970975627215rOhlFSQ4Wa-D;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215rWv8Yim7p&ZK;0104639970975627215rr7%_eYmg_e_;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215rvl4Tt;mdYa6";0104639970975627215rr7%_eYmg_e_;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215u9mzM.rjTGE;";0104639970975627215rr7%_eYmg_e_;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215OGqnnY9HIaVf;0104639970975627215S'C0af4n<VUr;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215VfcyqasGY4Lk;0104639970975627215S'C0af4n<VUr;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215Rv1B7J9MoPdv;0104639970975627215S'C0af4n<VUr;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215re!Rp0CNIr+q;"0104639970975627215shier.""&K>5K";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215s)eM+-l?P9jq;"0104639970975627215shier.""&K>5K";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215uNFKAH(Rlpj=;"0104639970975627215shier.""&K>5K";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215P7hRB.UOHcYG;0104639970975627215SMiVV?nO6SVL;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215Wmt5Q1gDC_FP;0104639970975627215SMiVV?nO6SVL;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215TgV3ROp0H7Lg;0104639970975627215SMiVV?nO6SVL;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215PBSaGj,ZZIYi;0104639970975627215SqEVaVVO.Eer;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215YHhIXF.OLPa/;0104639970975627215SqEVaVVO.Eer;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215UkEBP3pB?<Lj;0104639970975627215SqEVaVVO.Eer;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215PA5X6gQDZyIX;0104639970975627215SSdS4J/Ifmyq;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215WrP>AbyU-Bok;0104639970975627215SSdS4J/Ifmyq;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215URW<ttEnl4%*;0104639970975627215SSdS4J/Ifmyq;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215PM&tTsFeEdWE;0104639970975627215TaZf1lq8iROM;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215Z<V)r3'(QDy?;0104639970975627215TaZf1lq8iROM;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215UtSquasPhY4b;0104639970975627215TaZf1lq8iROM;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215rx:P>)+_GQfS;0104639970975627215tToTn2zMY+CY;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215sGEYLTw-RIIh;0104639970975627215tToTn2zMY+CY;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215ufPP&?gkZeoM;0104639970975627215tToTn2zMY+CY;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215tdOEhR2V67j);0104639970975627215tVZfOhVV&B/U;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215vp2RSA<3gXlL;0104639970975627215tVZfOhVV&B/U;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215uhpLcPTvI&0&;0104639970975627215tVZfOhVV&B/U;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215PdUigHeb;Lq)";0104639970975627215UG7gSy)DC?Eg;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215ZgES)57g5Yeo;0104639970975627215UG7gSy)DC?Eg;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215WGrVe5KUJbaQ;0104639970975627215UG7gSy)DC?Eg;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215Q9j6ydRKil=v;"0104639970975627215ULM:N<nF""Fnh";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215a>AEd1I2oSsV;"0104639970975627215ULM:N<nF""Fnh";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215WUfItbGhSuWl;"0104639970975627215ULM:N<nF""Fnh";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215Qs,Xn+HCfDex;0104639970975627215UNkTBLBQA/tt;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215bjEgMANm8UZH;0104639970975627215UNkTBLBQA/tt;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215XJmnFTYWo3)O;0104639970975627215UNkTBLBQA/tt;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215tszdZbM3BaY!;0104639970975627215uql53YY8Eb'<;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215wIdy+BfDapkL;0104639970975627215uql53YY8Eb'<;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215v:<jLEy&ebje;0104639970975627215uql53YY8Eb'<;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215QvCFCmlTKR,e;"0104639970975627215V:B57!j<,B;J";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215caq&gETLSmnk;"0104639970975627215V:B57!j<,B;J";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215XfaUd;7D'WII";"0104639970975627215V:B57!j<,B;J";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215RCVJ4Ro3Ycd+;0104639970975627215VWoh'XE+qGJ<;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215cusGCsm(C:kg;0104639970975627215VWoh'XE+qGJ<;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215YDl(qI<;qkRl";0104639970975627215VWoh'XE+qGJ<;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215RY1OoaP<M+1m;0104639970975627215VX<Dvy9F*O0h;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975306215d""DTok!eE;ge";0104639970975627215VX<Dvy9F*O0h;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215YSnY%dA1jaaA;0104639970975627215VX<Dvy9F*O0h;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215uPJsFeG7afUc;0104639970975627215wUECHqGCBMba;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215yGoigbt9J?fl;0104639970975627215wUECHqGCBMba;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215w-cFy9=nAh=Z;0104639970975627215wUECHqGCBMba;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215RdE7eJq08O0j;0104639970975627215XD=Ig'JFma>j;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215dKdrZ5,qh3'Q;0104639970975627215XD=Ig'JFma>j;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215YWlT)d+lWuFw;0104639970975627215XD=Ig'JFma>j;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215SFapt3ZB8iVa;"0104639970975627215Xfp,s;VVo&7V";04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215dM35xlsmH7ON;"0104639970975627215Xfp,s;VVo&7V";04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215YfoWiBMF-v=z;"0104639970975627215Xfp,s;VVo&7V";04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215vHhTXsTFOlat;0104639970975627215xVgHRShUA?yO;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215z=W6mI<GTL8=;0104639970975627215xVgHRShUA?yO;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215xD(3Jp2r4fHs;0104639970975627215xVgHRShUA?yO;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215SeniU6hbwebK;0104639970975627215Y7LREbh5xsht;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215dPa<Ap6g>Rfn;0104639970975627215Y7LREbh5xsht;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975276215YhCFJnwBd;<r";0104639970975627215Y7LREbh5xsht;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215wI'%wgecb6ED;0104639970975627215yIkDnM*&'D(X;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215zGUJHg=3ftd8;0104639970975627215yIkDnM*&'D(X;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215y'+RlNsbjuDL;0104639970975627215yIkDnM*&'D(X;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215wia+QFFrVZuV;0104639970975627215z.LwbnpcZcNo;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215zkpT9d?obyoC;0104639970975627215z.LwbnpcZcNo;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215yH-8VWm>HUWL;0104639970975627215z.LwbnpcZcNo;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215T2bK/l%m%SGS;0104639970975627215Z5Zc+Ck=UfSH;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215dXr_i-YfN1'&;0104639970975627215Z5Zc+Ck=UfSH;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215ZQbHMZN_(IKW;0104639970975627215Z5Zc+Ck=UfSH;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
"0104639970975245215TWlPFm+L""A&q";0104639970975627215ZcIGR:sDgicQ;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215dZW*9lGMRCpw;0104639970975627215ZcIGR:sDgicQ;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215ZaHLZ5?ldsn:;0104639970975627215ZcIGR:sDgicQ;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975245215ytgW0j.JX15S;0104639970975627215zIB:Y_KX4I.<;04639970975627;04639970975245;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет белый, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:27:36.348Z;2025-07-17T10:25:10.993Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975306215zpInqPh,r<D+;0104639970975627215zIB:Y_KX4I.<;04639970975627;04639970975306;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет красный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:29:09.071Z;2025-07-17T10:25:10.591Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
0104639970975276215z_uWOCwOyAg_;0104639970975627215zIB:Y_KX4I.<;04639970975627;04639970975276;;;;;230811712250;230811712250;;Стринги, арт. 0801, цвет черный, р.S;Nu Fashion;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;ИП КОНОПЛЯ ГЕОРГИЙ ВЛАДИМИРОВИЧ;;;APPLIED;;REMAINS;;UNIT;LP;2025-07-17T10:28:57.308Z;2025-07-17T10:25:10.376Z;;[];;;;;2a5fc8b1-5a2c-4073-ae46-97a3cbdedeaa;;;
|
||||||
|
BIN
set_distributed.txt
Normal file
BIN
set_distributed.txt
Normal file
Binary file not shown.
BIN
set_distributed.xlsx
Normal file
BIN
set_distributed.xlsx
Normal file
Binary file not shown.
26
sets_creation.xml
Normal file
26
sets_creation.xml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<unit_pack document_id="unit_pack_7FFF90D5-4785-7EC9-899E-534A7BAA2B71" VerForm="1.03" file_date_time="2019-04-12T11:07:45+03:00" VerProg="VerProg1">
|
||||||
|
<Document operation_date_time="2019-06-05T14:28:14+03:00" document_number="157743-20199">
|
||||||
|
<organisation>
|
||||||
|
<id_info>
|
||||||
|
<LP_info org_name="ООО ТорМаг" LP_TIN="5834052090" RRC="504801001" />
|
||||||
|
</id_info>
|
||||||
|
<Address>
|
||||||
|
<location_address country_code="643" text_address="142305" />
|
||||||
|
</Address>
|
||||||
|
<contacts phone_number="123456789" email="22@mail.ru" />
|
||||||
|
</organisation>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[000000000000000000]]></pack_code>
|
||||||
|
<cis><![CDATA[00000000000000000000000000000000000001]]></cis>
|
||||||
|
<cis><![CDATA[00000000000000000000000000000000000002]]></cis>
|
||||||
|
<cis><![CDATA[00000000000000000000000000000000000003]]></cis>
|
||||||
|
<cis><![CDATA[010466007901460321&%*^$!?"'()*+-=/,;.:<>_1]]></cis>
|
||||||
|
<cis><![CDATA[010466007901460321&%*^$!?"'()*+-=/,;.:<>_2]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[010464004346008721Wll2KePM3hlHCrXDM-+B]]></pack_code>
|
||||||
|
<cis><![CDATA[010464004346009421EoC&LSVP7ZDFl<p!f"G+]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
</Document>
|
||||||
|
</unit_pack>
|
||||||
17
template_minimal.xml
Normal file
17
template_minimal.xml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<unit_pack document_id="EXAMPLE_ID" VerForm="1.03" file_date_time="2025-07-17T18:16:45+03:00" VerProg="CLI XML creator">
|
||||||
|
<Document operation_date_time="2024-01-01T00:00:00+00:00" document_number="EXAMPLE_DOC">
|
||||||
|
<organisation>
|
||||||
|
<id_info>
|
||||||
|
<SP_info full_name="Конопля Георгий Владимирович" SP_TIN="230811712250"/>
|
||||||
|
</id_info>
|
||||||
|
<Address>
|
||||||
|
<location_address country_code="643" text_address="350089, Краснодар, пр-т Чекистов 4" />
|
||||||
|
</Address>
|
||||||
|
<contacts phone_number="+792820700467" email="aperezva@mail.ru" />
|
||||||
|
</organisation>
|
||||||
|
|
||||||
|
<!-- CSV data will be inserted here automatically -->
|
||||||
|
|
||||||
|
</Document>
|
||||||
|
</unit_pack>
|
||||||
27
template_with_existing.xml
Normal file
27
template_with_existing.xml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<unit_pack document_id="EXAMPLE_WITH_EXISTING" VerForm="1.0">
|
||||||
|
<Document operation_date_time="2024-01-01T00:00:00+00:00" document_number="EXAMPLE_DOC">
|
||||||
|
<organisation>
|
||||||
|
<id_info>
|
||||||
|
<LP_info org_name="Test Company" LP_TIN="1234567890" RRC="123456789" />
|
||||||
|
</id_info>
|
||||||
|
</organisation>
|
||||||
|
|
||||||
|
<!-- These existing pack_content sections will be REMOVED and replaced -->
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[OLD_PACK_CODE_1]]></pack_code>
|
||||||
|
<cis><![CDATA[OLD_CIS_1]]></cis>
|
||||||
|
<cis><![CDATA[OLD_CIS_2]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[OLD_PACK_CODE_2]]></pack_code>
|
||||||
|
<cis><![CDATA[OLD_CIS_3]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
|
||||||
|
<!-- Additional sections after pack_content are preserved -->
|
||||||
|
<additional_info>
|
||||||
|
<note>This section will be preserved</note>
|
||||||
|
</additional_info>
|
||||||
|
|
||||||
|
</Document>
|
||||||
|
</unit_pack>
|
||||||
641
xml_generator.py
Normal file
641
xml_generator.py
Normal file
@@ -0,0 +1,641 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""
|
||||||
|
XML Generator CLI Tool
|
||||||
|
Processes semicolon-separated CSV files to generate XML with pack_content sections.
|
||||||
|
Includes validation against set dictionary rules.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import click
|
||||||
|
import csv
|
||||||
|
import xml.etree.ElementTree as ET
|
||||||
|
from collections import defaultdict, Counter
|
||||||
|
from pathlib import Path
|
||||||
|
import html
|
||||||
|
import re
|
||||||
|
import uuid
|
||||||
|
from datetime import datetime
|
||||||
|
from typing import Dict, List, Optional, Tuple, Any
|
||||||
|
|
||||||
|
|
||||||
|
class CSVReader:
|
||||||
|
"""Handles CSV file reading and data processing."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def clean_csv_columns(fieldnames: List[str]) -> List[str]:
|
||||||
|
"""Clean CSV column names by removing BOM characters."""
|
||||||
|
return [field.lstrip('\ufeff') for field in fieldnames]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def read_csv_with_gtins(file_path: str, cis_column: str = "Код") -> Dict[str, List[Dict[str, str]]]:
|
||||||
|
"""Read CSV file and group data by SET CIS with GTIN information."""
|
||||||
|
pack_data = defaultdict(list)
|
||||||
|
|
||||||
|
with open(file_path, 'r', encoding='utf-8-sig') as file:
|
||||||
|
reader = csv.DictReader(file, delimiter=';')
|
||||||
|
|
||||||
|
if reader.fieldnames:
|
||||||
|
reader.fieldnames = CSVReader.clean_csv_columns(reader.fieldnames)
|
||||||
|
|
||||||
|
for row in reader:
|
||||||
|
set_cis = row.get('SET CIS', '').strip()
|
||||||
|
cis_code = row.get(cis_column, '').strip()
|
||||||
|
set_gtin = row.get('SET GTIN', '').strip()
|
||||||
|
gtin = row.get('GTIN', '').strip()
|
||||||
|
|
||||||
|
if set_cis and cis_code:
|
||||||
|
pack_data[set_cis].append({
|
||||||
|
'cis_code': cis_code,
|
||||||
|
'set_gtin': set_gtin,
|
||||||
|
'gtin': gtin
|
||||||
|
})
|
||||||
|
|
||||||
|
return pack_data
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def read_csv_simple(file_path: str, cis_column: str = "CIS") -> Dict[str, List[str]]:
|
||||||
|
"""Read CSV file and group CIS codes by SET CIS."""
|
||||||
|
pack_data = defaultdict(list)
|
||||||
|
|
||||||
|
with open(file_path, 'r', encoding='utf-8-sig') as file:
|
||||||
|
reader = csv.DictReader(file, delimiter=';')
|
||||||
|
|
||||||
|
if reader.fieldnames:
|
||||||
|
reader.fieldnames = CSVReader.clean_csv_columns(reader.fieldnames)
|
||||||
|
|
||||||
|
for row in reader:
|
||||||
|
set_cis = row.get('SET CIS', '').strip()
|
||||||
|
cis_code = row.get(cis_column, '').strip()
|
||||||
|
|
||||||
|
if set_cis and cis_code:
|
||||||
|
pack_data[set_cis].append(cis_code)
|
||||||
|
|
||||||
|
return pack_data
|
||||||
|
|
||||||
|
|
||||||
|
class SetDictionary:
|
||||||
|
"""Handles set dictionary loading and management."""
|
||||||
|
|
||||||
|
def __init__(self, dict_file_path: str):
|
||||||
|
self.rules = self._load_set_dict(dict_file_path)
|
||||||
|
|
||||||
|
def _load_set_dict(self, dict_file_path: str) -> Dict[str, List[Dict[str, Any]]]:
|
||||||
|
"""Load set dictionary rules from CSV file."""
|
||||||
|
set_rules = defaultdict(list)
|
||||||
|
|
||||||
|
with open(dict_file_path, 'r', encoding='utf-8-sig') as file:
|
||||||
|
reader = csv.DictReader(file, delimiter=';')
|
||||||
|
|
||||||
|
if reader.fieldnames:
|
||||||
|
reader.fieldnames = CSVReader.clean_csv_columns(reader.fieldnames)
|
||||||
|
|
||||||
|
for row in reader:
|
||||||
|
gtin_set = row.get('GTIN SET', '').strip()
|
||||||
|
gtin_item = row.get('GTIN ITEM', '').strip()
|
||||||
|
count = row.get('COUNT', '').strip()
|
||||||
|
|
||||||
|
if gtin_set and gtin_item and count:
|
||||||
|
try:
|
||||||
|
count_num = float(count)
|
||||||
|
set_rules[gtin_set].append({
|
||||||
|
'gtin_item': gtin_item,
|
||||||
|
'count': count_num,
|
||||||
|
'set_name': row.get('SET NAME', '').strip()
|
||||||
|
})
|
||||||
|
except ValueError:
|
||||||
|
continue
|
||||||
|
|
||||||
|
return set_rules
|
||||||
|
|
||||||
|
def get_rules(self) -> Dict[str, List[Dict[str, Any]]]:
|
||||||
|
"""Get all loaded rules."""
|
||||||
|
return self.rules
|
||||||
|
|
||||||
|
def get_rule_count(self) -> int:
|
||||||
|
"""Get the number of loaded rules."""
|
||||||
|
return len(self.rules)
|
||||||
|
|
||||||
|
|
||||||
|
class PackValidator:
|
||||||
|
"""Handles pack composition validation."""
|
||||||
|
|
||||||
|
def __init__(self, set_dictionary: SetDictionary):
|
||||||
|
self.set_dict = set_dictionary
|
||||||
|
|
||||||
|
def validate_composition(self, pack_data: Dict[str, List[Dict[str, str]]]) -> List[Dict[str, str]]:
|
||||||
|
"""Validate pack composition against set dictionary rules."""
|
||||||
|
validation_results = []
|
||||||
|
|
||||||
|
for set_cis, items in pack_data.items():
|
||||||
|
if not items:
|
||||||
|
continue
|
||||||
|
|
||||||
|
result = self._validate_single_pack(set_cis, items)
|
||||||
|
validation_results.append(result)
|
||||||
|
|
||||||
|
return validation_results
|
||||||
|
|
||||||
|
def _validate_single_pack(self, set_cis: str, items: List[Dict[str, str]]) -> Dict[str, str]:
|
||||||
|
"""Validate a single pack composition."""
|
||||||
|
# Get SET GTIN from first item (should be same for all items in pack)
|
||||||
|
set_gtin = items[0]['set_gtin']
|
||||||
|
|
||||||
|
# Get expected composition from set rules
|
||||||
|
expected_items = self.set_dict.get_rules().get(set_gtin, [])
|
||||||
|
if not expected_items:
|
||||||
|
return {
|
||||||
|
'set_cis': set_cis,
|
||||||
|
'set_gtin': set_gtin,
|
||||||
|
'status': 'WARNING',
|
||||||
|
'message': f'No rules found for SET GTIN: {set_gtin}'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Count actual GTINs
|
||||||
|
actual_gtins = [item['gtin'] for item in items if item['gtin']]
|
||||||
|
actual_counts = Counter(actual_gtins)
|
||||||
|
|
||||||
|
# Build expected counts
|
||||||
|
expected_counts = {}
|
||||||
|
set_name = ''
|
||||||
|
for item in expected_items:
|
||||||
|
expected_counts[item['gtin_item']] = int(item['count'])
|
||||||
|
if not set_name:
|
||||||
|
set_name = item['set_name']
|
||||||
|
|
||||||
|
# Validate composition
|
||||||
|
errors = self._check_composition_errors(actual_counts, expected_counts)
|
||||||
|
warnings = self._check_composition_warnings(actual_counts, expected_counts)
|
||||||
|
|
||||||
|
# Compile results
|
||||||
|
if errors:
|
||||||
|
return {
|
||||||
|
'set_cis': set_cis,
|
||||||
|
'set_gtin': set_gtin,
|
||||||
|
'set_name': set_name,
|
||||||
|
'status': 'ERROR',
|
||||||
|
'message': '; '.join(errors)
|
||||||
|
}
|
||||||
|
elif warnings:
|
||||||
|
return {
|
||||||
|
'set_cis': set_cis,
|
||||||
|
'set_gtin': set_gtin,
|
||||||
|
'set_name': set_name,
|
||||||
|
'status': 'WARNING',
|
||||||
|
'message': '; '.join(warnings)
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
return {
|
||||||
|
'set_cis': set_cis,
|
||||||
|
'set_gtin': set_gtin,
|
||||||
|
'set_name': set_name,
|
||||||
|
'status': 'OK',
|
||||||
|
'message': 'Composition is valid'
|
||||||
|
}
|
||||||
|
|
||||||
|
def _check_composition_errors(self, actual_counts: Counter, expected_counts: Dict[str, int]) -> List[str]:
|
||||||
|
"""Check for missing items or wrong counts."""
|
||||||
|
errors = []
|
||||||
|
|
||||||
|
for expected_gtin, expected_count in expected_counts.items():
|
||||||
|
actual_count = actual_counts.get(expected_gtin, 0)
|
||||||
|
if actual_count == 0:
|
||||||
|
errors.append(f'Missing GTIN {expected_gtin} (expected {expected_count})')
|
||||||
|
elif actual_count != expected_count:
|
||||||
|
errors.append(f'Wrong count for GTIN {expected_gtin}: got {actual_count}, expected {expected_count}')
|
||||||
|
|
||||||
|
return errors
|
||||||
|
|
||||||
|
def _check_composition_warnings(self, actual_counts: Counter, expected_counts: Dict[str, int]) -> List[str]:
|
||||||
|
"""Check for unexpected items."""
|
||||||
|
warnings = []
|
||||||
|
|
||||||
|
for actual_gtin, actual_count in actual_counts.items():
|
||||||
|
if actual_gtin not in expected_counts:
|
||||||
|
warnings.append(f'Unexpected GTIN {actual_gtin} (count: {actual_count})')
|
||||||
|
|
||||||
|
return warnings
|
||||||
|
|
||||||
|
|
||||||
|
class XMLGenerator:
|
||||||
|
"""Handles XML generation and template processing."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def escape_xml_content(text: str) -> str:
|
||||||
|
"""Properly escape XML content for CDATA sections."""
|
||||||
|
"""Looks, like no any escaping needed in CDATA section according to
|
||||||
|
text = text.replace('&', '&')
|
||||||
|
text = text.replace('<', '<')
|
||||||
|
text = text.replace('>', '>')"""
|
||||||
|
return text
|
||||||
|
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def generate_pack_content_xml(pack_data: Dict[str, List[str]]) -> List[str]:
|
||||||
|
"""Generate pack_content XML elements from grouped data."""
|
||||||
|
pack_contents = []
|
||||||
|
|
||||||
|
for set_cis, cis_codes in pack_data.items():
|
||||||
|
pack_content_lines = []
|
||||||
|
pack_content_lines.append(f' <pack_content>')
|
||||||
|
pack_content_lines.append(f' <pack_code><![CDATA[{set_cis}]]></pack_code>')
|
||||||
|
|
||||||
|
for cis_code in cis_codes:
|
||||||
|
escaped_cis = XMLGenerator.escape_xml_content(cis_code)
|
||||||
|
pack_content_lines.append(f' <cis><![CDATA[{escaped_cis}]]></cis>')
|
||||||
|
|
||||||
|
pack_content_lines.append(f' </pack_content>')
|
||||||
|
pack_contents.append('\n'.join(pack_content_lines))
|
||||||
|
|
||||||
|
return pack_contents
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def process_xml_template(template_path: str, pack_contents: List[str],
|
||||||
|
document_id: Optional[str] = None,
|
||||||
|
document_number: Optional[str] = None,
|
||||||
|
operation_time: Optional[str] = None) -> str:
|
||||||
|
"""Process XML template and insert pack_content sections with parameter substitution."""
|
||||||
|
with open(template_path, 'r', encoding='utf-8') as file:
|
||||||
|
template_content = file.read()
|
||||||
|
|
||||||
|
# Replace template parameters if provided
|
||||||
|
template_content = XMLGenerator._replace_template_parameters(
|
||||||
|
template_content, document_id, document_number, operation_time
|
||||||
|
)
|
||||||
|
|
||||||
|
# Insert pack content
|
||||||
|
return XMLGenerator._insert_pack_content(template_content, pack_contents)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _replace_template_parameters(template_content: str,
|
||||||
|
document_id: Optional[str],
|
||||||
|
document_number: Optional[str],
|
||||||
|
operation_time: Optional[str]) -> str:
|
||||||
|
"""Replace template parameters in XML content."""
|
||||||
|
if document_id:
|
||||||
|
template_content = re.sub(r'document_id="[^"]*"', f'document_id="{document_id}"', template_content)
|
||||||
|
|
||||||
|
if document_number:
|
||||||
|
template_content = re.sub(r'document_number="[^"]*"', f'document_number="{document_number}"', template_content)
|
||||||
|
|
||||||
|
if operation_time:
|
||||||
|
template_content = re.sub(r'operation_date_time="[^"]*"', f'operation_date_time="{operation_time}"', template_content)
|
||||||
|
|
||||||
|
return template_content
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _insert_pack_content(template_content: str, pack_contents: List[str]) -> str:
|
||||||
|
"""Insert pack_content sections into template."""
|
||||||
|
lines = template_content.split('\n')
|
||||||
|
result_lines = []
|
||||||
|
pack_content_inserted = False
|
||||||
|
inside_pack_content = False
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
if '<pack_content>' in line and not pack_content_inserted:
|
||||||
|
inside_pack_content = True
|
||||||
|
continue
|
||||||
|
elif '</pack_content>' in line and not pack_content_inserted:
|
||||||
|
inside_pack_content = False
|
||||||
|
continue
|
||||||
|
elif inside_pack_content and not pack_content_inserted:
|
||||||
|
continue
|
||||||
|
elif '</Document>' in line and not pack_content_inserted:
|
||||||
|
for pack_content in pack_contents:
|
||||||
|
result_lines.append(pack_content)
|
||||||
|
pack_content_inserted = True
|
||||||
|
result_lines.append(line)
|
||||||
|
else:
|
||||||
|
result_lines.append(line)
|
||||||
|
|
||||||
|
return '\n'.join(result_lines)
|
||||||
|
|
||||||
|
|
||||||
|
class ParameterGenerator:
|
||||||
|
"""Handles parameter generation and validation."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def generate_document_id() -> str:
|
||||||
|
"""Generate a unique document ID."""
|
||||||
|
return f"unit_pack_{str(uuid.uuid4()).replace('-', '').upper()}"
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def generate_operation_time() -> str:
|
||||||
|
"""Generate current operation time in ISO format."""
|
||||||
|
return datetime.now().isoformat()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def validate_operation_time(operation_time: str) -> bool:
|
||||||
|
"""Validate operation time format."""
|
||||||
|
try:
|
||||||
|
datetime.fromisoformat(operation_time.replace('Z', '+00:00'))
|
||||||
|
return True
|
||||||
|
except ValueError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
class ValidationReporter:
|
||||||
|
"""Handles validation result reporting."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def report_validation_summary(validation_results: List[Dict[str, str]]) -> Tuple[int, int, int]:
|
||||||
|
"""Report validation summary and return counts."""
|
||||||
|
errors = sum(1 for r in validation_results if r['status'] == 'ERROR')
|
||||||
|
warnings = sum(1 for r in validation_results if r['status'] == 'WARNING')
|
||||||
|
ok = sum(1 for r in validation_results if r['status'] == 'OK')
|
||||||
|
|
||||||
|
click.echo(f"Validation results: {ok} OK, {warnings} warnings, {errors} errors")
|
||||||
|
return ok, warnings, errors
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def report_validation_details(validation_results: List[Dict[str, str]], show_ok: bool = False):
|
||||||
|
"""Report detailed validation results."""
|
||||||
|
for result in validation_results:
|
||||||
|
if result['status'] == 'ERROR':
|
||||||
|
click.echo(f"❌ ERROR: {result['set_cis']} - {result['message']}", err=True)
|
||||||
|
elif result['status'] == 'WARNING':
|
||||||
|
click.echo(f"⚠️ WARNING: {result['set_cis']} - {result['message']}")
|
||||||
|
elif show_ok:
|
||||||
|
click.echo(f"✅ OK: {result['set_cis']} - {result['message']}")
|
||||||
|
|
||||||
|
|
||||||
|
class DryRunReporter:
|
||||||
|
"""Handles dry run reporting."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def report_pack_data_preview(pack_data: Dict[str, List], max_items: int = 3):
|
||||||
|
"""Report pack data preview for dry run."""
|
||||||
|
click.echo("\nDry run - would process:")
|
||||||
|
for set_cis, items in list(pack_data.items())[:max_items]:
|
||||||
|
click.echo(f" SET CIS: {set_cis}")
|
||||||
|
click.echo(f" CIS codes: {len(items)} items")
|
||||||
|
for item in items[:2]: # Show first 2 CIS codes
|
||||||
|
if isinstance(item, dict):
|
||||||
|
click.echo(f" - {item['cis_code']}")
|
||||||
|
else:
|
||||||
|
click.echo(f" - {item}")
|
||||||
|
if len(items) > 2:
|
||||||
|
click.echo(f" ... and {len(items) - 2} more")
|
||||||
|
|
||||||
|
if len(pack_data) > max_items:
|
||||||
|
click.echo(f" ... and {len(pack_data) - max_items} more SET CIS codes")
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def report_parameters(document_id: str, document_number: Optional[str], operation_time: str):
|
||||||
|
"""Report parameters that would be used."""
|
||||||
|
click.echo(f"\nWould use parameters:")
|
||||||
|
click.echo(f" Document ID: {document_id}")
|
||||||
|
click.echo(f" Document Number: {document_number or 'Not specified'}")
|
||||||
|
click.echo(f" Operation Time: {operation_time}")
|
||||||
|
|
||||||
|
|
||||||
|
# Keep the old function names for backward compatibility
|
||||||
|
def read_csv_file(file_path: str, cis_column: str = "Код") -> Dict[str, List[str]]:
|
||||||
|
"""Legacy function for backward compatibility."""
|
||||||
|
return CSVReader.read_csv_simple(file_path, cis_column)
|
||||||
|
|
||||||
|
|
||||||
|
def read_csv_file_with_gtins(file_path: str, cis_column: str = "Код") -> Dict[str, List[Dict[str, str]]]:
|
||||||
|
"""Legacy function for backward compatibility."""
|
||||||
|
return CSVReader.read_csv_with_gtins(file_path, cis_column)
|
||||||
|
|
||||||
|
|
||||||
|
def load_set_dict(dict_file_path: str) -> Dict[str, List[Dict[str, Any]]]:
|
||||||
|
"""Legacy function for backward compatibility."""
|
||||||
|
return SetDictionary(dict_file_path).get_rules()
|
||||||
|
|
||||||
|
|
||||||
|
def validate_pack_composition(pack_data: Dict[str, List[Dict[str, str]]],
|
||||||
|
set_rules: Dict[str, List[Dict[str, Any]]]) -> List[Dict[str, str]]:
|
||||||
|
"""Legacy function for backward compatibility."""
|
||||||
|
# Create a temporary SetDictionary with the rules
|
||||||
|
temp_dict = SetDictionary.__new__(SetDictionary)
|
||||||
|
temp_dict.rules = set_rules
|
||||||
|
|
||||||
|
validator = PackValidator(temp_dict)
|
||||||
|
return validator.validate_composition(pack_data)
|
||||||
|
|
||||||
|
|
||||||
|
def escape_xml_content(text: str) -> str:
|
||||||
|
"""Legacy function for backward compatibility."""
|
||||||
|
return XMLGenerator.escape_xml_content(text)
|
||||||
|
|
||||||
|
|
||||||
|
def generate_pack_content_xml(pack_data: Dict[str, List[str]]) -> List[str]:
|
||||||
|
"""Legacy function for backward compatibility."""
|
||||||
|
return XMLGenerator.generate_pack_content_xml(pack_data)
|
||||||
|
|
||||||
|
|
||||||
|
def process_xml_template(template_path: str, pack_contents: List[str],
|
||||||
|
document_id: Optional[str] = None,
|
||||||
|
document_number: Optional[str] = None,
|
||||||
|
operation_time: Optional[str] = None) -> str:
|
||||||
|
"""Legacy function for backward compatibility."""
|
||||||
|
return XMLGenerator.process_xml_template(template_path, pack_contents, document_id, document_number, operation_time)
|
||||||
|
|
||||||
|
|
||||||
|
class XMLGeneratorApp:
|
||||||
|
"""Main application class for XML generation."""
|
||||||
|
|
||||||
|
def __init__(self, csv_file: str, template_file: str, cis_column: str = "Код",
|
||||||
|
set_dict_file: Optional[str] = None):
|
||||||
|
self.csv_file = csv_file
|
||||||
|
self.template_file = template_file
|
||||||
|
self.cis_column = cis_column
|
||||||
|
self.set_dict_file = set_dict_file
|
||||||
|
|
||||||
|
# Initialize components
|
||||||
|
self.csv_reader = CSVReader()
|
||||||
|
self.xml_generator = XMLGenerator()
|
||||||
|
self.param_generator = ParameterGenerator()
|
||||||
|
self.validation_reporter = ValidationReporter()
|
||||||
|
self.dry_run_reporter = DryRunReporter()
|
||||||
|
|
||||||
|
# Initialize optional components
|
||||||
|
self.set_dictionary = None
|
||||||
|
self.validator = None
|
||||||
|
|
||||||
|
if set_dict_file:
|
||||||
|
self.set_dictionary = SetDictionary(set_dict_file)
|
||||||
|
self.validator = PackValidator(self.set_dictionary)
|
||||||
|
|
||||||
|
def load_data(self) -> Dict[str, List]:
|
||||||
|
"""Load CSV data with or without GTIN information."""
|
||||||
|
click.echo(f"Reading CSV file: {self.csv_file}")
|
||||||
|
click.echo(f"Using CIS column: {self.cis_column}")
|
||||||
|
|
||||||
|
if self.set_dict_file:
|
||||||
|
return self.csv_reader.read_csv_with_gtins(self.csv_file, self.cis_column)
|
||||||
|
else:
|
||||||
|
pack_data_simple = self.csv_reader.read_csv_simple(self.csv_file, self.cis_column)
|
||||||
|
# Convert to format expected by validation
|
||||||
|
pack_data = {}
|
||||||
|
for set_cis, cis_codes in pack_data_simple.items():
|
||||||
|
pack_data[set_cis] = [{'cis_code': cis} for cis in cis_codes]
|
||||||
|
return pack_data
|
||||||
|
|
||||||
|
def load_validation_rules(self) -> Optional[SetDictionary]:
|
||||||
|
"""Load validation rules if dictionary file is provided."""
|
||||||
|
if not self.set_dict_file:
|
||||||
|
return None
|
||||||
|
|
||||||
|
click.echo(f"Loading set dictionary: {self.set_dict_file}")
|
||||||
|
click.echo(f"Loaded {self.set_dictionary.get_rule_count()} set rules")
|
||||||
|
return self.set_dictionary
|
||||||
|
|
||||||
|
def validate_data(self, pack_data: Dict[str, List[Dict[str, str]]]) -> Tuple[List[Dict[str, str]], bool]:
|
||||||
|
"""Validate pack composition and return results with error flag."""
|
||||||
|
if not self.validator:
|
||||||
|
return [], False
|
||||||
|
|
||||||
|
click.echo("Validating pack composition...")
|
||||||
|
validation_results = self.validator.validate_composition(pack_data)
|
||||||
|
|
||||||
|
# Report validation summary
|
||||||
|
ok, warnings, errors = self.validation_reporter.report_validation_summary(validation_results)
|
||||||
|
|
||||||
|
return validation_results, errors > 0
|
||||||
|
|
||||||
|
def generate_parameters(self, document_id: Optional[str], document_number: Optional[str],
|
||||||
|
operation_time: Optional[str]) -> Tuple[str, Optional[str], str]:
|
||||||
|
"""Generate or validate parameters."""
|
||||||
|
if not document_id:
|
||||||
|
document_id = self.param_generator.generate_document_id()
|
||||||
|
|
||||||
|
if not operation_time:
|
||||||
|
operation_time = self.param_generator.generate_operation_time()
|
||||||
|
elif not self.param_generator.validate_operation_time(operation_time):
|
||||||
|
click.echo(f"Warning: Invalid operation time format: {operation_time}", err=True)
|
||||||
|
|
||||||
|
return document_id, document_number, operation_time
|
||||||
|
|
||||||
|
def process_dry_run(self, pack_data: Dict[str, List], validation_results: List[Dict[str, str]],
|
||||||
|
document_id: str, document_number: Optional[str], operation_time: str):
|
||||||
|
"""Process dry run mode."""
|
||||||
|
# Show validation details if available
|
||||||
|
if validation_results:
|
||||||
|
self.validation_reporter.report_validation_details(validation_results, show_ok=True)
|
||||||
|
|
||||||
|
# Show data preview
|
||||||
|
self.dry_run_reporter.report_pack_data_preview(pack_data)
|
||||||
|
|
||||||
|
# Show parameters
|
||||||
|
self.dry_run_reporter.report_parameters(document_id, document_number, operation_time)
|
||||||
|
|
||||||
|
def generate_xml_output(self, pack_data: Dict[str, List], document_id: str,
|
||||||
|
document_number: Optional[str], operation_time: str) -> str:
|
||||||
|
"""Generate XML output from pack data."""
|
||||||
|
# Convert pack_data to simple format for XML generation if needed
|
||||||
|
if self.set_dict_file:
|
||||||
|
simple_pack_data = {}
|
||||||
|
for set_cis, items in pack_data.items():
|
||||||
|
simple_pack_data[set_cis] = [item['cis_code'] for item in items]
|
||||||
|
pack_data = simple_pack_data
|
||||||
|
|
||||||
|
# Generate pack_content XML sections
|
||||||
|
click.echo("Generating pack_content sections...")
|
||||||
|
pack_contents = self.xml_generator.generate_pack_content_xml(pack_data)
|
||||||
|
|
||||||
|
# Process template
|
||||||
|
click.echo(f"Processing template: {self.template_file}")
|
||||||
|
return self.xml_generator.process_xml_template(
|
||||||
|
self.template_file, pack_contents, document_id, document_number, operation_time
|
||||||
|
)
|
||||||
|
|
||||||
|
def save_or_print_output(self, xml_content: str, output_file: Optional[str]):
|
||||||
|
"""Save XML to file or print to stdout."""
|
||||||
|
if output_file:
|
||||||
|
with open(output_file, 'w', encoding='utf-8') as f:
|
||||||
|
f.write(xml_content)
|
||||||
|
click.echo(f"XML generated successfully: {output_file}")
|
||||||
|
else:
|
||||||
|
click.echo(xml_content)
|
||||||
|
|
||||||
|
|
||||||
|
@click.command()
|
||||||
|
@click.argument('csv_file', type=click.Path(exists=True, dir_okay=False))
|
||||||
|
@click.argument('template_file', type=click.Path(exists=True, dir_okay=False))
|
||||||
|
@click.option('--output', '-o', type=click.Path(dir_okay=False),
|
||||||
|
help='Output XML file path. If not specified, prints to stdout.')
|
||||||
|
@click.option('--cis-column', '-c', default='CIS',
|
||||||
|
help='Column name for CIS codes in CSV file (default: "CIS")')
|
||||||
|
@click.option('--encoding', '-e', default='utf-8',
|
||||||
|
help='CSV file encoding (default: utf-8)')
|
||||||
|
@click.option('--dry-run', is_flag=True,
|
||||||
|
help='Show what would be processed without generating output')
|
||||||
|
@click.option('--set-dict', type=click.Path(exists=True, dir_okay=False),
|
||||||
|
help='Path to set dictionary CSV file for validation')
|
||||||
|
@click.option('--document-id', type=str,
|
||||||
|
help='Document ID to use in XML (auto-generated if not provided)')
|
||||||
|
@click.option('--document-number', type=str,
|
||||||
|
help='Document number to use in XML')
|
||||||
|
@click.option('--operation-time', type=str,
|
||||||
|
help='Operation time in ISO format (auto-generated if not provided)')
|
||||||
|
@click.option('--validate-only', is_flag=True,
|
||||||
|
help='Only validate composition without generating XML')
|
||||||
|
def generate_xml(csv_file: str, template_file: str, output: Optional[str], cis_column: str,
|
||||||
|
encoding: str, dry_run: bool, set_dict: Optional[str], document_id: Optional[str],
|
||||||
|
document_number: Optional[str], operation_time: Optional[str], validate_only: bool):
|
||||||
|
"""
|
||||||
|
Generate XML file from CSV data and template with validation.
|
||||||
|
|
||||||
|
CSV_FILE: Path to semicolon-separated CSV file containing SET CIS and CIS codes
|
||||||
|
TEMPLATE_FILE: Path to XML template file
|
||||||
|
|
||||||
|
The CSV file should contain columns:
|
||||||
|
- 'SET CIS': Pack codes that will become <pack_code> elements
|
||||||
|
- Column specified by --cis-column: Individual CIS codes that will become <cis> elements
|
||||||
|
- 'SET GTIN': SET GTIN codes for validation
|
||||||
|
- 'GTIN': Individual GTIN codes for validation
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
# Initialize application
|
||||||
|
app = XMLGeneratorApp(csv_file, template_file, cis_column, set_dict)
|
||||||
|
|
||||||
|
# Load validation rules if provided
|
||||||
|
app.load_validation_rules()
|
||||||
|
|
||||||
|
# Load CSV data
|
||||||
|
pack_data = app.load_data()
|
||||||
|
|
||||||
|
if not pack_data:
|
||||||
|
click.echo("No data found in CSV file or no matching columns.", err=True)
|
||||||
|
return
|
||||||
|
|
||||||
|
click.echo(f"Found {len(pack_data)} unique SET CIS codes")
|
||||||
|
|
||||||
|
# Validate composition if dictionary is provided
|
||||||
|
validation_results, has_errors = app.validate_data(pack_data)
|
||||||
|
|
||||||
|
# Show detailed validation results
|
||||||
|
if validation_results:
|
||||||
|
app.validation_reporter.report_validation_details(validation_results, show_ok=dry_run)
|
||||||
|
|
||||||
|
if has_errors and not dry_run and not validate_only:
|
||||||
|
click.echo("Errors found. Use --dry-run to see all issues or fix them before generating XML.", err=True)
|
||||||
|
return
|
||||||
|
|
||||||
|
if validate_only:
|
||||||
|
click.echo("Validation complete. Use without --validate-only to generate XML.")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Generate parameters
|
||||||
|
document_id, document_number, operation_time = app.generate_parameters(
|
||||||
|
document_id, document_number, operation_time
|
||||||
|
)
|
||||||
|
|
||||||
|
if dry_run:
|
||||||
|
app.process_dry_run(pack_data, validation_results, document_id, document_number, operation_time)
|
||||||
|
return
|
||||||
|
|
||||||
|
# Generate XML output
|
||||||
|
xml_content = app.generate_xml_output(pack_data, document_id, document_number, operation_time)
|
||||||
|
|
||||||
|
# Save or print output
|
||||||
|
app.save_or_print_output(xml_content, output)
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
click.echo(f"Error: {str(e)}", err=True)
|
||||||
|
raise click.Abort()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
generate_xml()
|
||||||
632
xml_generator_2_0.py
Normal file
632
xml_generator_2_0.py
Normal file
@@ -0,0 +1,632 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""
|
||||||
|
XML Generator 2.0 CLI Tool
|
||||||
|
Processes XLSX or CSV files to generate XML with pack_content sections.
|
||||||
|
Includes validation against set dictionary rules.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import click
|
||||||
|
import csv
|
||||||
|
import xml.etree.ElementTree as ET
|
||||||
|
from collections import defaultdict, Counter
|
||||||
|
import re
|
||||||
|
import uuid
|
||||||
|
from datetime import datetime
|
||||||
|
from typing import Dict, List, Optional, Tuple, Any
|
||||||
|
|
||||||
|
try:
|
||||||
|
import openpyxl
|
||||||
|
except ImportError:
|
||||||
|
pass # Will be handled with an explicit error inside DataReader if needed
|
||||||
|
|
||||||
|
def _safe_str(val: Any) -> str:
|
||||||
|
"""Safely convert Excel cell values to string, preserving formatting as best as possible."""
|
||||||
|
if val is None:
|
||||||
|
return ""
|
||||||
|
if isinstance(val, float):
|
||||||
|
# Prevent outputting '1.0' for integer counts or GTINs that were read as floats
|
||||||
|
if val.is_integer():
|
||||||
|
return str(int(val))
|
||||||
|
return str(val).strip()
|
||||||
|
|
||||||
|
|
||||||
|
class DataReader:
|
||||||
|
"""Handles XLSX and CSV file reading and data processing."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _read_csv(file_path: str) -> Tuple[List[str], List[Dict[str, Any]]]:
|
||||||
|
"""Read CSV file and return headers and rows."""
|
||||||
|
with open(file_path, 'r', encoding='utf-8-sig') as file:
|
||||||
|
reader = csv.DictReader(file, delimiter=';')
|
||||||
|
headers = [field.lstrip('\ufeff') for field in reader.fieldnames] if reader.fieldnames else []
|
||||||
|
rows = []
|
||||||
|
for row in reader:
|
||||||
|
clean_row = {k.lstrip('\ufeff') if isinstance(k, str) else k: v for k, v in row.items()}
|
||||||
|
rows.append(clean_row)
|
||||||
|
return headers, rows
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _read_xlsx(file_path: str) -> Tuple[List[str], List[Dict[str, Any]]]:
|
||||||
|
"""Read XLSX file and return headers and rows."""
|
||||||
|
try:
|
||||||
|
import openpyxl
|
||||||
|
except ImportError:
|
||||||
|
raise ImportError("Please install openpyxl to read .xlsx files (pip install openpyxl)")
|
||||||
|
|
||||||
|
wb = openpyxl.load_workbook(file_path, data_only=True)
|
||||||
|
sheet = wb.active
|
||||||
|
|
||||||
|
# Get headers
|
||||||
|
headers = [_safe_str(cell.value) for cell in sheet[1]]
|
||||||
|
|
||||||
|
rows = []
|
||||||
|
for row in sheet.iter_rows(min_row=2, values_only=True):
|
||||||
|
if any(cell is not None for cell in row):
|
||||||
|
row_dict = dict(zip(headers, [_safe_str(cell) for cell in row]))
|
||||||
|
rows.append(row_dict)
|
||||||
|
return headers, rows
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _read_file(file_path: str) -> Tuple[List[str], List[Dict[str, Any]]]:
|
||||||
|
"""Route to appropriate reader based on file extension."""
|
||||||
|
if str(file_path).lower().endswith('.xlsx'):
|
||||||
|
return DataReader._read_xlsx(file_path)
|
||||||
|
else:
|
||||||
|
return DataReader._read_csv(file_path)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def read_data_with_gtins(file_path: str, cis_column: str = "Код") -> Dict[str, List[Dict[str, str]]]:
|
||||||
|
"""Read data file and group data by SET CIS with GTIN information."""
|
||||||
|
pack_data = defaultdict(list)
|
||||||
|
headers, rows = DataReader._read_file(file_path)
|
||||||
|
|
||||||
|
for row in rows:
|
||||||
|
# Поддержка новых и старых названий колонок
|
||||||
|
set_cis = row.get('SET_CODE', row.get('SET CIS', ''))
|
||||||
|
cis_code = row.get('ITEM_CODE', row.get(cis_column, ''))
|
||||||
|
set_gtin = row.get('SET_GTIN', row.get('SET GTIN', ''))
|
||||||
|
gtin = row.get('ITEM_GTIN', row.get('GTIN', ''))
|
||||||
|
|
||||||
|
if set_cis and cis_code:
|
||||||
|
pack_data[set_cis].append({
|
||||||
|
'cis_code': cis_code,
|
||||||
|
'set_gtin': set_gtin,
|
||||||
|
'gtin': gtin
|
||||||
|
})
|
||||||
|
|
||||||
|
return pack_data
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def read_data_simple(file_path: str, cis_column: str = "CIS") -> Dict[str, List[str]]:
|
||||||
|
"""Read data file and group CIS codes by SET CIS."""
|
||||||
|
pack_data = defaultdict(list)
|
||||||
|
headers, rows = DataReader._read_file(file_path)
|
||||||
|
|
||||||
|
for row in rows:
|
||||||
|
# Поддержка новых и старых названий колонок
|
||||||
|
set_cis = row.get('SET_CODE', row.get('SET CIS', ''))
|
||||||
|
cis_code = row.get('ITEM_CODE', row.get(cis_column, ''))
|
||||||
|
|
||||||
|
if set_cis and cis_code:
|
||||||
|
pack_data[set_cis].append(cis_code)
|
||||||
|
|
||||||
|
return pack_data
|
||||||
|
|
||||||
|
|
||||||
|
class SetDictionary:
|
||||||
|
"""Handles set dictionary loading and management."""
|
||||||
|
|
||||||
|
def __init__(self, dict_file_path: str):
|
||||||
|
self.rules = self._load_set_dict(dict_file_path)
|
||||||
|
|
||||||
|
def _load_set_dict(self, dict_file_path: str) -> Dict[str, List[Dict[str, Any]]]:
|
||||||
|
"""Load set dictionary rules from XLSX or CSV file."""
|
||||||
|
set_rules = defaultdict(list)
|
||||||
|
headers, rows = DataReader._read_file(dict_file_path)
|
||||||
|
|
||||||
|
for row in rows:
|
||||||
|
# Support both new XLSX format and old CSV format
|
||||||
|
gtin_set = row.get('GTIN_FULL', row.get('GTIN SET', ''))
|
||||||
|
gtin_item = row.get('GTIN_ITEM_FULL', row.get('GTIN ITEM', ''))
|
||||||
|
count_val = row.get('Количество штук в упаковке', row.get('COUNT', ''))
|
||||||
|
set_name = row.get('Полное наименование товара', row.get('SET NAME', ''))
|
||||||
|
|
||||||
|
if gtin_set and gtin_item and count_val != '':
|
||||||
|
try:
|
||||||
|
count_num = float(count_val)
|
||||||
|
set_rules[gtin_set].append({
|
||||||
|
'gtin_item': gtin_item,
|
||||||
|
'count': count_num,
|
||||||
|
'set_name': set_name
|
||||||
|
})
|
||||||
|
except ValueError:
|
||||||
|
continue
|
||||||
|
|
||||||
|
return set_rules
|
||||||
|
|
||||||
|
def get_rules(self) -> Dict[str, List[Dict[str, Any]]]:
|
||||||
|
"""Get all loaded rules."""
|
||||||
|
return self.rules
|
||||||
|
|
||||||
|
def get_rule_count(self) -> int:
|
||||||
|
"""Get the number of loaded rules."""
|
||||||
|
return len(self.rules)
|
||||||
|
|
||||||
|
|
||||||
|
class PackValidator:
|
||||||
|
"""Handles pack composition validation."""
|
||||||
|
|
||||||
|
def __init__(self, set_dictionary: SetDictionary):
|
||||||
|
self.set_dict = set_dictionary
|
||||||
|
|
||||||
|
def validate_composition(self, pack_data: Dict[str, List[Dict[str, str]]]) -> List[Dict[str, str]]:
|
||||||
|
"""Validate pack composition against set dictionary rules."""
|
||||||
|
validation_results = []
|
||||||
|
|
||||||
|
for set_cis, items in pack_data.items():
|
||||||
|
if not items:
|
||||||
|
continue
|
||||||
|
|
||||||
|
result = self._validate_single_pack(set_cis, items)
|
||||||
|
validation_results.append(result)
|
||||||
|
|
||||||
|
return validation_results
|
||||||
|
|
||||||
|
def _validate_single_pack(self, set_cis: str, items: List[Dict[str, str]]) -> Dict[str, str]:
|
||||||
|
"""Validate a single pack composition."""
|
||||||
|
# Get SET GTIN from first item (should be same for all items in pack)
|
||||||
|
set_gtin = items[0]['set_gtin']
|
||||||
|
|
||||||
|
# Get expected composition from set rules
|
||||||
|
expected_items = self.set_dict.get_rules().get(set_gtin, [])
|
||||||
|
if not expected_items:
|
||||||
|
return {
|
||||||
|
'set_cis': set_cis,
|
||||||
|
'set_gtin': set_gtin,
|
||||||
|
'status': 'WARNING',
|
||||||
|
'message': f'No rules found for SET GTIN: {set_gtin}'
|
||||||
|
}
|
||||||
|
|
||||||
|
# Count actual GTINs
|
||||||
|
actual_gtins = [item['gtin'] for item in items if item['gtin']]
|
||||||
|
actual_counts = Counter(actual_gtins)
|
||||||
|
|
||||||
|
# Build expected counts
|
||||||
|
expected_counts = {}
|
||||||
|
set_name = ''
|
||||||
|
for item in expected_items:
|
||||||
|
expected_counts[item['gtin_item']] = int(item['count'])
|
||||||
|
if not set_name:
|
||||||
|
set_name = item['set_name']
|
||||||
|
|
||||||
|
# Validate composition
|
||||||
|
errors = self._check_composition_errors(actual_counts, expected_counts)
|
||||||
|
warnings = self._check_composition_warnings(actual_counts, expected_counts)
|
||||||
|
|
||||||
|
# Compile results
|
||||||
|
if errors:
|
||||||
|
return {
|
||||||
|
'set_cis': set_cis,
|
||||||
|
'set_gtin': set_gtin,
|
||||||
|
'set_name': set_name,
|
||||||
|
'status': 'ERROR',
|
||||||
|
'message': '; '.join(errors)
|
||||||
|
}
|
||||||
|
elif warnings:
|
||||||
|
return {
|
||||||
|
'set_cis': set_cis,
|
||||||
|
'set_gtin': set_gtin,
|
||||||
|
'set_name': set_name,
|
||||||
|
'status': 'WARNING',
|
||||||
|
'message': '; '.join(warnings)
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
return {
|
||||||
|
'set_cis': set_cis,
|
||||||
|
'set_gtin': set_gtin,
|
||||||
|
'set_name': set_name,
|
||||||
|
'status': 'OK',
|
||||||
|
'message': 'Composition is valid'
|
||||||
|
}
|
||||||
|
|
||||||
|
def _check_composition_errors(self, actual_counts: Counter, expected_counts: Dict[str, int]) -> List[str]:
|
||||||
|
"""Check for missing items or wrong counts."""
|
||||||
|
errors = []
|
||||||
|
|
||||||
|
for expected_gtin, expected_count in expected_counts.items():
|
||||||
|
actual_count = actual_counts.get(expected_gtin, 0)
|
||||||
|
if actual_count == 0:
|
||||||
|
errors.append(f'Missing GTIN {expected_gtin} (expected {expected_count})')
|
||||||
|
elif actual_count != expected_count:
|
||||||
|
errors.append(f'Wrong count for GTIN {expected_gtin}: got {actual_count}, expected {expected_count}')
|
||||||
|
|
||||||
|
return errors
|
||||||
|
|
||||||
|
def _check_composition_warnings(self, actual_counts: Counter, expected_counts: Dict[str, int]) -> List[str]:
|
||||||
|
"""Check for unexpected items."""
|
||||||
|
warnings = []
|
||||||
|
|
||||||
|
for actual_gtin, actual_count in actual_counts.items():
|
||||||
|
if actual_gtin not in expected_counts:
|
||||||
|
warnings.append(f'Unexpected GTIN {actual_gtin} (count: {actual_count})')
|
||||||
|
|
||||||
|
return warnings
|
||||||
|
|
||||||
|
|
||||||
|
class XMLGenerator:
|
||||||
|
"""Handles XML generation and template processing."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def escape_xml_content(text: str) -> str:
|
||||||
|
"""Properly escape XML content for CDATA sections."""
|
||||||
|
# Note: XML CDATA does not strictly require escaping,
|
||||||
|
# but kept here for potential expansion.
|
||||||
|
return text
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def generate_pack_content_xml(pack_data: Dict[str, List[str]]) -> List[str]:
|
||||||
|
"""Generate pack_content XML elements from grouped data."""
|
||||||
|
pack_contents = []
|
||||||
|
|
||||||
|
for set_cis, cis_codes in pack_data.items():
|
||||||
|
pack_content_lines = []
|
||||||
|
pack_content_lines.append(f' <pack_content>')
|
||||||
|
pack_content_lines.append(f' <pack_code><![CDATA[{set_cis}]]></pack_code>')
|
||||||
|
|
||||||
|
for cis_code in cis_codes:
|
||||||
|
escaped_cis = XMLGenerator.escape_xml_content(cis_code)
|
||||||
|
pack_content_lines.append(f' <cis><![CDATA[{escaped_cis}]]></cis>')
|
||||||
|
|
||||||
|
pack_content_lines.append(f' </pack_content>')
|
||||||
|
pack_contents.append('\n'.join(pack_content_lines))
|
||||||
|
|
||||||
|
return pack_contents
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def process_xml_template(template_path: str, pack_contents: List[str],
|
||||||
|
document_id: Optional[str] = None,
|
||||||
|
document_number: Optional[str] = None,
|
||||||
|
operation_time: Optional[str] = None) -> str:
|
||||||
|
"""Process XML template and insert pack_content sections with parameter substitution."""
|
||||||
|
with open(template_path, 'r', encoding='utf-8') as file:
|
||||||
|
template_content = file.read()
|
||||||
|
|
||||||
|
# Replace template parameters if provided
|
||||||
|
template_content = XMLGenerator._replace_template_parameters(
|
||||||
|
template_content, document_id, document_number, operation_time
|
||||||
|
)
|
||||||
|
|
||||||
|
# Insert pack content
|
||||||
|
return XMLGenerator._insert_pack_content(template_content, pack_contents)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _replace_template_parameters(template_content: str,
|
||||||
|
document_id: Optional[str],
|
||||||
|
document_number: Optional[str],
|
||||||
|
operation_time: Optional[str]) -> str:
|
||||||
|
"""Replace template parameters in XML content."""
|
||||||
|
if document_id:
|
||||||
|
template_content = re.sub(r'document_id="[^"]*"', f'document_id="{document_id}"', template_content)
|
||||||
|
|
||||||
|
if document_number:
|
||||||
|
template_content = re.sub(r'document_number="[^"]*"', f'document_number="{document_number}"', template_content)
|
||||||
|
|
||||||
|
if operation_time:
|
||||||
|
template_content = re.sub(r'operation_date_time="[^"]*"', f'operation_date_time="{operation_time}"', template_content)
|
||||||
|
|
||||||
|
return template_content
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _insert_pack_content(template_content: str, pack_contents: List[str]) -> str:
|
||||||
|
"""Insert pack_content sections into template."""
|
||||||
|
lines = template_content.split('\n')
|
||||||
|
result_lines = []
|
||||||
|
pack_content_inserted = False
|
||||||
|
inside_pack_content = False
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
if '<pack_content>' in line and not pack_content_inserted:
|
||||||
|
inside_pack_content = True
|
||||||
|
continue
|
||||||
|
elif '</pack_content>' in line and not pack_content_inserted:
|
||||||
|
inside_pack_content = False
|
||||||
|
continue
|
||||||
|
elif inside_pack_content and not pack_content_inserted:
|
||||||
|
continue
|
||||||
|
elif '</Document>' in line and not pack_content_inserted:
|
||||||
|
for pack_content in pack_contents:
|
||||||
|
result_lines.append(pack_content)
|
||||||
|
pack_content_inserted = True
|
||||||
|
result_lines.append(line)
|
||||||
|
else:
|
||||||
|
result_lines.append(line)
|
||||||
|
|
||||||
|
return '\n'.join(result_lines)
|
||||||
|
|
||||||
|
|
||||||
|
class ParameterGenerator:
|
||||||
|
"""Handles parameter generation and validation."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def generate_document_id() -> str:
|
||||||
|
"""Generate a unique document ID."""
|
||||||
|
return f"unit_pack_{str(uuid.uuid4()).replace('-', '').upper()}"
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def generate_operation_time() -> str:
|
||||||
|
"""Generate current operation time in ISO format."""
|
||||||
|
return datetime.now().isoformat()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def validate_operation_time(operation_time: str) -> bool:
|
||||||
|
"""Validate operation time format."""
|
||||||
|
try:
|
||||||
|
datetime.fromisoformat(operation_time.replace('Z', '+00:00'))
|
||||||
|
return True
|
||||||
|
except ValueError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
class ValidationReporter:
|
||||||
|
"""Handles validation result reporting."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def report_validation_summary(validation_results: List[Dict[str, str]]) -> Tuple[int, int, int]:
|
||||||
|
"""Report validation summary and return counts."""
|
||||||
|
errors = sum(1 for r in validation_results if r['status'] == 'ERROR')
|
||||||
|
warnings = sum(1 for r in validation_results if r['status'] == 'WARNING')
|
||||||
|
ok = sum(1 for r in validation_results if r['status'] == 'OK')
|
||||||
|
|
||||||
|
click.echo(f"Validation results: {ok} OK, {warnings} warnings, {errors} errors")
|
||||||
|
return ok, warnings, errors
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def report_validation_details(validation_results: List[Dict[str, str]], show_ok: bool = False):
|
||||||
|
"""Report detailed validation results."""
|
||||||
|
for result in validation_results:
|
||||||
|
if result['status'] == 'ERROR':
|
||||||
|
click.echo(f"❌ ERROR: {result['set_cis']} - {result['message']}", err=True)
|
||||||
|
elif result['status'] == 'WARNING':
|
||||||
|
click.echo(f"⚠️ WARNING: {result['set_cis']} - {result['message']}")
|
||||||
|
elif show_ok:
|
||||||
|
click.echo(f"✅ OK: {result['set_cis']} - {result['message']}")
|
||||||
|
|
||||||
|
|
||||||
|
class DryRunReporter:
|
||||||
|
"""Handles dry run reporting."""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def report_pack_data_preview(pack_data: Dict[str, List], max_items: int = 3):
|
||||||
|
"""Report pack data preview for dry run."""
|
||||||
|
click.echo("\nDry run - would process:")
|
||||||
|
for set_cis, items in list(pack_data.items())[:max_items]:
|
||||||
|
click.echo(f" SET CIS: {set_cis}")
|
||||||
|
click.echo(f" CIS codes: {len(items)} items")
|
||||||
|
for item in items[:2]: # Show first 2 CIS codes
|
||||||
|
if isinstance(item, dict):
|
||||||
|
click.echo(f" - {item['cis_code']}")
|
||||||
|
else:
|
||||||
|
click.echo(f" - {item}")
|
||||||
|
if len(items) > 2:
|
||||||
|
click.echo(f" ... and {len(items) - 2} more")
|
||||||
|
|
||||||
|
if len(pack_data) > max_items:
|
||||||
|
click.echo(f" ... and {len(pack_data) - max_items} more SET CIS codes")
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def report_parameters(document_id: str, document_number: Optional[str], operation_time: str):
|
||||||
|
"""Report parameters that would be used."""
|
||||||
|
click.echo(f"\nWould use parameters:")
|
||||||
|
click.echo(f" Document ID: {document_id}")
|
||||||
|
click.echo(f" Document Number: {document_number or 'Not specified'}")
|
||||||
|
click.echo(f" Operation Time: {operation_time}")
|
||||||
|
|
||||||
|
|
||||||
|
class XMLGeneratorApp:
|
||||||
|
"""Main application class for XML generation."""
|
||||||
|
|
||||||
|
def __init__(self, input_file: str, template_file: str, cis_column: str = "Код",
|
||||||
|
set_dict_file: Optional[str] = None):
|
||||||
|
self.input_file = input_file
|
||||||
|
self.template_file = template_file
|
||||||
|
self.cis_column = cis_column
|
||||||
|
self.set_dict_file = set_dict_file
|
||||||
|
|
||||||
|
# Initialize components
|
||||||
|
self.data_reader = DataReader()
|
||||||
|
self.xml_generator = XMLGenerator()
|
||||||
|
self.param_generator = ParameterGenerator()
|
||||||
|
self.validation_reporter = ValidationReporter()
|
||||||
|
self.dry_run_reporter = DryRunReporter()
|
||||||
|
|
||||||
|
# Initialize optional components
|
||||||
|
self.set_dictionary = None
|
||||||
|
self.validator = None
|
||||||
|
|
||||||
|
if set_dict_file:
|
||||||
|
self.set_dictionary = SetDictionary(set_dict_file)
|
||||||
|
self.validator = PackValidator(self.set_dictionary)
|
||||||
|
|
||||||
|
def load_data(self) -> Dict[str, List]:
|
||||||
|
"""Load Data from XLSX/CSV with or without GTIN information."""
|
||||||
|
click.echo(f"Reading file: {self.input_file}")
|
||||||
|
click.echo(f"Using CIS column: {self.cis_column}")
|
||||||
|
|
||||||
|
if self.set_dict_file:
|
||||||
|
return self.data_reader.read_data_with_gtins(self.input_file, self.cis_column)
|
||||||
|
else:
|
||||||
|
pack_data_simple = self.data_reader.read_data_simple(self.input_file, self.cis_column)
|
||||||
|
# Convert to format expected by validation logic
|
||||||
|
pack_data = {}
|
||||||
|
for set_cis, cis_codes in pack_data_simple.items():
|
||||||
|
pack_data[set_cis] = [{'cis_code': cis} for cis in cis_codes]
|
||||||
|
return pack_data
|
||||||
|
|
||||||
|
def load_validation_rules(self) -> Optional[SetDictionary]:
|
||||||
|
"""Load validation rules if dictionary file is provided."""
|
||||||
|
if not self.set_dict_file:
|
||||||
|
return None
|
||||||
|
|
||||||
|
click.echo(f"Loading set dictionary: {self.set_dict_file}")
|
||||||
|
click.echo(f"Loaded {self.set_dictionary.get_rule_count()} set rules")
|
||||||
|
return self.set_dictionary
|
||||||
|
|
||||||
|
def validate_data(self, pack_data: Dict[str, List[Dict[str, str]]]) -> Tuple[List[Dict[str, str]], bool]:
|
||||||
|
"""Validate pack composition and return results with error flag."""
|
||||||
|
if not self.validator:
|
||||||
|
return [], False
|
||||||
|
|
||||||
|
click.echo("Validating pack composition...")
|
||||||
|
validation_results = self.validator.validate_composition(pack_data)
|
||||||
|
|
||||||
|
# Report validation summary
|
||||||
|
ok, warnings, errors = self.validation_reporter.report_validation_summary(validation_results)
|
||||||
|
|
||||||
|
return validation_results, errors > 0
|
||||||
|
|
||||||
|
def generate_parameters(self, document_id: Optional[str], document_number: Optional[str],
|
||||||
|
operation_time: Optional[str]) -> Tuple[str, Optional[str], str]:
|
||||||
|
"""Generate or validate parameters."""
|
||||||
|
if not document_id:
|
||||||
|
document_id = self.param_generator.generate_document_id()
|
||||||
|
|
||||||
|
if not operation_time:
|
||||||
|
operation_time = self.param_generator.generate_operation_time()
|
||||||
|
elif not self.param_generator.validate_operation_time(operation_time):
|
||||||
|
click.echo(f"Warning: Invalid operation time format: {operation_time}", err=True)
|
||||||
|
|
||||||
|
return document_id, document_number, operation_time
|
||||||
|
|
||||||
|
def process_dry_run(self, pack_data: Dict[str, List], validation_results: List[Dict[str, str]],
|
||||||
|
document_id: str, document_number: Optional[str], operation_time: str):
|
||||||
|
"""Process dry run mode."""
|
||||||
|
# Show validation details if available
|
||||||
|
if validation_results:
|
||||||
|
self.validation_reporter.report_validation_details(validation_results, show_ok=True)
|
||||||
|
|
||||||
|
# Show data preview
|
||||||
|
self.dry_run_reporter.report_pack_data_preview(pack_data)
|
||||||
|
|
||||||
|
# Show parameters
|
||||||
|
self.dry_run_reporter.report_parameters(document_id, document_number, operation_time)
|
||||||
|
|
||||||
|
def generate_xml_output(self, pack_data: Dict[str, List], document_id: str,
|
||||||
|
document_number: Optional[str], operation_time: str) -> str:
|
||||||
|
"""Generate XML output from pack data."""
|
||||||
|
# Convert pack_data to simple format for XML generation if needed
|
||||||
|
if self.set_dict_file:
|
||||||
|
simple_pack_data = {}
|
||||||
|
for set_cis, items in pack_data.items():
|
||||||
|
simple_pack_data[set_cis] = [item['cis_code'] for item in items]
|
||||||
|
pack_data = simple_pack_data
|
||||||
|
|
||||||
|
# Generate pack_content XML sections
|
||||||
|
click.echo("Generating pack_content sections...")
|
||||||
|
pack_contents = self.xml_generator.generate_pack_content_xml(pack_data)
|
||||||
|
|
||||||
|
# Process template
|
||||||
|
click.echo(f"Processing template: {self.template_file}")
|
||||||
|
return self.xml_generator.process_xml_template(
|
||||||
|
self.template_file, pack_contents, document_id, document_number, operation_time
|
||||||
|
)
|
||||||
|
|
||||||
|
def save_or_print_output(self, xml_content: str, output_file: Optional[str]):
|
||||||
|
"""Save XML to file or print to stdout."""
|
||||||
|
# Если выходной файл не указан, генерируем его имя на основе входного
|
||||||
|
if not output_file:
|
||||||
|
import os
|
||||||
|
base_name, _ = os.path.splitext(self.input_file)
|
||||||
|
output_file = f"{base_name}_output.xml"
|
||||||
|
|
||||||
|
with open(output_file, 'w', encoding='utf-8') as f:
|
||||||
|
f.write(xml_content)
|
||||||
|
click.echo(f"XML generated successfully: {output_file}")
|
||||||
|
|
||||||
|
|
||||||
|
@click.command()
|
||||||
|
@click.argument('input_file', type=click.Path(exists=True, dir_okay=False))
|
||||||
|
@click.argument('template_file', type=click.Path(exists=True, dir_okay=False))
|
||||||
|
@click.option('--output', '-o', type=click.Path(dir_okay=False),
|
||||||
|
help='Output XML file path. If not specified, generates [input_filename]_output.xml in the same directory.')
|
||||||
|
@click.option('--cis-column', '-c', default='CIS',
|
||||||
|
help='Legacy column name for CIS codes in data file if ITEM_CODE is not found (default: "CIS")')
|
||||||
|
@click.option('--dry-run', is_flag=True,
|
||||||
|
help='Show what would be processed without generating output')
|
||||||
|
@click.option('--set-dict', type=click.Path(exists=True, dir_okay=False),
|
||||||
|
help='Path to set dictionary (XLSX/CSV) file for validation')
|
||||||
|
@click.option('--document-id', type=str,
|
||||||
|
help='Document ID to use in XML (auto-generated if not provided)')
|
||||||
|
@click.option('--document-number', type=str,
|
||||||
|
help='Document number to use in XML')
|
||||||
|
@click.option('--operation-time', type=str,
|
||||||
|
help='Operation time in ISO format (auto-generated if not provided)')
|
||||||
|
@click.option('--validate-only', is_flag=True,
|
||||||
|
help='Only validate composition without generating XML')
|
||||||
|
def generate_xml(input_file: str, template_file: str, output: Optional[str], cis_column: str,
|
||||||
|
dry_run: bool, set_dict: Optional[str], document_id: Optional[str],
|
||||||
|
document_number: Optional[str], operation_time: Optional[str], validate_only: bool):
|
||||||
|
"""
|
||||||
|
Generate XML file from XLSX/CSV data and template with validation.
|
||||||
|
|
||||||
|
INPUT_FILE: Path to XLSX or CSV file containing SET CIS and CIS codes
|
||||||
|
TEMPLATE_FILE: Path to XML template file
|
||||||
|
|
||||||
|
The INPUT_FILE should contain columns:
|
||||||
|
- 'SET_CODE' (or 'SET CIS'): Pack codes that will become <pack_code> elements
|
||||||
|
- 'ITEM_CODE' (or column specified by --cis-column): Individual CIS codes that will become <cis> elements
|
||||||
|
- 'SET_GTIN' (or 'SET GTIN'): SET GTIN codes for validation
|
||||||
|
- 'ITEM_GTIN' (or 'GTIN'): Individual GTIN codes for validation
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
# Initialize application
|
||||||
|
app = XMLGeneratorApp(input_file, template_file, cis_column, set_dict)
|
||||||
|
|
||||||
|
# Load validation rules if provided
|
||||||
|
app.load_validation_rules()
|
||||||
|
|
||||||
|
# Load data
|
||||||
|
pack_data = app.load_data()
|
||||||
|
|
||||||
|
if not pack_data:
|
||||||
|
click.echo("No data found in file or no matching columns.", err=True)
|
||||||
|
return
|
||||||
|
|
||||||
|
click.echo(f"Found {len(pack_data)} unique SET CIS codes")
|
||||||
|
|
||||||
|
# Validate composition if dictionary is provided
|
||||||
|
validation_results, has_errors = app.validate_data(pack_data)
|
||||||
|
|
||||||
|
# Show detailed validation results
|
||||||
|
if validation_results:
|
||||||
|
app.validation_reporter.report_validation_details(validation_results, show_ok=dry_run)
|
||||||
|
|
||||||
|
if has_errors and not dry_run and not validate_only:
|
||||||
|
click.echo("Errors found. Use --dry-run to see all issues or fix them before generating XML.", err=True)
|
||||||
|
return
|
||||||
|
|
||||||
|
if validate_only:
|
||||||
|
click.echo("Validation complete. Use without --validate-only to generate XML.")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Generate parameters
|
||||||
|
document_id, document_number, operation_time = app.generate_parameters(
|
||||||
|
document_id, document_number, operation_time
|
||||||
|
)
|
||||||
|
|
||||||
|
if dry_run:
|
||||||
|
app.process_dry_run(pack_data, validation_results, document_id, document_number, operation_time)
|
||||||
|
return
|
||||||
|
|
||||||
|
# Generate XML output
|
||||||
|
xml_content = app.generate_xml_output(pack_data, document_id, document_number, operation_time)
|
||||||
|
|
||||||
|
# Save or print output
|
||||||
|
app.save_or_print_output(xml_content, output)
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
click.echo(f"Error: {str(e)}", err=True)
|
||||||
|
raise click.Abort()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
generate_xml()
|
||||||
BIN
Распределение наборов.xlsx
Normal file
BIN
Распределение наборов.xlsx
Normal file
Binary file not shown.
26
Формирование_наборов.xml
Normal file
26
Формирование_наборов.xml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<unit_pack document_id="unit_pack_7FFF90D5-4785-7EC9-899E-534A7BAA2B71" VerForm="1.03" file_date_time="2019-04-12T11:07:45+03:00" VerProg="VerProg1">
|
||||||
|
<Document operation_date_time="2019-06-05T14:28:14+03:00" document_number="157743-20199">
|
||||||
|
<organisation>
|
||||||
|
<id_info>
|
||||||
|
<SP_info full_name="Конопля Георгий Владимирович" SP_TIN="230811712250"/>
|
||||||
|
</id_info>
|
||||||
|
<Address>
|
||||||
|
<location_address country_code="643" text_address="350089, Краснодар, пр-т Чекистов 4" />
|
||||||
|
</Address>
|
||||||
|
<contacts phone_number="+792820700467" email="aperezva@mail.ru" />
|
||||||
|
</organisation>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[000000000000000000]]></pack_code>
|
||||||
|
<cis><![CDATA[00000000000000000000000000000000000001]]></cis>
|
||||||
|
<cis><![CDATA[00000000000000000000000000000000000002]]></cis>
|
||||||
|
<cis><![CDATA[00000000000000000000000000000000000003]]></cis>
|
||||||
|
<cis><![CDATA[010466007901460321&%*^$!?"'()*+-=/,;.:<>_1]]></cis>
|
||||||
|
<cis><![CDATA[010466007901460321&%*^$!?"'()*+-=/,;.:<>_2]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
<pack_content>
|
||||||
|
<pack_code><![CDATA[010464004346008721Wll2KePM3hlHCrXDM-+B]]></pack_code>
|
||||||
|
<cis><![CDATA[010464004346009421EoC&LSVP7ZDFl<p!f"G+]]></cis>
|
||||||
|
</pack_content>
|
||||||
|
</Document>
|
||||||
|
</unit_pack>
|
||||||
707
Формирование_наборов.xsd
Normal file
707
Формирование_наборов.xsd
Normal file
@@ -0,0 +1,707 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||||
|
|
||||||
|
<xs:complexType name="organisation_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об участнике факта хозяйственной жизни</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="id_info">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Идентификационные сведения</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:choice>
|
||||||
|
<xs:element name="SP_info" type="SP_info_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об индивидуальном предпринимателе</xs:documentation>
|
||||||
|
<xs:documentation>sole proprietor information</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="LP_info">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения о юридическом лице, состоящем на учете в налоговых органах</xs:documentation>
|
||||||
|
<xs:documentation>legal person information</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="org_name" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Наименование полное</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="1000"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="LP_TIN" type="LP_TIN_type" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>ИНН</xs:documentation>
|
||||||
|
<xs:documentation>taxpayer ID number</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="RRC" type="RRC_type" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>КПП</xs:documentation>
|
||||||
|
<xs:documentation> tax registration reason code </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="foreign_entity">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об иностранном лице, не состоящем на учете в налоговых органах</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="org_name" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Наименование полное</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="1000"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="other_info" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Иные сведения, идентифицирующие юридическое лицо</xs:documentation>
|
||||||
|
<xs:documentation>В частности, может быть указана страна при отсутствии country_code</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="foreign_SP">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об иностранном лице, не состоящем на учете в налоговых органах</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="org_name" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Наименование полное</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="1000"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="other_info" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Иные сведения, идентифицирующие юридическое лицо</xs:documentation>
|
||||||
|
<xs:documentation>В частности, может быть указана страна при отсутствии country_code</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:choice>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="Address" type="Address_type" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="contacts" type="contacts_type" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Контактные сведения</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="OKPO_code" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код в общероссийском классификаторе предприятий и организаций</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="10"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="structural_unit" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Структурное подразделение</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="1000"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="SP_info_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об индивидуальном предпринимателе</xs:documentation>
|
||||||
|
<xs:documentation>sole proprietor information</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="full_name" type="full_name_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Фамилия, Имя, Отчество</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="SP_TIN" type="SP_TIN_type" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>ИНН физического лица</xs:documentation>
|
||||||
|
<xs:documentation>sole proprietor taxpayer identification number</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="reg_sertificate" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Реквизиты свидетельства о государственной регистрации индивидуального предпринимателя</xs:documentation>
|
||||||
|
<xs:documentation>Обязателен для случаев подписания счета-фактуры непосредственно продавцом</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:maxLength value="100"/>
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="other_info" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Иные сведения, идентифицирующие физическое лицо</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:simpleType name="SP_TIN_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Идентификационный номер налогоплательщика - физического лица</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="12"/>
|
||||||
|
<xs:pattern value="([0-9]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{10}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="LP_TIN_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Идентификационный номер налогоплательщика - юридического лица</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="10"/>
|
||||||
|
<xs:pattern value="([0-9]{1}[1-9]{1}|[1-9]{1}[0-9]{1})[0-9]{8}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="full_name_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Фамилия, имя, отчество физического лица</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:attribute name="surname" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Фамилия</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="60"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="first_name" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Имя</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="60"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="patronymic" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Отчество</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="60"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:simpleType name="RRC_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код причины постановки на учет (КПП) - 5 и 6 знаки от 0-9 и A-Z</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="9"/>
|
||||||
|
<xs:pattern value="([0-9]{1}[1-9]{1}|[1-9]{1}[0-9]{1})([0-9]{2})([0-9A-Z]{2})([0-9]{3})"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="Address_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об адресе</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:choice>
|
||||||
|
<xs:element name="RU_address" type="RU_address_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес местонахождения/почтовый адрес (реквизиты адреса на территории Российской Федерации)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="location_address" type="location_address_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес местонахождения/почтовый адрес (информация об адресе, в том числе об адресе за пределами территории Российской Федерации)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="SAR_code" type="string-36">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Уникальный номер адреса объекта адресации в государственном адресном реестре</xs:documentation>
|
||||||
|
<xs:documentation>addressing object unique code in State Address Registry </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:choice>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="location_address_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Информация об адресе, в том числе об адресе за пределами территории Российской Федерации</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:attribute name="country_code" type="RNCC_code" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код страны</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="text_address" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="RU_address_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес в Российской Федерации </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:attribute name="zip_code" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Индекс</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="6"/>
|
||||||
|
<xs:pattern value="[0-9]{6}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="region_code" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код региона</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="CERFR_code"/>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="district_name" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Район</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="50"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="city_name" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Город</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:maxLength value="50"/>
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="locality_name" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Населенный пункт</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="50"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="street_name" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Улица</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="50"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="house_number" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Дом</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="20"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="bulk_number" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Корпус</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="20"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="flat_number" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Квартира</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="20"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="contacts_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Контактные данные</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:attribute name="phone_number" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Номер контактного телефона/факс</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="email" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Адрес электронной почты</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:simpleType name="CERFR_code">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код из Справочника субъекта Российской Федерации </xs:documentation>
|
||||||
|
<xs:documentation>constituent entity of the Russian Federation registry code </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="2"/>
|
||||||
|
<xs:pattern value="[0-9]{2}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="RNCC_code">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Код из Общероссийского классификатора стран мира </xs:documentation>
|
||||||
|
<xs:documentation> RNCC (Russian National Classification of Countries) code </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="3"/>
|
||||||
|
<xs:pattern value="[0-9]{3}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string-36">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Произвольный текст длиной от 1 до 36 символов</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:maxLength value="36"/>
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:complexType name="officer_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения о должностном лице</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="full_name" type="full_name_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Фамилия, Имя, Отчество</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="officer_position" type="person_position" use="optional">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Должность</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
|
||||||
|
<xs:simpleType name="datetimeoffset">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Тип "Дата со временем" (с временной зоной)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:dateTime">
|
||||||
|
<xs:minInclusive value="0001-01-01T00:00:00Z"/>
|
||||||
|
<xs:pattern value="((000[1-9])|(00[1-9][0-9])|(0[1-9][0-9]{2})|([1-9][0-9]{3}))-((0[1-9])|(1[012]))-((0[1-9])|([12][0-9])|(3[01]))T(([01][0-9])|(2[0-3]))(:[0-5][0-9]){2}(\.[0-9]+)?(([+-]((((0[0-9])|(1[0-3]))(:[0-5][0-9]))|14:00))|Z)"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string200_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Строка произвольной длины, но не более 200 символов</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="string_clear_type">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="200"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string500_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Строка произвольной длины, но не более 500 символов</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="string_clear_type">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="500"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string1000_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Строка произвольной длины, но не более 1000 символов</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="string_clear_type">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="1000"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="person_position">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Должность физического лица</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="200"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="tnved4_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Тип "Код ТН ВЭД ЕАЭС"</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="4"/>
|
||||||
|
<xs:pattern value="[0-9]{4}"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="cis_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Индивидуальный серийный номер потребительской упаковки </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
<xs:pattern value=".*\S"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="sscc_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Индивидуальный серийный номер групповой/транспортной упаковки</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
<xs:pattern value=".*\S"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="pack_code_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Номер кода агрегата </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="255"/>
|
||||||
|
<xs:pattern value=".*\S"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string_clear_at_begin_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Тип "Строка" (не пустая в начале)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:pattern value="\S.*"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="string_clear_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Тип "Строка" (без спецсимволов с обеих сторон)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="string_clear_at_begin_type">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:pattern value=".*\S"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="document_number">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Порядковый номер документа</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string"/>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="date_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Дата в формате ДД.ММ.ГГГГ (01.01.1900 - 31.12.2099)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="10"/>
|
||||||
|
<xs:pattern value="((((0[1-9]{1}|1[0-9]{1}|2[0-8]{1})\.(0[1-9]{1}|1[0-2]{1}))|((29|30)\.(01|0[3-9]{1}|1[0-2]{1}))|(31\.(01|03|05|07|08|10|12)))\.((19|20)[0-9]{2}))|(29\.02\.((19|20)(((0|2|4|6|8)(0|4|8))|((1|3|5|7|9)(2|6)))))"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="time_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Время в формате ЧЧ.ММ.СС</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:length value="8"/>
|
||||||
|
<xs:pattern value="([0-1]{1}[0-9]{1}|2[0-3]{1})\.([0-5]{1}[0-9]{1})\.([0-5]{1}[0-9]{1})"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
|
||||||
|
<xs:element name="unit_pack">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Агрегирование табачных изделий</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="Document">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="organisation" type="organisation_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Сведения об организации / ИП</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="pack_content" minOccurs="1" maxOccurs="unbounded">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Содержание упаковки</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="pack_code" type="pack_code_type">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Номер кода агрегата (упаковки)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:choice minOccurs="1" maxOccurs="unbounded">
|
||||||
|
<xs:element name="cis" type="cis_type"/>
|
||||||
|
<xs:element name="sscc" type="sscc_type"/>
|
||||||
|
</xs:choice>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:unique name="ux_cis">
|
||||||
|
<xs:selector xpath="cis"/>
|
||||||
|
<xs:field xpath="."/>
|
||||||
|
</xs:unique>
|
||||||
|
<xs:unique name="ux_sscc">
|
||||||
|
<xs:selector xpath="sscc"/>
|
||||||
|
<xs:field xpath="."/>
|
||||||
|
</xs:unique>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="operation_date_time" type="datetimeoffset" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Дата и время совершения операции агрегирования</xs:documentation>
|
||||||
|
<xs:documentation>Дата и время с учетом часового пояса в формате ГГГГ-ММ-ДДTЧЧ:ММ:СС+(-)ЧЧ:ММ</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="document_number" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Номер документа во внутренней системе учета участника</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="150"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="document_id" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Идентификатор файла</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="150"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="VerForm" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Версия формата</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
<xs:maxLength value="5"/>
|
||||||
|
<xs:enumeration value="1.03"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="file_date_time" type="datetimeoffset" use="required">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Дата и время формирования файла</xs:documentation>
|
||||||
|
<xs:documentation>Дата и время с учетом часового пояса в формате ГГГГ-ММ-ДДTЧЧ:ММ:СС+(-)ЧЧ:ММ</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="VerProg">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Наименование и версия программы, с помощью которой сформирован файл</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:maxLength value="40"/>
|
||||||
|
<xs:minLength value="1"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
<xs:attribute name="action_id" type="xs:int" use="required" fixed="30"/>
|
||||||
|
<xs:attribute name="version" type="xs:string" use="required" fixed="1"/>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:schema>
|
||||||
Reference in New Issue
Block a user