Имя: Пароль:
1C
1С v8
Поговорим о тонком клиенте начистоту. В чем тонкость?
0 ObjectRelation Model
 
30.03.16
10:26
В чем тонкость тонкого клиента, если при открытии формы туда тянется весь контекст объекта?
А при вызове серверной процедуры для, например, расчета скидки весь контекст табличной части Товары тянется обратно на сервер?
Не изменения, подчеркиваю, а именно все данные?

Почему между серверными вызовами на сервере объект не живет?
1 Лодырь
 
30.03.16
10:27
(0)
&НаСервереБезКонтекста
2 zak555
 
30.03.16
10:27
в УП 2.0 например при открытии документ ТЧ подтягивается на клиент не сразу
т.е. передача всего объекта идёт только после перехода на форму, где есть ТЧ
3 vde69
 
30.03.16
10:31
для 1с тонкий клиент - полу фикция....

одну часть 1с выполнила - с тонкого клиента нет доступа к данным базы данных,

а вот про выполнения кода - тут 1с явно смухлевала :)

я давно задавался вопросом "почему 1с не сделала тонкий клиент по принципу RDP, где на клиент тянется только картинка"
4 ObjectRelation Model
 
30.03.16
10:31
(1) без контекста толку в данном случае нету
(2) это из профайлера видно?
5 Asmody
 
30.03.16
10:32
(3) А почему браузер не работает "по принципу RDP"?
6 Asmody
 
30.03.16
10:33
(0) Воспринимай тонкий клиент как очень сильно заточенный браузер, и всё встанет на свои места.
7 vde69
 
30.03.16
10:33
(5) с каких пор браузер причислен к тонкому клиенту?
8 Волшебник
 
модератор
30.03.16
10:34
(7) всегда им был
9 ObjectRelation Model
 
30.03.16
10:38
(6) я когда пост на мисте пишу наверное вся страница обратно на сервер не отправляется, а только мой пост?
10 ДенисЧ
 
30.03.16
10:39
Тонкий клиент только называется тонким. Оставь иллюзии
11 Карупян
 
30.03.16
10:40
(9) Это как сайт написать
12 zak555
 
30.03.16
10:41
(4) нет, из описания

на форме не делай Таблицу с видом Объект.Товары, а свою какую-то -- которая будет при определенном момент считываться

так читаются все допРеквизиты из ТЧ ДополнительныеРеквизиты
13 ObjectRelation Model
 
30.03.16
10:42
(12) интересное кино, а если я хочу волшебную кнопку "обнулить ндс в товарах", например, что мне передавать в качетве контекста на сервер?
14 Карупян
 
30.03.16
10:43
Доп реквизиты вообще не показываются  в виде ТЧ
15 Михаил 1С
 
30.03.16
10:44
(3) "я давно задавался вопросом "почему 1с не сделала тонкий клиент по принципу RDP, где на клиент тянется только картинка""

Видимо для того, чтобы не прерывалась работа каждый раз как только рвется связь. Это же задолбает. Связь может быть нестабильной, рваться через секунду, и что - вы будете материться и ломать свой смартфон от злости? Нет, сделано так, что вы можете спокойно продолжать вводить данные в документ, форма документа у вас на клиенте. А вот когда нажимаем Провести, то надо дождаться связи.

ПС: могу ошибаться, но помоему сделано именно для этого.
16 Карупян
 
30.03.16
10:45
Так никто не делает клиентов в виде РДП
17 пипец
 
30.03.16
10:48
не знаю, что как но и на толстом и на тонком клиенте распометить пользователя с удаления не дает - документооборот 2.0 корп релиз математики 8.3.6 клиент сервер MSSQL, на тонком - ошибка сервера, на толстом - надпись - не могу так как (описание моего же сеанса )  уже заблокировал объект ... вот такое 1Цы )))
18 ObjectRelation Model
 
30.03.16
10:48
(15) а почему это должно приводить к падению приложения?
19 los_hooliganos
 
