Имя: Пароль:
1C
1С v8
как ТаблицуЗначений, заполненную на сервере (&НаСервере), передать &Клиенту
0 IgorTrifonov
 
24.06.16
14:59
Всем здрасьте. Использую 8.3 Управляемые формы.

В общем модуле функция заполняет маленькую ТаблицуЗначений
её надо передать ( Возврат тз ) в процедуру :

&НаКлиенте
Процедура ПриНачалеРаботыСистемы()
   тз =СерверныеФункции.фффф();
   ...
КонецПроцедуры
1 SashaNox
 
24.06.16
15:00
Никак, для чего она тебе на клиенте?
2 IgorTrifonov
 
24.06.16
15:01
(1) значений надо больше вернуь (не одно, а несколько)
3 SashaNox
 
24.06.16
15:02
Возвращай массив, или массив структур
4 Numerus Mikhail
 
24.06.16
15:02
(2) возвращай массив
5 IgorTrifonov
 
24.06.16
15:03
понял, спасибо.
Всех поздравляю с пятницей.
6 Гаврилин Игор
 
24.06.16
15:03
Делай структуру массивов, в них загоняй колонки ТЗ.
Можно заморочиться через хранилище значения.

Но лучше всего пересмотреть код и отказаться от такой идеи)
7 aleks_default
 
24.06.16
15:22
Таблица значений на клиенте не существует
8 FIXXXL
 
24.06.16
16:42
(7) как реквизит формы - вполне себе существует
как вариант: если все одно форма гонится на сервер, там заполни реквизит-ТЗ
9 Dmitry1c
 
24.06.16
16:46
(8) ДанныеФормыКоллекция, а не таблица значений
10 FIXXXL
 
28.06.16
16:30
(9) ТЗ = РеквизитФормыВЗначение(РеквизитТЗ)
////обработка ТЗ///
ЗначениеВРеквизитФормы(ТЗ , "РеквизитТЗ")
11 GROOVY
 
28.06.16
16:34
Реквизит формы с типом ТЗ будет сконвертирован в данные формы, вот с ним и работай. А ТЗ на клиенте - это иллюзия.
12 GROOVY
 
28.06.16
16:35
(3) Жутко это слышать.
13 Nolan
 
28.06.16
16:38
(12) почему жутко?
14 GROOVY
 
28.06.16
16:41
(13)  Ну, преобразовывать ТЗ в сериализуемый массив или структуру, полностью его передавать на клиента... Жутко... Не проще ли данные формы передавать, которые сами сериализуются и оптимальным образом передаются.

Жутко, в большей части потому, что, такие советы дают люди которые вообще не понимают механизм передачи данных между клиентом и сервером.
15 Nolan
 
28.06.16
16:43
(14) данные формы это хорошо. Но если я правильно понял для этого нужно создавать новый реквизит формы, а как же обновления?
16 Nolan
 
28.06.16
16:47
Или его программно создавать перед вызовом процедуры общего модуля?
17 kiruha
 
28.06.16
16:52
(14)
Ну 1С сами признали, что с клиент серверным вариантом перемудрили. Хотели как лучше а получилось как обычно. В будущих версиях обещают вернуться к выполнению полноценного кода на клиенте. Тогда и ТЗ передавать нормально
18 FIXXXL
 
28.06.16
16:52
(15) в (0) об этом ни слова
19 aleks_default
 
28.06.16
16:55
(16)Да. Придется :)
Или все функции вызываемые с клиента не должны возвращать коллекцию. Зачем? Все действия с коллекциями можно делать на сервере.
20 НеБорис Нуралиев
 
28.06.16
16:56
(11) А где в (0) сказано, что это делается на форме?
21 vde69
 
28.06.16
17:00
(20) а какой код выполняется на клиенте не из формы?
22 НеБорис Нуралиев
 
28.06.16
17:01
(14) А почему передавать данные формы лучше чем массив структур?
23 НеБорис Нуралиев
 
28.06.16
17:02
(21) в (0) есть код с процедурой "ПриНачалеРаботыСистемы".
Это конечно тоже форма, но не думаю, что в (11) имелось в виду именно это.
24 НеБорис Нуралиев
 
28.06.16
17:03
(21) Еще может быть вызов из общего клиентского модуля, в который контекст формы не передавался.
25 H A D G E H O G s
 
28.06.16
17:21
(14) Я прекрасно понимаю этот порционный механизм и тоже советую массив структур.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший