Skip to main content

Get records

Gets records from the selected table

Function GetRecords(Val Table, Val Fields = "*", Val Filters = "", Val Sort = "", Val Count = "", Val Connection = "") Export

ParameterCLI optionTypeRequiredDescription
Table--tableStringTable name
Fields--fieldsArray Of StringFields for selection
Filters--filterArray of StructureFilters array. See GetRecordsFilterStrucutre
Sort--orderStructure Of KeyAndValueSorting: Key > field name, Value > direction (ASC, DESC)
Count--limitNumberLimiting the number of received strings
Connection--dbcString, ArbitraryConnection or connection string

Returns: Map Of KeyAndValue - Result of query execution


1C:Enterprise/OneScript code example
    Address  = "127.0.0.1";
Login = "bayselonarrend";
Password = "12we...";
Base = "testbase1";

ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, Base, Login, Password);

// All records without filters

Table = "testtable";

// 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.GetRecords(Table, , , , , ConnectionString);

// Filter, selected fields, limit and sorting

ConnectionString = OPI_PostgreSQL.GenerateConnectionString(Address, "test_data", Login, Password);

Table = "test_data";

Fields = New Array;
Fields.Add("first_name");
Fields.Add("last_name");
Fields.Add("email");

Filters = New Array;

FilterStructure1 = New Structure;

FilterStructure1.Insert("field", "gender");
FilterStructure1.Insert("type" , "=");
FilterStructure1.Insert("value", "Male");
FilterStructure1.Insert("union", "AND");
FilterStructure1.Insert("raw" , False);

FilterStructure2 = New Structure;

FilterStructure2.Insert("field", "id");
FilterStructure2.Insert("type" , "BETWEEN");
FilterStructure2.Insert("value", "20 AND 50");
FilterStructure2.Insert("raw" , True);

Filters.Add(FilterStructure1);
Filters.Add(FilterStructure2);

Sort = New Structure("ip_address", "DESC");
Count = 5;

Result = OPI_PostgreSQL.GetRecords(Table, Fields, Filters, Sort, Count, ConnectionString);
    # JSON data can also be passed as a path to a .json file

oint postgres GetRecords \
--table "test_data" \
--fields "['first_name','last_name','email']" \
--filter "[{'field':'gender','type':'=','value':'Male','union':'AND','raw':false},{'field':'id','type':'BETWEEN','value':'20 AND 50','raw':true}]" \
--order "{'ip_address':'DESC'}" \
--limit 5 \
--dbc "postgresql://bayselonarrend:***@127.0.0.1:5432/"
Result
{
"data": [
{
"bigint_field": 9999999,
"bigserial_field": 9999999,
"bool_field": true,
"bytea_field": {
"BYTEA": "/9j/4VTBRX..."
},
"char_field": "A",
"charn_field": "AAA",
"date_field": "2025-02-18",
"dp_field": 1.0002,
"int_field": 100,
"ip_field": "127.0.0.1",
"json_field": {
"key": "ItsKey",
"value": 10
},
"jsonb_field": {
"key": "ItsKey",
"value": 10
},
"name_field": "Vitaly",
"oid_field": 24576,
"oldchar_field": 1,
"real_field": 15.1999998092651,
"serial_field": 100,
"smallint_field": 5,
"smallserial_field": 6,
"text_field": "Some text",
"time_field": "11:16:51.934306",
"ts_field": "2025-02-18 11:16:51.934306",
"tswtz_field": "2025-02-18 06:16:51.934306 +00:00",
"uuid_field": "f4fadc5a-db67-4cc2-a656-ed31c8665da8",
"varchar_field": "Some varchar"
}
],
"result": true
}