Имя: Пароль:
1C
1С v8
v8: обновление метаданных без выкидывания пользователей
0 romix
 
21.11.12
14:39
1. Поддерживаю 0% (0)
Всего мнений: 0

Скажем, нужно обновить конфигурацию. Обновление вышибает всех пользователей. Почему бы 1С не возобновлять открытые окна со введенными в них данными? Ведь на сервер (при записи) все равно посылается XML, с сервера (при открытии) получается тоже XML. Его бы куда-нибудь локально, что ли, сохранять время от времени (как бы запись, но не на сервер) и потом возобновить, если прошло обновление или другой вид сбоя (обрыв связи, выключение питания, программная ошибка). Также сохранять открытые окна, чтобы их не отыскивать и не переоткрывать, что было бы удобно также и при отладке.
1 rotting
 
21.11.12
14:41
Нормальный софт давно так умеет....
2 Maxus43
 
21.11.12
14:41
(0) а если добавился реквизит в документ?
3 rotting
 
21.11.12
14:42
(2) Считаешь это большой проблемой?
4 Лефмихалыч
 
21.11.12
14:43
(0) в 8.3, говорят, еще и не такое реализовано
5 ДенисЧ
 
21.11.12
14:43
"Обновление вышибает всех пользователей"
у меня не вышибает... А такие обновления, которые вышибают - я не делаю во время работы :-)
6 Maxus43
 
21.11.12
14:44
(3) для открытия формы этого документа - да
7 rotting
 
21.11.12
14:50
(6) да ладно, не думаю что там структура xml меняется, можно это и учесть
8 rotting
 
21.11.12
14:50
+(7) *полностью меняется
9 romix
 
21.11.12
14:52
(5) С обновлением метаданных, я имею в виду. Можно на вечер сдвигать всю работу, но тут выяснилось что в вечернее время тоже кто-то работает, и им прилетает обломинго.
10 AndyD
 
21.11.12
14:55
тогда на поздний вечер сдвигать
11 romix
 
21.11.12
15:00
У них еще и при динамическом обновлении, оказывается, тоже все вылетает.
Я думаю что надо отправлять в 1С петицию. :-)
Если кто поддерживает - ставлю пункт голосовалки.
12 Maxus43
 
21.11.12
15:01
(7) меняется, запакуй документобъект в xml, добавь реквизит в этот док, попробуй прочитать xml
13 romix
 
21.11.12
15:06
(12) Текстовое преобразование к новому образцу документа по идее же не должно составлять очень большой проблемы.
14 shuhard
 
21.11.12
15:08
(0) ТС настолько увлёкся манипуляциями, что даже в голосовалке ставит единственный вариант
15 romix
 
21.11.12
15:09
(14) Считайте это подписью под петицией.
16 acsent
 
21.11.12
15:10
уф  говорят умеют делать реконнект к серверу
17 acsent
 
21.11.12
15:10
Или ты до сих пор не перешел на уф? а???
18 Лефмихалыч
 
21.11.12
15:13
(14) это видимо, автор предвидит бурное обсуждение и жаркие дебаты, по этому решил защитить ветку от бота @{Длинная ветка}
19 romix
 
21.11.12
15:14
(4) Читаю http://habrahabr.ru/post/147077/ - вроде бы действительно что-то есть. Хорошо бы если это так, но в http://v8.1c.ru/overview/release_8_3_1/ это на первый взгляд не подтверждается.
20 romix
 
21.11.12
15:14
(17) УФ это что?
21 romix
 
21.11.12
15:15
Клиент у меня тонкий.
22 dmpl
 
21.11.12
15:16
(0) Против. У пользователя должно быть минимум открытых окон. Иначе он в них запутается.
23 romix
 
21.11.12
15:18
(22) Ему самому решать сколько у него должно быть открыто окон. Если надо закрыть - он закроет окно, разве не так? После сбоя или реструктуризации я имею в виду их возобновлять.
24 dmpl
 
21.11.12
15:18
(23) Не так. Большинство пользователей на такое не способны.
25 romix
 
21.11.12
15:21
(24) Не способны закрыть окно если они хотят закрыть окно?
26 Лефмихалыч
 
21.11.12
15:22
(19) а откуда навязчивая идея обновлять обновления в полете?
27 dmpl
 
21.11.12
15:23
(25) Они неспособны хотеть закрыть окно. Они даже не знают, что оно открыто, зато воют о том, что программа врет, что он заблокировал объект, ведь тот у него даже не открыт.
28 acsent
 
21.11.12
15:25
(21) в тонком есть история окон, научи их
29 dmpl
 
21.11.12
15:30
(28) Жостко :)
30 romix
 
21.11.12
15:30
(28) В истории нет журналов.
31 romix
 
21.11.12
15:32
(27) Это не наша проблема. Наша проблема - при любом сбое вернуть все как было.
32 Maxus43
 
21.11.12
15:35
(31) это не проблема, это хотелка
33 Maxus43
 
21.11.12
15:35
а не все хотелки есть добро
34 Maxus43
 
21.11.12
15:36
Чтоб при сбое не накрылось - кури резервирование кластеров и т.д., построение отказоустойчивых систем. Обновление - не есть сбой, штатное закрытие
35 romix
 
21.11.12
15:50
(32) Это проблема. У пользователей не должно сбоить и пропадать введенное им.
36 romix
 
21.11.12
15:51
(34) И как это поможет не накрыться сбою до записи у клиента?
37 Maxus43
 
21.11.12
15:53
что поможет? резервирование кластеров - там синхронизация идёт процессов, и при вылете сервака гонку принимает другой, сохранив все данные, окна и т.д.
http://www.gilev.ru/1c/app/
38 romix
 
21.11.12
15:55
(37) Пользователь вводить документ, но еще не нажал на Сохранить. Как "кластеры" и прочее помогут ему не потерять сделанный воод?
39 Maxus43
 
21.11.12
15:58
(38) Это позволяет обеспечить непрерывность работы:

При разрыве физического соединения клиента с кластером (уборщица выдернула кабель, отключилось питание сетевого оборудования, неполадки у провайдера) не приходится заново подключаться к информационной базе и начинать всю работу сначала. После восстановления физического соединения пользователь может продолжить работу с того места, на котором она была прервана.

Если требуется техническое обслуживание компьютеров кластера, их можно выключать прямо во время работы, не останавливая работу пользователей с информационной базой.
При выходе из строя любого сервера кластера работа пользователей не остановится она будет автоматически переведена на резервный кластер и/или на резервные рабочие процессы. Для пользователей такой переход будет незаметным.
Если один из рабочих процессов кластера завершится аварийно, подключенные к нему пользователи будут автоматически переведены на другие или резервные рабочие процессы. Такой переход также будет незаметен для пользователей. (с)
40 dmpl
 
21.11.12
16:06
(38) Главное не как, главное что это работает. Юзер просто переходит вместе со своим контекстом на другой сервер и даже не замечает этого.
41 romix
 
21.11.12
16:18
(39) Уборщица выдернула кабель - это понятно, а если программист добавил в метаданные реквизит-другой? В сабже ведь про изменение конфигурации.
42 Maxus43
 
21.11.12
16:22
(41) обновление - это штатная ситуация, 1с реализована так, что требуется выгон юзеров. нефиг обновлять посреди рабочего дня
43 romix
 
21.11.12
17:23
(42) Обновление не должно быть чем-то, из-за чего пользователи должны ждать изменений несколько часов или сталкиваться с аварийными завершениями работы и потерями пользовательского ввода.

К примеру, я добавил реквизит в справочник или документ. Если клиент действительно тонкий, то почему при следующем открытии окна он не может это изменение показать без закрывания и открывания всей 1С? Где он это все хранит?

А при текущем открытом окне почему он не может записать документ без сбоя, даже если там новый реквизит будет и пустым (как у всех ранее введенных документов до него)?
44 romix
 
22.11.12
21:15
Пользователи вышибаются, фоновые задания не вышибаются...
45 romix
 
22.11.12
21:23
Казалось бы, что мешает тонкому клиенту пользоваться старыми метаданными - ну будет в базе поле новое или уже несуществующее - тонкому клиенту-то какая разница!

Далее, при запуске тонкого клиента программа где-то хранит всю конфигурацию и не перечитывает всякий раз формы, модули и таблицы (при каждом открытии форм).

8 байт лишних пересылать.
46 romix
 
22.11.12
21:33
Вру, 16 лишних байт - временная метка для перечитывания тонким клиентом устаревших метаданных, если они на сервере изменились.
47 romix
 
23.11.12
00:34
Если предположить, что на сервер приходит от тонкого клиента данные сохраняемого документа: скажем, "список значений" (шапка документа) и "таблица значений" (многострочная часть, одна или несколько таковых), то удалить избыточные поля или добавить недостающие пустые поля где-то на входе алгоритма - это пол-экрана кода.

Это уберет необходимость аварийных выбросов пользователей из 1С при обновлении конфигурации.