then make a Function to update your required details .... there are couple of FUNCTIONS in this Forum -- wherein Narration or LedgerName are being changed/updated .... modify the same for your use to update details without opening the Voucher.
Refer this Thread --- http://tdlexpert.com/index.php?threads/replace-ledger-and-stock-item-in-voucher-entries.5780/ Modify it as per your needs.
BillofladingNo is already a defined UDF in Default Tally....... you can use some other name for Storage purpose........... Then in the ACTUAL BillofladingNo FIELD you can use a condition --- if Empty newUDF then BillofladingNo else newUDF.