30.03.16
10:49
Тонкость в том. что на клиенте только форма.
20 ObjectRelation Model
 
30.03.16
10:50
(19) ты эти сказки бабушке рассказывай
на клиенте весь объект, только доступа к нему с клиента нет ))
21 los_hooliganos
 
30.03.16
10:51
Тонкий клиент нужен для организации очень большого числа подключений к БД.
Именно для этого SAP его и придумал.
1С взяло немецкую идею.
22 los_hooliganos
 
30.03.16
10:51
(20) Откуда эти выдумки?
23 los_hooliganos
 
30.03.16
10:53
Полноценно с объектом работает сервер.
Сервер хранит у себя копию формы клиента.
Клиент работает только с указателями которые дал ему сервер.
24 Fragster
 
гуру
30.03.16
10:55
25 Волшебник
 
модератор
30.03.16
10:55
(20) Повежливее, чувак.
26 Остап Сулейманович
 
30.03.16
10:56
(20) "на клиенте весь объект" Не путайте теплое с мягким.
На Клиенте "Объект" - это форма с контролами и приписанными к ним данными.
На сервере "Объект" - это именно объект БД.
27 Остап Сулейманович
 
30.03.16
10:59
+ (26) А вот с терминами у 1С конечно засада.
И с поддержкой сеансов на сервере. В этом плане делано всего полшага - "ПараметрыСеанса". И то ИМХО на костылях.
28 H A D G E H O G s
 
30.03.16
11:07
Хорошая ветка, индикатор.
29 H A D G E H O G s
 
30.03.16
11:07
Ответ в (21), на самом деле.
30 Drac0
 
30.03.16
11:07
(0) "Не изменения, подчеркиваю, а именно все данные? "

С чего ты взял?
31 H A D G E H O G s
 
30.03.16
11:08
Ну, а специально для (0), рекомендую посмотреть количество серверных вызовов при прокрутки ТЧ, ДинСписков, ТабличныхДокументов!
32 busy1
 
30.03.16
11:11
Кстати кроме RDP есть ещё и другие протоколы. Пусть 1С сделает для всех протоколов удаленного управления.
33 Drac0
 
30.03.16
11:13
(31) ИМХО, именно такие люди использует НайтиСтроки() в циклах на клиенте. Сволочи...
34 H A D G E H O G s
 
30.03.16
11:13
(33) а что не так?
35 Aleksey
 
30.03.16
11:14
(29) Так вроде бы вопрос не в том что такое тонкий клиент у САП, а именно вопрос к 1С. Так как она любит изобретать велосипед, на костылях, а чтобы всех запутать давать им имена такие как в других системах
36 Drac0
 
30.03.16
11:16
(34) Серьезно? Оно может генерить серверный вызов на больших ТЗ. Один раз на определенном наборе данных это вывалилось в 2000 серверных вызовов. Из любопытства дождался окончания - 20 минут. После контекстного ухода на сервер 20 секунд.
37 Провинциальный 1сник
 
30.03.16
11:16
(3)"почему 1с не сделала тонкий клиент по принципу RDP, где на клиент тянется только картинка"
Помню, года три назад за подобные мысли тут предавали анафеме. Потому что 1с непогрешим, ибо "если ты такой умный, то где твои миллионы"?
На самом деле, сделать тонкого клиента на более низком уровне, не затрагивающем бизнес-логику, было не так уж и сложно. Но тогда не получилось бы простой интеграции с веб-браузером. А браузер сейчас - основа основ. Поэтому и пришлось изобретать тонкого клиента с браузерным рантаймом.
38 Лодырь
 
30.03.16
11:17
(4)
"без контекста толку в данном случае нету "
Как нету, если не надо тащить весь контекст обратно на сервер.
39 H A D G E H O G s
 
30.03.16
11:17
(36) Надо проверить.
40 butterbean
 
30.03.16
11:17
(36) т.е. поиск в ДанныеФормыКоллекция делает серверные вызовы?
41 H A D G E H O G s
 
30.03.16
11:17
(40) Вот тоже интересно.
42 Drac0
 
