Разбор потока складского документа

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
Строка 1: Строка 1:
Для версии 3.0
 
  
 +
{| class="wikitable"
 +
|+ Версия 3.0
 +
! Код !! Тип !! Описание !!
 +
|-
 +
| Version := ReadString;
 +
| String
 +
| Версия потока
 +
|-
 +
| RelationName := ReadString;
 +
| String
 +
| Название таблицы шапки
 +
|-
 +
| RelationLineName := ReadString;
 +
| String
 +
|Название таблицы позиции
 +
|-
 +
| DebitMovement.RelationName := ReadString;
 +
| String
 +
| Наименование таблицы прихода
 +
|-
 +
| DebitMovement.SourceFieldName := ReadString;
 +
| String
 +
| Наименование поля таблицы прихода
 +
|-
 +
| DebitMovement.SubRelationName := ReadString;
 +
| String
 +
| Наименование таблицы ограничения по приходу
 +
|-
 +
| DebitMovement.SubSourceFieldName := ReadString;
 +
| String
 +
| Наименование поля таблицы ограничения по приходу
 +
|-
 +
| Read(DebitMovement.ContactType, SizeOf(TgdcInvMovementContactType));
 +
| TgdcInvMovementContactType
 +
| На кого оформлять приход
 +
|-
 +
|
 +
  ReadListBegin;
 +
  while not EndOfList do
 +
  begin
 +
    SetLength(DebitMovement.Predefined,
 +
    Length(DebitMovement.Predefined) + 1);
 +
    DebitMovement.Predefined[Length(DebitMovement.Predefined) - 1] :=
 +
      ReadInteger;
 +
  end;
 +
  ReadListEnd;
 +
| array of integer
 +
| Список значений прихода. Ключи на таблицу gd_contact 
 +
|-
 +
|
 +
  ReadListBegin;
 +
  while not EndOfList do
 +
  begin
 +
    SetLength(DebitMovement.SubPredefined,
 +
      Length(DebitMovement.SubPredefined) + 1);
 +
    DebitMovement.SubPredefined[Length(DebitMovement.SubPredefined) - 1] :=
 +
      ReadInteger;
 +
    end;
 +
  ReadListEnd;
 +
| array of integer
 +
| Список значений ограничении по приходу. Ключи на таблицу gd_contact
 +
|-
 +
| CreditMovement.RelationName := ReadString;
 +
| String
 +
| Наименование таблицы расхода
 +
|-
 +
| CreditMovement.SourceFieldName := ReadString;
 +
| String
 +
| Наименование поля таблицы расхода
 +
|-
 +
| CreditMovement.SubRelationName := ReadString;
  
  Название таблицы шапки  '''RelationName''' (String)
+
| String
  Название таблицы позиции  '''RelationLineName''' (String)
+
| Наименование таблицы ограничения по расходу
  Наименование таблицы прихода '''DebitMovement.RelationName''' (String)
+
|-
  Наименование поля таблицы прихода  '''DebitMovement.SourceFieldName''' (String)
+
| CreditMovement.SubSourceFieldName := ReadString;
  Наименование таблицы ограничения по приходу  '''DebitMovement.SubRelationName''' (String)
+
  Наименование поля таблицы ограничения по приходу  '''DebitMovement.SubSourceFieldName''' (String)
+
  На кого оформлять приход '''DebitMovement.ContactType''' (TgdcInvMovementContactType)
+
  Список значений прихода  '''DebitMovement.Predefined''' (array of integer)
+
  Список значений ограничении по приходу  '''DebitMovement.SubPredefined''' (array of integer)
+
  Наименование таблицы расхода  '''CreditMovement.RelationName''' (String)
+
  Наименование поля таблицы расхода  '''CreditMovement.SourceFieldName''' (String)
+
  Наименование таблицы ограничения по расходу '''CreditMovement.SubRelationName''' (String)
+
  Наименование поля таблицы ограничения по расходу '''CreditMovement.SubSourceFieldName''' (String)
+
  На кого оформлять расход  '''CreditMovement.ContactType''' (TgdcInvMovementContactType)
+
  Список значений расхода '''CreditMovement.Predefined''' (array of integer)
+
  Список значений ограничения по расходу '''CreditMovement.SubPredefined''' (array of integer)
+
  Признаки новой карточки '''SourceFeatures''' (TgdcInvFeatures)
+
  Признаки существующей карточки '''DestFeatures''' (TgdcInvFeatures)
+
  Настройка справочников  '''Sources''' (TgdcInvReferenceSources = set of TgdcInvReferenceSource)
+
  Остатки определять по методу FIFO, LIFO '''Direction''' (TgdcInvMovementDirection)
+
  Осуществлять контроль остатков  '''ControlRemains''' (Boolean)
+
  Документ может быть отложенным '''DelayedDocument''' (Boolean)
+
  Выбор из отрицательных остатков '''MinusRemains''' (Boolean)
+
  Признаки отрицательных остатков '''MinusFeatures''' (TgdcInvFeatures)
+
  Разрешить изменять признаки существующей карточки  '''ChangeCardValue''' (Boolean)
+
  Разрешить добавлять признаки существующей карточки  '''AppendCardValue''' (Boolean)
+
  Ограничение на рабочую компанию  '''IsUseCompanyKey''' (Boolean)
+
  Сохранять настройки окна остатков '''SaveRestWindowOption''' (Boolean)
+
  Контроль остатков на конец месяца '''EndMonthRemains''' (Boolean)
+
  Движение без поиска остатков '''WithoutSearchRemains''' (Boolean)
+
  
 +
| String
 +
| Наименование поля таблицы ограничения по расходу
 +
|-
 +
| Read(CreditMovement.ContactType, SizeOf(TgdcInvMovementContactType));
 +
| TgdcInvMovementContactType
 +
| На кого оформлять расход
 +
|-
 +
|
 +
  ReadListBegin;
 +
  while not EndOfList do
 +
  begin
 +
    SetLength(CreditMovement.Predefined,
 +
      Length(CreditMovement.Predefined) + 1);
 +
    CreditMovement.Predefined[Length(CreditMovement.Predefined) - 1] :=
 +
      ReadInteger;
 +
  end;
 +
  ReadListEnd;
 +
| array of integer
 +
| Список значений расхода. Ключи на таблицу gd_contact
 +
|-
 +
|
 +
  ReadListBegin;
 +
  while not EndOfList do
 +
  begin
 +
    SetLength(CreditMovement.SubPredefined,
 +
      Length(CreditMovement.SubPredefined) + 1);
 +
    CreditMovement.SubPredefined[Length(CreditMovement.SubPredefined) - 1] :=
 +
      ReadInteger;
 +
  end;
 +
  ReadListEnd;
 +
| array of integer
 +
| Список значений ограничения по расходу. Ключи на таблицу gd_contact
 +
|-
 +
|
 +
  ReadListBegin;
 +
  while not EndOfList do
 +
  begin
 +
    F := atDatabase.FindRelationField('INV_CARD', ReadString);
 +
    if not Assigned(F) then Continue;
 +
      FSourceFeatures.AddObject(F.FieldName, F);
 +
  end;
 +
  ReadListEnd;
 +
| TgdcInvFeatures
 +
| Признаки новой карточки
 +
|-
 +
|
 +
  ReadListBegin;
 +
  while not EndOfList do
 +
  begin
 +
    F := atDatabase.FindRelationField('INV_CARD', ReadString);
 +
    if not Assigned(F) then Continue;
 +
      FDestFeatures.AddObject(F.FieldName, F);
 +
  end;
 +
  ReadListEnd;
 +
| TgdcInvFeatures
 +
| Признаки существующей карточки
 +
|-
 +
| Read(FSources, SizeOf(TgdcInvReferenceSources));
 +
| TgdcInvReferenceSources = set of TgdcInvReferenceSource
 +
| Настройка справочников
 +
|-
 +
| Read(FDirection, SizeOf(TgdcInvMovementDirection));
  
 +
| TgdcInvMovementDirection
 +
| Остатки определять по методу FIFO, LIFO
 +
|-
 +
| FControlRemains := ReadBoolean;
 +
| Boolean
 +
| Осуществлять контроль остатков
 +
|-
 +
| LiveTimeRemains := ReadBoolean
 +
| Bollean
 +
| Коннтроль только на текущие остатки
 +
|-
 +
| DelayedDocument := ReadBoolean;
 +
 +
| Boolean
 +
| Документ может быть отложенным
 +
|-
 +
| MinusRemains := ReadBoolean;
 +
 +
| Boolean
 +
| Выбор из отрицательных остатков
 +
|-
 +
|
 +
  ReadListBegin;
 +
  while not EndOfList do
 +
  begin
 +
    F := atDatabase.FindRelationField('INV_CARD', ReadString);
 +
    if not Assigned(F) then Continue;
 +
      FMinusFeatures.AddObject(F.FieldName, F);
 +
  end;
 +
  ReadListEnd;
 +
| TgdcInvFeatures
 +
| Признаки отрицательных остатков
 +
|-
 +
| IsChangeCardValue := ReadBoolean;
 +
| Boolean
 +
| Разрешить изменять признаки существующей карточки
 +
|-
 +
| IsAppendCardValue := ReadBoolean;
 +
| Boolean
 +
| Разрешить добавлять признаки существующей карточки
 +
|-
 +
| IsUseCompanyKey := ReadBoolean
 +
| Boolean
 +
| Ограничение на рабочую компанию
 +
|-
 +
| SaveRestWindowOption := ReadBoolean
 +
| Boolean
 +
| Сохранять настройки окна остатков
 +
|-
 +
| EndMonthRemains := ReadBoolean
 +
| Boolean
 +
| Контроль остатков на конец месяца
 +
|-
 +
| WithoutSearchRemains := ReadBoolean
 +
| Boolean
 +
| Движение без поиска остатков
 +
|}
  
 
   TgdcInvFeatures = array of String;
 
   TgdcInvFeatures = array of String;

