1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-11-27 22:18:36 +02:00
Files
OpenIntegrations/docs/en/md/PostgreSQL/Orm/Update-records.mdx
Vitaly the Alpaca (bot) aa10e4c564 Main build (Jenkins)
2025-10-21 11:36:43 +03:00

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
}
```