|
Данные формы передвать на сервер моветон? | ☑ | ||
---|---|---|---|---|
0
brenli
27.04.22
✎
13:22
|
Столкнулся с такой ситуацией.
Есть форма обработки. На ней создан реквизит формы ДинамическийСписок который извлекает данные произвольным запросом. Запрос энтот возвращает список документов с их табличной частью, и эта табличная часть вытянута на форму в для отображения. Т.е в верхней таблице форме источником которой является динамический список, выводятся документы, а в нижней таблице формы выводятся только строки табличной части выбранного документа на которые наложен отбор. Нужно передать данные таблицы формы на сервак чтобы уже работать с объектами. Получить эту табличку со стороны сервера не могу - пишет "текущие данные таблицы недоступны на сервере" даже при контекстном вызове. Получилось только передав саму таблицу формы в качестве параметра. Насколько это моветон и можно ли сделать по другому? |
|||
1
youalex
27.04.22
✎
13:27
|
Можно идентификаторы передавать
ПолучитьИдентификатор() /НайтиПоИдентификатору() |
|||
2
Жан Пердежон
27.04.22
✎
13:29
|
возможно правильней будет прочитать тч из базы...
|
|||
3
brenli
27.04.22
✎
13:30
|
(2) ТЧ в базе нет, она генерируемая
|
|||
4
vde69
27.04.22
✎
13:31
|
(3) так генери ее не при получении данных динамического списка а при активации строки, банально будет сильно быстрее
|
|||
5
Ryzeman
27.04.22
✎
13:32
|
(0) опиши в двух словах что в принципе ты делаешь на форме зачем тебе надо работать с объектами. И из какой таблицы? Думается, тут ошибка в самой архитектуре решения. Всё что надо делать со списком правильнее делать до получения списка. При обработке строки надо передавать строку или ссылку из этой строки.
(3) он про ТЧ документов. |
|||
6
brenli
27.04.22
✎
13:37
|
(5) Делаю обработку печати цен. Юзер в данном случае через РМК жмакает кнопку, и открывается обработка которая выводит в динамический список документы в которых есть вид цены для текущего рабочего места,
а так же выводит только строки табличной части установки цен с определенным типом. Дальше все это нужно передать в процедуру которая сгенерирует структуру для отправки в обработку печать ценников. |
|||
7
Жан Пердежон
27.04.22
✎
13:37
|
(3) ты в (0) 2 таблицы описал, которые, судя по описанию, из базы берутся.
Какую ещё таблицу тебе передавать надо, зачем и как она связана с первыми двумя - догадайтесь сами? |
|||
8
brenli
27.04.22
✎
13:42
|
(7) Не правильно выразился.
Все берется из базы... но в обработке в результате отбора в динамическом списке, получаем только те сроки из табличной части объекта которые нужны. И уже отобранные строки в результате отбора динамо списка нужно отправить на сервер. |
|||
9
1Сергей
27.04.22
✎
13:43
|
(8) Они и формируются на сервере. нет никакого смысла туда сюда гонять
|
|||
10
Ryzeman
27.04.22
✎
13:45
|
(6) Если пользователь там ничего не заполняет, то (9). Если у тебя на этой форме пользователь заполняет какие то поля (например шаблон этикеток и т.п.) то правильнее сделать через табличный тачсти формы и их на сервер отправлять.
|
|||
11
brenli
27.04.22
✎
14:02
|
(7) >> Какую ещё таблицу тебе передавать надо, зачем и как она связана с первыми двумя - догадайтесь сами?
Ту табличную часть которую вернул запрос в виде Таблицы Значений и которая вытащена на форму в виде таблицы формы и отображает только доступные пользователю строки. Далее эти строки (которые получил пользователь через отбор) нужно передать на сервер чтобы сделать структуру и открыть форму обработки ПечатьЦен. (9) Ну так они уже вытащены с сервера с необходимым отбором и представлены на форме пользователя уже с отбором. Отбор которым получен итоговый набор строк установлен на динамический список. Чтобы повторить все это на сервере нужно делать запрос с таким же отбором и получать все на сервере, но это получается двойная работа - динамосписок уже всё вывел как надо, нужно показанный пользователю набор данных отправить в обработку печати перед этим упаковав (только отобранные строки которые заполнены в таблице формы ... в базе лежит целая полная табличная часть) в структуру, или же передать эту заполненую таблицу формы с типом ДанныеФормыКоллекция на Сервер и там уже получить ссылки выведеных юзеру строк. Это концептуально не верно??? Вернее делать такой же запрос который заполняет динамо список еще раз? |
|||
12
Ryzeman
27.04.22
✎
14:04
|
(11) >>Это концептуально не верно?
Да, потому что динамический список на форме для другой цели предназначен. Если он обрабатывается, на клиенте, то обрабатывается построчно а на сервер передаётся строка через ТекущиеДанные Если тебе нужна коллекция целиком, с которой что-то делали, используй то, что передаётся на сервер в контексте. |
|||
13
Жан Пердежон
27.04.22
✎
14:10
|
(11) структуру обязательно на сервере делать?
|
|||
14
brenli
27.04.22
✎
14:13
|
(12) Спасибо за ответ. Только в том и дело что коллекцию целиком я не могу получить в контексте сервера - текущие данные таблицы недоступны на сервере(. Доступна только текущая строка
которая выбрана в списке. |
|||
15
brenli
27.04.22
✎
14:14
|
(13) Обработка печати глотает структуру. А в структуре массив с ссылками.
|
|||
16
Kassern
27.04.22
✎
14:14
|
(14) не мучайте уже ДС, воспользуйтесь обычной ТЗ для обработки на сервере.
|
|||
17
Ryzeman
27.04.22
✎
14:15
|
(14) Ты упускаешь момент где я пишу что надо использовать ТЧ или ТЗ :)
|
|||
18
Kassern
27.04.22
✎
14:15
|
документы сделайте через ДС, при активизации строки ДС заполняйте ТЗ, далее уже ее можете куда угодно передавать, хоть через временное хранилище. Если я вас правильно понял
|
|||
19
brenli
27.04.22
✎
14:18
|
(16) Я правильно понимаю - сделать запрос на сервере к табличной части документа установка цен, в который передать в качестве ссылки спозиционированную строку ДС (ссылка) и нужный вид цен для отбора. Так? (чтобы получить тот же самый набор который я хочу выцедить из таблицы формы)
|
|||
20
brenli
27.04.22
✎
14:20
|
(18) Вообще да. При активизации строки всё было хорошо. Выгружаю таблицу формы (ДанныеФормыКоллекция ) в ТЗ при попытке затолкать в хранилище возникает ошибка что объект не сериализуется
|
|||
21
Kassern
27.04.22
✎
14:22
|
(20) а зачем вы коллекцию пихаете?)
|
|||
22
Kassern
27.04.22
✎
14:30
|
(20) ТЗ отлично во временное хранилище пихается, на сервере обрабатывается. Или вы пытаетесь на клиенте получить ТЗ?
|
|||
23
brenli
27.04.22
✎
14:40
|
(22) Да в сети находил такой совет. С клиента не пихает
|
|||
24
Kassern
27.04.22
✎
14:41
|
(23) ну так потому что нет ТЗ на клиенте)) Там только коллекции. А на сервере пожалуйста, вычисляйте и передавайте что хотите
|
|||
25
youalex
27.04.22
✎
15:17
|
(20) зачем ты ДанныеФормыКоллекция отправляешь на сервер, если на сервере у тебя уже есть точно такая же Коллекция, синхронизированная с клиентской?
|
|||
26
brenli
27.04.22
✎
16:22
|
(25) Ок. Как к ней обратится?
https://radikalfoto.ru/ib/l5fXqQxSrQ https://radikalfoto.ru/ib/eks0Q23Shu https://radikalfoto.ru/ib/B6lbntMLQJ |
|||
27
Kassern
27.04.22
✎
16:24
|
(26) Вы серьезно? Нафига вы ТЗ запихнули в ДС?))
|
|||
28
Kassern
27.04.22
✎
16:26
|
Сделайте простой ДС с нужным списком документов. Создайте еще один реквизит формы с типом ТЗ и разместите под номенклатуру. При активизации ДС заполняйте эту ТЗ. На сервере вы без проблем сможете по имени ТЗ обратиться
|
|||
29
youalex
27.04.22
✎
16:59
|
(26) зачем ты обманываешь в (3)
Это же вложенная табличная часть в запросе, ну передавай на сервер ссылку документа (ТекущаяСтрока), а ТЧ получай там запросом Собственно (2) |
|||
30
Жан Пердежон
27.04.22
✎
20:16
|
(15) ну а сервер тебе зачем?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |