Имя: Пароль:
1C
1С v8
Таблица значений передать на клиент
0 1C2SS
 
11.04.13
08:38
Как лучше всего передать на клиент с сервера ТЗ и вывести ее на управляемую форму в таблицу ?
1 Aleksey
 
11.04.13
08:38
писатель?
2 Aleksey
 
11.04.13
08:38
т.е. соседнюю ветку не читал тут же побежал новую создавать?
3 Aleksey
 
11.04.13
08:38
или троль?
4 Aleksey
 
11.04.13
08:39
5 Wobland
 
11.04.13
08:39
об=РеквизитФормыВЗначение("Объект");
   Кедр=Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
   ЗначениеВРеквизитФормы(об, "Объект");
6 1C2SS
 
11.04.13
08:44
Я правильно понял?

НаСервере
об=РеквизитФормыВЗначение("Объект");

НаКлиенте
Кедр=Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
   ЗначениеВРеквизитФормы(об, "Объект");
7 1C2SS
 
11.04.13
08:46
И что за запрос ?
8 Wobland
 
11.04.13
08:47
(6) нет. на клиенте запросы не выолняются.
(7) ты действительно этого хочешь?
9 Wobland
 
11.04.13
08:48
об.Продажи=Кедр;

забыл ;)
10 1C2SS
 
11.04.13
08:51
На сервер передавать реквизит формы.
Там его конвертировать в объект
Загрузить в этот об. тз
Так что ли ?
11 Wobland
 
11.04.13
08:54
(10) на сервере получаю объект (у объекта есть реквизит типа дерево), присваиваю туда что-нибудь, конвертирую объект обратно в реквизит формы
12 1C2SS
 
11.04.13
09:19
НаСервере
Функция ОзадачитьСервер(рфТаблица)
   ...
   об=РеквизитФормыВЗначение(рфТаблица); //рфТаблица-реквизит формы
   

{Форма.Форма.Форма(32)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
   об=РеквизитФормыВЗначение(рфТаблица);
по причине:
Несоответствие типов (параметр номер '1')
Несоответствие типов (параметр номер '1')
13 Wobland
 
11.04.13
09:23
(12) всё верно, несоответствие
14 cw014
 
11.04.13
09:26
РеквизитФормыВЗначение("рфТаблица")
15 1C2SS
 
11.04.13
10:00
Блин ни фига не пойму.
Можете написать код для случая с тз. Что должно быть на сервере и что на клиенте ?
16 Wobland
 
11.04.13
10:04
на сервере получаю объект (у объекта есть реквизит типа дерево), присваиваю туда что-нибудь, конвертирую объект обратно в реквизит формы

об=РеквизитФормыВЗначение("Объект");
   Кедр=Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
   ЗначениеВРеквизитФормы(об, "Объект");
17 Wobland
 
11.04.13
10:05
на сервере получаю объект (у объекта есть реквизит типа дерево), присваиваю туда что-нибудь, конвертирую объект обратно в реквизит формы

   об=РеквизитФормыВЗначение("Объект");
   Кедр=Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
   об.Продажи=Кедр;
   ЗначениеВРеквизитФормы(об, "Объект");
18 Rounder
 
11.04.13
10:13
Если ТЗ на форме и ТЗ передаваемое совпадают по колонкам, то


ТЗФормы = РеквизитФормыВЗначение("ТаблицаНастройки");
ТЗФормы = ТЗНастройки.Скопировать();
ЗначениеВРеквизитФормы(ТЗФормы, "ТаблицаНастройки");

ТаблицаНастройки- реквизит формы типа (ТаблицаЗначений)
ТЗНастройки - полученная на сервере ТЗ, которую нужно загнать в реквизит
19 Rounder
 
11.04.13
10:15
(18) все это на сервере.
20 1C2SS
 
11.04.13
11:03
А если состав колонок ТЗНастройки не известен ?
21 Wobland
 
11.04.13
11:06
(20) то ничего не выйдет. нет ТЗ на клиенте
22 1C2SS
 
11.04.13
11:12
Вот подстава.
Сейчас сделал что тз конвертируется в массив на сервере и передается клиент.
Теперь на клиенте как этот массив запихнуть в реквизит формы ТЗ или в ТаблицаФормы ?
23 Wobland
 
11.04.13
11:13
ты зачем такими изощрениями занимаешься?
24 yanejsh
 
11.04.13
11:15
(22) заполни форму на сервере, и не надо передавать на клиент
25 Wobland
 
11.04.13
11:16
щас выяснится, что он на ТЗ просто посмотреть хочет. а это пять строк делов
26 1C2SS
 
11.04.13
11:19
На сервере реквизиты формы не видны же.
27 yanejsh
 
11.04.13
11:23
(26) это как сказать.
вот в (18) написали как сделать. И это ведь все на сервере заполняется
28 hhhh
 
11.04.13
12:11
(22) а журналы документов вы тоже с сервера на клиент вручную вытаскиваете, чтобы посмотреть? Что-то странный у вас подход какой-то.
Программист всегда исправляет последнюю ошибку.