|   |   | 
| 
 | Выполнение функций в другой конфигурации | ☑ | ||
|---|---|---|---|---|
| 0
    
        e2v 29.07.19✎ 14:53 | 
        Совета надо 8)))
 Есть две базы 1С. В одной есть функции возвращающие данные нужные в другой базе. Как лучше организовать доступ и выполнение? Проще говоря, хочу из первой конфы выполнить функцию, находящуюся во второй конфе и обработанные данные вернуть в первую конфу. 8))) Функция будет выполняться множеством запросов, поэтому скорость имеет значение. Пробовал по COM-соединению - тормозит. Подключение как Внешняя База - штука хорошая, но прописывать все справочники и регистрысведений, нужные для запроса, из базы источника - труба. Чето больше не знаю как еще можно 8))). Признателен любой идее. | |||
| 1
    
        palsergeich 29.07.19✎ 14:54 | 
        (0) через web или http сервисы будет самый правильный вариант ИМХО     | |||
| 2
    
        MyNick 29.07.19✎ 14:55 | 
        (0) КОМ? Это та технология из прошлого тысячелетия? Когда уже одинэсники начнут спрашивать, что означает эта аббревиатура..     | |||
| 3
    
        e2v 29.07.19✎ 15:53 | 
        (1) Пробовал, нормально.
 Но хотелось бы не менять конфу в базе источнике. Она стандартная. | |||
| 4
    
        e2v 29.07.19✎ 15:54 | 
        (2) Технология старая, но вот в такой ситуации ничего другого не придумывается.
 8)) | |||
| 5
    
        palsergeich 29.07.19✎ 15:54 | 
        (3) юзай механизм расширений. Общие модули и веб / http сервисы прекрасно живут в расширениях     | |||
| 6
    
        lodger 29.07.19✎ 15:59 | 
        (3) сделай расширение.     | |||
| 7
    
        e2v 29.07.19✎ 16:06 | 
        (5) По расширениям согласен.
 Но у меня вопрос другой. Есть ли кроме COM объекта какой нибудь метод выполнить функцию в другой конфе 1С ? Мало знаю про это. Мож еще как-то кто-то делает ? Может не средствами 1с? | |||
| 8
    
        Провинциальный 1сник 29.07.19✎ 16:22 | 
        (7) "Есть ли кроме COM объекта какой нибудь метод выполнить функцию в другой конфе 1С ? "
 К сожалению, 1с не реализовала нативный метод межпроцессного взаимодействия, не завязанный на ОС. А COM признали нерекомендуемым и устаревшим.. | |||
| 9
    
        ВикторП 29.07.19✎ 16:25 | 
        (8) Дайте мне ссылку на "А COM признали нерекомендуемым и устаревшим.." - хочу показать кой- кому     | |||
| 10
    
        e2v 29.07.19✎ 16:27 | 
        Ясно. 8)))
 Как то так и думал. Не могло быть всё хорошо 8))) | |||
| 11
    
        palsergeich 29.07.19✎ 17:05 | 
        (9) В стандартах прописано, что исполняемый код должен выполняться на любой ОС.     | |||
| 12
    
        Сияющий в темноте 29.07.19✎ 17:14 | 
        что мешает реализовать аналог Com в другой ос,тем более,что из всего com нужно только загрузить dll и дать ей управление.
 с внешними компонентами научились нативно,вот осталось и подключение нативным сделать. и,в отличие от DDE,Com не признан устаревшей технологией,тем более,что в windows vista и болен поздних часть системных вызовов построены на технологии Com. Устаревшим считается технология ActiveX,но она только часть ComponentObjectModel. | |||
| 13
    
        Сияющий в темноте 29.07.19✎ 17:17 | 
        И это,я в базовой версии исполнял код о  внешнего вызова через внешнюю обработку и обработчик событий от внешней компоненты.
 причем конфа не менялась от слова совсем. | |||
| 14
    
        Rovan гуру 29.07.19✎ 17:19 | 
        (0) "Функция будет выполняться множеством запросов, поэтому скорость имеет значение. "
 А если пакетный запрос !? (7) "Есть ли кроме COM объекта какой нибудь метод выполнить функцию в другой конфе 1С ? " Есть ! OLE, но он еще более тормознутый ! | |||
| 15
    
        bolero 29.07.19✎ 19:30 | 
        (9) что там показывать, достаточно попросить на линуксе запустить     | |||
| 16
    
        Жан Пердежон 29.07.19✎ 19:57 | 
        (0) пили свой веб-сервис     | |||
| 17
    
        Сияющий в темноте 29.07.19✎ 20:04 | ||||
| 18
    
        Franchiser 29.07.19✎ 20:59 | 
        OData     | |||
| 19
    
        H A D G E H O G s 29.07.19✎ 21:04 | 
        Свой веб-сервис требует своего веб-сервера.     | |||
