| property AccountCode: String readonly |
| property AccountFile: String readonly |
| property ActualsCost: Number [Amount] readonly heat 7 |
| property ActualsMargin: Number [Markup] calculated |
| property ActualsProfit: Number [Amount] calculated |
| property ActualsSell: Number [FX Amount] readonly heat 7 |
| property ActualsSellBs: Number [Amount] readonly heat 7 |
| property AllowInactive: Boolean |
| property AllowManualNumbering: Boolean |
| property BOF: Boolean readonly |
| property BranchCode: String(8) [CO Branch Code] required heat 2 |
| property CanDelete: Boolean readonly |
| property Category1: String(8) [JC Category 1 Code] setting "JC\Cat1Alias" heat 2 |
| property Category2: String(8) [JC Category 2 Code] setting "JC\Cat2Alias" heat 2 |
| property ClassName: String readonly |
| property Comment: String(30) [Comment] heat 2 |
| property ContactEmail: Boolean [Boolean] heat 2 |
| property ContactID: Number [AR Contact ID] heat 2 |
| property CreatedDate: Date readonly |
| property CreatedTime: Date readonly |
| property CreatedTimestamp: Date readonly heat 1 |
| property CreatedUserCode: String(8) [CO User Code] readonly heat 1 |
| property Custom1: String(60) [JC Job Custom 1 Text] setting "JC\JobCustom1Alias" heat 2 |
| property Custom2: String(60) [JC Job Custom 2 Text] setting "JC\JobCustom2Alias" heat 2 |
| property CustomerCode: String(16) [AR Customer Code] heat 2 |
| property CustomerName: String(60) [Name U] readonly calculated |
| property DateCompleted: Date heat 4 |
| property DateEntered: Date heat 2 |
| property DateRequired: Date heat 2 |
| property DateValued: Date heat 3 |
| property DefaultLocationCode: String(8) [IC Location Code] heat 2 |
| property DepartmentCode: String(8) [CO Department Code] required heat 2 |

| property Description: Object readonly
| property LineCount: Number readonly |
| property Text: String |
| method GetLine(LineNumber: Number): String |
| method GetPropertyValue(PropertyName: String): Variant |
| method InsertGlobalNarrative(Code: String) |
| method PropertyType(PropertyName: String): String |
| method SetLine(LineNumber: Number, Value: String) |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
|
| property DiscountScheduleCode: Number [SmallInt] heat 2 |
| property DrawingNo: String(30) [Short Description] heat 2 |
| property Editing: Boolean readonly |
| property EditRevision: Number [Record Revision] readonly heat 4 |
| property EOF: Boolean readonly |

| property Estimate: Object readonly
| property BaseUOMCode: String(8) [CO UOM Code] readonly |
| property BOF: Boolean readonly |
| property BranchCode: String(8) [CO Branch Code] |
| property Comment: String(30) [Comment] |
| property ComponentCode: String(8) [JC Component Code] setting "JC\ComponentAlias" |
| property ComponentName: String(30) [Short Description] readonly |
| property ComponentOverridden: Boolean [Boolean] |
| property CostCentreCode: String(8) [JC Cost Centre Code] setting "JC\CostCentreAlias" |
| property CostCentreName: String(30) [Short Description] readonly |
| property CostCentreOverridden: Boolean [Boolean] |
| property Custom1: String(30) [JC Estimate Line Custom 1 Text] setting "JC\EstiCustom1Alias" |
| property Custom2: String(30) [JC Estimate Line Custom 2 Text] setting "JC\EstiCustom2Alias" |
| property DepartmentCode: String(8) [CO Department Code] |
| property Description: String(60) [Description] |
| property DiscountPercentage: Number [Discount] |
| property Editing: Boolean readonly |
| property EOF: Boolean readonly |
| property EstimateLineType: String(1) [JCTranType] required
| Values: T (Time), M (Material), D (Disbursement), N (Narrative) |
|
| property ExchangeRate: Number [Exchange Rate] readonly |
| property ExtendedCost: Number [Amount] readonly |
| property ExtendedSell: Number [FX Amount] readonly |
| property ExtendedSellBs: Number [Amount] readonly |

