19.01.2017 17:29
HamyaG
 
Цитата:
nik_ll может и быстрее, только как но, как это сформулировать?) на стороне 1С есть толковый спец, но он не в курсе как дергать напрямую в 1С из pg, так же как пока не в курсе про web-сервисы и их обратную связь (как и я доверяет то что можно потрогать, т.е. файлам..)
Как то так примерно))


/////////////////////
кон = ПолучитьСоединение();


Попытка
Состояние("Подключение к базе PostgreSQL...");
кон.open();
Сообщить("База PostgreSQL подключена");
Исключение
Сообщить("Не могу подключиться к базе PostgreSQL " + ОписаниеОшибки());
кон = Неопределено;
КонецПопытки;


наборзаписейсмены = получитьНаборЗаписейСмены(кон);

/////////////////////////////


Функция ПолучитьСоединение()



Connection = Новый COMОбъект("ADODB.CONNECTION");
Connection.Provider = "MSDASQL.1";
Connection.ConnectionString = "Driver={PostgreSQL Unicode};data source=PostgreSQL35W;
|Server="+IP_Кассы+";
|Port=5432;Database=cash;
|Uid=postgres;
|Pwd=postgres;STMT=utf8";
Возврат Connection;

КонецФункции

///////////////////////////

Функция получитьНаборЗаписейСмены(кон)


Команда = Новый COMОбъект("ADODB.Command");
Попытка
Команда.ActiveConnection = кон;
Команда.CommandText = Команда.CommandText + "SELECT id, cashnum, numshift, shiftclose, shiftopen, shiftcreate, shopindex FROM public.ch_shift;";
НаборЗаписейСмены = Команда.Execute();
Состояние("Данные получены.");

Исключение
Сообщить("Нет данных.");

КонецПопытки;

ТЗ = Новый ТаблицаЗначений;
тз.Колонки.Добавить("id");
тз.Колонки.Добавить("cashnum");
тз.Колонки.Добавить("numshift");
тз.Колонки.Добавить("shiftclose");
тз.Колонки.Добавить("shiftopen");
тз.Колонки.Добавить("shiftcreate");
тз.Колонки.Добавить("shopindex");
Пока НаборЗаписейСмены.EOF = Ложь Цикл
стр = тз.Добавить();
стр.id = НаборЗаписейСмены.Fields("id").Value;
стр.cashnum = НаборЗаписейСмены.Fields("cashnum").Value;
стр.numshift = НаборЗаписейСмены.Fields("numshift").Value;
стр.shiftclose = НаборЗаписейСмены.Fields("shiftclose").Value;
стр.shiftopen = НаборЗаписейСмены.Fields("shiftopen").Value;
стр.shiftcreate = НаборЗаписейСмены.Fields("shiftcreate").Value;
стр.shopindex = НаборЗаписейСмены.Fields("shopindex").Value;
НаборЗаписейСмены.MoveNext();
КонецЦикла;
Возврат тз;
КонецФункции



Кстати, что касается веб обмена, файлы там все равно присутствуют и их можно потрогать, если точку останова в нужном месте воткнуть)
20.01.2017 08:32
nik_ll
 
А потрогать результат тоже можно? Когда файл есть в sucses или в error все понятно, а как с обратной связью ( история обратной связи) с ws? В любом случае, это вопрос на упреждение, внедряться будет с файлами..
21.01.2017 16:11
HamyaG
 
Обратную связь не юзал, врать не буду... в файловом варианте то 100% ее нет))
22.01.2017 16:12
nik_ll
 
В файловом видно что файл появился и что у него внутри. А так же куда он попал, в саксес или а ерор..Может понятийность примитивная, но идеология ws пока так и не ясна.(
23.01.2017 17:04
HamyaG
 
создается тот же файл по сути, потом переводится в base64 и отправляется в сет, а из сета принимается строка, конвертируется, в файл и читается так же как при файловом обмене
23.01.2017 23:20
TANGOR
 
при импорте через ws есть точно такая же возможность сохранять передаваемый XML в файл. перед обработкой
также есть табличка, например для товаров erpi_goodscatalog в которой хранится XML перед обработкой.
нет в табличке, значит пакет обработался.
статус 3 - обработался с ошибкой.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.