|
Как правильно работать с ЗначениеВРеквизитФормы() | ☑ | ||
---|---|---|---|---|
0
Emilio
02.09.14
✎
09:40
|
Чтобы передать с сервера на клиент результат запроса, создал реквизит с типом "СправочникСсылка.Номенклатура" в него передаю результат запроса
Результат.Следующий(); ЗначениеВРеквизитФормы(Результат.Ссылка,"НоменклатураРеквизит"); появляется ошибка: Недопустимое значение параметра (параметр номер '2') Проблема с реквизитом НоменклатураРеквизит, но я никак не могу понять какая именно проблема. Подскажите, что я делаю не так? |
|||
1
Сергиус
02.09.14
✎
09:42
|
(0) Какой тип у Результат.Ссылка и какой тип у "НоменклатураРеквизит"?
|
|||
2
Wobland
02.09.14
✎
09:43
|
>Результат.Следующий();
а есть? |
|||
3
Emilio
02.09.14
✎
09:44
|
СП:
<ИмяРеквизита> (обязательный) Тип: Строка. Имя реквизита формы, в который необходимо поместить преобразованное значение. О том какой должен быть реквизит и какого типа ничего не написано. |
|||
4
Emilio
02.09.14
✎
09:44
|
(2) есть.
|
|||
5
Emilio
02.09.14
✎
09:44
|
(1) создал реквизит с типом "СправочникСсылка.Номенклатура"
|
|||
6
Wobland
02.09.14
✎
09:46
|
(4) это сейчас. а вообще?
|
|||
7
Сергиус
02.09.14
✎
09:50
|
(0) у тебя серверная процедура, где ты пытаешься запихнуть значение в реквизит формы, какую директиву имеет? &НаСервере?
|
|||
8
Fedor-1971
02.09.14
✎
09:52
|
(0) как я понимаю работаешь на УФ, тогда зачем преобразовывать нечто "Справочник..." в реквизит формы если реквизит формы и так доступен на сервере?
Просто заполни его НоменклатураРеквизит=Результат.Ссылка и всех делов. Если хочешь не просто заполнить реквизит, тогда опиши полную задачу. |
|||
9
Сергиус
02.09.14
✎
09:57
|
(8)Он хочет его потом на клиент вернуть..в составе данной формы.
|
|||
10
Emilio
02.09.14
✎
09:58
|
(6) вообще я ей присвоил такой тип
(7) Да, &НаСервере (8) Затем, что дальше я работаю с этим результатом запроса в процедуре, которая компилится на клиенте. |
|||
11
Defender aka LINN
02.09.14
✎
10:00
|
(0) "создал реквизит с типом "СправочникСсылка.Номенклатура" в него передаю результат запроса"
http://cs302404.vk.me/u27272220/153032160/x_1b58ecbd.jpg |
|||
12
Сергиус
02.09.14
✎
10:00
|
(10) В отладчике проверял?
|
|||
13
Emilio
02.09.14
✎
10:06
|
(11) Обязательно троллить? Если не так, то скажи как?
http://risovach.ru/upload/2014/09/mem/zhirik_60060428_orig_.jpeg |
|||
14
hhhh
02.09.14
✎
10:06
|
(10) для ссылок не надо писать ЗначениеВРеквизитФормы. Ссылки и так доступны на клиенте.
|
|||
15
Остап Сулейманович
02.09.14
✎
10:07
|
(0) Кто мешает заюзать банальное :
НоменклатураРеквизит = Результат.Ссылка; ? Либо вот такой способ : &НаКлиенте Процедура ПолучитьЗначениеРеквизита() НоменклатураРеквизит = ПолучитьЗначениеРеквизитаНаСервере(); КонецПроцедуры &НаСервере Функция ПолучитьЗначениеРеквизитаНаСервере() ... Вовзврат Результат.Ссылка; КонецФункции |
|||
16
Сергиус
02.09.14
✎
10:10
|
(14)Да, но жто будут "обрезанные" ссылки..не те, что на сервере.
|
|||
17
Emilio
02.09.14
✎
10:12
|
(15) (14) хм... Всем спасибо! :)
банальное НоменклатураРеквизит = Результат.Ссылка работает) *Отдыхать, все-таки надо... |
|||
18
Fedor-1971
02.09.14
✎
10:13
|
(10) сделай Возврат Результат.Выгрузить() и работай с таблицей значений на клиенте. НаКлиенте её создать нельзя, а получить с сервера очень даже можно.
Вариант (15) то же рабочий ссылка замечательно передаётся на клиента, но обратиться к её реквизитам через "." не получится, уже лучше сделать структуру с нужными данными и передать её на клиента. |
|||
19
Emilio
02.09.14
✎
10:14
|
(18) пробовал так сделать, выпадала ошибка.
|
|||
20
hhhh
02.09.14
✎
10:27
|
(16) будут необрезанные. будут те, что и на сервере. Один в один.
|
|||
21
Defender aka LINN
02.09.14
✎
10:32
|
(18) "НаКлиенте её создать нельзя, а получить с сервера очень даже можно" Вы там что употребляете такое, куда Батька смотрит?
|
|||
22
Поpyчик-4
02.09.14
✎
10:36
|
(18)
>>>работай с таблицей значений на клиенте >>>получить с сервера таблицу значений очень даже можно. Куда получить, в какое место? |
|||
23
Рэйв
02.09.14
✎
10:40
|
(0)ЗначениеВРеквизитФормы() Используется обычно в паре с
РеквизитФормыВЗначение() и выполняется на сервере. типа: Об=РеквизитФормыВЗначение("Объект");//получаем реальный объект Об.Чтото=Чемуто;// заполняем реквизиты реального объекта ЗначениеВРеквизитФормы(Об,"Объект"); // возвращаем все что заполнили в форму. |
|||
24
Fedor-1971
02.09.14
✎
10:48
|
(21) лично мой уже никуда смотреть не может.
Да, лопухнулся с ТЗ, на клиент я её передавал через реквизит формы типа ТаблицаЗначений, простой возврат ТЗ с сервера не прокатывает. |
|||
25
Рэйв
02.09.14
✎
10:51
|
(24)Обрадую тебя. ТЗ вообще не живет на клиенте как тип.
|
|||
26
Fedor-1971
02.09.14
✎
11:04
|
(25) Ну да, ну да.
1. Сделай реквизит формы типа ТЗ 2. Заполни её на сервере 3. На клиенте обойди через: Для каждого Из Цикл Может и не живёт как тип но доступна для использования и обхода 8.2.19.90. |
|||
27
Рэйв
02.09.14
✎
11:16
|
(26)Не знаю как в 8.2, а в 8.3 пишет "Нельзя изменять реквизит, содержащий данные формы"
|
|||
28
Поpyчик-4
02.09.14
✎
11:16
|
(26) На клиенте доступна структура ДанныеФормыКоллекция, которая служит для моделирования коллекций, в том числе таблицы значений. Но работая с ДанныеФормыКоллекция ты работаешь не с таблицей значений.
Учи матчасть и не неси ахинею в уши почтеннейшей публике. |
|||
29
Defender aka LINN
02.09.14
✎
11:17
|
(26) И накуя? На сервере атмосфера не та, чтобы таблицы обходить?
|
|||
30
Поpyчик-4
02.09.14
✎
11:19
|
(27) (29) Забейте.
Большой опыт администрирования сетей и настройки коммуникационного оборудования. Всё понятно, чел полез куда не просили. |
|||
31
Остап Сулейманович
02.09.14
✎
11:22
|
Мне больше интересно ДляНафига в мобильной платформе сделано разделение на сервер и клиент? На ведроиде тоже сервер баз установлен? И сколько к нему можно подцепить клиентов? Все же на одном приборчике в любом случае. Или я чего не знаю?
|
|||
32
Рэйв
02.09.14
✎
11:25
|
(31)Если в вебклиенте гонять все по толстому варианту, не каждый канал выдержит такой трафик. А так в основном только отображение уходит, все расчеты и работу с базой берет на себя сервер. Как то так
|
|||
33
hhhh
02.09.14
✎
11:26
|
(31) риб делать. Центральная база на компе и обмен с телефонами. И конфу лучше обновлять так.
|
|||
34
Остап Сулейманович
02.09.14
✎
11:32
|
(32) Базар не за вебклиента. Базар за мобильную платформу.
(33) В мобильной платформе РИБ не поддерживается. |
|||
35
hhhh
02.09.14
✎
11:34
|
(34) поддерживается
|
|||
36
Fedor-1971
02.09.14
✎
11:37
|
(29) Например, ТЗ.Сумма=ТЗ.Количество*ТЗ.Цена - для этого не смысл дёргать сервер, тем более контекстным вызовом
|
|||
37
Остап Сулейманович
02.09.14
✎
11:39
|
(35) У меня если выбрать использование мобильное устройство - планы обмена есть. Но выставить галочку РИБ недоступно.
|
|||
38
Остап Сулейманович
02.09.14
✎
11:41
|
+ (37) Да и потом... Какое отношение РИБ имеет к разделению кода на клиент и сервер, если ВСЕ и ВСЕГДА выполняется на одном приборчике?
|
|||
39
Defender aka LINN
02.09.14
✎
11:50
|
(36) А трава, например, зеленая. Примерно такое же отношение к вопросу имеет.
Ну и - обойди большую ТЗ на клиенте и посчитай серверные вызовы. |
|||
40
Fedor-1971
02.09.14
✎
12:16
|
(39) Трава не только зелёная, но ещё и растёт.
Вопрос был в возможности обойти ТЗ на клиенте, а не в целесообразности сего действа. Если надо, то на 8.2 можно. Зачем? Это вопрос касательства к первому не имеющий. Оптимизация вызовов сервера - это тайна великая есть, поскольку чёткой информации когда клиент ломанётся на сервер просто нет. Пример: атрибут Видимость - "В некоторых случаях инициируется вызов сервера", а вот в каких? Сие покрыто мраком. |
|||
41
Defender aka LINN
02.09.14
✎
14:23
|
(40) Вопрос был не в возможности обхода. Ты сказал сделать таблицу на сервере, чтобы потом ее дальше обрабатывать на клиенте. Припоминаешь?
|
|||
42
Fedor-1971
02.09.14
✎
14:35
|
(41) я предложил вариант как передать таблицу на клиента и работать с ней.
Вопросы: "Зачем?" и утверждения "Дятел!" посыпались позже. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |