Чтение данных PostgreSQL. (2017.11)
Connection = Новый COMОбъект("ADODB.Connection");
// www.connectionstrings.com
Connection.ConnectionString = "Driver={PostgreSQL Unicode(x64)};Server=10.2.54.165;Port=5432;Database=Couriers.Prod;Uid=kur;Pwd=ytxbnftvsq*gfhjkm;";
Connection.Open();
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = Connection;
//Загрузка заказов
Command.CommandText = "
| SELECT
| ""Zayavka"".""Number"" AS ""Номер"",
| ""Zayavka"".""WorkStatus"" AS ""Статус"",
| ""Zayavka"".""CreationDateTime"" AS ""Дата"",
| ""Zayavka"".""Id"" AS ""ИдЗаказа"",
| ""Контрагент"".""Name"" AS ""КонтрНаим"",
| ""Организация"".""Name"" AS ""ОрганНаим"",
| FROM
| dbo.""Orders"" ""Zayavka""
| LEFT OUTER JOIN dbo.""Contractors"" ""Контрагент"" ON ""Zayavka"".""PayerId"" = ""Контрагент"".""Id""
| LEFT OUTER JOIN dbo.""Contractors"" ""Организация"" ON ""Zayavka"".""SenderId"" = ""Организация"".""Id""
| WHERE
| ""Zayavka"".""CreationDateTime"" >= '20161101' AND (not(""Zayavka"".""PaymentType"" = 0) or ""Zayavka"".""PaymentType"" is null) AND
| ""Zayavka"".""UpdateDateTime"" >= '20171101'
| ORDER BY
| ""Zayavka"".""Id"" ASC";
RecordSet = Command.Execute();
ОТСтрока = Новый ОписаниеТипов("Строка");
ОТЧисло = Новый ОписаниеТипов("Число");
ТЗВнешДанныеЗаказы = Новый ТаблицаЗначений;
ТЗВнешДанныеЗаказы.Колонки.Добавить("Номер", ОТСтрока);
ТЗВнешДанныеЗаказы.Колонки.Добавить("Статус", ОТЧисло);
ТЗВнешДанныеЗаказы.Колонки.Добавить("ИдЗаказа", ОТЧисло);
ТЗВнешДанныеЗаказы.Колонки.Добавить("Дата", Новый ОписаниеТипов("Дата"));
ТЗВнешДанныеЗаказы.Колонки.Добавить("КонтрНаим", ОТСтрока);
ТЗВнешДанныеЗаказы.Колонки.Добавить("ОрганНаим", ОТСтрока);
Пока Не RecordSet.EOF() Цикл
ЗаполнитьТаблицуЗаказы(ТЗВнешДанныеЗаказы, RecordSet);
RecordSet.MoveNext();
КонецЦикла;
Connection.Close();
ЗагрузитьДоговораКлиентов(ТЗВнешДанныеДоговора);
|