| property FilterSort: Object readonly
| property Filter: String |
| property FilterJSON: String |
| property Sort: String |
| property SortJSON: String |
| method Edit([FieldName: String, Operator: String, Criteria: String]*): Boolean |
| method GetPropertyValue(PropertyName: String): Variant |
| method PropertyType(PropertyName: String): String |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
|
| property LineBreak: Boolean [Boolean] readonly |
| property LineID: Number [JC Estimate Line ID] readonly |
| property LineNo: Number [Integer] |
| property LineSpace: Boolean [Boolean] |
| property LineTypeOverridden: Boolean [Boolean] |
| property LotNo: String(28) [IC Lot No] readonly |
| property MarginPercentage: Number [Percentage] readonly calculated |
| property MarkupPercentage: Number [Markup] |
| property ProductCode: String(28) [IC Product Code] |
| property QuantityEstimated: Number [Quantity] |
| property RateType: String(8) [CO FX Rate Type Code] readonly required |
| property RecNo: Number [Integer] |
| property RecordCount: Number [Integer] readonly |
| property RecordMax: Number [Integer] readonly |
| property Reference: String(30) [Reference] |
| property SalesGroupCode: String(8) [AR Sales Group Code] required |
| property SellCurrencyCode: String(3) [CO Currency Code] readonly required |
| property Unit: String(8) [Unit] |
| property UnitCostPrice: Number [Cost Price] |
| property UnitSellPrice: Number [FX Sell Price] |
| property UnitSellPriceBs: Number [Sell Price] |
| property UOMCode: String(8) [CO UOM Code] |
| property UOMMultiplier: Number [Quantity Multiplier] readonly required |
| property UOMQuantityEstimated: Number [UOM Quantity] |
| property UOMUnitCostPrice: Number [Cost Price] |
| property UOMUnitSellPrice: Number [FX Sell Price] |
| property UOMUnitSellPriceBs: Number [Sell Price] |
| method Append |
| method AppendNarrative(Narrative: String) |
| method ApplyOrder(Order: Array of Variant) |
| method Cancel |
| method Delete |
| method Edit |
| method Empty |
| method FindExact(LineID: Number): Boolean |
| method First |
| method GetFieldDomain(FieldName: String): String |
| method GetPropertyValue(PropertyName: String): Variant |
| method Insert |
| method InsertGlobalNarrative(Code: String): Boolean |
| method InsertNarrative(Narrative: String) |
| method Last |
| method Next |
| method Prev |
| method PropertyType(PropertyName: String): String |
| method Refresh |
| method Save |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
| method Sort(SortFields: String) |
| method SwapDown |
| method SwapUp |
|
| property EstimatedCost: Number [Amount] readonly heat 4 |
| property EstimatedMargin: Number [Markup] calculated |
| property EstimatedProfit: Number [Amount] calculated |
| property EstimatedSell: Number [FX Amount] readonly heat 4 |
| property EstimatedSellBs: Number [Amount] readonly heat 4 |
| property ExchangeRate: Number [Exchange Rate] required heat 3 |
| property ExchangeRateRaw: Number [Float] calculated |

| property FilterSort: Object readonly
| property Filter: String |
| property FilterJSON: String |
| property Sort: String |
| property SortJSON: String |
| method Edit([FieldName: String, Operator: String, Criteria: String]*): Boolean |
| method GetPropertyValue(PropertyName: String): Variant |
| method PropertyType(PropertyName: String): String |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
|
| property FixedRate: Boolean [Boolean] heat 2 |

| property FxRateCache: Object readonly
| property BOF: Boolean readonly |
| property CurrencyCode: String(3) [CO Currency Code] |
| property Editing: Boolean readonly |
| property EOF: Boolean readonly |
| property ExchangeRate: Number [Exchange Rate] |

| property FilterSort: Object readonly
| property Filter: String |
| property FilterJSON: String |
| property Sort: String |
| property SortJSON: String |
| method Edit([FieldName: String, Operator: String, Criteria: String]*): Boolean |
| method GetPropertyValue(PropertyName: String): Variant |
| method PropertyType(PropertyName: String): String |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
|
| property RecNo: Number [Integer] |
| property RecordCount: Number [Integer] readonly |
| property RecordMax: Number [Integer] readonly |
| method Append |
| method ApplyOrder(Order: Array of Variant) |
| method Cancel |
| method Delete |
| method Edit |
| method Empty |
| method First |
| method GetFieldDomain(FieldName: String): String |
| method GetPropertyValue(PropertyName: String): Variant |
| method Insert |
| method Last |
| method Next |
| method Prev |
| method PropertyType(PropertyName: String): String |
| method Refresh |
| method Save |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
| method SwapDown |
| method SwapUp |
|
| property GLClosingWorkInProgressAccountCode: String(8) [GL Account Code] readonly heat 5 |
| property GLWorkInProgressAccountCode: String(8) [GL Account Code] readonly heat 5 |
| property HasTransactions: Boolean readonly |
| property Inactive: Boolean [Boolean] heat 2 |
| property InactiveAllowed: Boolean readonly |
| property IndexName: String
| Value | Index Fields |
| Job | JobCode |
| TypeJob | JobType;JobCode |
| ActiveJob | Inactive;JobCode |
| StatusJob | JobStatus;JobCode |
| StatusTypeJob | JobStatus;JobType;JobCode |
| StatusCustomerJob | JobStatus;CustomerCode;JobCode |
| StatusTypeCustomerJob | JobStatus;JobType;CustomerCode;JobCode |
| CustomerJob | CustomerCode;JobCode |
| CustomerTypeOrder | CustomerCode;JobType;OrderNo |
| RelatedJob | RelatedJobCode;JobCode |
| JobPerson | JobPersonCode |
| PeriodTransferredJob | PeriodTransferToGL;JobCode |
| GroupJob | JobGroupCode;JobCode |
| Category1 | Category1 |
| Category2 | Category2 |
| Branch | BranchCode |
| Department | DepartmentCode |
| DateCompleted | DateCompleted |
|

| property Information: Object readonly
|
| property InvoicedAmount: Number [FX Amount] readonly heat 6 |
| property InvoicedAmountBs: Number [Amount] readonly heat 6 |
| property InvoicedCost: Number [Amount] readonly heat 6 |
| property InvoicedMargin: Number [Markup] calculated |
| property InvoicedProfit: Number [Amount] calculated |
| property JobCode: String(16) [JC Job Code] required heat 1 |
| property JobGroupCode: String(8) [JC Job Group Code] required heat 2 |
| property JobMargin: Number [Markup] calculated |
| property JobName: String(60) [Description] heat 2 |
| property JobPersonCode: String(8) [JC Job Person Code] required heat 3 |
| property JobProfit: Number [Amount] calculated |
| property JobStatus: String(1) [JCJobStatus] required heat 4
| Values: H (Hold), A (Active), C (Complete), D (Deleted) |
|
| property JobType: String(1) [JCJobType] required heat 4
| Values: N (Normal), S (Standard), Q (Quote) |
|
| property LastHistoryPeriod: Number [Period ID] heat 2 |

| property Link: Object readonly
| property BOF: Boolean readonly |
| property Category1: String(8) [CO Link Category 1 Code] setting "CO\LinkCat1Alias" |
| property Category2: String(8) [CO Link Category 2 Code] setting "CO\LinkCat2Alias" |
| property Comment: String(30) [Comment] |
| property CreatedDate: Date readonly |
| property CreatedTime: Date readonly |
| property CreatedTimestamp: Date readonly |
| property CreatedUserCode: String(8) [CO User Code] readonly |
| property Editing: Boolean readonly |
| property EOF: Boolean readonly |
| property FilePath: String(255) [File Path] |

