|   |   | 
| 
 | 8.3. Куда теперь поместить несериализуемый объект? | ☑ | ||
|---|---|---|---|---|
| 0
    
        mashunka 18.07.14✎ 14:12 | 
        Добрый день! Имеется 1с-совместимая конфигурация, которая часто обменивается с типовой бухгалтерией данными через COM-соединение. Задача стоит следующая: нужно не подключаться к бухгалтерии каждый раз, как потребуется очередной обмен, а держать как бы постоянное COM-соединение. С этим возникают следующие проблемы.
 Если создать COM-соединение на клиенте, то к нему можно потом смело обращаться в течение клиентского сеанса. НО - дальнейшие действия (запросы данных, создание новых документов и т.п.) могут быть выполнены только на сервере. А передать COM-объект с клиента на сервер для дальнейшей с ним работы программа не позволяет ("отсутствует отображение для типа COМОбъект"). Если создать COM-соединение на сервере, то серверная переменная благополучно "умирает" после завершения процедуры, и в следующий раз приходится подключаться заново. До обновления на платформу 8.2 я помещала созданный COM-объект во временное хранилище. Когда нужно было снова обмениваться данными, доставала его оттуда - это гораздо быстрее работает, чем снова подключаться. Теперь на 8.3 этот "несериализуемый" COM-объект во временное хранилище не помещается. 1С советуют "пересмотреть проектное решение". Я уже месяц пересматриваю и ничего придумать не могу. Может быть, кто-то сможет подкинуть идею. Заранее спасибо за любые пинки в правильном направлении. | |||
| 1
    
        mikecool 18.07.14✎ 14:18 | 
        заменить на веб-сервис     | |||
| 2
    
        mashunka 18.07.14✎ 14:20 | 
        (1) растолкуйте, пожалуйста, что вы имеете в виду?     | |||
| 3
    
        mehfk 18.07.14✎ 14:22 | 
        (0) ЕМНИП, Fragster предлагал костыль чтобы COM-объект на сервере не умирал.     | |||
| 4
    
        Лодырь 18.07.14✎ 14:26 | 
        (2) Он имеет в виду использовать не подключение через COM, а организовать передачу данных через web сервис.     | |||
| 5
    
        mashunka 18.07.14✎ 14:39 | 
        (3) ого, у него столько тем - сейчас попробую поискать     | |||
| 6
    
        mashunka 18.07.14✎ 14:41 | 
        (4) пошла учить матчасть )     | |||
| 7
    
        H A D G E H O G s 18.07.14✎ 14:41 | 
        (0) ОбщийМодуль с повторно-возвращаемыми значениями.     | |||
| 8
    
        H A D G E H O G s 18.07.14✎ 14:41 | 
        Проблема во времени жизни этих значений, оно очень мало.     | |||
| 9
    
        H A D G E H O G s 18.07.14✎ 14:43 | 
        На мое предложение на партнерском реализовать механизм хранилища несериализуемых серверных значений - на меня накинулась толпа долбоящюров из франчей с криками "попячься, линукс, разным серверы в кластере, вам это не надо". Разработчики тактично отмолчались.
 Такие дела. | |||
| 10
    
        Лодырь 18.07.14✎ 14:44 | 
        (9) Ну, область применения достаточно узкая, возможно, есть более приоритетные направления разработки.     | |||
| 11
    
        Fragster гуру 18.07.14✎ 14:44 | 
        (3) я предлагал немного другое     | |||
| 12
    
        Ksandr 18.07.14✎ 14:47 | 
        (7) +1
 Получил на этот вопрос несколько лет назад ответ от 1С - юзайте повторное использование возвращаемых значений | |||
| 13
    
        mashunka 18.07.14✎ 14:49 | 
        (7),(8) - пишут про 20 минут, если указывать, что "на время сеанса" . в принципе, может подойти такой вариант. Там обычно человек сидит и подряд выгрузки фигачит. Если на 20 минут ушел покурить - можно и повторно подключиться, не помрет. Короче, пробовать можно, спасибо.     | |||
