begin
/* Výdejky materiálu do výroby */
FOR
SELECT sd.documenttype, sd.docqueue_id, sd.ordnumber, sd.period_id, sd.docdate$date, a.productiontask_id, LocalTAmount
FROM Storedocuments2 A
left join Storedocuments SD ON SD.id = A.Parent_ID
WHERE
SD.DocumentType = '27' and (SD.DocDate$DATE >= :datefrom and SD.DocDate$DATE < :dateto)
into :doctype, :docqueue_ID, :ordnumber, :period_id, :docdate, :productiontask_ID, :LOCALAMOUNTOUT
DO suspend;
/* Příjemky výrobků a Vratky materiálu z výroby */
For
SELECT sd.documenttype, sd.docqueue_id, sd.ordnumber, sd.period_id, sd.docdate$date, a.productiontask_id,
LocalTAmount * -1
FROM Storedocuments2 A
left join Storedocuments SD ON SD.id = A.Parent_ID
WHERE
SD.DocumentType in ('28','29') and (SD.DocDate$DATE >= :datefrom and SD.DocDate$DATE < :dateto)
into :doctype, :docqueue_ID, :ordnumber, :period_id, :docdate, :productiontask_ID, :LOCALAMOUNTOUT
DO suspend;
/* Souhrnne pracovní lístky */
For
SELECT qu.documenttype, a.docqueue_id, a.ordnumber, a.period_id, a.DocDate$DATE, JO.productiontask_id, A.Amount as LocalAmount
FROM plmaggregateworktickets A
left join plmjoborders JO on JO.ID = A.JobOrder_ID
left join docqueues QU ON QU.id = a.docqueue_id
WHERE A.DocDate$DATE is not null and A.DocDate$DATE > 0 and (A.DocDate$DATE >= :datefrom and A.DocDate$DATE < :dateto)
into :doctype, :docqueue_ID, :ordnumber, :period_id, :docdate, :productiontask_ID, :LOCALAMOUNTOUT
DO suspend;
/* Kooperace */
For
SELECT qu.documenttype, a.docqueue_id, a.ordnumber, a.period_id,
case when a.ReturnedAt$DATE > 0 then a.ReturnedAt$DATE else a.docdate$date end,
JO.productiontask_id, A.RealMaterialPrice + A.RealWorkPrice as LocalAmount
FROM plmcooperations A
left join plmjoborders JO on JO.ID = A.JobOrder_ID
left join docqueues QU ON QU.id = a.docqueue_id
where (ReturnedAt$DATE = 0 and (A.DocDate$DATE >= :datefrom and A.DocDate$DATE < :dateto))
or (ReturnedAt$DATE > 0 and (ReturnedAt$DATE >= :datefrom and ReturnedAt$DATE < :dateto))
into :doctype, :docqueue_ID, :ordnumber, :period_id, :docdate, :productiontask_ID, :LOCALAMOUNTOUT
DO suspend;
/* Dokončené výrobky */
For
SELECT qu.documenttype, a.docqueue_id, a.ordnumber, a.period_id,
a.docdate$date,
JO.productiontask_id, A.Amount as LocalAmount
FROM plmfinishedproducts A
left join plmjoborders JO on JO.ID = A.JobOrder_ID
left join docqueues QU ON QU.id = a.docqueue_id
where A.DocDate$DATE is not null and A.DocDate$DATE > 0 and (A.DocDate$DATE >= :datefrom and A.DocDate$DATE < :dateto)
into :doctype, :docqueue_ID, :ordnumber, :period_id, :docdate, :productiontask_ID, :LOCALAMOUNTOUT
DO suspend;
/* Vyrovnani nedokoncene vyroby */
FOR
SELECT qu.documenttype, a.docqueue_id, a.ordnumber, a.period_id, a.DocDate$DATE, JO.productiontask_id, -A.Amount as LocalAmount
FROM plmbalanceinprocessproduces A
left join plmjoborders JO on JO.ID = A.joborder_id
left join docqueues QU ON QU.id = a.docqueue_id
WHERE A.DocDate$DATE is not null and A.DocDate$DATE > 0 and (A.DocDate$DATE >= :datefrom and A.DocDate$DATE < :dateto)
into :doctype, :docqueue_ID, :ordnumber, :period_id, :docdate, :productiontask_ID, :LOCALAMOUNTOUT
Do Suspend;
End;