30.03.16
11:20
(40) Ага, т.к. большая коллекция тянется на клиента кусками.
43 Fragster
 
гуру
30.03.16
11:25
ДанныеФормыКоллекция.НайтиСтроки (FormDataCollection.FindRows)
ДанныеФормыКоллекция (FormDataCollection)
НайтиСтроки (FindRows)
Синтаксис:

НайтиСтроки(<ПараметрыОтбора>)
Параметры:

<ПараметрыОтбора> (обязательный)

Тип: Структура.
Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение.
Возвращаемое значение:

Тип: Массив.
Массив строк коллекции, соответствующих условиям поиска.
Замечание! Массив хранит ссылки на строки коллекции, то есть при изменении строки в коллекции, значение в массиве тоже будет измененным.
Описание:

Осуществляет поиск строк таблицы значений, отвечающих заданным условиям поиска.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
Вызов метода выполняет обращение к серверу.

Примечание:

Метод эффективно использовать для выборки неуникальных значений.
44 H A D G E H O G s
 
30.03.16
11:29
(42) Точно!
45 H A D G E H O G s
 
30.03.16
11:30
Посыпем голову пеплом и перейдем на массивструктур.
46 Fragster
 
гуру
30.03.16
11:35
(36) можно пример кода?
47 Asmody
 
30.03.16
11:35
(21) Кто сказал, что тонкий клиент придумал SAP?
48 Drac0
 
30.03.16
11:44
(46) На прошлой работе была обработка. Так что нету.
49 Drac0
 
30.03.16
11:45
+(48) Справедливости ради на такой трэш я наткнулся, когда указал период немного больше, чем обычный. Но и на адекватных параметрах она вертелась несколько минут.
50 Aceforg
 
30.03.16
12:11
(45) С учетом того, что в расширения появится расширения общих модулей, модулей объектов, все идет к тому, что перейдем на пляски с массивструктур и иже с ними.

По крайнее мере типовые идут в этом направлении.
51 PRO100 NigGaZ
 
30.03.16
12:22
меня беспокоит производительность при серелиализации и десериализации, если на форму загрузить Очень большую таблицу то ее передача произвойдет быстро, а сериализация будет идти много минут
52 Карупян
 
30.03.16
12:27
(46) Пример кода поиска в тч на клиенте?
53 Ник080808
 
30.03.16
12:29
(52) загрузка из эксель
54 Ник080808
 
30.03.16
12:30
хотя правильнее таки его в запрос. Но семерошники жгут)
55 Patriot1C
 
30.03.16
13:02
"А почему браузер не работает "по принципу RDP"?"

- браузер работает на открытых стандартах, а RDP (англ. Remote Desktop Protocol — протокол удалённого рабочего стола) — проприетарный протокол прикладного уровня, позаимствованный Microsoft из купленной у PictureTel (ныне известной как Polycom).

Но из проприоритетных лучше Citrix ICA.
56 H A D G E H O G s
 
30.03.16
13:03
(51) И будет идти по каждому чиху.
57 Patriot1C
 
30.03.16
13:04
"Почему между серверными вызовами на сервере объект не живет?"

- Есть два объекта, один на сервере другой урезанный на клиенте. Они обмениваются данными.
58 PRO100 NigGaZ
 
30.03.16
13:06
(57) и иногда у них происходит рассинхрон с вываливанием соответствующей ошибки :)
59 ObjectRelation Model
 
30.03.16
13:29
почему переменные модуля объекта не живут между вызовами сервера?
60 Drac0
 
30.03.16
13:44
(59) Какого именно сервера в случае кластера?
61 MM
 
30.03.16
13:47
(59) А как вы это представляете, если рабочие процессы сервера могут находиться на разных компьютерах входящих в кластер? Разумеется, есть сеансовые данные, которые мигрирую в кластере, но чем их меньше, тем лучше.
62 ObjectRelation Model
 
30.03.16
13:51
(60)(61) то есть по вашему весь огромный объект может жить на сервере, пока форма редактируется, а еще одно поле-переменная уже никак?
63 MM
 
