# copyConfigRecordById

Creates a deep copy from a config record. Typical example is to create a copy of an "order" record, with a copy of all the "orderLines" from that source "order". Gebra Suite will use the "Cascade Copy" flag of a grid control, to decide if which referenced records will be copied.

## Parameters

1. configName
2. recordId - the id of the source record
3. additionalValues - json object of values in the target record that should be modified. e.g. an "orderDate" field. Can be null, in this case you get a 1:1 copy except the record id.

## Example Usages

Exact copy:

```javascript
let newOrder = app.copyConfigRecordById("customerOrder", 1376);
```

Copy with new date for header data and manipulating two columns of line item data:

```javascript
let newOrder = app.copyConfigRecordById("customerOrder", 1376, {
  cordOrderDate: new Date(),
  cordlnOrderQuantity: "1",
  cordlnDeliveredQuantity: null,
});
```

In both cases, input parameters "customerOrder" and 1376 translate to function parameters **configName** and **recordId**. The last input parameter in the later example is a JSON object that holds values to be modified. On the other hand, assigning null to an input parameter and to a field in a JSON object are different things.

### Return Values

The function returns "null" if the "id" is falsy or equal to "0". Otherwise, it returns the result of (internal) calling the "brixxCallEventProcessor" function with the provided arguments. The result of this function call is a "jsonData" object.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gebra-it.gitbook.io/wiki/client-api-reference/functions/copyconfigrecordbyid.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