| 20
    
        palsergeich 29.07.19✎ 23:36 | 
        (19) Кэп. Не узнаю Вас в гриме)     | |||
| 21
    
        e2v 30.07.19✎ 08:20 | 
        (18) Вчера дискусия продолжилась. 8)) Я отвалился.
 Не ответить не прилично. ODATA требует настройки веб сервиса в конфигурации источника, а хотелось бы вообще не прикасаться к источнику , никак, не расширением, ни веб сервисами. Это связано с проблемами источника. | |||
| 22
    
        e2v 30.07.19✎ 08:23 | 
        (14) Пакетный запрос не подходит,т.к. запросы от разных пользователей проходят через
 конфигурацию2 в конфигурацию1. Т систематизировать их во времени не удастся. Это HTTP-запросы из разных приложений. Или я чего не так понял? | |||
| 23
    
        e2v 30.07.19✎ 08:31 | 
        (13) Конечно можно написать запрос (или выполнить функцию) через СОМ.
 Но дело в том, что запрос на подключение идет долго. В моем случае. Может чего поднастроить надо? Ситуация такая. Приложение на JAVA посылает POST запрос. Конфа1 на 1С его принимает, обрабатывает и для ответа привлекает данные из конфы2. Есть таймаут, в который нужно уложиться с ответом. К тому же запросов может быть до 20 потоком. И это от одного пользователя. А их в плане до 20 будет. Понимаю, это мои проблемы. 8))) | |||
| 24
    
        ДенисЧ 30.07.19✎ 09:03 | 
        (23) Если тыкую связку строишь - то грех вторую кнфигурацию не подтюнить     | |||
| 25
    
        e2v 30.07.19✎ 09:24 | 
        (24) Таки вот и хочу.
 Но как ? Схожусь на вариант 0DATA, но придется веб сервер делать и базу публиковать. А на ВнешнихИсточникахДанных все шикарно, но писанины много.Например, запрос к региструсведений.срезпоследних как организовать? Етож целый геморой. 8)) | |||
| 26
    
        ДенисЧ 30.07.19✎ 09:26 | 
        (25) Тебе функции нужно звать? Или прямо к объектам лазить?     | |||
| 27
    
        e2v 30.07.19✎ 09:47 | 
        (26) Лучше функции вызывать. Вообще решение проблемы.
 Но как это сделать без СОМ соединения не пойму. ODATA пока не в счет. | |||
| 28
    
        ДенисЧ 30.07.19✎ 09:49 | 
        (27) хттп-сервис, тебе же же предложили.     | |||
| 29
    
        e2v 30.07.19✎ 09:54 | 
        (28) Х-м-м. Я всегда страдал плохой дикцией 8)))
 Я же говорю, не желательно лезть в конфу источник, даже расширением. А HTTP сервис подразумевает именно это, писать в конфу. Или я не прав? Изменения возможны только в конфе1, которая работает с HTTP запросами извне. | |||
| 30
    
        palsergeich 30.07.19✎ 10:06 | 
        (29) тебе шашки или ехать?     | |||
| 31
    
        Ник080808 30.07.19✎ 10:20 | 
        (29) через выполнить команду системы запускаешь вторую базу с выполнением обработки при старте. в обработке пихаешь вызовы конфы. конфу править не нужно) извращение, но если не ком и не править конфу других вариантов нету     | |||
| 32
    
        olegves 30.07.19✎ 10:26 | 
        (0) у ОМ, где расположена функция долна стоять галка "Внешнее соединение"     | |||
| 33
    
        ДенисЧ 30.07.19✎ 10:30 | 
        (29) А я тебе ответил в (24)...     | |||
| 34
    
        ДенисЧ 30.07.19✎ 10:30 | 
        (31) И ты думаешь, это будет быстрее КОМа?     | |||
| 35
    
        Asmody 30.07.19✎ 10:32 | 
        (0) Пусть твоя база-источник крутит твои запросы в рег.задании и выкладывает результаты в файл с некоторой периодичность. А вторая этот файл читает при необходимости.     | |||
| 36
    
        Asmody 30.07.19✎ 10:33 | 
        (34) Тут, понимаешь, весь вопрос в том, где ему нужна скорость - при отправке или при получении данных. И какова должна быть реальная актуальность этих данных.     | |||
| 37
    
        Asmody 30.07.19✎ 10:34 | 
        Так-то можно и какую-нибудь MQ прикрутить     | |||
| 38
    
        Провинциальный 1сник 30.07.19✎ 10:37 | 
        (29) Это в 1с называется "прогресс". Терпи и получай удовольствие.     | |||
| 39
    
        ДенисЧ 30.07.19✎ 10:40 | 
        (36) У него будет 20 подключений в минуту ))
 Ком-объект можно на клиенте хранить... А 1с запускать каждый раз... | |||