| property FilterSort: Object readonly
| property Filter: String |
| property FilterJSON: String |
| property Sort: String |
| property SortJSON: String |
| method Edit([FieldName: String, Operator: String, Criteria: String]*): Boolean |
| method GetPropertyValue(PropertyName: String): Variant |
| method PropertyType(PropertyName: String): String |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
|
| property ImageIndex: Number [Integer] readonly |
| property Inactive: Boolean [Boolean] |
| property LastModified: Date |
| property LineNo: Number [Integer] readonly calculated |
| property LinkID: Number [JC Link ID] readonly |
| property LinkType: String(1) [COLinkType] required
| Values: F (File), W (Web) |
|
| property ModifiedDate: Date readonly |
| property ModifiedTime: Date readonly |
| property ModifiedTimestamp: Date readonly |
| property ModifiedUserCode: String(8) [CO User Code] readonly |
| property RecNo: Number [Integer] |
| property RecordCount: Number [Integer] readonly |
| property RecordMax: Number [Integer] readonly |
| property RecordRevision: Number [Record Revision] readonly |
| property Reference: String(30) [Reference] |
| property ShortFileName: String(64) [Custom] |
| method Append |
| method Cancel |
| method Delete |
| method Edit |
| method Empty |
| method First |
| method GetFieldDomain(FieldName: String): String |
| method GetPropertyValue(PropertyName: String): Variant |
| method Insert |
| method Last |
| method Next |
| method Prev |
| method PropertyType(PropertyName: String): String |
| method Refresh |
| method Save |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
| method SwapDown |
| method SwapUp |
|
| property ModifiedDate: Date readonly |
| property ModifiedTime: Date readonly |
| property ModifiedTimestamp: Date readonly heat 4 |
| property ModifiedUserCode: String(8) [CO User Code] readonly heat 4 |
| property Name: String |
| property NonWIP: Boolean [Boolean] heat 3 |
| property OrderNo: String(30) [Order No] heat 3 |
| property OrderNoAlpha: String(30) [Order No] calculated |

| property Pending: Object readonly
| property BOF: Boolean readonly |
| property Comment: String(30) [Comment] readonly |
| property CreditorCode: String(16) [AP Creditor Code] readonly |
| property CreditorName: String(60) [Name U] readonly |
| property Details: String(60) [Description] readonly |
| property DocumentClass: String(1) [JCDocumentClass] readonly
| Values: O (Order), Q (Quotation), N (Standing Order), R (Receipt Only), S (Shipment), T (Timesheet), B (Batch), D (Disbursement), I (Invoice) |
|
| property DocumentDate: Date readonly |
| property DocumentNo: String(30) [Document No] readonly |
| property EOF: Boolean readonly |
| property ExtendedCost: Number [Amount] readonly |
| property ExtendedSell: Number [FX Amount] readonly |
| property ExtendedSellBs: Number [Amount] readonly |

