Установка адресного хранения — различия между версиями
Iv (обсуждение | вклад) |
Iv (обсуждение | вклад) |
||
Строка 120: | Строка 120: | ||
</xml2ds> | </xml2ds> | ||
</line> | </line> | ||
+ | |||
+ | шаблон XmlToDs.xml | ||
+ | планирование и результирующие документы | ||
+ | теги line и doc | ||
+ | |||
+ | Необходимо указание типа контейнера, заводим типы контейнеров в ГБ. | ||
+ | Справочник "Контейнеры" | ||
+ | в свойствах контейнера заполняются либо собственные параметры контейнера, либо указываются поля на товаре из которых они будут браться. Оба набора заполнять нельзя, если заполнены собственные параметры, данные из товара браться не будут. | ||
+ | Поле Slice указывает на соответствующие поле на товаре, максимально возможное количество коробок которые можно разместить на поддоне при оптимальной раскладке в 1 слое(ряде). |
Версия 15:19, 3 июня 2010
Порядок установки системы адресного хранения
- Создать в БД типы документов для отборки, размещения и передачи. А также задания на пополнение, вытеснение и уплотнение
Создаются типы документов с родовым типом "заказ поставщику"
- Прописать @WMSType всем документам, влияющим на остатки
Прописывается в свойствах типа документа "Настройки"->"Все подряд" @WMSType Документы которые будет создавать планер
- I - Размещение
- O - Отборка
- T - Передача
Документы которые планер проверяет
- P+ - Приходный документ
- P- - Расходный документ
- PT - Документ передачи
- P~ - Пополнение, вытеснение, уплотнение. Различаются по OPType.
- OPType
- 1 - Вытеснение
- 2 - Уплотнение
- OPType
- Запнуть все нужные процедуры в базу
порядок запинывания: WMS_CALC_CELLSIZE WMS_CONTAINER_GET WMS_CONTAINER_PUT_NEW WMS_EMPTY_CELL WMS_CHANGEFLAG WMS_CHANGEDOC WMS_CELLCHANGED WMS_GETDOCS
Процедура WMS_CHANGEFLAG должна вызываться из Documents_ChangeFlag_AfterAll Процедура WMS_CHANGEDOC должна вызываться из Documents_Put_BeforeAll Процедура WMS_CELLCHANGED должна вызываться из GBObjects_Put_AfterAll
- Создать доп справочник зон хранения
- ---
- Планер
- В ГБ "Конфигурация"->"Глобальные настройки"->"Конфигурация системы" создаем запись с ид 200 и пишем в нее IP:Port (Port указывается в настройке планировщика, по умолчанию 200)
- Настройка получения документов
Планер получает документы всех типов кроме тех у которых @WMSType I,O,T. В Настроках планера указываем фирмы для которых будут получаться документы, минимальный и максимальный флаг, промежуток дат. Кроме того для склада или партнера должно быть указано @WMSEnabled=1 либо в настройках включить получение для всех складов секция Documents параметр AllStocks
- Настройка колонок
настраивает в ини секция Documents параметр GridLayout
Пример GridLayout=|"Document","-116","Док."|;|"SName=DocType.Name+' '+DocNumber","+114","Название"|;|"Partner.Name","+150","Партнер"| ;|"Stock.Name","+121","Склад"|;|"TotalSum","-87","Сумма"|;|"DocDate","+64","Дата док."|;|"OperationDate","+64","Дата отгр."|
- Создание шаблонов
CellFlags.txt добавление произвольных флагов ячейкам флагов Пример: Для размещения надо сделать приоритетность уровней 2-3-4-5 только для размещения 1 только для размещения возвратов
- разбиваем по уровням, удобне сделать обычным флагом так как он влияет на качество1
IIF(SUBSTR(name,STRLEN(name)-1,1)='-',IIF(SUBSTR(name,STRLEN(name),1)='1','Floor.1=1','Floor.2=1'),)
- приоритетность
IIF(SUBSTR(name,STRLEN(name),1)<>'1','~Floor='+FORMATFLOAT('0.00',1-0.25*(STRTOFLOAT( SUBSTR(name,STRLEN(name),1))-2)),),) Сделан только для рядов и ячеек. Флаг с дов интервалом влияет на качество2.
Шаблон DsToXml.xml используется для подготовки документа к планированию(выбрасываются всякие ненужные вещи, обрабатываются и дополняются связвнные документы) имеет 1 тег line
<line> <object name="%child.line" />
<structure> <field name="Id" type="I4" /> <field name="Partner" type="I4" /> <field name="Stock" type="I4" /> <field name="DocType" type="I4" /> <field name="WMSType" type="S20"/> <field name="Heap" type="B" nature="fmSingleSet" /> <subset name="Goodies"> <field name="Document" type="I4" /> <field name="UniqueId" type="I4" /> <field name="Articul" type="I4" /> <field name="Heap" type="B" nature="fmSingleSet" /> <subset name="Certificates"> <field name="Certificate" type="I4" /> <field name="Quantity" type="F8" /> </subset> </subset> </structure>
<ds2xml> <subset fieldname="Goodies" breakline="true"> <subset fieldname="Certificates" line="line" breakline="true"> <attr fieldname="%master.%master.Id" tagname="doc" /> <attr fieldname="%master.%master.Partner" tagname="partner" /> <attr fieldname="%master.%master.Stock" tagname="stock" /> <attr fieldname="%master.%master.DocType" tagname="doctype" /> <attr fieldname="%master.%master.WMSType" tagname="wmstype" /> <attr fieldname="%master.%master.Heap" tagname="docheap" /> <attr fieldname="%master.Articul" tagname="art" /> <attr fieldname="%master.Heap" tagname="heap" /> <attr fieldname="Certificate" tagname="cert" /> <attr fieldname="Quantity" tagname="qty" /> </subset> </subset> </ds2xml>
<xml2ds> <subset fieldname="Goodies" line="%child.line"> <subset fieldname="Certificates" line="line"> <attr fieldname="%master.%master.Id" tagname="doc" key="true" /> <attr fieldname="%master.%master.Partner" tagname="partner" key="true" /> <attr fieldname="%master.%master.Stock" tagname="stock" key="true"/> <attr fieldname="%master.%master.DocType" tagname="doctype" key="true"/> <attr fieldname="%master.%master.WMSType" tagname="wmstype" key="true"/> <attr fieldname="%master.%master.Heap" tagname="docheap" /> <attr fieldname="%master.Document" value="IIF(:GroupOperation,:CurrentDoc,0)" key="true"/> <attr fieldname="%master.UniqueId" value="IIF(:GroupOperation or !doctype=1270 or !cert<>0,GetChildNumber(),0)" key="true"/> <attr fieldname="%master.Articul" tagname="art" key="true"/> <attr fieldname="%master.Heap" value="!heap" /> <attr fieldname="Certificate" tagname="cert" key="true"/> <attr fieldname="Quantity" value="IFEMPTY(Quantity,0)+GetAttrValue(0,'qty')" /> </subset> </subset> </xml2ds> </line>
шаблон XmlToDs.xml планирование и результирующие документы теги line и doc
Необходимо указание типа контейнера, заводим типы контейнеров в ГБ. Справочник "Контейнеры" в свойствах контейнера заполняются либо собственные параметры контейнера, либо указываются поля на товаре из которых они будут браться. Оба набора заполнять нельзя, если заполнены собственные параметры, данные из товара браться не будут. Поле Slice указывает на соответствующие поле на товаре, максимально возможное количество коробок которые можно разместить на поддоне при оптимальной раскладке в 1 слое(ряде).