| 14
    
        mashunka 18.07.14✎ 14:49 | 
        (11) и где почитать? или там совсем не о том?     | |||
| 15
    
        Defender aka LINN 18.07.14✎ 14:51 | 
        (0) Дарю:
 
Можно также таблицу значений использовать | |||
| 16
    
        Лефмихалыч 18.07.14✎ 14:52 | 
        (15) ета чит, а нормальные пацаны читами не пользуются - сам говорил     | |||
| 17
    
        Fragster гуру 18.07.14✎ 14:52 | 
        (13) если "сидит и фигачит" - сделайте "ком" в форме на клиенте ;)     | |||
| 18
    
        H A D G E H O G s 18.07.14✎ 14:53 | 
        (15) (16) Этот чит не работает в 8.3     | |||
| 19
    
        H A D G E H O G s 18.07.14✎ 14:54 | 
        (13) ЛПП (ложь, п%^&^&шь, провокация).     | |||
| 20
    
        Dolphinbet 18.07.14✎ 14:55 | ||||
| 21
    
        Лефмихалыч 18.07.14✎ 14:58 | 
        (18) у меня на 1С:Предприятие 8.3 (8.3.4.408) работает
 в мануале написано, что вроде не должно, но, тля, работает тем не менее | |||
| 22
    
        H A D G E H O G s 18.07.14✎ 14:59 | 
        Кэш сбрасывается достаточно произвольно, 20 минут - это фантастика.     | |||
| 24
    
        mashunka 18.07.14✎ 14:59 | 
        (17) на клиенте не получается, потом нужно через этот ком запросы формировать и документы создавать, надо на сервере     | |||
| 25
    
        Лефмихалыч 18.07.14✎ 15:00 | 
        +(21) лично только что, нахально ухмыляясь, поместил так во временное хренилище новый COMОбъект("Scripting.Filesystemobject")     | |||
| 26
    
        mashunka 18.07.14✎ 15:00 | 
        (15) да ну нафиг, я что-то подобное пробовало - не прокатило. Ушла еще раз проверять     | |||
| 27
    
        H A D G E H O G s 18.07.14✎ 15:01 | 
        (25) Режим совместимости?     | |||
| 28
    
        mashunka 18.07.14✎ 15:04 | 
        (21) РЕАЛЬНО РАБОТАЕТ. Я пробовала, помню, на первых этапах куда-то запихивать, почему-то мне кажется, что именно в структуру - не получилось!     | |||
| 29
    
        Лефмихалыч 18.07.14✎ 15:06 | 
        (27) Режим совместимости Версия 8.3.3, платформа тк и вообще 1С:Предприятие 8.3 (8.3.5.823)     | |||
| 30
    
        Fragster гуру 18.07.14✎ 15:06 | 
        (24) при работе через КОМ не обязательно делать это на сервере (я про то, что _в ком объекте_ доступны те методы, которые недоступны в тонком клиенте)     | |||
| 31
    
        H A D G E H O G s 18.07.14✎ 15:07 | 
        (29) гхмм, надо тестировать. Походу разрешили в 8.3.4     | |||
| 32
    
        Лефмихалыч 18.07.14✎ 15:07 | 
        на 1С:Предприятие 8.3 (8.3.5.823) тоже сработало без режимов совместимости вобоще     | |||
| 33
    
        mashunka 18.07.14✎ 15:09 | 
        (30) хм, я не пробовала, конечно. Идея тоже пригодится, спасибо. Но в моем случае там много переписывать, потому что помимо действий с ком-объектом много попутных обращений к данным текущей базы, замучаюсь их- по клиентским и серверным процедурам разделять )     | |||