| property FilterSort: Object readonly
| property Filter: String |
| property FilterJSON: String |
| property Sort: String |
| property SortJSON: String |
| method Edit([FieldName: String, Operator: String, Criteria: String]*): Boolean |
| method GetPropertyValue(PropertyName: String): Variant |
| method PropertyType(PropertyName: String): String |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
|
| property PeriodID: Number [Period ID] readonly required |
| property PeriodName: String(40) [Period Name] readonly |
| property RecNo: Number [Integer] |
| property RecordCount: Number [Integer] readonly |
| property RecordMax: Number [Integer] readonly |
| property Reference: String(30) [Reference] readonly |
| property SellCurrencyCode: String(3) [CO Currency Code] readonly |
| property SourceDocumentID: Number [Source ID] readonly required |
| property SourceModule: String(2) [Module Code] readonly required |
| method First |
| method GetFieldDomain(FieldName: String): String |
| method GetPropertyValue(PropertyName: String): Variant |
| method Last |
| method Next |
| method Prev |
| method PropertyType(PropertyName: String): String |
| method Refresh |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
|
| property PendingActualsCost: Number [Amount] readonly heat 7 |
| property PendingActualsSell: Number [FX Amount] readonly heat 7 |
| property PendingActualsSellBs: Number [Amount] readonly heat 7 |
| property PendingInvoicedCost: Number [Amount] readonly heat 6 |
| property PendingInvoicedSell: Number [FX Amount] readonly heat 6 |
| property PendingInvoicedSellBs: Number [Amount] readonly heat 6 |
| property PercentageComplete: Number [Percentage] heat 3 |
| property PeriodCompleteForWIP: Number [Integer] readonly |
| property PeriodCompleteName: String(60) [Name] calculated |
| property PeriodTransferToGL: Number [Period ID] readonly heat 8 |
| property PriceCode: String(8) [CO Price Code] required heat 2 |
| property PrintStatus: String(1) [JCJobPrintStatus] readonly required heat 8
| Values: U (Unprinted), Q (Quoted), P (Printed) |
|
| property ProductCode: String(28) [IC Product Code] heat 2 |
| property Quantity: Number [Quantity] heat 2 |
| property QuotedCost: Number [Amount] readonly heat 4 |
| property QuotedMargin: Number [Markup] calculated |
| property QuotedProfit: Number [Amount] calculated |
| property QuotedSell: Number [FX Amount] readonly heat 4 |
| property QuotedSellBs: Number [Amount] readonly heat 4 |
| property RateType: String(8) [CO FX Rate Type Code] required heat 2 |
| property RecNo: Number [Integer] |
| property RecordCount: Number [Integer] readonly |
| property RecordMax: Number [Integer] readonly |
| property RecordRevision: Number [Record Revision] readonly heat 9 |
| property RelatedJobCode: String(16) [JC Job Code] heat 2 |
| property SalesPersonCode: String(8) [AR Sales Person Code] required heat 2 |
| property SellCurrencyCode: String(3) [CO Currency Code] required heat 2 |
| property SiteAddress1: String(40) [Delivery Address 1 U] heat 2 |
| property SiteAddress2: String(40) [Delivery Address 2 U] heat 2 |
| property SiteAddress3: String(40) [Delivery Address 3 U] heat 2 |
| property SiteAddress4: String(40) [Delivery Address 4 U] heat 2 |
| property SiteAddress5: String(40) [Delivery Address 5 U] heat 2 |
| property SiteAddressCode: String(20) [AR Delivery Code] heat 2 |
| property SiteCountryCode: String(2) [CO Country Code] heat 2 |
| property SiteLatitude: Number [GeoCoordinate] heat 2 |
| property SiteLongitude: Number [GeoCoordinate] heat 2 |
| property SitePostCode: String(10) [Post Code] heat 2 |
| property TimeRequired: Date heat 2 |
| property TransferredToGL: Number [Amount] readonly heat 8 |
| property WasInserting: Boolean readonly |
| property WorkInProgress: Number [Amount] calculated |
| property WorkInProgressCost: Number [Amount] readonly heat 7 |
| property WorkInProgressRecovered: Number [Amount] readonly heat 6 |
| method Cancel |
| method CancelRange |
| method CopyEstimatesFrom(JobCode: String, Quantity: Number) |
| method Delete |
| method DisableSums |
| method DuplicateNormal |
| method DuplicateQuote |
| method DuplicateStandard |
| method Edit |
| method EnableSums |
| method ExpandParts(ProductCode: String, Quantity: Number) |
| method Find(Value1: Variant[, Value2: Variant, Value3: Variant, Value4: Variant]): Boolean |
| method FindExact(Value1: Variant[, Value2: Variant, Value3: Variant, Value4: Variant]): Boolean |
| method First |
| method Geocode |
| method GetFieldDomain(FieldName: String): String |
| method GetPropertyValue(PropertyName: String): Variant |
| method InsertNormal |
| method InsertQuote |
| method InsertStandard |
| method Last |
| method Next |
| method OpenForm: Object |
| method Prev |
| method Print: Object |
| method PrintLabel: Object |
| method PropertyType(PropertyName: String): String |
| method Quote: Object |
| method QuoteFromEstimate |
| method Refresh |
| method Reprice([CostPrice: Boolean, SellingPrice: Boolean, Discount: Boolean, Description: Boolean, SalesGroup: Boolean, : Empty]) |
| method Save |
| method SetPropertyValue(PropertyName: String, Value: Variant) |
| method SetRange(Value1: Variant[, Value2: Variant, Value3: Variant, Value4: Variant]) |
| method SetRangeEnd(Value1: Variant[, Value2: Variant, Value3: Variant, Value4: Variant]) |
| method SetRangeStart(Value1: Variant[, Value2: Variant, Value3: Variant, Value4: Variant]) |
| method SumEstimates |
| method Undelete |
| event AfterDelete |
| event AfterSave |
| event BeforeDelete |
| event BeforeSave |