You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-11-27 22:18:36 +02:00
115 lines
3.8 KiB
Plaintext
Vendored
115 lines
3.8 KiB
Plaintext
Vendored
---
|
|
sidebar_position: 13
|
|
description: Update records and other functions to work with PostgreSQL in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
|
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, PostgreSQL]
|
|
---
|
|
|
|
import Tabs from '@theme/Tabs';
|
|
import TabItem from '@theme/TabItem';
|
|
|
|
# Update records
|
|
Updates the value of records by selected criteria
|
|
|
|
|
|
|
|
`Function UpdateRecords(Val Table, Val ValueStructure, Val Filters = "", Val Connection = "", Val Tls = "") Export`
|
|
|
|
| Parameter | CLI option | Type | Required | Description |
|
|
|-|-|-|-|-|
|
|
| Table | --table | String | ✔ | Table name |
|
|
| ValueStructure | --values | Structure Of KeyAndValue | ✔ | Values structure: Key > field, Value > field value |
|
|
| Filters | --filter | Array of Structure | ✖ | Filters array. See GetRecordsFilterStrucutre |
|
|
| Connection | --dbc | String, Arbitrary | ✖ | Connection or connection string |
|
|
| Tls | --tls | Structure Of KeyAndValue | ✖ | TLS settings, if necessary. See GetTlsSettings |
|
|
|
|
|
|
Returns: Map Of KeyAndValue - Result of query execution
|
|
|
|
<br/>
|
|
|
|
:::tip
|
|
Record data is specified as an array of structures of the following type:<br/>`{'Field name 1': {'Type': 'Value'}, 'Field name 2': {'Type': 'Value'},...}`
|
|
|
|
The list of available types is described on the initial page of the PostgreSQL library documentation
|
|
:::
|
|
<br/>
|
|
|
|
|
|
```bsl title="1C:Enterprise/OneScript code example"
|
|
Address = "127.0.0.1";
|
|
Login = "bayselonarrend";
|
|
Password = "12we...";
|
|
Base = "test_data";
|
|
|
|
TLS = True;
|
|
Port = 5432;
|
|
ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password, Port);
|
|
|
|
If TLS Then
|
|
TLSSettings = OPI_PostgreSQL.GetTLSSettings(True);
|
|
Else
|
|
TLSSettings = Undefined;
|
|
EndIf;
|
|
|
|
Table = "test_data";
|
|
|
|
FieldsStructure = New Structure;
|
|
FieldsStructure.Insert("ip_address", New Structure("VARCHAR", "127.0.0.1"));
|
|
|
|
Filters = New Array;
|
|
|
|
FilterStructure = New Structure;
|
|
|
|
FilterStructure.Insert("field", "gender");
|
|
FilterStructure.Insert("type" , "=");
|
|
FilterStructure.Insert("value", New Structure("VARCHAR", "Male"));
|
|
FilterStructure.Insert("raw" , False);
|
|
|
|
Filters.Add(FilterStructure);
|
|
|
|
// When using the connection string, a new connection is initialised,
|
|
// which will be closed after the function is executed.
|
|
// If several operations are performed, it is desirable to use one connection,
|
|
// previously created by the CreateConnection function()
|
|
Result = OPI_PostgreSQl.UpdateRecords(Table
|
|
, FieldsStructure
|
|
, FilterStructure
|
|
, ConnectionString
|
|
, TLSSettings);
|
|
```
|
|
|
|
|
|
<Tabs>
|
|
|
|
<TabItem value="bash" label="Bash" default>
|
|
```bash
|
|
# JSON data can also be passed as a path to a .json file
|
|
|
|
oint postgres UpdateRecords \
|
|
--table "test_data" \
|
|
--values "{'ip_address':{'VARCHAR':'127.0.0.1'}}" \
|
|
--filter "[{'field':'gender','type':'=','value':{'VARCHAR':'Male'},'raw':false}]" \
|
|
--dbc "postgresql://bayselonarrend:***@127.0.0.1:5432/"
|
|
```
|
|
</TabItem>
|
|
|
|
<TabItem value="bat" label="CMD/Bat" default>
|
|
```batch
|
|
:: JSON data can also be passed as a path to a .json file
|
|
|
|
oint postgres UpdateRecords ^
|
|
--table "test_data" ^
|
|
--values "{'ip_address':{'VARCHAR':'127.0.0.1'}}" ^
|
|
--filter "[{'field':'gender','type':'=','value':{'VARCHAR':'Male'},'raw':false}]" ^
|
|
--dbc "postgresql://bayselonarrend:***@127.0.0.1:5432/"
|
|
```
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
|
|
```json title="Result"
|
|
{
|
|
"result": true
|
|
}
|
|
```
|