|   |   | 
| 
 | Управляемая форма. Работа с табличной частью. | ☑ | ||
|---|---|---|---|---|
| 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 и Вам спасибо! Не знал такого. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |