Установка адресного хранения — различия между версиями
Iv (обсуждение | вклад) |
Iv (обсуждение | вклад) |
||
Строка 12: | Строка 12: | ||
# T - Передача | # T - Передача | ||
Документы которые планер проверяет | Документы которые планер проверяет | ||
− | |||
# P+ - Приходный документ | # P+ - Приходный документ | ||
# P- - Расходный документ | # P- - Расходный документ | ||
# PT - Документ передачи | # PT - Документ передачи | ||
− | + | # P~ - Пополнение, вытеснение, уплотнение. Различаются по OPType. | |
## OPType | ## OPType | ||
### 1 - Вытеснение | ### 1 - Вытеснение | ||
Строка 59: | Строка 58: | ||
;приоритетность | ;приоритетность | ||
IIF(SUBSTR(name,STRLEN(name),1)<>'1','~Floor='+FORMATFLOAT('0.00',1-0.25*(STRTOFLOAT( SUBSTR(name,STRLEN(name),1))-2)),''),'') | 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> |
Версия 14:39, 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>