| 34
    
        Лефмихалыч 18.07.14✎ 15:10 | 
        1С:Предприятие 8.3 (8.3.4.408) без режима совместимости - работает
 но это не повод этим пользоваться: это хитрой иглавъяйцеяцовутке рано или позжно работать перестанет - к бабке не ходи | |||
| 35
    
        mashunka 18.07.14✎ 15:18 | 
        (34) возможно, платформа ваш объект приняла за сериализуемый, кто ее знает? Мои вот не хотят туда помещаться, пробовала еще раз только что. Через структуру, как подсказал добрый человек (15) почему-то сработало. Это дает мне отсрочку, но вы правы, рано или поздно 1с этот свой баг найдет и исправит :(     | |||
| 36
    
        mikecool 18.07.14✎ 15:21 | 
        :) непонятно - зачем пытаться использовать костыли, которые могут зависеть от платформы? объясните неграмотному     | |||
| 37
    
        mashunka 18.07.14✎ 15:25 | 
        (36) время торопит :) Необходимо срочно, чтобы программа работала под 8.3. Пока костыль помогает - пусть работают, а я буду учить матчасть.     | |||
| 38
    
        mashunka 18.07.14✎ 15:26 | 
        А вообще - всем большое спасибо, дали идеи, в каком направлении работать.     | |||
| 39
    
        mikecool 18.07.14✎ 15:27 | 
        (38) нет ничего более постоянного, чем временное )))     | |||
| 40
    
        Infsams654 18.07.14✎ 15:31 | 
        (31) "ромашка" какая-то, "любит, не любит".
 Сказано же, что в вр. хранилище только сериализуемые объекты. Если сейчас работает, это не значит что потом будет работать. Для (0) рекомендую - только на клиенте, и не надо будет задавать потом вопросы | |||
| 41
    
        mashunka 18.07.14✎ 15:32 | 
        (39) так и есть! А ведь все тянется еще с той файловой версии программы, когда не было управляемых форм и ком-объект был доступен отовсюду! Никогда ж нет времени взять и все переписать заново! Так и появляются костыли...     | |||
| 42
    
        H A D G E H O G s 18.07.14✎ 15:35 | 
        (37) (41) Респект таким пацанам!     | |||
| 43
    
        mashunka 18.07.14✎ 15:39 | 
        (42) угу, пацанам респект, а нам, девчатам, пора идти реализовывать ваши советы.
 Еще раз всем спасибо! | |||
| 44
    
        Defender aka LINN 18.07.14✎ 15:41 | 
        (42) Где извинения за (19)-то? :)     | |||
| 45
    
        H A D G E H O G s 18.07.14✎ 15:42 | 
        (44) А что не так? Кэш повторно-возвращаемых живет своей жизнью. 1С объясняет это "если памяти не хватает - кэш сбрасываем"     | |||
| 46
    
        Defender aka LINN 18.07.14✎ 15:49 | 
        Промахнулся, (18) имел в виду :)     | |||
| 47
    
        banco 18.07.14✎ 16:18 | 
        (0) а в чем проблема заново подключаться, неужели эти 2-3 секунды так важны?     | |||
| 48
    
        Лефмихалыч 18.07.14✎ 16:19 | 
        (47) ты не поверишь     | |||
| 49
    
        Лефмихалыч 18.07.14✎ 16:20 | 
        2-3 секунды - очень важны
 миллион записей в регистре сведений - это не много пара-другая десятков тысяч документов - это мало маленькая база - это 100Гб 30 пользователей - pfff | |||
| 50
    
        banco 18.07.14✎ 16:24 | 
        (49) так ТС месяц пересматривает и не может найти решение, а 2-3 секунды на подключение это очень много.     | |||
| 51
    
        Лефмихалыч 18.07.14✎ 16:25 | 
        Ну, я так и сказал - ты не поверишь     | |||
| 52
    
        blopp 18.07.14✎ 16:54 | 
        (15) Максимум через 20 минут или на другом rphost'е сразу - в структуре извлеченной из этого хранилища будет лежать Неопределено.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |