|
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'е сразу - в структуре извлеченной из этого хранилища будет лежать Неопределено.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |