helpf.pro
Регистрация

v8.2 УП: Получение данных из не записанного документа

sashuly
18.04.2013 11:15Прочитано: 5885
Есть задача: в процессе редактирования документа необходимо получить список одной колонки табличной части.
Документ еще не записан, т.е. все данные хранятся на клиенте.
как можно это реализовать?
Yandex
Возможно, вас также заинтересует
Реклама на портале
Mokey
18.04.2013 11:17Ответ № 1
в 8.1 это через ЭтотОбъект реализуемо
sashuly
18.04.2013 11:19Ответ № 2
(2) вопрос по 8.2 УП
Mokey
18.04.2013 11:20Ответ № 3
я вижу, поэтому и акцентировал внимание, а в 8.2 нет ЭтотОбъект?
Mokey
18.04.2013 11:21Ответ № 4
что-то должно быть всё равно, что отображается на экране клиента
sashuly
18.04.2013 11:28Ответ № 5
тут даже вопрос не 8.1 и 8.2 тут вопрос по клиент-серверной передачи данных
Mokey
18.04.2013 11:31Ответ № 6
я рассуждаю так, если клиент видит у себя заполненный, но ещё не записанный документ, значит, эти данные есть на его стороне, просто в 8.2 ещё не углублялся за ненадобностью
Gonzik2
18.04.2013 15:08Ответ № 7
ЭтаФорма.Объект.ТЧ.Реквизит
sashuly
18.04.2013 15:31Ответ № 8
(7) я склоняюсь к использованию РеквизитФормыВЗначение()
Gonzik2
18.04.2013 16:29Ответ № 9
&НаСервере
Функция ПолучитьСписокТоваров()
...
МассивЭлементов = Объект.Товары.Выгрузить(,"Товар").ВыгрузитьКолонку("Товар");//1
МассивЭлементов = ЭтаФорма.Объект.Товары.Выгрузить(,"Товар").ВыгрузитьКолонку("Товар");//2
МассивЭлементов = РеквизитФормыВЗначение("Объект").Товары.Выгрузить(,"Товар").ВыгрузитьКолонку("Товар");//3

СписокТоваров.ЗагрузитьЗначения(МассивЭлементов);// списокзначений
...
1-3 работают на сервере, на клиенте выгрузить не работет.
sashuly
18.04.2013 16:41Ответ № 10
Все правильно. Только 1 вариант не работает если документ не записан.
E_Migachev
18.04.2013 16:41Ответ № 11
Код 1C v 8.2 УП
 &НаКлиенте
Процедура Сформировать()
СформироватьНаСервере();
КонецПроцедуры;

&НаСервере
Процедура СформироватьНаСервере()
Объект = РеквизитФормыВЗначение("Объект");
Объект.КакаяТоПроцедОбъек();

КонецПроцедуры;

// с возвратом данных
&НаСервере
Процедура ПересчитатьНаСервере()

// Преобразует реквизит Объект в прикладной объект.
Документ = РеквизитФормыВЗначение(«Объект»);

// Выполняет пересчет методом, определенным в модуле документа.
Документ.Пересчитать();

// Преобразует прикладной объект обратно в реквизит.
ЗначениеВРеквизитФормы(Документ, «Объект»);
КонецПроцедуры

Изменено 18.04.13 16:44:19
sashuly
19.04.2013 13:02Ответ № 12
Вопрос закрыт!
Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.