Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Работа с объектом ДанныеФормыКоллекция 1С 8.3 (УФ) , 1С 8.3 (УФ) 8.3.13.1690          
andrew76 Подменю пользователя
сообщение 02.04.24, 11:48
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 461
Из: Казахстан
Спасибо сказали: 45 раз
Рейтинг: 45

Добрый день всем.

Не получается передать Таблицу Значений с сервера на клиент.
На управляемой форме имеется реквизит РеквизитТЗ с типом ТаблицаЗначений.
Мне нужно передать ТЗ с сервера на клиент.


&НаСервере

Результат=Запрос.Выполнить().Выгрузить();

//заполняю реквизит формы РеквизитТЗ результатом запроса данных
ЭтотОбъект.РеквизитТЗ.Загрузить(Запрос.Выполнить().Выгрузить());



А как этот объект (ДанныеФормыКоллекция) прочитать на клиенте ?

Или я неправильно его заполнил в процедуре на сервере ?

Сообщение отредактировал Vofka - 02.04.24, 13:15

alex-l1904 Подменю пользователя
сообщение 02.04.24, 12:05
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 72
Спасибо сказали: 11 раз
Рейтинг: 11

andrew76 @ Сегодня, 12:48 * ,
Не має можливості передати, можна передати масив структур...

andrew76 Подменю пользователя
сообщение 02.04.24, 12:11
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 461
Из: Казахстан
Спасибо сказали: 45 раз
Рейтинг: 45

Цитата(alex-l1904 @ 02.04.24, 15:05) *
andrew76 @ Сегодня, 12:48 * ,
Не має можливості передати, можна передати масив структур...


Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
Может использоваться в реквизитах управляемой формы.

Сообщение отредактировал Vofka - 02.04.24, 13:16

Vofka Подменю пользователя
сообщение 02.04.24, 13:21
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13988
Из: Киев
Спасибо сказали: 4564 раз
Рейтинг: 3693.4

alex-l1904 правильно подсказал: таблицу значений передать с сервера на клиент нельзя. Это если отвечать на
Цитата(andrew76 @ 02.04.24, 12:48) *
Мне нужно передать ТЗ с сервера на клиент

Вы этот реквизит на сервере заполнили (правда вы 2 раза зачем-то запрос там выполняете, но не суть). Теперь, судя по этому
Цитата(andrew76 @ 02.04.24, 12:48) *
А как этот объект (ДанныеФормыКоллекция) прочитать на клиенте ?

вы хотите прочитать это на клиенте. Для Каждого Строка ИЗ РеквизитТЗ Цикл не подходит?

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 02.04.24, 13:58
Сообщение #5

Оратор
*****
Группа: Пользователи
Сообщений: 461
Из: Казахстан
Спасибо сказали: 45 раз
Рейтинг: 45

Vofka @ Сегодня, 16:21 * ,

Цитата(Vofka @ 02.04.24, 16:21) *
Для Каждого Строка ИЗ РеквизитТЗ Цикл не подходит?


Цикл то работает,но в отладчике ничего не видно.пишет что значение = ДанныеФормыЭлементКоллекции.
Как с этим объектом работать не пойму.Количество элементов показывает 8.и все.

Цитата(Vofka @ 02.04.24, 16:21) *
(правда вы 2 раза зачем-то запрос там выполняете, но не суть)

да , действительно.

Для каждого стр из РеквизитТЗ Цикл
      //вот здесь отладчик пишет что стр =ДанныеФормыЭлементКоллекции
     //как можно вытащить название колонки и ее значение ?
КонецЦикла


Сообщение отредактировал Vofka - 02.04.24, 14:10

Vofka Подменю пользователя
сообщение 02.04.24, 14:13
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13988
Из: Киев
Спасибо сказали: 4564 раз
Рейтинг: 3693.4

Сложновато понять что вы там делаете, честно говоря. Но внутри элемента коллекции должны быть свойства, соответствующие, колонкам.


sava1 Подменю пользователя
сообщение 02.04.24, 14:20
Сообщение #7

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2715
Из: Проскуров
Спасибо сказали: 692 раз
Рейтинг: 670.9

andrew76,

почитайте про РеквизитФормыВЗначение и наоборот
ДанныеФормыКоллекция - это не объект, а суррогат - обходить надо ТЗ

