Имя: Пароль:
1C
 
Выгрузить УникальныйИдентификатор 1С в UUID PostgreSQL.
0 tatoshka0403
 
14.08.26
08:49
Всем доброго дня, подскажите пожалуйста как правильно выгружать УникальногоИдентификатора 1С в UUID PosgreSQL.
В SQL тип данных - UUID
В Поле внешнего источника данных - уникальный идентификатор, пробовал менять на строку но это тоже не работает.

Если тип данных "уникальный идентификатор", то ошибка вот такая:
Ошибка ODBC. SQLSTATE: 22P02
Номер ошибки: 1
Описание: ОШИБКА: неверный синтаксис для типа uuid: "\xB0F3627878424FC048B8BE10D058F90D";

Если тип данных "строка", то ошибка вот такая:
Описание: ОШИБКА: неверный синтаксис для типа json
DETAIL: Неожиданный конец входной строки.;

Подскажите как правильно делать такую выгрузку.
1 tatoshka0403
 
14.08.26
08:55
Забыл написать, запись происходит вот так:

НоваяЗаписьSQL = ВнешниеИсточникиДанных.PostgreSQL.Таблицы.Test.СоздатьОбъект();
НоваяЗаписьSQL.name = Товар.Наименование;  
НоваяЗаписьSQL.ID = Товар.УникальныйИдентификатор();
НоваяЗаписьSQL.Записать();
2 DrZombi
 
гуру
14.08.26
08:57
(0)

https://postgrespro.ru/docs/postgresql/current/datatype-uuid

Тип bytea в таблицах 1С на PostgreSQL содержит 16-байтовую бинарную строку. Это двоичное представление уникального идентификатора объекта (GUID / UUID).Внутри этих 16 байт закодирована вся информация, которая позволяет платформе 1С однозначно найти конкретный элемент (например, конкретный товар, документ или контрагента).
3 DrZombi
 
гуру
14.08.26
09:00
+(1) Странно вы пишите :)

ВнешнийИсточникДанныхТаблицаОбъект.<Имя внешнего источника>.<Имя таблицы внешнего источника данных> (ExternalDataSourceTableObject.<External source name>.<External data source table name>)
УстановитьСсылкуНового (SetNewObjectRef)
Синтаксис:
УстановитьСсылкуНового(<Ссылка>)
Параметры:
<Ссылка> (обязательный)
Тип: ВнешнийИсточникДанныхТаблицаСсылка.<Имя внешнего источника>.<Имя таблицы внешнего источника данных>.
Ссылка, которая будет назначена при записи нового объекта.
Описание:
Устанавливает значение для нового (созданного и еще не записанного) объекта, которое будет назначено при записи в качестве ссылки. Значение не может равняться ссылке какого-либо из имеющихся в базе данных объекта данного типа. Уникальность ссылки проверяется при записи объекта.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.3.5.
4 tatoshka0403
 
14.08.26
09:23
(3) Не понимаю. Мне нужно из 1С в SQL передать ИД уже созданного товара.

ГУИД = Товар.УникальныйИдентификатор();
ТекущаяСсылка = Справочники.Номенклатура.ПолучитьСсылку(ГУИД);
    
НоваяЗаписьSQL = ВнешниеИсточникиДанных.PostgreSQL.Таблицы.Test.СоздатьОбъект();
НоваяЗаписьSQL.УстановитьСсылкуНового(ТекущаяСсылка);
НоваяЗаписьSQL.name = Строка(Товар);
НоваяЗаписьSQL.Записать();