Версия 14:05, 25 августа 2015

Версия 3.0
Код Тип Описание
Version := ReadString; String Версия потока
RelationName := ReadString; String Название таблицы шапки
RelationLineName := ReadString; String Название таблицы позиции
DebitMovement.RelationName := ReadString; String Наименование таблицы прихода
DebitMovement.SourceFieldName := ReadString; String Наименование поля таблицы прихода
DebitMovement.SubRelationName := ReadString; String Наименование таблицы ограничения по приходу
DebitMovement.SubSourceFieldName := ReadString; String Наименование поля таблицы ограничения по приходу
Read(DebitMovement.ContactType, SizeOf(TgdcInvMovementContactType)); TgdcInvMovementContactType На кого оформлять приход
 ReadListBegin;
 while not EndOfList do
 begin
   SetLength(DebitMovement.Predefined,
   Length(DebitMovement.Predefined) + 1);
   DebitMovement.Predefined[Length(DebitMovement.Predefined) - 1] :=
     ReadInteger;
 end;
 ReadListEnd; 
array of integer Список значений прихода. Ключи на таблицу gd_contact
 ReadListBegin;
 while not EndOfList do
 begin
   SetLength(DebitMovement.SubPredefined,
     Length(DebitMovement.SubPredefined) + 1);
   DebitMovement.SubPredefined[Length(DebitMovement.SubPredefined) - 1] :=
     ReadInteger;
   end;
 ReadListEnd;
