begin
/* Výdejky materiálu do výroby */
FOR
SELECT 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 :productiontask_ID, :LOCALAMOUNTOUT
Do Suspend;
/* Příjemky výrobků a Vratky materiálu z výroby */
FOR
SELECT 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 :productiontask_ID, :LOCALAMOUNTOUT
Do Suspend;
/* Pracovní lístky */
FOR
SELECT JO.productiontask_id, A.SalaryCosts + A.OverheadCosts + A.GeneralExpense as LocalAmount
FROM PLMOperations A
left join PLMJobOrdersRoutines RO on RO.ID = A.JobOrdersRoutines_ID
left join PLMJOOutputItems MI on MI.ID = RO.parent_ID
left join PLMJONodes JON on MI.Owner_ID = JON.ID
left join plmjoborders JO on JO.ID = JON.Parent_ID
WHERE A.FinishedAt$Date is not null and A.FinishedAt$Date > 0 and (A.FinishedAt$Date >= :datefrom and A.FinishedAt$Date < :dateto)
into :productiontask_ID, :LOCALAMOUNTOUT
Do Suspend;
/* Kooperace */
For
SELECT JO.productiontask_id, A.RealMaterialPrice + A.RealWorkPrice as LocalAmount
FROM plmcooperations A
left join plmjoborders JO on JO.ID = A.JobOrder_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 :productiontask_ID, :LOCALAMOUNTOUT
DO suspend;
/* Dokončené výrobky */
For
SELECT JO.productiontask_id, A.Amount as LocalAmount
FROM plmfinishedproducts A
left join plmjoborders JO on JO.ID = A.JobOrder_ID
where A.DocDate$DATE is not null and A.DocDate$DATE > 0 and (A.DocDate$DATE >= :datefrom and A.DocDate$DATE < :dateto)
into :productiontask_ID, :LOCALAMOUNTOUT
DO suspend;
/* Vyrovnání nedokončené výroby */
FOR
SELECT JO.productiontask_id, -A.Amount as LocalAmount
FROM plmbalanceinprocessproduces A
left join plmjoborders JO on JO.ID = A.joborder_id
WHERE A.DocDate$DATE is not null and A.DocDate$DATE > 0 and (A.DocDate$DATE >= :datefrom and A.DocDate$DATE < :dateto)
into :productiontask_ID, :LOCALAMOUNTOUT
Do Suspend;
end;