30.03.16
13:55
А она там живёт? Или перечитывается из БД при обращении, которое значительно короче, чем общее время работы с формой?
64 Fragster
 
гуру
30.03.16
14:05
(62) он прилетает на сервер вместе с контекстным вызовом
(63) а он не перечитывается :)
65 Fragster
 
гуру
30.03.16
14:05
(57) нет
66 ObjectRelation Model
 
30.03.16
14:26
(64) так все-таки его там нет и он тянется с клиента, как написано в (0)?
67 Карупян
 
30.03.16
14:32
(59) Объект в том понимании, как в 8.1 не живет дольше 1 процедуры.
Почему так? надо у 1с спросить
68 toypaul
 
гуру
30.03.16
14:32
(0) так дело не инструменте, а в реализации. если тебе надо скидку пересчитать - сделай на форме ссылку и табличку с номерами строк. в чем проблема? и пересчитывай на сервере.

но тебе же надо чтобы все и сразу на форме отображалось. так или нет?
69 rsv
 
30.03.16
14:34
(0) Имха Скорее тонкий клиент  это ... переходное состояние между толстым клиентом и  браузером . В идеале все сводилось к браузеру.
70 Temai
 
30.03.16
14:36
(0) А мое ИМХО что тонкий клиент был сделан в целях безопасности, т.к. на нем нельзя менять объекты БД. и наверное и для этого (21)
71 Kupogun
 
30.03.16
14:39
(47) действительно, откуда эта инфа?
я считал, что эту концепцию использовала oracle раньше немцев.
72 Drac0
 
30.03.16
14:41
(62) Одна переменная может быть ТЗ на миллион строк. И че, тащить?
73 Fragster
 
гуру
30.03.16
14:44
(66) у 1с "stateless" сервер, на нем существуют только ограниченный набор данных, например параметры сеанса или данные, помещенные во временное хранилище, остальное тянется с клиента в составе контекста.
74 ObjectRelation Model
 
30.03.16
14:44
(73) а меня тут уверяют о другом
75 Nuobu
 
30.03.16
14:48
(65) да
76 Drac0
 
30.03.16
14:48
(73) (74) http://its.1c.ru/db/metod8dev/content/3616/hdoc

"основным хранилищем всех данных выступает сервер"
77 MM
 
31.03.16
12:23
И кто из вас прав (73) или (76) ?
78 Живой Ископаемый
 
31.03.16
12:31
2(77) Это две стороны одной медали. Серверный контекст клиента - стэйтлесс. Он не "хранит" это состояние. Для того чтобы получить мгновенное состояние, сервер будет получать те данные которые он хранит
79 MM
 
31.03.16
15:40
(78) Откуда сервер их будет получать?
в http://its.1c.ru/db/metod8dev/content/3616/hdoc рассказывается "данные формы доступны и на клиенте и на сервере, то основным хранилищем всех данных выступает сервер"
80 Лефмихалыч
 
31.03.16
16:10
(0) >Почему между серверными вызовами на сервере объект не живет?
потому, что это stateless-сервер
81 Живой Ископаемый
 
31.03.16
16:21
2(79) От Сервера баз данных
82 Карупян
 
31.03.16
16:23
(80) А ДанныеФормыКоллекции?
83 Тролль главный
 
31.03.16
16:24
(81) несмотря на то, что на клиенте они поменялись?
84 Тролль главный
 
31.03.16
16:25
И еще как открыть две формы одного объекта? ни одной и той же ссылки в БД, а именно объекта?
85 Лефмихалыч
 
31.03.16
16:27
(84) вопрос "зачем это нафиг делать" мы, надо полагать, не задаем?
86 Drac0
 
31.03.16
16:36
(79) ДанныеФормы - это данные сеанса, как и параметры сессии, ИМХО.
87 DTX 4th
 
31.03.16
16:41
Я думал, объект собирается из данных формы, которые сервер получает с клиента.
88 Тролль главный
 
31.03.16
16:43