array of integer Список значений ограничении по приходу. Ключи на таблицу gd_contact
CreditMovement.RelationName := ReadString; String Наименование таблицы расхода
CreditMovement.SourceFieldName := ReadString; String Наименование поля таблицы расхода
CreditMovement.SubRelationName := ReadString; String Наименование таблицы ограничения по расходу
CreditMovement.SubSourceFieldName := ReadString; String Наименование поля таблицы ограничения по расходу
Read(CreditMovement.ContactType, SizeOf(TgdcInvMovementContactType)); TgdcInvMovementContactType На кого оформлять расход
 ReadListBegin;
 while not EndOfList do
 begin
   SetLength(CreditMovement.Predefined,
     Length(CreditMovement.Predefined) + 1);
   CreditMovement.Predefined[Length(CreditMovement.Predefined) - 1] :=
     ReadInteger;
 end;
 ReadListEnd;
array of integer Список значений расхода. Ключи на таблицу gd_contact
 ReadListBegin;
 while not EndOfList do
 begin
   SetLength(CreditMovement.SubPredefined,
     Length(CreditMovement.SubPredefined) + 1);
   CreditMovement.SubPredefined[Length(CreditMovement.SubPredefined) - 1] :=
     ReadInteger;
 end;
 ReadListEnd;
