|
Управляемая форма. Работа с табличной частью. | ☑ | ||
---|---|---|---|---|
0
dmabramov
28.04.14
✎
16:15
|
Всем привет!
Продолжаю разбираться с управляемыми формами. Возник такой вопрос: В табличной части документа имеется реквизит1 (Тип Справочник). Необходимо сделать так чтобы при изменении этого реквизита1 заполнялись некоторые реквизиты в текущей строке табличной части, причем данные для заполнения содержатся в реквизит1. Получить доступ к данным содержащимся в реквизит1 на клиенте я не могу. Когда делаю это на сервере, не могу понять как найти текущую строку табличной части. Подскажите как это реализуется? |
|||
1
Kamas
28.04.14
✎
16:18
|
ТекДанные = Элементы.Таблица.ТекущиеДанные;
ТекДанные.Чтото=ТекДанные.Справочник.Чтото; |
|||
2
Kamas
28.04.14
✎
16:19
|
Как-то так.
|
|||
3
Адский плющ
28.04.14
✎
16:19
|
(0) Получать нужные данные по переданным параметрам вызовом бесконтекстной функции.
|
|||
4
dmabramov
28.04.14
✎
16:29
|
Kamas ну в обычном приложении я так и делал)
А вот в управляемом беда. Дело в том что: ТекДанные = Элементы.Таблица.ТекущиеДанные; - доступно только на клиенте ТекДанные.Чтото=ТекДанные.Справочник.Чтото; - не доступно на клиенте! |
|||
5
bborisko
28.04.14
✎
16:31
|
ТекДанные = Элементы.Таблица.ТекущиеДанные;
ТекДанные.Чтототам = НаСервереБезКонтекста(ТекДанные.НужнаяСсылка) &НаСервереБезКонтекста Функция ВернутьДанные(Ссылка) Возврат Ссылка.Реквизит; КонецФункции |
|||
6
bborisko
28.04.14
✎
16:32
|
Ну в смысле ВернутьДанные вызывай)
|
|||
7
dmabramov
28.04.14
✎
16:47
|
Адский плющ, bborisko Спасибо Вам! Помогло)
Вот так получилось может пригодится кому: |
|||
8
dmabramov
28.04.14
✎
16:51
|
НаКлиенте
Процедура ВнутреннийНомерПриИзменении(Элемент) ТекДанные = Элементы.Номенклатура.ТекущиеДанные; ТекДанные.СерийныйНомер = ПолучитьСерийныйНомерПоВнутреннемуНомеру(ТекДанные.ВнутреннийНомер); ТекДанные.Номенклатура = ПолучитьКартриджПоВнутреннемуНомеру(ТекДанные.ВнутреннийНомер); КонецПроцедуры &НаСервереБезКонтекста Функция ПолучитьНоменклатуруПоВнутреннемуНомеру(ВнутреннийНомер) Возврат ВнутреннийНомер.Номенклатура; КонецФункции &НаСервереБезКонтекста Функция ПолучитьСерийныйНомерПоВнутреннемуНомеру(ВнутреннийНомер) Возврат ВнутреннийНомер.СерийныйНомер; КонецФункции |
|||
9
bborisko
28.04.14
✎
16:52
|
Я бы за один раз получал все данные - возвращал бы структуру.
|
|||
10
dmabramov
28.04.14
✎
16:53
|
А структуру можно на форму передавать? Не будет ругаться? Щас попробую спасибо!
|
|||
11
vmv
28.04.14
✎
16:53
|
ОбщегоНазначения.ПолучитьЗначенияРеквизитов(Ссылка)
велосипед-то то ездит уже 10 лет и даже без УФ |
|||
12
dmabramov
28.04.14
✎
17:02
|
Вот так тогда:
&НаКлиенте Процедура ВнутреннийНомерПриИзменении(Элемент) ТекДанные = Элементы.Номенклатура.ТекущиеДанные; ДанныеИзВнутреннегоНомера = ПолучитьДанныеПоВнутреннемуНомеру(ТекДанные.ВнутреннийНомер); ТекДанные.СерийныйНомер = ДанныеИзВнутреннегоНомера.СерийныйНомер; ТекДанные.Номенклатура = ДанныеИзВнутреннегоНомера.Номенклатура; КонецПроцедуры &НаСервереБезКонтекста Функция ПолучитьДанныеПоВнутреннемуНомеру(ВнутреннийНомер) Результат = Новый Структура; Результат.Вставить("Номенклатура",ВнутреннийНомер.Номенклатура); Результат.Вставить("СерийныйНомер",ВнутреннийНомер.СерийныйНомер); Возврат Результат КонецФункции vmv и Вам спасибо! Не знал такого. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |