Разбор потока складского документа
Материал из GedeminWiki
Версия от 14:05, 25 августа 2015; Zholnerovich (обсуждение | вклад)
| Код | Тип | Описание | |
|---|---|---|---|
| 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 - по каждому ТМЦ