Внешняя компонента - обертка для некоторых функций библиотеки libpqxx. Была написана для построения отчета по телефонии, так как стандартное подключение внешних источников данных по ODBC работало очень медленно.
Пример работы с компонентой:
&НаКлиенте
Процедура Подключить()
Попытка
Результат = ПодключитьВнешнююКомпоненту("C:\1C_Base\VK\libpqxx1C.dll", "Хреновина", ТипВнешнейКомпоненты.Native);
Хреновина = Новый("AddIn.Хреновина.libpqxx1C");
Результат = Хреновина.Connect("postgresql://maks:123456@localhost/test?sslmode=prefer");
Если НЕ Результат Тогда
Сообщить("Соединение не установлено: " + Хреновина.ErrorDesc, СтатусСообщения.Важное);
Возврат;
КонецЕсли;
Хреновина.ExecuteSelect("SELECT fio, age, pay, birthday FROM test WHERE age=333;");
Для Индекс = 1 По Хреновина.ColumnsCount Цикл
Сообщить("Тип " + Строка(Хреновина.GetColumnType(Индекс - 1)));
КонецЦикла;
Пока НЕ Хреновина.EOD Цикл
Строчка = "";
Для Индекс = 0 По Хреновина.ColumnsCount - 1 Цикл
Строчка = Строчка + Строка(Хреновина.NextCell()) + " | ";
КонецЦикла;
Сообщить(Строчка);
Хреновина.NextRow();
КонецЦикла;
Хреновина.Disconnect();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Компонента скомпилирована только 32bit для Windows.
В архиве исходный код для Microsoft Visual Studio 2019, пример обработки и дополнительные библиотеки *.dll.
Файл Readme.txt содержит краткое описание свойств и методов компоненты.
Протестировано на 1С:Предприятие 8.3 (8.3.18.1363), свойство конфигурации "Режим использования синхронных вызовов расширений платформы и внешних компонент" - Использовать.