Show/Hide Toolbars

The following sample searches invoices by given search criteria (a particular invoice vendor) and returns the specified properties of the resulting invoice records.

Code Snippet

protected InvoiceRepository invoiceRepository;

private List<Invoice> test_readInvoicesByCriteria() throws Exception

{

// Criterion for invoice searching

StringFieldCriterion fieldCriterion = new StringFieldCriterion();

fieldCriterion.setComparator(UserComparator.CONTAINS);

LegacySearchFieldPathExpression fieldPathExpression = new LegacySearchFieldPathExpression();

fieldPathExpression.setSearchKeyPath("vendor");

fieldCriterion.setFieldPath(fieldPathExpression);

fieldCriterion.getValue().add("Rubidoux Accounting");

FieldSearchClause searchCriteria = new FieldSearchClause();

searchCriteria.setOperator(LogicOperator.AND);

searchCriteria.getCriteria().add(fieldCriterion);

invoices = invoiceRepository.readInvoicesByCriteria(searchCriteria, 100, getPropertiesToRead());

}

private List<String> getPropertiesToRead() {

List<String> properties = new List<String>();

properties.add("version");

properties.add("createdBy");

properties.add("createdOn");

properties.add("modifiedBy");

properties.add("modifiedOn");

properties.add("numberString");

properties.add("invoiceDate");

properties.add("receivedDate");

properties.add("periodStartDate");

properties.add("periodEndDate");

properties.add("submittedElectronically");

properties.add("postingStatus");

properties.add("vendor");

properties.add("submittedTotal");

properties.add("currency");

properties.add("comment");

properties.add("warnings");

properties.add("taxRate");

properties.add("adjustments");

properties.add("lineItems");

properties.add("originalExpenseTotal");

properties.add("originalFeeTotal");

properties.add("originalInvoiceTotal");

properties.add("expenseDiscountTotal");

properties.add("feeDiscountTotal");

properties.add("invoiceDiscountTotal");

properties.add("expenseAdjustmentTotal");

properties.add("feeAdjustmentTotal");

properties.add("invoiceAdjustmentTotal");

properties.add("expenseTaxTotal");

properties.add("feeTaxTotal");

properties.add("invoiceTaxTotal");

properties.add("netExpenseTotal");

properties.add("netFeeTotal");

properties.add("netInvoiceTotal");

properties.add("categories");

properties.add("note");

return properties;

}