...
So for example if the destination Record Type is a Purchase Order and your you’re attaching a .pdf file, the file name format would be:
...
In addition, if the group name is invalid, the file will still be processed but without a group assigned.
...
File Name Rules for More Complex Related Record Types
...
The following Related Record Types have composite RelatedRecordID's
- CashFlow
- Forecast
- SubContractorCetrtificationDetail
- Timesheet
This means these Related Record Types have RelatedRecordID's that are made up of more than one part. When this happens the RelatedRecordID's parts are sepreated by a dot (.) (period or fullstop).
Some Example file names are:
Cashflow or Forecast: A pdf file to be attached to JobCode ABC123 Year 2000 Period 9, with a group name of 'Default Group' and a Description of 'Graph' would be named:
ABC123.2000.9;Default Group;Graph.pdf
Timesheet: A csv file to be attached to PersonID 1234 Timesheet Weekending Date 09/11/2012 , with no group name specified and a Description of 'Hours Worked' would be named:
1234.2000119;;Hours Worked.csv
The table below identifies what each part is and in the case of timesheets the format.
...
What RelatedRecordID is used for my file type?
...
The RelatedRecordID for each Related Record Type is Usually the PrimaryKey (ID field) of the RelatedRecord Table.
The list below shows the defaults (No Config.ini file) but can be overridden with the implementation of a Config.ini if required (More on this later in the Config.ini section).
This is a comprehensive list (at time of publishing):
Record Type | RelatedRecordID format | Table Validated Against |
---|---|---|
Action | ActionID | Actions |
APCredit | APInvoiceID | APInvoices |
APInvoice | APInvoiceID | APInvoices |
APVoucher | VoucherID | APVoucher |
ARCredit | InvoiceNumber | JobInvoices |
ARInvoice | InvoiceNumber | JobInvoices |
Asset | AssetID | Assets |
Batch | BatchNo | BatchHeaders |
CashFlow | JobCode.YearNo.PeriodNo | Forecasts |
Company | CompanyID | Companies |
Contract | ContractCode | Contracts |
Drawing | DocID | Documents |
Estimate | EstimateID | Estimates |
Forecast | JobCode.YearNo.PeriodNo | Forecasts |
ForecastGainAndLoss | WIPAdjustmentID | WIPAdjustments |
ForecastRiskAdjustment | ForecastRiskID | ForecastRisk |
ForecastSubcontractRisk | ForecastRiskID | ForecastRisk |
ForecastUncommittedAdjustment | ForecastRiskID | ForecastRisk |
ForecastWIPAdjustment | WIPAdjustmentID | WIPAdjustments |
Item | ItemID | Items |
Job | Jobs | JobCode |
JobTransaction | JobTranID | JobTransactions |
Meeting | MeetingID | Meetings |
MeetingItem | MeetingItemID | MeetingItems |
Person | PersonID | People |
Plant | JobCode | Jobs |
PlantPolicy | QuoteID | PlantPolicy |
PlantServiceOrder | QuoteID | PlantServiceOrders |
PriceRequest | PriceRequestID | PriceRequestHeader |
Prospect | ProspectNo | Prospect |
PurchaseOrder | PONumber | PurchaseOrders |
Quote | QuoteID | Quotations |
ReturnVoucher | VoucherID | APVoucher |
ServiceAgreement | ID | ServiceAgreement |
ServiceDesk | LogHeaderID | LogHeader |
SubContract | SubContractCode | SubContracts |
SubContractorCetrtificationDetail | APInvoiceID. |
...
PONumber | SubcontractClaimValues | |
Timesheet | PersonID.TimesheetDate | Timesheets |
WorksOrder | PONumber | PurchaseOrders |
Timesheet's RelatedRecordID has a Timesheet component, these need to be treated in the following way:
Format: yyyym(m)d(d)
As file names cannot contain slashes these have been removed. The year component is always 4 digits. The Month and Day component are variable length (One or two characters) as leading zeros are removed.
So a file being attached to PersonID 1234 for Week Ending 13/07/2012 would have a RelatedRecordID portion of the file name as:
1234.2012713
...
Rejected Files
Rejected files are files that could not be automatically attached for some reason.
...
- Files placed in the wrong subfolder.
- Files that failed validation of the RelatedRecordID.
- Files that have subituted substituted the RelatedRecordID with another field, and that field is not unique for the value being looked up (More on this later in the Config.ini section).
These files are placed in a folder structure within the 'Default Attached Files Folder'. A 'Not Processed' folder is created when required, and the rejected file is placed in a subfolder (Matching its Related Record Type).
Note that in the event a file of the same name already exists in the 'Not Processed' folder structure the newly rejected file is renamed with a number in brackets i.e. 1234;Scanned PO;PO 1234(1).pdf
These files will need to be manually attended to.
...
Config.ini
...
The Config.ini file is optional. If you are attaching files to record types in the standard manner and the file name's first 'field' the area of the file name before the first ; (semicolin) is the normal RelatedRecordID for that file type, then you wont need a Config.ini file.
The Config.ini is a TAB delimited file. However Commas cannot be used in this file, substituted for a pipe ( | ) character if required.
A reasonable knowledge of SQL is required to configure the Config.ini file correctly.
The Config.ini file is used to interpret another 'Unique' field on the related record type's table and resolve to the normal RelatedRecordID. For example when attaching files to a Person (People table) record the normal RelatedRecordID is PersonID, however you could use the Config.ini file to allow the PersonID in the file name to be replaced with another unique field from the People table such as Employee Number instead.
To do this example above a line in the Config.ini file would need to look like the following:
Person SELECT People.PersonID FROM People WHERE People.EmployeeNo = '{1}'
To use Employee Number on timesheets instead of PersonID as well, add the following line to the Config.ini file:
Timesheet SELECT People.PersonID FROM People WHERE People.EmployeeNo = '{1}' Null
The Config.ini file must be placed in the 'Default Attached Files Folder' if required.