а для передачи ТЗ используйте Хранилище

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 02.04.24, 14:25
Сообщение #8

Оратор
*****
Группа: Пользователи
Сообщений: 461
Из: Казахстан
Спасибо сказали: 45 раз
Рейтинг: 45

sava1 @ Сегодня, 17:20 * ,

может это поможет ?
[необходимо зарегистрироваться для просмотра ссылки]


sava1 Подменю пользователя
сообщение 02.04.24, 14:28
Сообщение #9

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2715
Из: Проскуров
Спасибо сказали: 692 раз
Рейтинг: 670.9

Цитата(andrew76 @ 02.04.24, 15:25) *
может это поможет ?

мне ?

AnryMc Подменю пользователя
сообщение 02.04.24, 14:33
Сообщение #10

Оратор
Иконка группы
Группа: Местный
Сообщений: 410
Спасибо сказали: 117 раз
Рейтинг: 120.1

Цитата(andrew76 @ 02.04.24, 14:58) *
Для каждого стр из РеквизитТЗ Цикл
//вот здесь отладчик пишет что стр =ДанныеФормыЭлементКоллекции
//как можно вытащить название колонки и ее значение ?
КонецЦикла


!!!
???
Не РеквизитТЗ
А РЕЗУЛЬТАТ

Для каждого стр из РЕЗУЛЬТАТ Цикл

нс = РеквизитТЗ .Добавить();

ЗаполнитьЗначенияСвойств(нс, стр);

КонецЦикла


З.Ы, Если "колонки" определены в РеквизитТЗ


ИЛИ

    ТекДок = РеквизитФормыВЗначение("Объект");
    тз_Продукты = ТекДок.ПодробностиЗапроса.Выгрузить(,);
    
    Для КАЖДОГО текПродукт ИЗ тз_Продукты Цикл
        

        
    КонецЦикла;
    
    ТекДок.ПодробностиЗапроса.Загрузить(тз_Продукты);
    ЗначениеВРеквизитФормы(ТекДок, "Объект");


Сообщение отредактировал AnryMc - 02.04.24, 14:36

Спасибо сказали: andrew76,

andrew76 Подменю пользователя
сообщение 02.04.24, 17:10
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 461
Из: Казахстан
Спасибо сказали: 45 раз
Рейтинг: 45

sava1 @ Сегодня, 17:28 * ,

Цитата(sava1 @ 02.04.24, 17:28) *
мне ?


нет,это я про себя.

andrew76 Подменю пользователя
сообщение 03.04.24, 6:46
Сообщение #12

Оратор
*****
Группа: Пользователи
Сообщений: 461
Из: Казахстан
Спасибо сказали: 45 раз
Рейтинг: 45

Цитата(AnryMc @ 02.04.24, 17:33) *
Для каждого стр из РЕЗУЛЬТАТ Цикл

нс = РеквизитТЗ .Добавить();

ЗаполнитьЗначенияСвойств(нс, стр);

КонецЦикла


З.Ы, Если "колонки" определены в РеквизитТЗ


Доброе утро всем.
Получилось ! Получилось передать заполненную Таблицу Значений с серверной процедуры на клиентскую.
Сначала добавил в реквизит формы РеквизитТЗ - колонки реквизита,которые соответствуют названиям полей запроса,
т.е. добавлял в реквизит на форме название колонки и соответвующий ей тип (ПараметрыРаботыУстановки.Ссылка КАК Ссылка)
Только после этого нормально отработала выгрузка данных из запроса в РеквизитФормы - РеквизитТЗ.
т.е. пока вручную не добавил колонки соответствующие по типу и имени колонкам данных из запроса,ничего выгрузить в эту
таблицу не получалось.Туда выгружались пустые строки и все !

Результат=Запрос.Выполнить().Выгрузить();
ЭтотОбъект.Реквизит3.Загрузить(Результат);


код заполнения отработал на сервере,а на клиенте я легко прочитал этот Реквизит формы РеквизитТЗ (заполненный данными из запроса).

&НаКлиенте
Для каждого стр из ЭтотОбъект.Реквизит3 Цикл
    a=стр; //отладчик ее определяет как ДанныеФормыЭлементКоллекции
КонецЦикла;



Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 10.11.24, 21:42
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!