Имя: Пароль:
IT
Админ
Обмен данными от 1с через вебсервис
,
0 mishaPH
 
модератор
02.02.17
10:41
Коллеги. Неожиданно встала проблема с обменом данными.

Есть магазины. там ТИС. из 1с с определенной периодичностью высылает данные по остаткам, использованию дисконтных карт, и прочие данные в веб сервис другой ERP системы. данные идут через xml на основе soap.

1с формирует хмл и через Msxml2 отсылает.
Проблема в периодическом зависании по разным причинам. от пропадания инета до занятости сервера. В результате народ нервничает.

Появилась мысль сделать сторонний коннектор по типу как коннектор Едисофта. кто с х5 работает тот знает.


1с выкидывает хмл который подхватывает данный коннектор видя файлик в каталоге и отправляет непосредственно в веб сервис.
Периодически получая что-то в виде хмл предназначенные для этого магазина.
Сервис должен быть прост в администрировании ( запускаться пинком 1с при старте) и работать в виде сервиса. Куда слать на какой адрес. где брать файлы, куда класть и параметры того магазина который шлет - будут находится в файле настроек который также буду генерить из 1с.


Есть ли что-то подобное или сколько будет стоить написать такую штуку ?
1 Fragster
 
гуру
02.02.17
10:52
в БСП обмен через КД2 и 3 работает через вебсервисы из коробки
2 Fragster
 
гуру
02.02.17
10:56
а, в ТиС хз. во времена 7.7 мы через электронную почту отправляли
3 mishaPH
 
модератор
02.02.17
11:07
(1) (2) тут есть ТИС. и задача. чтобы сама 1с не под каким соусом не занималась выгрузками чего либо в веб. т.к. тормоза
4 mishaPH
 
модератор
02.02.17
11:07
т.е. нужен полностью внешний от 1с сервис
5 eklmn
 
гуру
02.02.17
12:06
писать
6 mishaPH
 
модератор
03.02.17
07:45
(5) ну я так и предполагал. Вопрос во сколько это может обойтись. руководству надо цифрами выдавать
7 Shur1cIT
 
03.02.17
08:27
(0) не доконца понял вопроса
ТиС имеешь виду торговлю с склад 7.7 ?
или восьмерка?

Почему бы JSON не использовать?  во время обмена на стороне получателя, в реал тайме отрабатывает загрузка тутже получаеться ответ, все красиво не каких файликов.

вот например пример от 8.2

        ДанныеПоКонтрагенту = новый Структура;
        ДанныеПоКонтрагенту.Вставить("shortTitle",СокрЛП(Контрагент.Наименование));
        ДанныеПоКонтрагенту.Вставить("fullTitle",СокрЛП(Контрагент.ПолноеНаименование()));
        ДанныеПоКонтрагенту.Вставить("guid",Контрагент.УникальныйИдентификатор());
        ДанныеПоКонтрагенту.Вставить("code",Контрагент.Код);
        ДанныеПоКонтрагенту.Вставить("inn",Контрагент.ИНН);
        ДанныеПоКонтрагенту.Вставить("kpp",Контрагент.КПП);
        КОтправке = JSON._ЗаписатьJSON(ДанныеПоКонтрагенту);    
        АдресПортала = ПолучитьАдресПортала();
        Пользователь = "1c";
        Пароль = "xxxxxx";
        АдресРесурса = "/api/contragents";
        Соединение = Новый HTTPСоединение(АдресПортала.Сервер, АдресПортала.Порт , Пользователь, Пароль);
        HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
        HTTPЗапрос.УстановитьТелоИзСтроки(КОтправке,"CESU-8");
        Результат = Соединение.ОтправитьДляОбработки(HttpЗапрос);
        Ответ = Результат.ПолучитьТелоКакСтроку();
8 mishaPH
 
модератор
03.02.17
08:27
(7) ТИС это 7ка.
9 mishaPH
 
модератор
03.02.17
08:28
(7) вот как раз счас реалтайм итак внутри 1с. Но периодически разные зависоны из за проблем с инетом или проблем на стороне веб сервиса. Вот я и хотел бы отдельный коннектор который передает хмл уже сыормированные 1с
10 arsik
 
гуру
03.02.17
09:32
(0) У нас есть но только для *nix
Зачем вообще запускаться от 1С, если ты его позиционируешь как отдельный сервис?
11 arsik
 
гуру
03.02.17
09:42
+ (10) Хотя оказывается и для винды все есть.
Вот такой https://ru.wikipedia.org/wiki/Binkd пользуемся уже несколько лет.
12 mishaPH
 
модератор
03.02.17
10:06
(11) не проблема передать файлы.. сервис должен взять хмл и передать его в вебсервис уже а не файл куда-то кинуть
13 mishaPH
 
модератор
03.02.17
10:07
(10) запускать по команде из 1с типа КомандаСистемы()

тупо чтобы я мог из 1с этим рулить а не средствами виндов и т.п.
14 mishaPH
 
модератор
03.02.17
10:08
работать должно без 1с естественно
15 arsik
 
гуру
03.02.17
10:16
(12) Передавай файлы просто в центральный офис, а там уже их бери и засовывай в вебсервис при помощи 1С или другой любой приблудой.
16 mishaPH
 
модератор
03.02.17
10:16
(15) лишнее звено. передавать файлы...  теряются порой. это крайний вариант
17 arsik
 
гуру
03.02.17
10:21
(16) ИМХО неправ. Настрой что бы не терялись. Лучше рулить передачу в вебсервис из одного места, а в твоей реализации нужно каждую точку настраивать.
У нас более 150 точек бинкд настроен 1с и работает несколько лет.
18 mishaPH
 
модератор
03.02.17
10:23
(17) ну как вариант.. но дело в том, чтобы настроить передачу файлов на внутренний сервак. надо чтобы запущен был ВПН он постоянно зависает и отваливается. гемор сплошной.. А веб сервис как раз хорошь тем, что инет есть - хоть какой. работает. А с файликами
1. надо чтобы работал впн
2. передай в каталог.
3. сервис на той стороне тоже должен забрать от туда файлы..

гемор. все это было. оперативности мало. искать где застряло тоже долго
19 arsik
 
гуру
03.02.17
10:31
Для передачи файлов много сервисов и необязательно ВПН, он сам может шифровать.
То же самый binkd, в зависимости от настроек, может сам шифровать отправляемые данные. ВПН ему не нужен.
20 mishaPH
 
модератор
03.02.17
10:32
(19) да теоретически яндекс диск можно настроить для файлов
21 mishaPH
 
модератор
03.02.17
10:32
или дропбокс
Независимо от того, куда вы едете — это в гору и против ветра!