А там разве гарантируется восстановление всех полей? И что со строками делать?
А зачем строки, если нужно сторнировать. Единственный плюс в восстановлении удаленной закупки это то, что две накладные будут привязаны к одной закупке.
Кстати, если галка в параметрах PurchParameters.cancelPurch не включена, то в таблице PurchTableDelete не будет записей и закупку восстановить не получится.