array of integer Список значений ограничения по расходу. Ключи на таблицу gd_contact
 ReadListBegin;
 while not EndOfList do
 begin
   F := atDatabase.FindRelationField('INV_CARD', ReadString);
   if not Assigned(F) then Continue;
     FSourceFeatures.AddObject(F.FieldName, F);
 end;
 ReadListEnd;
TgdcInvFeatures Признаки новой карточки
 ReadListBegin;
 while not EndOfList do
 begin
   F := atDatabase.FindRelationField('INV_CARD', ReadString);
   if not Assigned(F) then Continue;
     FDestFeatures.AddObject(F.FieldName, F);
 end;
 ReadListEnd;
TgdcInvFeatures Признаки существующей карточки
Read(FSources, SizeOf(TgdcInvReferenceSources)); TgdcInvReferenceSources = set of TgdcInvReferenceSource Настройка справочников
Read(FDirection, SizeOf(TgdcInvMovementDirection)); TgdcInvMovementDirection Остатки определять по методу FIFO, LIFO
FControlRemains := ReadBoolean; Boolean Осуществлять контроль остатков
LiveTimeRemains := ReadBoolean Bollean Коннтроль только на текущие остатки
DelayedDocument := ReadBoolean; Boolean Документ может быть отложенным
MinusRemains := ReadBoolean; Boolean Выбор из отрицательных остатков
 ReadListBegin;
 while not EndOfList do
 begin
   F := atDatabase.FindRelationField('INV_CARD', ReadString);
   if not Assigned(F) then Continue;
     FMinusFeatures.AddObject(F.FieldName, F);
 end;
 ReadListEnd;
TgdcInvFeatures Признаки отрицательных остатков
IsChangeCardValue := ReadBoolean; Boolean Разрешить изменять признаки существующей карточки
IsAppendCardValue := ReadBoolean; Boolean Разрешить добавлять признаки существующей карточки
IsUseCompanyKey := ReadBoolean Boolean Ограничение на рабочую компанию
SaveRestWindowOption := ReadBoolean Boolean Сохранять настройки окна остатков
EndMonthRemains := ReadBoolean Boolean Контроль остатков на конец месяца
WithoutSearchRemains := ReadBoolean Boolean Движение без поиска остатков
 TgdcInvFeatures = array of String;
 TgdcInvReferenceSource = (irsGoodRef, irsRemainsRef, irsMacro);
  irsGoodRef - в качестве справочника используется справочник товаров
  irsRemainsRef - в качестве справочника используется справочник остатков ТМЦ
  irsMacro - в качестве справочника используется справочник, получаемый из макроса(это нам не нужно)
 TgdcInvMovementDirection = (imdFIFO, imdLIFO, imdDefault);
  imdFIFO - очередь
  imLIFO - стек
  imdDefault - по каждому ТМЦ
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты