Имя: Пароль:
1C
 
Работа с Постгри как со Внешним источником
0 ДенисСмирнов
 
22.12.25
16:19
Нужно писать в СУБД Постгри информацию.

Там есть функция, которая принимает параметры и вставляет их в таблицу. На этом этапе проблем нет - если я запускаю запрос из консоли ПГ, то все работает корректно.

А вот если я пытаюсь вызвать эту функцию из внешнего источника, как  ВнешниеИсточникиДанных.PG.public_myfunc3(параметр1, параметр2... параметрН)
то некоторые типы данных не идут и вызывают ошибку

function public.myfunc3(integer, timestamp without time zone, unknown, integer, unknown, integer) does not exist;

то есть, он не понимает, какой тип данных я пытаюсь ему подсунуть. Если писать в консоли, то я могу указать тип явно: CAST ( '1' AS character ) и такая ошибка уходит.

Но как это указать при вызове функции из 1С? Если в функции ожидается тип intager, то все ок, она вызывается.
А вот если varchar - стопор, ошибка "не понимаю какой тип ты мне подсовываешь"

Вопрос - как передать функции из внешнего источника значения типа bit, varchar и тп с явным указанием их типа?

Спасибо.
1 H A D G E H O G s
 
22.12.25
16:26
(0) 1С работает с unicode текстом, поэтому используйте nvarchar, ну или конвертацию в функции.
2 ДенисСмирнов
 
22.12.25
16:36
(1) В постгри нет типа nvarchar.

Вот у меня конкретная проблема с типом bit. Если я вызываю функцию из консоли "select ..." то пг требует явного указания, что этот параметр - bit (например, вызов cast)

А вот как указать тип параметра при вызове функции, что это именно bit а не просто единичка или ноль, из внешнего источника - упорно не понимаю.
3 1cVandal
 
22.12.25
18:04
а ты не вызывай ее через внешний источник, ты вызывай её строкой запроса и там ты парампампам можешь указать тип