|
Внешняя обработка вида "Заполнение объекта" УФ | ☑ | ||
---|---|---|---|---|
0
yusose
12.11.14
✎
15:35
|
Помогите разобраться-первый раз столкнулась с управляемыми формами, уже голова кипит... Открыла из документа обработку, заполнила с директивой на сервере ТЧ этого документа. Как мне получить эту заполненную ТЧ на клиенте? Только передать в сервера на клиент эту ТЧ и перезаполнить или есть что-то лучшее?
|
|||
1
butterbean
12.11.14
✎
15:37
|
как ты смогла заполнить тч открытого документа обработкой??
|
|||
2
yusose
12.11.14
✎
15:40
|
(1) не знаю :) я получила объект и заполнила... он не ругался...
|
|||
3
butterbean
12.11.14
✎
15:43
|
(2) код обработки показывай
|
|||
4
yusose
12.11.14
✎
15:45
|
&НаКлиенте
Процедура ПриЗакрытии() СохранитьНастройкиФормыНаСервере(); АдресТоваровВХранилище = АдресТоваровВХранилище(); Если ПеренестиВДокумент И АдресТоваровВХранилище <> Неопределено Тогда Структура = Новый Структура("АдресТоваровВХранилище", АдресТоваровВХранилище); ОбработкаВыбораПодборНаКлиенте(Структура); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ОбработкаВыбораПодборНаКлиенте(Структура) ОбработкаВыбораПодборНаСервере(Структура); КонецПроцедуры &НаСервере Процедура ОбработкаВыбораПодборНаСервере(ВыбранноеЗначение) ТаблицаТоваров = ПолучитьИзВременногоХранилища(ВыбранноеЗначение.АдресТоваровВХранилище); ПолученныйОбъект = Параметры.Документ.ПолучитьОбъект(); КэшированныеЗначения = ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруКэшируемыеЗначения(); Для каждого СтрокаТовара Из ТаблицаТоваров Цикл ТекущаяСтрока = ПолученныйОбъект.Товары.Добавить(); ЗаполнитьЗначенияСвойств(ТекущаяСтрока, СтрокаТовара, "НоменклатураНабора, ХарактеристикаНабора, Номенклатура, Характеристика, Упаковка, Склад, ВидЦены, Цена, КоличествоУпаковок, СрокПоставки, ПроцентРучнойСкидки"); КонецПроцедуры это если убрать лишнее. |
|||
5
yusose
12.11.14
✎
15:46
|
конец цикла случайно удалила
|
|||
6
butterbean
12.11.14
✎
15:47
|
(5) ты из ссылки на документ получаешь его объект, заполняешь, но не записываешь, поэтому ничего не меняется
|
|||
7
yusose
12.11.14
✎
15:48
|
Сначала здесь
ОбработкаВыбораПодборНаКлиенте(Структура); передавала еще переменную, и после этого на клиенте циклом перезаписывала объект, тогда все получалось, но мне кажется, что это как-то не так... |
|||
8
yusose
12.11.14
✎
15:48
|
(6) а записывать обязательно? почему ОбновитьОтображение не работает?
|
|||
9
yusose
12.11.14
✎
15:51
|
(7) выглядело примерно так:
Процедура ПриЗакрытии() СохранитьНастройкиФормыНаСервере(); ОбъектФормы = ВладелецФормы.Объект; АдресТоваровВХранилище = АдресТоваровВХранилище(); Если ПеренестиВДокумент И АдресТоваровВХранилище <> Неопределено Тогда Структура = Новый Структура("АдресТоваровВХранилище", АдресТоваровВХранилище); ОбработкаВыбораПодборНаКлиенте(Структура, ОбъектФормы); КонецЕсли; ВладелецФормы.Объект.Товары.Очистить(); Для Каждого Строка Из ОбъектФормы.Товары Цикл НоваяСтрока = ВладелецФормы.Объект.Товары.Добавить(); НоваяСтрока.Номенклатура = Строка.Номенклатура; КонецЦикла; на то, что в цикле, не обращай внимания, это я для проверки. Тогда все перезаполнялось и выводилось на экран |
|||
10
yusose
12.11.14
✎
15:53
|
(9) в ОбъектФормы как раз лежал этот ПолученныйОбъект
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |