case ST_JOURNAL : // it's a journal entry
if (!exists_gl_trans($type, $type_no))
return _('Selected transaction does not exists.');
+ if ($wo = check_wo_costing($type, $type_no))
+ return sprintf(_('This transaction cannot be voided because it is part of Work Order %s costs.'), $wo);
void_journal_trans($type, $type_no);
break;
case ST_MANUISSUE : // it's a work order issue
if (!exists_work_order_issue($type_no))
return _('Selected transaction does not exists.');
+ if ($wo = check_void_wo_issue($type_no))
+ return sprintf(_('Selected document cannot be voided because related Work Order %s is already closed.'), $wo);
void_work_order_issue($type_no);
break;
case ST_MANURECEIVE : // it's a work order production
if (!exists_work_order_produce($type_no))
return _('Selected transaction does not exists.');
+ if ($wo = check_void_wo_production($type_no))
+ return sprintf(_('Selected document cannot be voided because related Work Order %s is already closed.'), $wo);
void_work_order_produce($type_no);
break;