|
Есть ли способ нормально (де)сериализовать данные в 1с на клиенте? | ☑ | ||
---|---|---|---|---|
0
Fragster
гуру
26.01.21
✎
12:43
|
И чтобы веб клиенте тоже работало?
|
|||
1
Asmody
26.01.21
✎
12:46
|
через xml/json?
|
|||
2
acht
26.01.21
✎
12:47
|
(0) Десериализовать из чего? Из двоичных данных?
|
|||
3
Fragster
гуру
26.01.21
✎
12:48
|
(1) не работает на клиенте
|
|||
4
Fragster
гуру
26.01.21
✎
12:48
|
(2) из строки
|
|||
5
Fragster
гуру
26.01.21
✎
12:50
|
кстати, из-за этого пришлось воспользоваться подходом, похожим на Как сериализовать ссылку в XML?, только тссс :)
код, конечно, другой, но блин. Для РегистрНакопленияКлючЗаписи, например, не подходит, а надо |
|||
6
ДенисЧ
26.01.21
✎
12:50
|
ЗаписьXML (XMLWriter)
Доступность: Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер. |
|||
7
Fragster
гуру
26.01.21
✎
12:51
|
(6) да, веб клиент пролетает
|
|||
8
Fragster
гуру
26.01.21
✎
12:59
|
Вот такой гомункул:
#Если ВебКлиент Тогда ДесериализованныеДанные = ДесериализоватьДанныеНаСервере(Данные); #Иначе ДесериализованныеДанные = ДесериализоватьДанные(Данные); #КонецЕсли &НаСервереБезКонтекста Функция ДесериализоватьДанныеНаСервере(Данные) Возврат ДесериализоватьДанные(Данные); КонецФункции &НаКлиентеНаСервереБезКонтекста Функция ДесериализоватьДанные(Данные) Чтение = Новый ЧтениеXML; Чтение.УстановитьСтроку(Данные); Возврат ПрочитатьXML(Чтение); КонецФункции Мне не нравится ( |
|||
9
fisher
26.01.21
✎
13:01
|
Хм... И действительно - с веб-клиентом проблема.
|
|||
10
fisher
26.01.21
✎
13:03
|
Ну, что тут сказать... Нет ножек - нет варенья.
|
|||
11
acht
26.01.21
✎
13:05
|
(5) > РегистрНакопленияКлючЗаписи
Не выгорит. У этого объекта нет конструктора в веб клиенте, ты новый экзампляр вообще никак не создашь. Получай с сервера. |
|||
12
acht
26.01.21
✎
13:07
|
(11)+ Ну и это уже совсем не "примивный тип". Для примивных можно через полехтмлдокумента извратится, если очень уж надо.
|
|||
13
Garykom
гуру
26.01.21
✎
13:09
|
Для примитивных типов проще свою сериализацию наваять
|
|||
14
Garykom
гуру
26.01.21
✎
13:09
|
(13)+ или ВК для веб-клиента, которые расширения для браузеров
|
|||
15
fisher
26.01.21
✎
13:11
|
(14) Кгм...
|
|||
16
fisher
26.01.21
✎
13:13
|
(12) > полехтмлдокумента?
Это что за зверь и как через него извратиться? |
|||
17
acht
26.01.21
✎
13:14
|
(14) Микросервис же. На Го. Не?
|
|||
18
fisher
26.01.21
✎
13:15
|
А, блин. HTML!
Но все равно не пойму, как он поможет. |
|||
19
H A D G E H O G s
26.01.21
✎
13:15
|
(0) Напиши на партнерке предложение, а я буду тебе говорить, что ну это можно сделать на сервере. Ну как с множественным отбором для НаборовЗаписей.
|
|||
20
H A D G E H O G s
26.01.21
✎
13:16
|
(17) Как с вами связаться?
|
|||
21
acht
26.01.21
✎
13:17
|
(16) Положить на форму полехтмл, для него будет использоваться инстанс текущего браузера в iframe. Подергать его javascript движок, статей море.
Но в (8) куда меньшее зло |
|||
22
acht
26.01.21
✎
13:17
|
(20) Я ж письмо писал, ответа так и не получил. Попало в спам?
|
|||
23
H A D G E H O G s
26.01.21
✎
13:19
|
(22) Сейчас все проверил и Входящие и Спам, ничего нет.
Скинь плиз еще раз письмо на [email protected] |
|||
24
fisher
26.01.21
✎
13:20
|
(21) Каким образом браузерный js поможет с одинэсной сериализацией/десмериализацией? Только лишь как более мощный инструмент ручной реализации? Данунах.
|
|||
25
acht
26.01.21
✎
13:23
|
(24) Ты уж определись "примитивные типы", как написано в заголовке темы, или объекты 1С.
|
|||
26
Fragster
гуру
26.01.21
✎
13:23
|
(19) ты обиделся, чтоли?
|
|||
27
Fragster
гуру
26.01.21
✎
13:25
|
(25) ну вот ОповеститьОбИзменении, например, в веб клиенте есть, РегистрХХХКлючЗаписи ему подсунуть можно, а вот как его на этом самом клиенте получить из строки?
|
|||
28
H A D G E H O G s
26.01.21
✎
13:27
|
(26) Ты давно скайп читал? Нет конечно, просто иронизирую, что ты постоянно играешь за адвоката дьявола. Пусть работают, сидят в своих 1С, штаны протирают :-)
|
|||
29
Fragster
гуру
26.01.21
✎
13:28
|
в воскресенье за компом был где он норм работает. а на мобилке сука вылетает :(
|
|||
30
Fragster
гуру
26.01.21
✎
13:43
|
||||
31
H A D G E H O G s
26.01.21
✎
13:49
|
(30) Ну воооот! Ты движешься в правильном направлении.
|
|||
32
acht
26.01.21
✎
13:50
|
(23) Скинул. На другие ящики доходит, на яндексе, правда, не проверял.
|
|||
33
acht
26.01.21
✎
13:51
|
(27) > как его на этом самом клиенте получить из строки
Из строки - никак. Взять уже существующий, приехавший с сервера, например как иденфтиикатор строки динамического списка - запросто. |
|||
34
Fragster
гуру
26.01.21
✎
13:54
|
(33) проблема в том, что он с другого сеанса прилетает в ВК, ВК передает по сети в сериализованном виде только.
|
|||
35
Fragster
гуру
26.01.21
✎
13:54
|
прямо в клиента
|
|||
36
Fragster
гуру
26.01.21
✎
13:55
|
делаю нормальный Оповестить и ОповеститьОбИзменении. Ну и заодно плюхи типа уведомление о звонке на астер прям в 1с без тормозов и прочее
|
|||
37
Fragster
гуру
26.01.21
✎
13:55
|
сообщения в чаты с сайта, мгновенно прилетающие менеджеру
|
|||
38
acht
26.01.21
✎
14:03
|
(34) Функциональную форму Новый пробовал?
|
|||
39
H A D G E H O G s
26.01.21
✎
14:09
|
(32) Нет, не пришло. Короче, пофиг, работа не интересует?
|
|||
40
acht
26.01.21
✎
14:13
|
(39) Зависит от. Давай последнюю попытку - на [email protected] напиши =)
|
|||
41
H A D G E H O G s
26.01.21
✎
14:38
|
(40) Написал
|
|||
42
ДедМорроз
26.01.21
✎
15:13
|
А разве значение в строку внутр уже в web-клиенте перестало работать?
|
|||
43
ДедМорроз
26.01.21
✎
15:15
|
Потом,web-клиент,это страница html и там только строки.
|
|||
44
H A D G E H O G s
26.01.21
✎
15:15
|
(42) Оно и в тонком уже не работает
|
|||
45
fisher
26.01.21
✎
15:16
|
(42) А начинало? Не говоря уже о том, что deprecated/
|
|||
46
LoneBull
26.01.21
✎
16:46
|
(0) Конструктор на клиенте можно вызвать через функциональную форму новый:
Новый(<Тип регистра>, <Массив параметров для конструктора>) (раньше это было в СП, но потом некоторые товарищи это оттуда вырезали т.к. на это проверка конфигурации ругается, а вырезать из СП проще чем чинить) Попробовал (на демо конфигурации) ПараметрыКонструктора = Новый Массив; ПараметрыКонструктора.Добавить(Новый Структура("Период, Валюта", Период, Валюта)); А = Новый(Тип("РегистрСведенийКлючЗаписи.КурсыВалют"), ПараметрыКонструктора); работает |
|||
47
fisher
26.01.21
✎
17:05
|
(46) Слава богу, за моим СП "некоторые товарищи" не приходили.
|
|||
48
Cthulhu
26.01.21
✎
17:12
|
(46): ну они так ясно зачем сделали, чтобы на клиенте низя было слепить то что сериализатор не осилит. например, полноценную ТЗ на клиенте типа ОписаниеТипа = Новый ОписаниеТипов("ТаблицаЗначений"); ТЗ = Новый(ОписаниеТипа.Типы()[0]);
|
|||
49
Garykom
гуру
26.01.21
✎
17:22
|
Меня больше всего удивляет какого х на веб-клиенте нету HTTPЗапрос на WebКлиенте под 8.3?
|
|||
50
sikuda
26.01.21
✎
17:32
|
(49) Кросс-доменные запросы не такая простая вещь - https://learn.javascript.ru/xhr-crossdomain
|
|||
51
Garykom
гуру
26.01.21
✎
17:35
|
(50) хотя бы к тому же домену к другим ресурсам же
или через свое расширение 1Сное для браузеров реализовать хоть кроссдоменные |
|||
52
sikuda
26.01.21
✎
17:41
|
(51) Расширением для браузера 1С сделала чтобы лучше воровать данные с локального компьютера (все для удобства пользователей)
А к тому-же домену есть функции работы с базой 1С НачатьПомещениеФайловНаСервер() ;) |
|||
53
Fragster
гуру
26.01.21
✎
18:21
|
(46) а то, что для этого структура нужна, для которой нормальной сериализации опять же не завезли?
|
|||
54
Fragster
гуру
26.01.21
✎
18:22
|
пока что веб клиенту придется ходить на сервер.
теперь осталось нормальную компиляцию ВК под всю хурму настроить (там cmake, да еще и с конаном) |
|||
55
ДедМорроз
28.01.21
✎
08:15
|
(51) там проблема в том,что у браузера общее хранилище ключей cookie,что накладывает серьезные ограничения на весь функционал,т.к.в случае разрешения выполнения таких запросов будут пересечения с уже открытыми сеансами.
Расширение - это ещё более печальная история,т.к.оно применяется к браузеру,а не к отдельной странице в нем. |
|||
56
Вафель
28.01.21
✎
09:08
|
(55) у браузера есть локал сторадж, а также локальная бд
|
|||
57
Fragster
гуру
28.01.21
✎
10:19
|
(56) оно тоже на весь браузер. можно в переменных скрипта страниц все хранить
|
|||
58
ДедМорроз
28.01.21
✎
21:27
|
У браузера есть кеш,который позволяет при правильном использовании не передавать повторно данные.
Остальные фокусы с хранением - это только ненужное усложнение. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |