Установка адресного хранения — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 12: Строка 12:
 
# T  - Передача
 
# T  - Передача
 
Документы которые планер проверяет
 
Документы которые планер проверяет
# P~ - Пополнение, вытеснение, уплотнение. Различаются по OPType. 
 
 
# 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.
  
Сделан только для рядов и ячеек. Флаг с дов интервалом влияет на качество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&lt;&gt;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

Порядок установки системы адресного хранения

  1. Создать в БД типы документов для отборки, размещения и передачи. А также задания на пополнение, вытеснение и уплотнение

Создаются типы документов с родовым типом "заказ поставщику"

  1. Прописать @WMSType всем документам, влияющим на остатки

Прописывается в свойствах типа документа "Настройки"->"Все подряд" @WMSType Документы которые будет создавать планер

  1. I - Размещение
  2. O - Отборка
  3. T - Передача

Документы которые планер проверяет

  1. P+ - Приходный документ
  2. P- - Расходный документ
  3. PT - Документ передачи
  4. P~ - Пополнение, вытеснение, уплотнение. Различаются по OPType.
    1. OPType
      1. 1 - Вытеснение
      2. 2 - Уплотнение
  1. Запнуть все нужные процедуры в базу

порядок запинывания: 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

  1. Создать доп справочник зон хранения
  2. ---
  3. Планер
    • В ГБ "Конфигурация"->"Глобальные настройки"->"Конфигурация системы" создаем запись с ид 200 и пишем в нее IP:Port (Port указывается в настройке планировщика, по умолчанию 200)
  1. Настройка получения документов

Планер получает документы всех типов кроме тех у которых @WMSType I,O,T. В Настроках планера указываем фирмы для которых будут получаться документы, минимальный и максимальный флаг, промежуток дат. Кроме того для склада или партнера должно быть указано @WMSEnabled=1 либо в настройках включить получение для всех складов секция Documents параметр AllStocks

  1. Настройка колонок

настраивает в ини секция Documents параметр GridLayout

Пример
GridLayout=|"Document","-116","Док."|;|"SName=DocType.Name+'
'+DocNumber","+114","Название"|;|"Partner.Name","+150","Партнер"|
;|"Stock.Name","+121","Склад"|;|"TotalSum","-87","Сумма"|;|"DocDate","+64","Дата
док."|;|"OperationDate","+64","Дата отгр."|
  1. Создание шаблонов

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>