RegisterProductionOperation v2: различия между версиями
Строка 55: | Строка 55: | ||
{{столбцы}} | {{столбцы}} | ||
{{столбец}} | {{столбец}} | ||
* [[NameSpaces#http://api.vetrf.ru/schema/cdm/base|bs]] (<nowiki>http://api.vetrf.ru/schema/cdm/base</nowiki>) | * [[NameSpaces#http://api.vetrf.ru/schema/cdm/base|bs]] (<nowiki>http://api.vetrf.ru/schema/cdm/base</nowiki>) | ||
** [[Decimal|bs:Decimal]] | ** [[Decimal |bs:Decimal]] | ||
** [[Identifier|bs:Identifier]] | |||
** [[String255|bs:String255]] | ** [[String255|bs:String255]] | ||
** [[Text|bs:Text]] | |||
** [[UUID|bs:UUID]] | ** [[UUID|bs:UUID]] | ||
** [[UUID|bs:UUID]] | |||
** [[VersionStatus|bs:VersionStatus]] | ** [[VersionStatus|bs:VersionStatus]] | ||
* [[NameSpaces#http://api.vetrf.ru/schema/cdm/ | * [[NameSpaces#http://api.vetrf.ru/schema/cdm/dictionary|dt]] (<nowiki>http://api.vetrf.ru/schema/cdm/dictionary</nowiki>) | ||
** [[ | ** [[Address_v2.0|dt:Address]] | ||
** [[BusinessMember| | ** [[AnimalDisease_v2.0|dt:AnimalDisease]] | ||
** [[ | ** [[BusinessEntity_v2.0|dt:BusinessEntity]] | ||
** [[ | ** [[BusinessMember_v2.0|dt:BusinessMember]] | ||
** [[ | ** [[ComplexDate_v2.0| dt:ComplexDate]] | ||
** [[ | ** [[Country_v2.0|dt:Country]] | ||
* [[ | ** [[Day_v2.0|dt:Day]] | ||
** [[ | ** [[DocumentType_v2.0|dt:DocumentType]] | ||
** [[Enterprise_v2.0|dt:Enterprise]] | |||
** [[EnterpriseRole_v2.0|dt:EnterpriseRole]] | |||
** [[GLNType_v2.0|dt:GLNType]] | |||
** [[GTINType_v2.0|dt:GTINType]] | |||
** [[Hour_v2.0|dt:Hour]] | |||
** [[Location_v2.0 | dt:Location]] | |||
** [[MedicinalDrug_v2.0|dt:MedicinalDrug]] | |||
** [[Minute_v2.0| dt:Minute]] | |||
** [[Month_v2.0|dt:Month]] | |||
{{столбец}} | {{столбец}} | ||
* [[ | ** [[Organization_v2.0|dt:Organization]] | ||
** [[ | ** [[Package_v2.0|dt:Package]] | ||
** [[ | ** [[PackageLevelType_v2.0|dt:PackageLevelType]] | ||
** [[ | ** [[PackageList_v2.0|dt:PackageList]] | ||
** [[ | ** [[PackingCodeType_v2.0|dt:PackingCodeType]] | ||
** [[ | ** [[PackingType_v2.0|dt:PackingType]] | ||
** [[ | ** [[Producer_v2.0|dt:Producer]] | ||
** [[ | ** [[Product_v2.0|dt:Product]] | ||
** [[ | ** [[ProductItem_v2.0|dt:ProductItem]] | ||
** [[ | ** [[ProductMarks_v2.0|dt:ProductMarks]] | ||
** [[ | ** [[ProductType_v2.0|dt:ProductType]] | ||
** [[ | ** [[ResearchMethod_v2.0|dt:ResearchMethod]] | ||
** [[ | ** [[ResearchResult_v2.0|dt:ResearchResult]] | ||
** [[ | ** [[SubProduct_v2.0|dt:SubProduct]] | ||
** [[ | ** [[Unit_v2.0|dt:Unit]] | ||
** [[User_v2.0|dt:User]] | |||
** [[Year_v2.0|dt:Year]] | |||
* [[NameSpaces#http://www.w3.org/2001/XMLSchema|xs]] (<nowiki>http://www.w3.org/2001/XMLSchema</nowiki>) | * [[NameSpaces#http://www.w3.org/2001/XMLSchema|xs]] (<nowiki>http://www.w3.org/2001/XMLSchema</nowiki>) | ||
** [http://www.w3.org/TR/xmlschema-2/#boolean xs:boolean] | ** [http://www.w3.org/TR/xmlschema-2/#boolean xs:boolean] | ||
** [http://www.w3.org/TR/xmlschema-2/#boolean xs:boolean] | |||
** [http://www.w3.org/TR/xmlschema-2/#date xs:date] | ** [http://www.w3.org/TR/xmlschema-2/#date xs:date] | ||
** [http://www.w3.org/TR/xmlschema-2/# | ** [http://www.w3.org/TR/xmlschema-2/#DateTime xs:DateTime] | ||
** [http://www.w3.org/TR/xmlschema-2/#int xs:int] | ** [http://www.w3.org/TR/xmlschema-2/#int xs:int] | ||
** [http://www.w3.org/TR/xmlschema-2/#NCName xs:NCName] | ** [http://www.w3.org/TR/xmlschema-2/#NCName xs:NCName] | ||
** [http://www.w3.org/TR/xmlschema-2/#string xs:string] | ** [http://www.w3.org/TR/xmlschema-2/#string|xs:string] | ||
{{столбец}} | |||
* [[NameSpaces#http://api.vetrf.ru/schema/cdm/mercury/vet-document|vetd]] (<nowiki>http://api.vetrf.ru/schema/cdm/mercury/vet-document</nowiki>) | |||
** [[AnimalMedicationEvent_v2.0|vd:AnimalMedicationEvent]] | |||
** [[AnimalSpentPeriod_v2.0|vd:AnimalSpentPeriod]] | |||
** [[Batch_v2.0|vd:Batch]] | |||
** [[BatchOrigin_v2.0|vd:BatchOrigin]] | |||
** [[CertifiedBatch_v2.0|vd:CertifiedBatch]] | |||
** [[Delivery_v2.0|vd:Delivery]] | |||
** [[GoodsDate_v2.0|vd:GoodsDate]] | |||
** [[LaboratoryResearchEvent_v2.0|vd:LaboratoryResearchEvent]] | |||
** [[ProductiveBatch_v2.0|vd:ProductiveBatch]] | |||
** [[QuarantineEvent_v2.0|vd:QuarantineEvent]] | |||
** [[RawBatch_v2.0|vd:RawBatch]] | |||
** [[StockEntry_v2.0|vd:StockEntry]] | |||
** [[VetDocument_v2.0|vd:VetDocument]] | |||
** [[VetDocumentForm_v2.0|vd:VetDocumentForm]] | |||
** [[VetDocumentStatus_v2.0|vd:VetDocumentStatus]] | |||
** [[VetDocumentStatusChange_v2.0|vd:VetDocumentStatusChange]] | |||
** [[VetDocumentStatusChangeReason_v2.0|vd:VetDocumentStatusChangeReason]] | |||
** [[VetDocumentType_v2.0|vd:VetDocumentType]] | |||
** [[VeterinaryAuthentication_v2.0|vd:VeterinaryAuthentication]] | |||
** [[VeterinaryEventType_v2.0|vd:VeterinaryEventType]] | |||
{{столбцы/конец}} | {{столбцы/конец}} | ||
Версия 15:54, 17 июля 2017
Общие сведения
Операция RegisterProductionOperation предназначена для оформления в системе Меркурий производственной партии, как завершённой, так и незавершённой. На вход системы передаются следующие сведения:
- информация о сырье, из которого партия или несколько партий были произведены;
- информация о произведенной партии или нескольких партиях продукции;
- информация о хозяйствующем субъекте - собственнике сырья и выпускаемой продукции и информация о площадке, на которой продукция выпускается;
- идентификатор производственной операции (для незавершённого производства);
- номер производственной партии (для незавершённого производства);
- флаг завершения производственной транзакции.
Результатом выполнения данной операции является:
- списание объема с одной или нескольких записей журнала продукции, указанного в качестве сырья;
- добавление одной или нескольких записей в журнал вырабатываемой продукции о партии продукции, которая была произведена или присоединение к существующей записи вырабатываемой продукции, если оформляется незаверёшнное производство;
- для каждой записи журнала вырабатываемой продукции, которая была добавлена при выполнении операции, система Меркурий формирует ветеринарно-сопроводительный документ (ВСД) или происходит увеличение объёма выпущенной продукции в уже оформленном ветеринарном документе (для незавершённого производства).
Возможные сценарии
При выполнении операции возможны следующие сценарии.
- 3.1. Выработанная продукция с указанной записи журнала была полностью израсходована в качестве сырья, т.е. объём продукции для записи журнала после списания стал равен нулю.
- Происходит списание объёмов с указанных записей журнала.
- Запись журнала вырабатываемой продукции, объем которой израсходован, переходит в статус "оформлена".
- Оформляется один или несколько производственных сертификатов.
- Происходит гашение производственных сертификатов, объем которых был израсходован.
- 3.2. Выработанная продукция с указанной записи журнала НЕ была полностью израсходована, т.е. объём продукции для записи журнала после списания – больше нуля.
- Происходит списание объёмов с указанных записей журнала.
- Оформляется один или несколько производственных сертификатов.
- 4.1. Входящая продукция с указанной записи журнала была полностью израсходована в качестве сырья, т.е. объём продукции для записи журнала после списания стал равен нулю.
- Происходит списание объёмов с указанных записей журнала.
- Запись журнала входной продукции, объем которой израсходован, переходит в статус "оформлена".
- Оформляется один или несколько производственных сертификатов.
- 4.2. Входящая продукция с указанной записи журнала НЕ была полностью израсходована, т.е. объём продукции для записи журнала после списания – больше нуля.
- Происходит списание объёмов с указанных записей журнала.
- Оформляется один или несколько производственных сертификатов.
При оформлении незавершённого производства возможны как "традиционные" списание сырья и выработка продукции в рамках одного запроса, так и отдельный выпуск продукции или отдельное списание сырья. Для незавершённого производства вводится понятие "производственная транзакция" - это логическое объединение операций списания сырья и производства продукции. В запросах идентификатор транзакции указывается в поле operationId, и пока транзакция не завершена (т.е. в запросах указывается finalize = false), в её рамках можно списывать сырьё и производить продукцию. Как было указано выше, это можно делать как в рамках одной операции, так и в отдельных. Поле finalizeOperation по умолчанию принимает значение false. Важно, чтобы в запросе, выполняемом в рамках производственной транзакции, присутствовал хотя бы один из элементов:
- списание сырья;
- производство продукции;
- завершение производственной транзакции (finalize=true).
- 5.1. Открытие производственной транзакции. То есть происходит списание сырья в производство, сертификат имеет статус оформлен(производство не завершено)
- Происходит списание объёмов с указанных записей журнала.
- Оформляется один или несколько производственных сертификатов, со статусом "оформлен (производство не завершено)".
- Создаётся новая запись складского журнала с выпущенной продукцией.
- 5.2. Добавление производственной операции в транзакцию.
- Происходит списание объёмов с указанных записей журнала, если указано исходное сырье.
- В ветеринарном сертификате, который был создан в результате транзакции с тем же кодом, что и текущая, происходит изменение объёма, если была указана произведённая продукция.
- Происходит увеличиние объёма записи произведённой продукции, которая была создана с тем же номером операции, который указан в текущей операции, если была указана произведённая продукция.
- 5.3. Завершение производственной транзакции.
- Происходит списание объёмов с указанных записей журнала, если они были указаны.
- В ветеринарном сертификате, который был создан в результате транзакции с тем же кодом, что и текущая, происходит изменение объёма, если была указана произведённая продукция.
- Сертификат переходит в статус "оформлен (производство завершено)".
- Происходит увеличиние объёма записи произведённой продукции, которая была создана с тем же номером операции, который указан в текущей операции, если была указана произвежённая продукция.
Используемые пространства имён и типы
|
|