Загрузка данных


Короткий ответ:
Колонка trdz_57 (заказанная) не суммирует данные из tblOrder и tblOrder_Podr, а вычитает из заказанной трудоёмкости то, что уже передано подрядчикам. То есть показывает остаток.

Аргументы со строками кода:

1. Сначала собираются часы, уже переданные подрядчикам (таблица tblOrder_Podr)
   ```sql
   insert into @t1
   select kod_order, sum(trPodrOt), sum(trPodr) from tblOrder_Podr ...
   group by kod_order
   ```
   Здесь sum(trPodr) — это заказанные часы, которые «съели» подрядчики.
   sum(trPodrOt) — отчитанные часы, которые «съели» подрядчики.
2. В итоговом SELECT эти суммы ВЫЧИТАЮТСЯ из исходных величин заказа
   · Для заказанной трудоёмкости (trdz_57):
     ```sql
     case when t.kod is null then Round(O.trdz_57, 2)
          else Round(O.Trdz_57 - t.tr, 2) end as Trdz_57
     ```
     Видно оператор - t.tr (минус сумма trPodr). Это вычитание, а не сложение.
   · Для отчитанной трудоёмкости (trdo_57):
     ```sql
     case when t.kod is null then Round(O.trdo_57, 2)
          else Round(O.trdo_57 - t.ot, 2) end as Trdo_57
     ```
     Аналогично  - t.ot.
   · Разница (остаток):
     ```sql
     ROUND(O.Trdz_57 - O.trdo_57 - t.tr + t.ot, 2) AS ost
     ```
     Тоже вычитание с учётом подрядов.
3. Если подрядчиков нет — остаток равен исходному
   Когда запись в @t1 отсутствует (t.kod is null), выводится просто O.trdz_57 без вычитаний.

Итог:
В коде нет ни одного места, где бы складывались поля из tblOrder и tblOrder_Podr. Везде выполняется О.tr - T.хвост*.
Поэтому trdz_57 = «исходная заказанная трудоёмкость» минус «часы, уже отданные подрядчикам» = оставшаяся заказанная.