| 40
    
        lodger 30.07.19✎ 10:40 | 
        (29) "Я же говорю, не желательно лезть в конфу источник, даже расширением. 
 А HTTP сервис подразумевает именно это, писать в конфу. Или я не прав? " - нет. не прав. почитай матчасть http://v8.1c.ru/o7/201410ext/index.htm | |||
| 41
    
        Asmody 30.07.19✎ 10:42 | 
        (39) Ему нужна актуальность данных за 5 секунд? Торговый автомат пишет?     | |||
| 42
    
        ДенисЧ 30.07.19✎ 10:46 | 
        (41) "К тому же запросов может быть до 20 потоком. И это от одного пользователя. 
 А их в плане до 20 будет" | |||
| 43
    
        bolero 30.07.19✎ 10:54 | 
        В случае, когда на конфе-источнике не надо выполнять функции, а только взять данные - я использую прямой доступ к базе и мозги себе не делаю. Веб-сервер для этого не нужен.     | |||
| 44
    
        Ник080808 30.07.19✎ 11:04 | 
        (43) "прямой доступ к базе " расшифруй     | |||
| 45
    
        e2v 30.07.19✎ 13:05 | 
        (40) Мат.часть прочел. 8)))
 Понял, что плохо разъяснил. 8)) Расширение в любом случае запускается или прикручивается на конфе источнике. Я физически этого сделать не могу. (не спрашивай почему). Остается выход - зная конфу источника читать базу удаленно. | |||
| 46
    
        Жан Пердежон 30.07.19✎ 13:15 | 
        колхоз - дело добровольное     | |||
| 47
    
        e2v 30.07.19✎ 13:15 | 
        Народ. Спасибо, что не посылаете. 8)))
 Несколько мыслей уже натолкнули. Проверяю последовательно. Но в некоторых записях вижу недопонимание. Если не надоело, еще раз объясню суть проблемы. Есть веб-приложение на JAVA. Иметь с ним связь можно только принимая от него запросы-POST и давая ответы на них. Так как на один запрос надо дать один ответ (технология такая), получается сколько запросов столько ответов. Тут проблем нет. Но в ответ надо включить данные из базы 1С из другой конфигурации2 (и на другом сервере). Множество запросов делать не удобно. Я использую функции, находящиеся в другой конфе2, которые дают мне нужные данные. Делаю это через СОМ. Но так как запросов много то возникает таймаут из-за тормозов СОМ. Вот и думаю как это обойти. Т.е. не изменяя конфу2 (базу2) выполнять на ней функции , только быстро. Как-то так. Вроде понятно 8))) | |||
| 48
    
        e2v 30.07.19✎ 13:16 | 
        (46) Не ну если есть что-то вменяемое посоветуй.
 Может вне 1С. | |||
| 49
    
        e2v 30.07.19✎ 13:17 | 
        (44) Прямой доступ к базе - когда из SQL-и напрямую читаю, минуя 1С предприятие.     | |||
| 50
    
        Вафель 30.07.19✎ 13:17 | 
        (47) самое простое - увеличить таймаут     | |||
| 51
    
        e2v 30.07.19✎ 13:19 | 
        (43) Вопрос. А как работать с регистрами. Там таблиц несколько. Есть пример?     | |||
| 52
    
        Жан Пердежон 30.07.19✎ 13:19 | 
        (48) если возможно  - тащить медленно данные к себе в базу периодически; отдавай их быстро уже из своей базы по запросу     | |||
| 53
    
        e2v 30.07.19✎ 13:19 | 
        (50) Гы 8)))     | |||
| 54
    
        e2v 30.07.19✎ 13:21 | 
        (52) Ну да , думал и так.
 Пока не пробовал. Думал еще зеркало SQL-ки делать на базу. Не знаю. Чето как то не красиво 8))) | |||
| 55
    
        e2v 30.07.19✎ 13:24 | 
        (41) Не. Организация сделала сайт с оформлением заявок и продаж товаров для работы с клиентами.
 Товары в одной базе, цены в другой, клиенты на листочке 8))) | |||
| 56
    
        Вафель 30.07.19✎ 13:27 | 
        а почему бы приложению не брать данные из разных баз?     | |||
| 57
    
        e2v 30.07.19✎ 13:30 | 
        (56) Потому что писали его люди, которые всегда правы 8)))     | |||
| 58
    
        e2v 30.07.19✎ 13:31 | 
        А вот какие мысли про кэширование СОМ соединения через веб сервер?
 Если кто пробовал- хелп мне примерчик. | |||
| 59
    
        lodger 30.07.19✎ 13:37 | 
        (47) опубликую базу2 как odata. http://catalog.mista.ru/public/711302/     | |||
| 60
    
        bolero 30.07.19✎ 14:49 | 
        (49) Например:
 
 | |||
| 61
    
        e2v 30.07.19✎ 15:37 | 
        (60) Это не я спрашивал про прямой доступ к базе. 8)))
 Согласен, тоже выход, но с объектом ВнешниеИсточникиДанных даже проще. Иначе SQL-ку надо нормально знать. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |