|
Обмен Альфа-Авто с КА2 (ERP): что лучше использовать WEB или HTTP сервис вместо COM? | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
06.01.20
✎
09:29
|
Долгое время работали в КА1/УПП через Com-обмены, но прошло время переходить на КА2 (ERP). Начались проблемы Службы компонентов: возможно ли создать обертку OLE соединения V83.Application. Думал это временно, пока Альфа-Авто не работает выше 8.3.10. Но вышла Альфа-Авто 6, которая вроде как работает на 8.3.14.1779, но только на 32-разрядной https://rarus.ru/forum/messages/forum7/topic13797/message85579/#message85579. Посмотрел Альфа-Авто, еще со времен 4 версии (на 8.2) в Web-сервисе какой-то Web-сервис планировщика, а HTTP-сервис пустой. Ни тем ни другим никогда не занимался. Что посоветуете?
|
|||
1
craxx
06.01.20
✎
12:07
|
(0) с HTTP сервисом меньше головняков
|
|||
2
ProxyInspector
06.01.20
✎
14:16
|
Мне кажется с WEB сервисами головной боли меньше. У нас данные из Альфа-Авто 4 по WEB летят в Бух3.0
Вся разработка заняла 1 день. При этом больше прблем было в Бух3.0 при загрузке. |
|||
3
Mikhail Volkov
06.01.20
✎
14:46
|
(2) Для Com-обменов только Альфа-Авто пилил, а WEB или HTTP сервисов обе придется дорабатывать, много?
|
|||
4
mkostya
06.01.20
✎
14:49
|
Сом и только он, делал не так давно но в БП 3.0
|
|||
5
Mikhail Volkov
06.01.20
✎
15:21
|
(4) Тоже надеялся, но...
(2) А что за Web-сервис планировщика в Альфа-Авто, для чего он? |
|||
6
Mikhail Volkov
06.01.20
✎
15:42
|
+ (5) Web-сервис планировщика в Альфа-Авто обслуживает систему Time Planner (https://rarus.ru/forum/messages/forum7/topic4197/message24966/#message24966) - не то.
|
|||
7
Garykom
гуру
06.01.20
✎
15:47
|
(0) >Ни тем ни другим никогда не занимался. Что посоветуете?
Нанять программиста |
|||
8
ДенисЧ
06.01.20
✎
16:03
|
(0) @Ни тем ни другим никогда не занимался. Что посоветуете?@
Самое лучшее время начать. До рабочей недели ещё 2.5 суток - успеешь почитать и набросать примитивные примеры |
|||
9
Mikhail Volkov
06.01.20
✎
16:15
|
(8) Что почитать? Мне бы подобный пример...
|
|||
10
ДенисЧ
06.01.20
✎
16:18
|
(9) Сначала про сами сервисы. Научись получать и передавать данные. Сначала примитивные строки и числа. На старте есть статьи, если не хочешь читать документацию.
Потом, когда сможешь получить xml от передающей стороны - вставить его в штатный механизм загрузки дело 15 минут. |
|||
11
Mikhail Volkov
07.01.20
✎
09:43
|
(10) Обмены через xml-файлы конечно делаются между базами собственной организации пока последовательно раз в месяц (иногда неделю): Альфа-Авто - КА1 - КА2. Но не о них сейчас речь. Типовой пример Com-обмена: поступил заказ на ремонт автомобиля, а своих запчастей нет. Они есть в УПП у другой организации (находящейся в пределах локальной сети). По Com подключаюсь к этой УПП, создаю в ней накладную реализации нужных запчастей. В Альфа-Авто создаю ответный документ поступления.
Но с этим примером можно подождать, УПП и Альфа-Авто работают на одинаковых платформах 8.3.10, с Com-обменом нет проблем. Лучше бы решить другой более простой пример, описанный в Службы компонентов: возможно ли создать обертку OLE соединения V83.Application между базами на различных платформах. И еще, при Com-обменах в конфигурацию УПП не вносил ни каких изменений, только в Альфа-Авто. А при WEB или HTTP сервисе придется придется вносить в обе конфигурации? |
|||
12
ProxyInspector
07.01.20
✎
10:11
|
В общем случае в каждую базу добавляешь общий модуль и WEB сервис.
Ну и начинаешь с простейшего Ping() Функция Ping() Возврат Истина; КонецФункции Дальше все пойдет. Если ты уже обмениваешься XML, то проблемы на 90% решены. А если у тебя по GUID базы синхронизированы, то можно уже отдыхать. У нас 50 розничных магазинов в режиме реального времени обмениваются по WEB. Документы туда/сюда так и шастают. Мы на WEB перешли тоже из-за COM. Зато теперь проблем вообще не знаем. Базы могут быть где хочешь. На соседнем сервере, в другом городе, стране, облаке. |
|||
13
Галахад
гуру
07.01.20
✎
10:15
|
(2) Гм. А чем web-сервис лучше/удобнее http-сервиса?
|
|||
14
ProxyInspector
07.01.20
✎
10:19
|
WEB сервис - это как бы Функция, которая может возвращать что угодно и в каком угодно формате, включая binary. а HTTP возвращает черти что. Для людей с 1С головного мозга WEB самое оно.
|
|||
15
ДенисЧ
07.01.20
✎
10:21
|
(14) @HTTP возвращает черти что@
он возвращает то, что ему сказали. Если ты ему какашку на вход подсунет - он и её передаст. |
|||
16
Галахад
гуру
07.01.20
✎
10:29
|
(14) Можно пример, а то не понятно. :(
|
|||
17
ProxyInspector
07.01.20
✎
10:35
|
Вот Функция WEB сервиса
Функция WEB_XML_Выгрузить_НастройкиМагазина(Магазин) Экспорт ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.УстановитьСтроку(); ЗаписьXML.ЗаписатьОбъявлениеXML(); ЗаписьXML.ЗаписатьНачалоЭлемента("BODY"); ЗаписьXML.ЗаписатьАтрибут("ВПН_Логин" , "" + Магазин.ВПН_Логин); ЗаписьXML.ЗаписатьАтрибут("ВПН_Пароль" , "" + Магазин.ВПН_Пароль); ЗаписьXML.ЗаписатьАтрибут("СуммаЧекаДляПодарка" , "" + Магазин.СуммаЧекаДляПодарка); ЗаписьXML.ЗаписатьАтрибут("НаименованиеМагазина" , "" + Магазин.Наименование); ЗаписьXML.ЗаписатьАтрибут("РазрешитьТоварПоследнегоДня" , "" + Магазин.РазрешитьТоварПоследнегоДня); ЗаписьXML.ЗаписатьАтрибут("СкладУникальныйИдентификатор" , "" + Магазин.Склад.УникальныйИдентификатор()); ЗаписьXML.ЗаписатьАтрибут("СкладНаименование" , "" + Магазин.Склад.Наименование); ЗаписьXML.ЗаписатьАтрибут("ОптовыйСкладУникальныйИдентификатор" , "" + Магазин.ОптовыйСклад.УникальныйИдентификатор()); ЗаписьXML.ЗаписатьАтрибут("ОптовыйСкладНаименование" , "" + Магазин.ОптовыйСклад.Наименование); ЗаписьXML.ЗаписатьКонецЭлемента(); // BODY DataStringHistory = ЗаписьXML.Закрыть(); Возврат DataStringHistory; КонецФункции Все понятно |
|||
18
palsergeich
07.01.20
✎
10:36
|
у web есть валидацмя данных на уровне xdto.
У HTTP за валидностью данных надо будет следить самостоятельно. WEB это частный случай HTTP |
|||
19
ProxyInspector
07.01.20
✎
10:37
|
А вот HTTP
Функция WEB_HTML_Выгрузить_SMS(Магазин) Экспорт DataStringHistory = ""; DataStringHistory = DataStringHistory + "<HTML><HEAD><TITLE></TITLE> |<META content=""text/html; CHARSET=utf-8"" http-equiv=Content-Type> |<STYLE type=text/css>BODY { |FONT-STYLE: normal; MARGIN: 0px; FONT-FAMILY: Arial; BACKGROUND: #ffffff; FONT-SIZE: 8pt |} |TR.R0 { |HEIGHT: 15px |} |TR.R1 { |HEIGHT: 43px |} |TR.R1 TD.R1C0 { | |} |TABLE { |PADDING-BOTTOM: 0px; FONT-STYLE: normal; PADDING-LEFT: 2px; WIDTH: 100%; PADDING-RIGHT: 0px; BORDER-COLLAPSE: collapse; FONT-FAMILY: Arial; TABLE-LAYOUT: fixed; FONT-SIZE: 8pt; VERTICAL-ALIGN: bottom; PADDING-TOP: 0px |} |TD { |PADDING-BOTTOM: 0px; PADDING-LEFT: 2px; PADDING-RIGHT: 0px; OVERFLOW: hidden; PADDING-TOP: 0px |} |</STYLE> | |<META name=GENERATOR content=""MSHTML 9.00.8112.16737""></HEAD> |<BODY style=""FONT-STYLE: normal; MARGIN: 0px; FONT-FAMILY: Arial; BACKGROUND: #ffffff; FONT-SIZE: 8pt""> |<TABLE style=""WIDTH: 100%; HEIGHT: 0px"" cellSpacing=0> |<COLGROUP> |<COL width=265> |<TBODY>"; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЭлектронноеСообщениеОтчетОПрочтении.Ссылка |ИЗ | Документ.ЭлектронноеСообщение.ОтчетОПрочтении КАК ЭлектронноеСообщениеОтчетОПрочтении |ГДЕ | ЭлектронноеСообщениеОтчетОПрочтении.Магазин = &Магазин | И ЭлектронноеСообщениеОтчетОПрочтении.Отправить | И ЭлектронноеСообщениеОтчетОПрочтении.Ссылка.Дата >= &Дата | И ЭлектронноеСообщениеОтчетОПрочтении.Ссылка.Отправить | И НЕ ЭлектронноеСообщениеОтчетОПрочтении.Ссылка.ПометкаУдаления | |УПОРЯДОЧИТЬ ПО | ЭлектронноеСообщениеОтчетОПрочтении.Ссылка.Дата УБЫВ"; Запрос.УстановитьПараметр("Магазин" , Магазин); Запрос.УстановитьПараметр("Дата" , ТекущаяДата() - 10*24*60*60); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл DataStringHistory = DataStringHistory + "<TR class=R0> |<TD colSpan=2><SPAN style=""MAX-WIDTH: 0px; WHITE-SPACE: nowrap"">" + Формат(Выборка.Ссылка.Дата, "ДФ=dd.MM.yyyy") + "</SPAN></TD></TR> |<TR class=R1> |<TD class=R1C0>" + СокрЛП(Выборка.Ссылка.Сообщение) + "</TD> |<TD></TD></TR> |<TR> | |<TD><SPAN></SPAN></TD> |<TD> </TD></TR>"; КонецЦикла; DataStringHistory = DataStringHistory + "</TBODY></TABLE></BODY></HTML>"; Возврат DataStringHistory; КонецФункции |
|||
20
ProxyInspector
07.01.20
✎
10:40
|
Так что WEB сервисы - наше все. Там есть конечно свои заморочки. Когда большие объемы надо передавать. Но все победимо. Для HTTP это не очевидно
|
|||
21
ProxyInspector
07.01.20
✎
10:42
|
По HTTP - это не в тему код, но направление верное
|
|||
22
Галахад
гуру
07.01.20
✎
10:43
|
(17), (19) Примеры не понял. Вроде простые типы в обоих случаях.
|
|||
23
ProxyInspector
07.01.20
✎
10:47
|
А вот передача файлов по WEB
Функция ВыгрузитьФайлОбновлений() ХранилищеДанныхФайла = Константы.ФайлОбновленияРозничнойБазы.Получить(); ДвоичныеДанныеФайла = ХранилищеДанныхФайла.Получить(); Возврат ДвоичныеДанныеФайла; КонецФункции Все понятно |
|||
24
ProxyInspector
07.01.20
✎
10:55
|
Не примитивные типы чуть сложнее
//Добавляем в XML СправочникСсылка Процедура СформироватьXMLСправочникСсылка (Ссылка, ФайлXML) Экспорт Если Ссылка = Неопределено Тогда Возврат; КонецЕСли; ФайлXML.ЗаписатьНачалоЭлемента("Объект"); ТипЗначения = ТипЗнч(Ссылка); ФайлXML.ЗаписатьАтрибут("ИмяТипа", XMLТип(ТипЗначения).ИмяТипа); ФайлXML.ЗаписатьАтрибут("GUID", Строка(Ссылка.УникальныйИдентификатор())); ФайлXML.ЗаписатьАтрибут("Наименование", Строка(Ссылка.Наименование)); ФайлXML.ЗаписатьАтрибут("Код", ЗначениеВXML(Ссылка.Код)); ФайлXML.ЗаписатьАтрибут("ЭтоГруппа",ЗначениеВXML(Ссылка.ЭтоГруппа) ); ФайлXML.ЗаписатьАтрибут("ПометкаУдаления",ЗначениеВXML(Ссылка.ПометкаУдаления) ); ФайлXML.ЗаписатьАтрибут("Родитель",ЗначениеВXML(Ссылка.Родитель) ); ФайлXML.ЗаписатьАтрибут("Владелец",ЗначениеВXML(Ссылка.Владелец) ); ФайлXML.ЗаписатьКонецЭлемента(); //Объект КонецПроцедуры |
|||
25
Галахад
гуру
07.01.20
✎
10:59
|
(23) Тут да, удобно.
(24) А тут вроде строка в результате. |
|||
26
ProxyInspector
07.01.20
✎
11:02
|
(25) Да возвращаешь XML строку.
|
|||
27
ProxyInspector
07.01.20
✎
11:04
|
WEB сервис понимает только примитивные типы. В этом единственная проблема.
|
|||
28
Garykom
гуру
07.01.20
✎
11:09
|
(13) Лучше типизацией.
На http придется самому типизацию ваять и ошибки обрабатывать, web сервис частично это берет на себя. Но web (подразумевается wsdl) он тормознее чем можно сделать на минимальном http. |
|||
29
ProxyInspector
07.01.20
✎
11:10
|
При работе через COM думать меньше надо. Что хорошо. Но надо контролировать версии платформы и работать в одной сети. Что не всегда удается
|
|||
30
Garykom
гуру
07.01.20
✎
11:10
|
(28)+ web это xml, http можно что угодно но де факто все юзают json.
Имхо json лучше своим минимализмом и быстротой. |
|||
31
ProxyInspector
07.01.20
✎
11:13
|
(28) Я по WEB грузил базу на пару млн. документов. Нормально. 1С тормозила сильнее на проведении.
|
|||
32
Garykom
гуру
07.01.20
✎
11:14
|
(30)+ После того как в платформу 1С добавлены удобные способы/методы сериалазации/десериализации с json стало просто идеально!
Можно взять объект 1С и целиком засунуть в json, на получателе развернуть назад в объект 1С. Если конфы одинаковые то больше ничего не надо, если же метаданными отличаются то да надо писать преобразование-трансформацию. Вот тут есть минус что для xml уже есть XSL c XDTO в 1С. |
|||
33
Garykom
гуру
07.01.20
✎
11:15
|
(31) Представь что проведения нет (справочники например) и надо грузить эту пару лямов в секунду. XML тут не фонтан в отличие от JSON.
|
|||
34
Mikhail Volkov
07.01.20
✎
11:19
|
(14) > Для людей с 1С головного мозга WEB самое оно.
Начну с WEB. Что почитать посоветуешь для начинающего? А то столько всего... |
|||
35
ProxyInspector
07.01.20
✎
11:24
|
(33) Наверное. Тут я не спец и что такое JSON и как его готовить не знаю.
|
|||
36
ProxyInspector
07.01.20
✎
11:39
|
(34) Самый простой способ - Поднимаешь Апач (если не хочешь геммороя) и IIS в обратном случае. И делаешь в своей АльфаАвто WEB сервис Ping() Код см выше.
Для облегчения работы по WEB обращаешься к этой же базе. Как только здесь прорвешься дальше дело техники. Всякие страшные слова типа XSL c XDTO, JSON - забываешь - это для крутых перцев. |
|||
37
ProxyInspector
07.01.20
✎
11:47
|
На первом этапе тебе надо написать два куска - Отдача данных по WEB (Это непосредственно WEB сервис) и получение данных.
Короче поднимай Апач, и публикуй WEB сервис. В Интернете есть куча информации. А потом уже будешь бороться с передачей примитивных и не примитивных данных. |
|||
38
ProxyInspector
07.01.20
✎
11:49
|
Ты можешь это сделать даже на своем локальном компе разработчика. Я правда так не делал.
|
|||
39
AAA
07.01.20
✎
12:18
|
Совсем недавно тоже впервые влез в эту сферу из-за проблем c application. Были 2 обработки на 7.7. одна передает один документ в бп3.0,другая выбирает из БП остатки и обороты по банковским счетам. Сделал в расширении 2 http сервиса. Для первого готовлю своими силами документ в json строке, в БП она штатно превращается в структуру , ну и создаю или переписываю требуемый документ, включая создание справочников.для второго сервиса посылаю только период, а обратно получаю в виде стjson строки массив массивов. Строка парсится (нашел в инете обработку для 7.7) и получаю вложенные списки значений. Ну вот и все в общих чертах. Мнение, что web сервис перспективнее и круче спорно, из того, что я читал, все как раз наоборот. Но я могу ошибаться
|
|||
40
Garykom
гуру
07.01.20
✎
12:19
|
(35) Там простейше ЗаписатьJSON и ПрочитатьJSON
http://1clenta.ru/pattern/125 |
|||
41
AAA
07.01.20
✎
12:21
|
Делал сначала все именно на локальном компе, поднимал и iis и аппаче. Работает и там и там. Работает быстро. В реальную эксплуатацию пойдет после праздников.
|
|||
42
Mikhail Volkov
07.01.20
✎
18:21
|
(36) > Поднимаешь Апач (если не хочешь геммороя) и IIS в обратном случае. И делаешь в своей АльфаАвто WEB сервис Ping() Код см выше.
А для чего Ping(), чтобы что-то было для публикации WEB сервиса? В Альфа-Авто уже есть Web-сервис планировщика, пробовал его публиковать на IIS (может из-за него): https://jpegshare.net/c7/4c/c74ccbc41743754ffc6e7aab7973e605.jpg.html, после проверить в браузер в таком формате: http://<имя сервера>/ws/<ИмяФайлаВебСервиса>.1cws?wsdl, и в результате: Ошибка HTTP 404.0 - Not Found!? Запрашиваемый URL-адрес: http://perseus:80/ws/TimePlanner.1cws.1cws?wsdl Что-то ни так делаю? |
|||
43
ДенисЧ
07.01.20
✎
18:29
|
||||
44
Mikhail Volkov
07.01.20
✎
18:57
|
(43) <имя сервера> PERSEUS, <ИмяФайлаВебСервиса> TimePlanner.1cws - что подозрительно?
|
|||
45
ДенисЧ
07.01.20
✎
18:58
|
(44) вот это
TimePlanner.1cws.1cws |
|||
46
ДенисЧ
07.01.20
✎
18:58
|
Ничего не видишь?
|
|||
47
ProxyInspector
07.01.20
✎
23:28
|
Делай свой WEB сервис, чтобы не заморачиваться с Рарусом. А Ping() первая функция твоего сервиса. Ошибиться в ней сложно. А подключение и работоспособность сервиса сразу видно.
|
|||
48
Mikhail Volkov
08.01.20
✎
08:33
|
(46) Строку проверки WEB-сервис на сервере http://<имя сервера>/ws/<ИмяФайлаВебСервиса>.1cws?wsdl не придумывал, взял с https://programmist1s.ru/web-servisyi-v-1s/, и <имя сервера>, <ИмяФайлаВебСервиса> какие встали в Альфа-Авто по умолчанию - что-то ни так, что? Возможно сам WEB-сервер не работает на IIS. Помню, когда появилась УТ11 хотел пересадить пользователей с традиционного терминала на WEB-сервер, долго с IIS мучился, заработал, но не помню как...
(47) Как проверить? |
|||
49
ДенисЧ
08.01.20
✎
10:06
|
(48) Ой, ты не понял. ОЧЕНЬ внимательно посмотри на то, что я выставил... ОЧЕНЬ-ОЧЕНЬ-ОЧЕНЬ-ОЧЕНЬ...
|
|||
50
ProxyInspector
08.01.20
✎
11:37
|
(49) Что ты мозги пудришь человеку? У него и так стресс. в строке подключения два раза написано .1cws
Я один раз пол дня убил у меня было вместо ".1cws" написано ". 1cws" |
|||
51
ДенисЧ
08.01.20
✎
11:40
|
(50) Если не будет внимания, то не будет и понимания...
|
|||
52
ProxyInspector
08.01.20
✎
11:42
|
Первый раз очень сложно сделать шаг. Сплошное недоверие к новым "плюшкам" от 1С
|
|||
53
Garykom
гуру
08.01.20
✎
12:12
|
(52) Когда сложно сделать шаг (причем не только первый) может быть надо шагать в другую сторону?
Или перестать ходить пешком и сесть на автобус или такси? Да это платить надо в отличие от пешкаруса. |
|||
54
Mikhail Volkov
08.01.20
✎
12:53
|
(50) ".1cws" - это расширение <ИмяФайлаВебСервиса>, один раз надо. Пробовал, тот же результат: Ошибка HTTP 404.0 - Not Found. А в остальном правильно?
|
|||
55
ProxyInspector
08.01.20
✎
14:20
|
(54) А кто его знает. У тебя как минимум две ошибки на старте.
1. Ты используешь IIS 2. Рарусовский сервис. Добавь свой. И не парься. |
|||
56
ProxyInspector
08.01.20
✎
14:21
|
(53) Зачем платить? Не боги горшки обжигают. Все как и (0) прошли по этому пути.
|
|||
57
Mikhail Volkov
08.01.20
✎
14:47
|
(55) Когда-то веб-сервер на IIS у меня работал на 2008R2, но не помню как настраивал... Сейчас читаю Настройка IIS на сервере http://catalog.mista.ru/public/295921/ (что-то начал вспоминать), вроде все делаю как написано: Для их установки следует перейти "Пуск - Панель управления - Программы и компоненты - Включение или отключение компонентов Windows". В появившемся дереве, в ветке "Службы IIS – Службы интернета - Компоненты разработки приложений" отметить все компоненты, как показано на рисунке. Вместо этого попадаю в Диспетчер сервера. Как попасть в окно "Включение или отключение компонентов Windows" с веткой "Службы IIS"?
|
|||
58
ProxyInspector
08.01.20
✎
14:58
|
При IIS не скажу, но наш админ сильно ругался пока не снес его. На Апаче мы нарывались на проблему x64. Тонкость там в том, что разрядность Аппач должна соответствовать рязрядности 1С Клинта. Т.е. если у тебя клиент(именно клиент а не сервер) x64, то и Апач должен быть х64. Иначе они друг друга не понимают.
Наш админ не смог добиться стабильной работы IIS c WEB сервисами |
|||
59
Garykom
гуру
08.01.20
✎
16:56
|
(58) Не клиента а сервера 1С или точнее платформы 1С.
Тонкий клиент 1С работающий через веб-сервер может иметь любую разрядность, хоть 128 бит когда придумают или 16 бит если кому то в голову такое придет. |
|||
60
Garykom
гуру
08.01.20
✎
16:58
|
Стабильная работа IIS вполне возможна, но там куча проблем что нужна правильная его версия под версию платформы 1С.
Все тоже самое что и с апачем, сначала был 2.0 и 2.2 сча только 2.4, а вот будущий 2.5 пока не поддерживается. |
|||
61
Mikhail Volkov
08.01.20
✎
17:03
|
+ (60) Сейчас версия IIS 7.5. Из справки:
Установка служб IIS 7.5 в Windows Server® 2008 R2 Использование пользовательского интерфейса 1. Нажмите кнопку Пуск, укажите Администрирование, а затем выберите Диспетчер сервера. 2. В разделе Сводка ролей выберите Добавить роли. 3. Воспользуйтесь мастером добавления ролей, чтобы добавить роль веб-сервера. Важно! При использовании мастера добавления ролей для установки служб IIS установка происходит по умолчанию, то есть с минимальным набором компонентов. Если требуются установить дополнительные роли служб IIS, такие как Разработка приложения или Проверка работоспособности и диагностика, не забудьте установить флажки, связанные с этими компонентами, на странице Выбор служб ролей данного мастера. Жму "Добавить роли", получаю https://jpegshare.net/45/7c/457c562277e57209a73fc0bbc7b869a4.jpg.html Веб-сервер (IIS) Установлено. Активна лишь кнопка Отмена. Ничего не добавить. Какие "не забудьте установить флажки, связанные с этими компонентами, на странице Выбор служб ролей данного мастера" имеют ввиду? |
|||
62
Garykom
гуру
08.01.20
✎
18:05
|
(61) 1. В каком году вышла IIS 7.5 ?
2. В каком году вышла 1С 8.3.14? 3. Сравните и подумайте немного логически Для версии 1С которую используете берите самую новую из вышедших перед этим IIS. |
|||
63
Garykom
гуру
08.01.20
✎
18:05
|
Последняя 1С с апачем даже 2.2 уже не контачит, не то что 2.0
|
|||
64
Mikhail Volkov
08.01.20
✎
18:15
|
(62) Когда IIS настраивал 8.3 еще не было...
|
|||
65
Garykom
гуру
08.01.20
✎
18:19
|
(64) А какую 1С то настраивали?
И возьмите уже нормальный детальный мануал типа http://tavalik.ru/nastrojka-veb-dostupa-k-bd-1spredpriyatie-na-iis/ http://catalog.mista.ru/public/275820/ http://catalog.mista.ru/public/960387/ https://xn--90afdtkhdeabaxvge.net/1c-doc/publikaciya-1s-dokumentooborot-iis.html https://wiki.rtzra.ru/software/1c/1c-iis-setup |
|||
66
Garykom
гуру
08.01.20
✎
18:26
|
(65)+ Ну и возьмите виртуалку, воткните туда чистую винду, поставьте 1С и попробуйте.
Запросто траблы могут быть в кривой винде или каких то правах урезанных |
|||
67
ProxyInspector
08.01.20
✎
20:49
|
(59) Самое интересное, что не сервера а клиента. Сервер по определению х64 а вот версия клиента должна соответствовать версии Апача.
|
|||
68
Garykom
гуру
08.01.20
✎
21:31
|
(67) Лечиться вам надо.
Веб-сервер и модуль расширения веб-сервера должны быть одной разрядности, ибо бинарные вызовы функций из dll. Между веб-сервером (апача или иис) и тонким клиентом связь идет по http - глубоко похрен на разрядность. Неоднократно ставил клиентам x86_64 апач и x86_64 1С (файловую или сервер), а тонкие клиенты 1С даже в смешанном режиме прекрасно пашут, на некоторых компах в сети бывает x86 (32 бит) винда и туда никак 64 битную 1С не вставить и все прекрасно работает. |
|||
69
ProxyInspector
09.01.20
✎
00:24
|
А разрядность модуля расширения WEB cервера по умолчанию при установке ставится такой же как и разрядность клиента. Может отсюда и растут мои проблемы. Это не принципиально, просто это одна из причин, по которой WEB сервисы могут не работать
|
|||
70
Mikhail Volkov
09.01.20
✎
09:46
|
(65) За ссылки конечно спасибо, но не помогли они мне посмотреть/до установить компоненты Windows. По первой ссылке об этом ни слова, но выставил "Разрешены 32-разрядные приложения". По 2-й ссылке просто сказано: "Установка IIS выполняется стандартными средствами. Набор достаточных компонент приведен на скриншоте" без объяснений как туда попасть. На 3 и 4-й ссылках даже на рисунках показано, что через "Включение или отключение компонентов Windows", но я у себя попадаю в Диспетчер сервера, далее (61). В http://catalog.mista.ru/public/960387/ даже приводятся галочки, которые нужно до установить:
- "Внедряемое веб-ядро службы IIS", - В разделе "Службы IIS" - "Компоненты разработки приложений" ставим галки "Расширение ISAPI" и "Фильтры ISAPI" - В разделе "Службы IIS" - "Средства управления веб-сайтом" ставим галку "Консоль управления IIS" Мне лишь остается гадать: установлены ли они. |
|||
71
Mikhail Volkov
09.01.20
✎
15:53
|
(65) К вашему списку добавлю http://catalog.mista.ru/public/295921/. Правда в ней отличается список галочек до установки "Службы IIS". Например, "Компоненты разработки приложений" помечены все, а про "Внедряемое веб-ядро службы IIS" и "Консоль управления IIS" ни слова.
|
|||
72
Necessitudo
09.01.20
✎
16:17
|
Мне вот интересно, зачем человеку советовать web-сервисы, которые уже считаются говном мамонта? HTTP-сервисы сейчас дефакто стандарт.
|
|||
73
Garykom
гуру
09.01.20
✎
16:27
|
(72) Потому что web-сервисы или работают правильно или нет, а с http-сервисами криворукий разраб такого навертит не подумав что лучше пусть по прежнему COM юзает
|
|||
74
palsergeich
09.01.20
✎
16:27
|
(72) Не считаются.
|
|||
75
Garykom
гуру
09.01.20
✎
16:28
|
(73)+ Но согласен что http и rest де факто давно стандарт и намного проще в реализации и легковесней
|
|||
76
Garykom
гуру
09.01.20
✎
16:29
|
(74) Смотря где, сча уже и энтерпрайз переходит на http-сервисы вот вся маркировка там взяли старый xml изврат и завернули в интерфейсный уровень http c json.
Короче xml шифруется в строку и вставляется в json, который по http отправляется |
|||
77
palsergeich
09.01.20
✎
16:30
|
(76) И это прогресс?
|
|||
78
Mikhail Volkov
09.01.20
✎
17:00
|
(72) Чтобы HTTP-сервис работал WEB-сервер нужен?
|
|||
79
Garykom
гуру
09.01.20
✎
17:02
|
(78) Поставь 1С 8.4 там не нужен (встроено)
|
|||
80
Necessitudo
09.01.20
✎
17:09
|
(78) Нужен.
|
|||
81
Necessitudo
09.01.20
✎
17:10
|
(73) А что ему мешает тоже самое навертеть с SOAP?) Обработчики есть и там и там.
|
|||
82
Mikhail Volkov
09.01.20
✎
17:35
|
Окно "Включение или отключение компонентов Windows" стало доступным после удаления роли Веб-сервер (IIS). Точнее не окно "Включение или отключение компонентов Windows", а это https://jpegshare.net/db/8b/db8ba16247a22e8119460d94fae8b9ed.jpg.html. Отметил все галочки "Компоненты разработки приложений", "Консоль управления IIS" отмечено по умолчанию, а "Внедряемое веб-ядро службы IIS" не нашел... Сейчас идет его установка, посмотрю, может заработает Веб-сервер на IIS.
|
|||
83
Сияющий в темноте
09.01.20
✎
18:07
|
Wev-сервис это ыормализованный вызов метода удаленного выполнения с заранее заданным набором параметров и результатов,который можно получить через сам web-сервис.
http-сервис - это просто обращение по поотоколу http,где на той стороне обработчик при помощи шаблонов разбирает данные и готовит ответ в произаольной форме. понятно,что через http можно сделать практически все,что угодно,но нужно не забывать описывать реализованный механизм. Web-сервис же может только то,что изначально задумано. с учетом того,что в основе web-сервиса тоо же протокол http,то это одно и то же г.мамонта чуть старее самого интернета,но не такое древнее,как ftp. |
|||
84
Mikhail Volkov
10.01.20
✎
13:08
|
Вроде все пункты инструкций http://tavalik.ru/nastrojka-veb-dostupa-k-bd-1spredpriyatie-na-iis/ и http://catalog.mista.ru/public/295921/ выполнил. Хотел запустить КА2 через браузер http://localhost/PatrERP, получил Ошибка HTTP 500.0. Что-то не удается мне поднять Веб-сервер на IIS.
|
|||
85
Garykom
гуру
10.01.20
✎
13:17
|
||||
86
Garykom
гуру
10.01.20
✎
13:20
|
(85) Гыгы.
IIS оказывается умеет и 32 и 64 но только по отдельности. Т.е. на x86_64 винде этот переключатель означает в каком режиме работает и если платформа 1С x64 то надо поставить false для 32 бит = работаем в 64 бит. |
|||
87
Mikhail Volkov
10.01.20
✎
13:34
|
(86) Где этот переключатель? КА2 у меня полностью х64 на отдельной платформе 8.3.14.1779.
Что можно предпринять: Убедитесь, что разрешения NTFS для файла web.config верны и обеспечивают доступ к учетной записи компьютера веб-сервера. Проверьте журналы событий, чтобы посмотреть, была ли зафиксирована какая-либо дополнительная информация. Где посмотреть журналы событий? |
|||
88
Mikhail Volkov
10.01.20
✎
14:25
|
(85)+> Заходим: Пулы приложений, выбираем DefaultAppPool, с правой стороны — дополнительные параметры. Строка: Разрешены 32-разрядные приложения стоит TRUE (правда), а не правда. Ставим не правду FALSE. Ок, закрываем, перегружаем IIS. Проверяем публикацию.
И правда, КА2 запустилась... |
|||
89
Mikhail Volkov
10.01.20
✎
14:50
|
Значит Веб-сервер на IIS работает. Вернемся к строке проверки (42): http://localhost/ws/TimePlanner.1cws?wsdl Ошибка HTTP 404.0 - Not Found Разыскиваемый вами ресурс был удален, было изменено его имя или он временно недоступен.
Альфа-Авто пока работает на 8.3.10, даже если перейдем на Альфа-Авто 6, которая вроде как работает на 8.3.14.1779, но только на 32-разрядной https://rarus.ru/forum/messages/forum7/topic13797/message85579/#message85579. Выходит не судьба вести обмен с КА2 ни через Com, ни через ни через Web-сервис? |
|||
90
Garykom
гуру
10.01.20
✎
15:20
|
(89) апач подними нужной разрядности
|
|||
91
Mikhail Volkov
10.01.20
✎
15:34
|
(90) Вроде с нем те же проблемы (67). Альфа-Авто (даже 6) работает только на 32-разрядной.
|
|||
92
Garykom
гуру
10.01.20
✎
16:15
|
(91) Не тупи, апач бывает и 32 и 64, и можно несколько разных на разных портах поднять для разных (или даже одной) 1С на одном компе
|
|||
93
Garykom
гуру
10.01.20
✎
16:17
|
Блин подучил бы уже теорию, а то Масяньку напоминаешь, которая сначала громко возмущенно кричит на все новое а потом один фиг приходится разбираться ибо работа/жизнь требует.
http может работать на любом порту не обязательно 80 (или 443 если ssl) На каждом порту можно поднять по своей копии апача |
|||
94
ДенисЧ
10.01.20
✎
16:18
|
(93) Даже на одном порту можно... ))
|
|||
95
Garykom
гуру
10.01.20
✎
16:26
|
(94) Эээ разные разрядности апача на одном порту (одного компа) без применения nginx с бэкпрокси? это фантастика
|
|||
96
Mikhail Volkov
10.01.20
✎
16:38
|
(92) Веб-сервисом не занимался. Какай апач нужен для обмена 32-х разрядной Альфа-Авто и х64 КА2?
|
|||
97
Garykom
гуру
10.01.20
✎
16:40
|
(96) Эээ. "ОК гугл" ?
|
|||
98
Garykom
гуру
10.01.20
✎
16:43
|
||||
99
ДенисЧ
10.01.20
✎
16:45
|
(95) Ну, разрядности - да, но...
|
|||
100
Garykom
гуру
10.01.20
✎
16:47
|
http://catalog.mista.ru/public/731159/
Но лучше скачай с луджа и сам разберись как, мануал http://catalog.mista.ru/public/691604/ там банально скачать, распаковать в C:\Apache, поправить conf и запустить или установить как сервис httpd.exe -k install |
|||
101
Mikhail Volkov
11.01.20
✎
14:55
|
Вернемся к строке проверки (42), но для КА2: http://localhost/PatrERP/ws/CustomerOrdersExchange.1cws?wsdl - пришел ответ. А для Альфа-Авто на http://localhost/AAAAkit/ws/TimePlanner.1cws?wsdl - Ошибка HTTP 500.0 Невозможно отобразить эту страницу ввиду того, что произошла внутренняя ошибка сервера.
|
|||
102
Mikhail Volkov
12.01.20
✎
08:49
|
Одно не пойму, для решения задачи (11) в КА2 ничего открывать и делать не надо. А вот для такой простой задачи (описанной в Службы компонентов: возможно ли создать обертку OLE соединения V83.Application) как создание нового контрагента (такой порядок был заведен до меня): прежде чем создавать контрагента в Альфа-Авто его ищут в КА по кнопке "Найти/создать в КА". Если контрагент найден по ИНН (например, как поставщик общих услуг), он открывается через Com-соединение прямо в УПП/КА1. Ему вручную добавляют договор покупателя, прочие реквизиты, но в УПП/КА1. При записи все эти реквизиты передаются в Альфа-Авто. Если контрагент не найден, по открывается новая форма контрагента (с начальными данными, по которым его искали), вручную заполняется, но в УПП/КА1! Далее все так же...
Веб-сервис может такое обеспечить? |
|||
103
Mikhail Volkov
12.01.20
✎
09:01
|
+ (102) Почему контрагент создается в начале в КА? Видимо деньги безналичные от него ждут в начале в КА, банк-клиент там работает, а полный файловый обмен раз в месяц (иногда неделю) будет.
|
|||
104
ProxyInspector
12.01.20
✎
15:34
|
(101) С чего ты взял, что от WEB сервиса, разработанного Рарусом вообще можно получить ответ и этот сервис работоспособный.
Я так понимаю, что к КА2 у тебя уже подключается. Добавляешь в КА2 свой простейший сервис. Публикуешь его. Потом тоже самое делаешь в Рарус. Если проблемы с разрядностью, поднимаешь два Аппача на разных портах. |
|||
105
Mikhail Volkov
12.01.20
✎
17:25
|
(104) В КА2 куча всего в Web-сервисах, взял 1-ю попавшуюся, а в Альфа-Авто только один Web-сервис планировщика, его и взял для проверки. Предлагаешь свой Web-сервис написать с функцией Ping(), с именами затрудняюсь?
Кстати, когда в пуле DefaultAppPool ставлю "Разрешены 32-разрядные приложения" в TRUE, то выдается другая ошибка: 1C:Enterprise 8 application error: HTTP: Not found Ошибка при работе с ресурсом /AAAAkit/ws/TimePlanner.1cws. Вообще Web-сервисе засомневался, может ли такое (102)... |
|||
106
ProxyInspector
12.01.20
✎
22:23
|
Добавляешь новый WEB сервис. Заполняешь все по аналогии с работающим. Делаешь одну функцию Ping().
Когда этот сервис отработаешь в двух базах. Добавишь аргументы и возврат. Назовешь эту функцию НайтиКонтрагента(ИНН) которая будет возвращать строку XML или JSON. JSON не плохая штука. Мне пока нравится, переделываю обмены на JSON. (102) Сможет. |
|||
107
Garykom
гуру
12.01.20
✎
22:53
|
(106) JSON гениальная на самом деле штука, идея просто напрашивалась но как ни странно сначала стал популярным XML.
В древние времена приходилось делать бинарную сериализацию для скорости, но с появлением JSON которая сравнима и ростом железа это стало ненужным. Мое мнения пора уже отправить на покой XML и HTML из которого он вырос и для описания структуры веб-страниц использовать JSON. |
|||
108
zelyak
13.01.20
✎
07:31
|
А мы не стали заморачиваться - просто реализовали документ "Заказ-наряд" в КА2.4
|
|||
109
Mikhail Volkov
13.01.20
✎
09:11
|
(108) У нас в КА не работают, она у нас в основном для бух. отчетности (вместо БП, раньше производство было). Еще зарплату считают...
(106) Добавляешь новый WEB сервис. Заполняешь все по аналогии с работающим. Web-сервис планировщика имеет: Пакеты XDTO: http://www.activewebservices.ru/TimePlanner URI пространства имен: http://www.activewebservices.ru/TimePlanner Имя файла публикации: TimePlanner.1cws Откуда это, как их задавать? И куча функций: ПолучитьТекущееВремя, ВыбратьАвтомобили... У них тоже: например Тип возвращаемого значения: СписокАвтомобилей (http://www.activewebservices.ru/TimePlanner) КонтекстЗапроса Тип значения: КонтекстЗапроса (http://www.activewebservices.ru/TimePlanner) Ну TimePlanner понятно, а вместо http://www.activewebservices.ru что писать? > (102) Сможет. Хотелось бы с этого начать. Лазил по Интернету с вопросом: Открыть элемент справочника 1С через web сервис - не нашел ничего... |
|||
110
ProxyInspector
13.01.20
✎
15:09
|
Добавляешь новый WEB сервис
Называешь его ExchangeService на вкладке Прочее устанавливаешь URI пространство имен: ExchangeService Пакеты XDTO: http://v8.1c.ru/8.1/data/core Имя файла публикации: ExchangeService.1cws После этого добавляешь новую Функцию этого Сервиса: Ping() Тип возвращаемого значения: boolean (http://www.w3.org/2001/XMLSchema) Функция Ping() Возврат Истина; КонецФункции |
|||
111
ProxyInspector
13.01.20
✎
15:17
|
Через WEB сервис ты не откроешь элемент справочника.
Максимум ты получишь XML представление своего элемента справочника; Дабавишь в свой WEB сервис Функция WEBПолучитьКонтрагента(ИНН) ТекКонтрагентСсылка = ПолучитьКонтрагента(ИНН); СтрокаXML = СформироватьСтрокуXML(ТекКонтрагентСсылка); Возврат СтрокаXML; КонецФункции После этого из внешней базы пишешь СтрокаXML = WEBСервис.WEBПолучитьКонтрагента(ИНН); ТекКлиент = ПолучитьИЗXML(СтрокаXML); |
|||
112
ProxyInspector
13.01.20
✎
15:17
|
Вот с этого и начинаешь
|
|||
113
Mikhail Volkov
13.01.20
✎
17:21
|
(110) Сделал в Альфа-Авто. При включенном "Разрешены 32-разрядные приложения" есть ответ на http://localhost/AAAAkit/ws/ExchangeService.1cws?wsdl
(111) > Добавишь в свой WEB сервис Функция WEBПолучитьКонтрагента(ИНН) Куда: в Альфа-Авто или КА2? Сейчас в Альфа-Авто нет добавляемого контрагента, его прежде чем добавить в Альфа-Авто его проверяют или создают в КА1, добавляют нужный договор, другие реквизиты... после все что создано и добавленное в КА1 переносится в Альфа-Авто с теми же гуидами. > Через WEB сервис ты не откроешь элемент справочника. Только справочник, документ тоже? Можно не открывать его в КА2, только проверить есть ли он КА2, и перетащить его в Альфа-Авто. Или создать его в Альфа-Авто, и перетащить в КА2. После от него поступила оплата в КА2, без документов (их пока нет в КА) как аванс. В Альфа-Авто нет банковских документов, только банковская выписка, которая заполняется по документам КА почти каждый день (сейчас по Com-соединению). В выписке проставляются сделки - документы-основания. Иногда из выписки в Альфа-Авто надо открыть банковский документ КА. Через веб-сервис это не сделать? |
|||
114
ProxyInspector
13.01.20
✎
17:41
|
(113) WEBПолучитьКонтрагента(ИНН) делаешь откуда надо получать данные
Добавляешь Функцию в свой WEBСервис Фукнкция WEBПолучитьКонтрагента(ИНН) Возврат ИНН; КонецФункции После этого делаешь обработку в базе откуда ты вызываешь свой Web сервис. Подключаешься к WEB и проверяешь WEBСервис.Ping() = Истина WEBСервис.WEBПолучитьКонтрагента(ИНН) = ИНН |
|||
115
Mikhail Volkov
13.01.20
✎
18:40
|
(114) Значит в WEB-Сервис КА2. А в Альфа-Авто что писать по кнопке Создать/Найти в КА?
|
|||
116
Garykom
гуру
13.01.20
✎
19:37
|
(115) Да блин подучи уже теорию она как разберешься совсем простейшая, даже тупые сайтоклепатели на php понимают ее.
Есть Клиент и есть Сервер и есть текстовый протокол между ними. Клиент по сути вызывает функции (в случае веб-сервиса) на Сервере, передавая параметры и получает в ответ результат. Передавать и получать можно только простые типы (число, строка, дата) или через сериализацию/десериализацию в строку (xml) составные/сложные. Вызванная на сервере функция может колбасить что угодно в своей базе, но вернуть может только простое. Это похоже на удаленный вызов процедур/функций который по умному RPC обзывается. Т.е. тебе надо написать код в двух местах. В базе КА функция которая получает нечто в параметрах от Альфы, нечто у себя делает и отправляет назад в Альфу. В базе Альфы процедура которая запрашивает нечто у КА, и получив ответ что то у себя делает. В данном случае если хочешь из Альфы узнать если ли такой контрагент по ИНН то Альфа вызывает в КА "функцию" WEBПолучитьКонтрагента(ИНН) А КА же внутри этой функции по полученному ИНН ищет у себя и если есть возвращает назад "Нашел!" или "Нетути..." Альфа получив ответ что есть ИНН или нету ИНН уже далее нечто делает что нуна. |
|||
117
Garykom
гуру
13.01.20
✎
19:41
|
(116)+ Это полностью аналогично работе в режиме &НаКлиенте и &НаСервере в 1С особенно когда УФ.
Только у тебя "&НаКлиенте" это Альфа причем код в Альфе где угодно (&НаКлиенте или &НаСервере) может быть. А "&НаСервере" в КА это только &НаСервере. Т.е. Альфа это клиент, а КА это сервер. И колбась что хочешь через веб-сервис |
|||
118
Mikhail Volkov
14.01.20
✎
08:26
|
(116) Да, теорию изучать надо. Но пытаюсь ее читать, и прежде всего ищу в ней ответ на свой (102) вопрос: сможет ли Веб-сервис открыть объект другой базы КА2, не существующий в Альфа-Авто, например, банковский документ (113). Пока не нашел. Если нет, то буду искать другие решения...
(117) Аналогия может хорошая, но не для меня: Альфа-Авто, УПП/КА1 - формы обычные. С УФ мало сталкивался. |
|||
119
Garykom
гуру
14.01.20
✎
11:11
|
(118) >сможет ли Веб-сервис открыть объект другой базы КА2, не существующий в Альфа-Авто
Веб-сервис в КА2 откроет ибо там есть этот объект. Клиент в Альфе будет работать с объектом этим так как сам напишешь в веб-сервисе. |
|||
120
Mikhail Volkov
15.01.20
✎
12:56
|
(119) Как? Google ни одной ссылки не дал на запрос: Открыть форму существующего объекта в другой базе 1С Web-сервисом
|
|||
121
Garykom
гуру
15.01.20
✎
13:17
|
(120) Миша ты идиот.
|
|||
122
Garykom
гуру
15.01.20
✎
13:22
|
(121)+ Извини конечно, но никакую форму там открыть нельзя.
Точно так же как ее нельзя открыть "в другой базе" и через COM соединение. Рисуешь у себя в Альфе независимую от объекта форму и делаешь так что данные на нее поступают через веб-сервис из КА2. И наоборот если эту незаивисмую форму нажать записать - данные уйдут в КА2 и там запишутся в реальный объект. Короче сам, все сам. Точно так же как и через COM - технология работы идентична практически, просто код надо в двух местах писать независимо (клиент и сервер). В случае COM соединения же код на клиенте пишется и можно на нем придумать код для сервера и отправить этот серверный код на сервер для выполнения. Блин уже не знаю как объяснить такую простейшую вещь. |
|||
123
Mikhail Volkov
15.01.20
✎
13:40
|
(122) Com-соединением (точнее OLE V83.Application) как раз можно открыть любой объект другой базы, но той же версии платформы. Сейчас так и работает с УПП и КА1. Не скажу что так очень надо, но удобно. Думал, что у Web-сервиса такие же возможности.
|
|||
124
Garykom
гуру
15.01.20
✎
13:48
|
(123) Гыгыгыгы, рука лицо.
Нельзя открыть форму объекта через COM (внешнее соединение), только с данными можно работать. И нельзя передавать сложные объекты, только простые типы. Точно так же ты можешь написать некий веб-сервис и передавать туда куски кода для выполнения через Выполнить() и Вычислить(). |
|||
125
ProxyInspector
15.01.20
✎
15:59
|
(123) Там все не так. Но оно того стоит. Тем более ОЛЕ на современных платформах, в тонком клиенте, то еще удовольствие.
Я тоже был фанатом OLE. Очень удобно и быстро. Теперь уже все через WEB делаю. |
|||
126
Garykom
гуру
15.01.20
✎
16:21
|
(125) Некоторые до сих пор через OLE с ворд и эксель работают хотя уже давно есть более новые способы.
Работать же с 1С через OLE (не COM внешнее соединение) это да изврат редкостный. |
|||
127
MM
15.01.20
✎
16:54
|
(126) А можете рассказать как с Wordoм сейчас принято работать без OLE? Или с какими-нибудь изощрёнными эксель возможностями, да теми же правками формул?
|
|||
128
Mikhail Volkov
15.01.20
✎
17:02
|
(124) После таких заявлений по поводу COM не знаю верить ли (122) на счет возможностей Web-сервиса. Пример открытия формы контрагента КА1 из Альфа-Авто: https://jpegshare.net/9d/0d/9d0d6c1a27cd0b6442ef49591fdaf496.jpg.html, пример открытия банковского документа, которых нет в Альфа-Авто: https://jpegshare.net/86/d0/86d097f63faddf84ea88e663d0633b31.jpg.html
(125) Все же, нельзя ли открыть форму объекта другой базы через Web-сервис (как через OLE)? |
|||
129
Garykom
гуру
15.01.20
✎
17:38
|
(127) Если это понадобится мне то возьму нечто вроде https://github.com/unidoc/unioffice
Если из 1С то наваяю или dll на основе этого нечто или веб-сервис. Но есть разные варианты, особенно если doc не особо нужен и можно docx использовать. http://catalog.mista.ru/public/1171429/ http://catalog.mista.ru/public/873883/ http://catalog.mista.ru/public/675307/ http://catalog.mista.ru/public/590918/ |
|||
130
Garykom
гуру
15.01.20
✎
17:49
|
(128) У тебя по нажатию кнопки в Альфа-Авто, запускается для юзера КА1 и там открывается форма контрагента?
Или все же Альфа через COM лезет в базу КА1 и создает(если не нашла по ИНН) там контрагента по имеющемуся в Альфе? Давай уже ответь на простейший вопрос, вы там пользователь или все же программист 1С? |
|||
131
Mikhail Volkov
15.01.20
✎
18:15
|
(130) Ну в примере (128) уже созданного контрагента открывает по ссылке (по GUID). А нового не записанного контрагента в Альфа-Авто ищет в КА1 по тому, что в нем заполнено, обычно по ИНН. Если найден, то открывается, ему добавляют нужный договор, другие реквизиты. При записи и закрытии его в КА1 все реквизиты передаются в Альфа-Авто. Такой порядок был еще до меня.
|
|||
132
Garykom
гуру
15.01.20
✎
18:20
|
(131) Еще раз уточни чтобы было понятно.
Вот у тебя у юзера запущена только Альфа-Авто, КА1 закрыта. Если нажать кнопку "Создать/Найти в КА" в Альфе то запустится (долгое ожидание) КА1 и там откроется в другом окне КА1 карточка контрагента? |
|||
133
Garykom
гуру
15.01.20
✎
18:22
|
(132)+ Или все же КА1 не запускается визуально, только поднимается внешнее соединение COM, которое визуально не отражается запуском второй 1С (КА1)
Про отличие COM от OLE тут https://v8.1c.ru/platforma/vneshnee-soedinenie/ |
|||
134
Сияющий в темноте
15.01.20
✎
18:35
|
открыть форму любого обьекта где угодно
так в чем проблема? получили описание формы выгрузкой в файл пропарсили собрали web-страницу и показали пользователю ну и при желании,можно и код заставить работать причем как будто он работает в 1с очень даже прозрачно а транспорт данных роли не играет-ну хоть на флешке каждый запросик серверу на другую машину таскать. |
|||
135
Mikhail Volkov
15.01.20
✎
19:01
|
(132) Да, коннрагент открывается визуально в КА1 другом окне: https://jpegshare.net/9d/0d/9d0d6c1a27cd0b6442ef49591fdaf496.jpg.html 1-е открытие около минуты, после любой объект в КА1 открывается быстро.
|
|||
136
Garykom
гуру
15.01.20
✎
19:03
|
(135) Через веб-сервер такое сделать нельзя.
Точнее можно но сложно, придется вот эту вторую форму рисовать самостоятельно в Альфа-Авто, причем при обновлениях КА1 ее допиливать. |
|||
137
Mikhail Volkov
19.01.20
✎
08:20
|
(136) Возможно и не надо, так было, и было удобно когда была такая возможность. Сейчас такой возможности нет: не удается сменить версию платформы на более высокую для COM/OLE-соединения. Можно при вводе нового контрагента спрашивать: не поискать ли его в КА. Если он там найден, то заполнять не заполненные реквизиты значениями контрагента из КА, а заполненные реквизиты перезаписывать по разрешению/вопросу. При записи нового контрагента в Альфа-Авто, создавать/перезаписывать его в КА.
С банковскими документы тоже можно не открывать из Альфа-Авто, все исправления можно сделать в выписки Альфа-Авто. По завершению ее редактирования можно сразу обновить банковские документы в КА, или в конце месяца обновятся при общем обмене. Просто удобно было сразу из Альфа-Авто посмотреть что в КА, если что - поправить. |
|||
138
ДенисЧ
19.01.20
✎
08:46
|
(135) Убил бы за такое решение.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |