Имя: Пароль:
1C
1С v8
Засада с OLE
0 AAA
 
03.12.19
07:03
Есть связка 7.7 -> БП 3.0 по OLE. Все работает. Но начиная с платформы 8.3.14 (выяснено вчера опытным путем) после завершения обмена
процесс 1С8.exe перестал выгружаться из памяти. В итоге после нескольких обменов наступает сами знаете что ) Сейчас поставил 8.3.13,
беда ушла. Но она скоро вернется, так как там есть еще ЗУП и 1С уверенно затащит всех на свои новые платформы. Думаю, что и для БП
скоро выпустят "глобальное" обновление. Кто нибудь сталкивался с такой проблемой для 7.7 -> 8.3.14(8.3.15) ? Спасибо
1 ДенисЧ
 
03.12.19
07:08
Делай веб-сервис ))
Или http...
2 dk
 
03.12.19
07:21
прямо на пустой конфе тоже зависает или тока на БП?
3 AAA
 
03.12.19
07:26
(2)на БП, на пустой не проверял. На досуге попробую просто подключение.
4 MyNick
 
03.12.19
08:18
(0) нафик вам это древнее амно мамонта, см (1)
5 AAA
 
03.12.19
08:27
(4)Вы готовы заплатить за эту работу (невидимую для клиента) ?
Это все работает несколько лет и не вызывало никаких проблем и нареканий
6 ДенисЧ
 
03.12.19
08:34
(5) А твоему клиенту нужен стабильный обмен на новых платформах?
7 Сияющий в темноте
 
03.12.19
08:40
а если процессу явно давать команду завершения?
http или web на файловой базе???тогда уж выгрузить данные в файл и попросить их скушать,запустив 1с с параметром.
8 DrZombi
 
гуру
03.12.19
08:49
(0) Используй файлики, вэб, а можно грузить из 1С 8.3, а не наоборот :)
9 DrZombi
 
гуру
03.12.19
08:50
+ 1С совершенствует свои ошибки, таки может исправят в 16-том релизе :)
10 AAA
 
03.12.19
08:57
(8)Там есть и наоборот. Но в данном случае надо наоборот-наоборот) Вопрос про 7.7 -> 8.3
Про файлики мне не надо (они тоже есть). Там много чего есть, но вот надо то, что
спросил. Вернул 8.3.13. Пока вроде все нормально
11 AAA
 
03.12.19
08:58
(9)z боюсь, что не поправят. Может это еще один, сознательный гвоздь в крышку 7.7 )
12 AAA
 
04.12.19
06:38
Проверил на пустой конфигурации для простого и управляемого приложений, результат тот же. Все дело в платформе. 8.3.13 - все ок, 8.3.14, 8.3.15 - пробдемы
13 abfm
 
04.12.19
07:01
Стоп-Процесс
Модуль:
Майкрософт.PowerShell.Руководство
Останавливает один или несколько запущенных процессов.
Синтаксис

Копия PowerShell
Stop-Process
    [-Id] <Int32[]>
    [-PassThru]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
14 Сияющий в темноте
 
04.12.19
20:44
(13)внешнее соединение живет в адресном пространстве вызывающего процесса,и убить там ее можно просто завершив 7.7
если появляется отдельный процесс,то это Com+, и он действительно не завершается,но в настройках Com+ это все можно настроить.
15 AAA
 
09.12.19
20:30
(1)Денис, а как можно интегрировать 7.7 и 8.3 через WEB? Дай пинка в нужном направлении ) что-то в инете я не нашел ничего
16 ДенисЧ
 
09.12.19
20:58
(15) 77 имеет v7plus, а там есть объекты для работы с http.
Получаешь xml и парсишь его тем же v7plus
В обратную сторону сложней.
17 Aleksey
 
09.12.19
21:09
(6) в чем стабильность, если придется вводить новое звено которое нужно обслуживать. Или веб сервер встроен в 1С и базу не нужно публиковать на стороннем сервисе и следить за версиями публикации
18 Aleksey
 
09.12.19
21:11
(15) я думаю он про что то типа
http://catalog.mista.ru/public/203109/
http://catalog.mista.ru/public/842751/
19 Сияющий в темноте
 
09.12.19
23:49
MSXML2.ServerXMLHttp обычный Com-сервер,доступный из любого приложения,в том числе 7.7 и 8.х
умеет все по http и https и даже асинхронно.
20 Kigo_Kigo
 
10.12.19
07:55
(1) (19) Да задрали вы уже в каждой ветке со своим web сервисом, не умеют люди с ним работать, не умеют и не представляют как, всЁ!
Там своих костылей и камней полно, уЗпакойтеЗь ужо
21 ДенисЧ
 
10.12.19
08:45
(20) Твоё решение проблемы в (0) ?
22 Сияющий в темноте
 
10.12.19
09:03
(20) можно сделать так,что программист видит Com-сервер со своими методами и полями,а на самом деле,это обращение к web-сервису.
То,что вы не умеете их готовить,не означает,что все их должны бояться.
Просто,переход границы процесса через web-сервис,это быстрее,чем стандартный ole.
23 AAA
 
10.12.19
10:51
(21) Можно поподробнее или ссылочку про "можно сделать так,что программист видит Com-сервер со своими методами и полями,а на самом деле,это обращение к web-сервису" ?
24 AAA
 
15.12.19
17:59
Ну что ж, спасибо Денису, немножко погрыз новые знания.
1. Поднятие IIS на Windows 7 и Windows 2008 Server
2. Публикация базы на веб сервере
3. Запуск базы из браузера и из 1С запускалки )
4. Создание HTTP сервиса в расширении
5. Вызов HHTTP сервиса из 7.7 с передачей реквизитов документа (шапка, товары) в строке JSON
6. Создание или корректировка передаваемого документа в базе 8.3
7. Получение результата в базе 7.7

Потрясло быстродействие по сравнению с OLE. Все почти мгновенно (но тестировал монопольно). Запуск
WEB клиента тоже очень быстр

Всем спасибо за пинок, наверное перепишу все с OLE на HHTP. Пока до готового решения еще далеко,
но узловые моменты вроде отработал. Основную сложность вижу в правильном создании JSON строки, но
интуитивно она понятна и гораздо проще в восприятии, чем XML
25 Бертыш
 
15.12.19
18:06
(21) Я бы как лентяй делал бы не через web-сервисы, хотя их я умею. Как лентяй я бы делал через пустую базу на хорошем релизе если память неосвобождается только при обращении у 7.7, а уже из хорошего релиза стучался в базу. Проверить только надо освобождается ли память если восьмёрка обращается к восьмёрке
26 AAA
 
15.12.19
18:24
(25)Это уже будет такой многорычажный костыль)
А чем WEB не нравится? у меня желание еще и перевести юзеров на веб клиенты. Сейчас там
несколько файловых баз на весьма скромной тачке. Надо хозяина убеждать железо менять, причем
его убедить не самое сложное, а вот бывшего админа, который вроже как иногда и админ, а иногда нет,
убедить в модернизации сложнее. Трудно стало работать, как говорил Мюллер
27 ДенисЧ
 
15.12.19
18:29
(26) А зачем убеждать _бывшего_ админа? О_о
И в чём - в увеличении мощностей? Он точно был компьютерным админом, а не в борделе девочек развозил?
28 AAA
 
15.12.19
18:59
(27)Там сложная структура предприятия)
29 Сияющий в темноте
 
15.12.19
21:28
(25) из одногг релиза в другой путь через ole кривой.
и опять же,если память не осаобождается,то что матрешка изменит,только больше памяти сожрет.
30 Сияющий в темноте
 
15.12.19
21:30
а по сути,Com плюс и передача данных через границу процесса,понижение скорости в несколько раз,и после этого уже любое решение кажется спасением.
31 1snik_d
 
15.12.19
22:27
(4) Древнее, не древнее, а "1С" сама им пользуется в штатных обменах между современными в т.ч. конфигурациями.
32 1snik_d
 
15.12.19
22:31
(12) У нас работает в обе стороны (из 7.7 подключение к 1с8, сейчас на 8.3.16 платформе, и наоборот из 8.3.16 к 7.7). Все тьфу-тьфу работает нормально, процессы не повисают.
33 1snik_d
 
15.12.19
22:33
(32) Там основная проблема, когда пытаешься несколько OLE подключений к 7.7 из 8.3 одновременно сделать. Вот это не получилось побороть.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший