|
Онлайн выгрузка информации на Web. Без использования Web -расширения? | ☑ | ||
|---|---|---|---|---|
|
0
DimaWert
28.07.09
✎
14:07
|
на гаризонте моячит подобная задача, есть у кого идеи как это можно реализовать?
|
|||
|
1
rs_trade
28.07.09
✎
14:08
|
(0) Через фтп заливать хостинг провайдеру. А вообще надо знать насколько он-лайн то?
|
|||
|
2
vde69
28.07.09
✎
14:10
|
<%@ Language=javascript %>
<% // соединение с базой (обьекты храняться в переменных сесии) a = 1; auth_type=-100; domainname = ""; username= ""; try { er="Ошибка получения сервером полного имени"; fullname=new String(Request.ServerVariables("LOGON_USER")); er="Ошибка получения сервером имени хоста"; host=Request.ServerVariables("REMOTE_HOST"); er="Ошибка получения сервером IP адреса"; ip_addr=Request.ServerVariables("REMOTE_ADDR"); indx=fullname.indexOf("\\"); username=fullname.substr(indx+1); domainname=fullname.substring(0,indx); if (Session("entConn") == null) { er="Ошибка создания объекта v81"; Session("entConn") = new ActiveXObject("v81.comconnector"); } entConn = Session("entConn"); if (Session("conn") == null) { er="Ошибка первичного подключения"; Session("conn") = entConn.connect("ssrvr=127.0.0.1;ref=b1;usr=auto;pwd=123456"); er="Ошибка проверки доступа по IP адресу"; Session("conn").ПроверитьIP(" " + Request.ServerVariables("REMOTE_ADDR")); auth_type=1; er="Ошибка проверки/регистрации пользователя"; auth_type=Session("conn").ЧтоДелатьКомПользователю(""+username,""+domainname); Session("Conn") = null; if (auth_type==0){ er="Ошибка вторичного подключения"; Session("conn") = entConn.connect("srvr=127.0.0.1;ref=b1"); } else{ Session("entConn") = null; Response.Write("<p align=\"center\"><font size=\"4\">["+auth_type+"] Wrong domain ["+domainname+"]["+username+"] </font></p>"); } } conn = Session("conn"); } catch (exc) { a=0; Session("entConn") = null; Session("Conn") = null; entConn = null; conn = null; Response.Write("<p align=\"center\"><font size=\"4\">["+er+"]</font></p>"); Response.Write("<p align=\"center\"><font size=\"4\">["+auth_type+"]["+domainname+"]["+username+"] </font></p>"); Response.Write("<p align=\"center\"><font size=\"4\">Ошибка сервера при подключении к 1с</font></p>"); } if (a == 1) {err=""; try { // обработка выбора задачи, процесса, статьи, вопроса к БЗ recTxt = Request.QueryString("idb"); if (recTxt.Count != 0) conn.УстановитьТекущуюСтатью(recTxt(1)); recTxt = Request.QueryString("idp"); if (recTxt.Count != 0) conn.УстановитьТекущийПроцесс(recTxt(1)); recTxt = Request.QueryString("idz"); if (recTxt.Count != 0) conn.УстановитьТекущуюЗадачу(recTxt(1)); recTxt = Request.QueryString("q"); if (recTxt.Count != 0) conn.УстановитьТекущийВопрос(recTxt(1)); // обработка формы новой заявки, и новых действий для задачи fl=""; recTxt = Request.Form("nt"); if (recTxt.Count != 0) fl=recTxt(1); if (fl=="proc") { t="Без темы"; recTxt = Request.Form("temа"); if (recTxt.Count != 0) t=recTxt(1); d="1"; recTxt = Request.Form("dejstvie"); if (recTxt.Count != 0) d=recTxt(1); komment="Без комментариев"; recTxt = Request.Form("komment"); if (recTxt.Count != 0) komment=recTxt(1); err=conn.ВебСоздатьЗаявку(t,komment,d); if (err!="")Response.Write(err); } if (fl=="exectask"){ act=""; recTxt = Request.Form("actionflag"); if (recTxt.Count != 0) act=recTxt(1); komment=""; recTxt = Request.Form("komment"); if (recTxt.Count != 0) komment=recTxt(1); if (act=="YES"){ err=conn.ВебВыполнитьАктивнуюЗадачу(komment,0); if (err!="")Response.Write(err); } if (act=="NO"){ err=conn.ВебВыполнитьАктивнуюЗадачу(komment,1); if (err!="")Response.Write(err); } } // num=0; // recTxt = Request.Form("kol"); // if (recTxt.Count != 0) // num=recTxt(1); // if (num > 0) // { // fl=""; // recTxt = Request.Form("nt"); // if (recTxt.Count != 0) // fl=recTxt(1); // if (fl=="proc") // { // tc=conn.БизнесПроцессы.ВедениеЗаявки.СоздатьБизнесПроцесс(); // t="Без темы"; // recTxt = Request.Form("temа"); // if (recTxt.Count != 0) // t=recTxt(1); // tc.Тема=t; // } // // if (fl=="zad") // { // tc=conn.ПараметрыСеанса.ТекущаяЗадача.ПолучитьОбъект(); // t=-1; // recTxt = Request.Form("tolls"); // if (recTxt.Count != 0) // t=recTxt(1); // tc.БудущиеДействия.Очистить(); // } // // // for (i = 1; i < num; i++) // { // n=-1; // recTxt = Request.Form("v1_" + i); // if (recTxt.Count != 0) // n=recTxt(1); // k=''; // recTxt = Request.Form("v2_" + i); // if (recTxt.Count != 0) // k=recTxt(1); // // if (fl=="proc") // conn.ДобавитьСтрокуБП(tc, n, k); // // if (fl=="zad") // conn.ДобавитьСтрокуЗадачи(tc, n, k); // } // if (fl=="proc") // conn.ЗаписатьБП(tc); // // // if (fl=="zad") // conn.ЗаписатьЗадачу(tc,t); // } // обработка выбора страницы recTxt = Request.QueryString("p"); if (recTxt.Count == 0) page = "default"; else page = recTxt(1); Response.Write(conn.СобратьСтраницу(page)); } catch (exc) { Session("entConn") = null; Session("Conn") = null; entConn = null; conn = null; Response.Write("<p align=\"center\"><font size=\"4\">Ошибка сервера при выполнении процедур 1с</font></p>"); Response.Write(err); } } %> |
|||
|
3
vde69
28.07.09
✎
14:11
|
(2) это ASP тонкий клиент
|
|||
|
4
DimaWert
28.07.09
✎
15:41
|
(1) планируется сделать онлайн интерфейс для поставщиков что бы они сами могли следить за своими товарами.
Знали чего заканчивается, и сами суетились, + сверки могли сделать. |
|||
|
5
jcage
28.07.09
✎
15:51
|
У нас сделано так:
сайт пишет в sql базу, web служба читает из базы, трансформирует данные по правилам обмена - 1С получает трансформированные данные в формате XML с сервера и с помощью обработки "Универсальный обмен данными в формате XML" загружает. При выгрузе получается так же - 1С с помощью обработки выгружает - потом архивирует и как двоичные данные передает web-службе кусками. Служба разархивирует и загружает в таблицы SQL данные. Т.е. общая архитектура 1С-(выгрузка в XML)->WEB-служба обмена->Таблицы сайта Таблицы сайта->WEB-служба обмена-(выгрузка в XML)->1С Причем для такого обмена я дописал конфигурацию "Конвертация данных" так, что бы можно было настраивать правила обмена между конфами 1С и SQL базами данных. Служба обмена соответственно опирается именно на правила, которые генерит эта конфигурация. Для выгрузки/загрузки из 1С используется практически типовая обработка "Универсальный обмен данными в формате XML". Служба написана на C#. Механизм получился универсальный и можно настраивать правила обмена практически между любыми конфигурациями и базами. Если есть знания КД 2.0 - то разобраться в моем творении труда не составит. |
|||
|
6
Andry888
28.07.09
✎
15:58
|
(5) "Если есть знания КД 2.0 - то разобраться в моем творении труда не составит."
А что, можешь подогнать? 8) |
|||
|
7
jcage
28.07.09
✎
16:02
|
(6) можем договориться.
Общая схема продажи будет предполагать: 1. Продукт 2. Обучение установке и использованию 3. Консультации при необходимости за отдельные деньги. |
|||
|
8
Andry888
28.07.09
✎
16:03
|
(7) "подоганть<>продать" возвращает истину =)
|
|||
|
9
jcage
28.07.09
✎
16:06
|
(8) "подогнать в (продать, отдать)" тоже возвращает истину =)
|
|||
|
10
Delorn
28.07.09
✎
16:09
|
(8) получать данные не сложно. в теории можно и на прямую. пишешь отчет, главное выводи в нем текстовые поля. потом смотришь как он выглядит в профайлере. а дальше все зависит от стремления к безопасности и количества заказчиков.
|
|||
|
11
DimaWert
28.07.09
✎
16:14
|
(5) мне кажется, конкретно в моем случае ваш вариант не подходит.
|
|||
|
12
jcage
28.07.09
✎
16:15
|
(11) думаю, что твой сайт будет не сложнее чем вот этот kmponline.ru
|
|||
|
13
Andry888
28.07.09
✎
16:17
|
(11) на web-сервисах сделай...
|
|||
|
14
jcage
28.07.09
✎
16:17
|
(12) + таблицы у тебя могут быть любые например 2 таблицы заказ + строки заказа будут мигрировать в 1 документ заказ от покупателя в 1С.. Так что очень даже подходит.
|
|||
|
15
DimaWert
28.07.09
✎
16:21
|
(12) задачи разные.
(13) база на 8.0. залипла, там веб сервисов нету. (14) я в (4) описал что будет на интерфейсе. Хотелось бы что бы веб - запрашивал данные из базы 1с, что бы актуальную картину видеть. |
|||
|
16
jcage
28.07.09
✎
16:23
|
(15) интеграция в течении 5 минут обеспечит достаточно актуальную инфу. Можно сделать механизм подтверждения заказа оператором - тогда вообще коллизий не будет. Полный он-лайн можно только с вэб расширением добиться - но тогда попадаешь на стоимость лицензий.
|
|||
|
17
Delorn
28.07.09
✎
16:24
|
(15) уверен что знаешь что хочешь? Чем прямые запросы не нравятся?
Или услуги (5) |
|||
|
18
DimaWert
28.07.09
✎
16:32
|
(16) стукнись мне в аську из профиля, обсудим.
|
|||
|
19
DimaWert
28.07.09
✎
17:07
|
jcage куда пропал?
|
|||
|
20
jcage
28.07.09
✎
17:12
|
(19) стукнул в аську.
|
|||
|
21
DimaWert
28.07.09
✎
17:14
|
не получал никаких запросов, попробуй еще раз
|
|||
|
22
jcage
28.07.09
✎
17:15
|
может быть спам бот режет. Вот мой ICQ 578442401
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |