|
Значение реквизита справочника в табличной части документа | ☑ | ||
---|---|---|---|---|
0
Murdoch
08.12.14
✎
20:53
|
8.3
РазделРаботы - это колонка в ТЧ документа, содержит Родителя колонки ВидРаботы. оба значения суть - элементы спр. Номенклатура в 8.1 работал БЫ примерно такой код: &НаКлиенте Процедура РаботыВидРаботыПриИзменении(Элемент) // Вставить содержимое обработчика. Если Элемент <> Неопределено Тогда ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные; ТекДанные.РазделРаботы = ТекДанные.ВидРаботы.Родитель; КонецЕсли; КонецПроцедуры НО! в 8.3 не работает, т.к. нельзя обратиться к реквизитам колонки подобным образом. а как обращаться ? какие сейчас нужны финты ушами для элементарных вещей ? Заранее спасибо за подробности. |
|||
1
Murdoch
08.12.14
✎
20:55
|
Вот можно написать:
ТекДанные.РазделРаботы = ТекДанные.ВидРаботы; но НЕЛЬЗЯ: ТекДанные.РазделРаботы = ТекДанные.ВидРаботы.Родитель; |
|||
2
фобка
08.12.14
✎
20:56
|
Не..
Текданные = элементыформы.твояТЧ.текущиеданные; |
|||
3
фобка
08.12.14
✎
20:56
|
либо элемент.текущиеданные
|
|||
4
фобка
08.12.14
✎
20:57
|
колонки должны быть добавлены на форме. Если колонка скрыта - в реквизитах формы установить галку "использовать всегда"
|
|||
5
Murdoch
08.12.14
✎
20:58
|
ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные;
вот эту строку какой заменить ? |
|||
6
фобка
08.12.14
✎
20:58
|
Я всё сказал, за сим всё
|
|||
7
Murdoch
08.12.14
✎
20:58
|
я нахожусь в строке документа, при ее изменении.
|
|||
8
Murdoch
08.12.14
✎
20:59
|
колонки добавлены, ничего не скрыто.
|
|||
9
Murdoch
08.12.14
✎
21:02
|
{Документ.СметаНаОбъект.Форма.ФормаДокумента.Форма(6,15)}: Переменная не определена (ЭлементыФормы)
ТекДанные = <<?>>ЭлементыФормы.Работы.ТекущиеДанные; (Проверка: Тонкий клиент) |
|||
10
Murdoch
08.12.14
✎
21:02
|
(6) твой совет выдает ошибку
|
|||
11
Murdoch
08.12.14
✎
21:09
|
советы (6) бесполезны
ТекДанные = ЭтотОбъект.Элементы.Работы.ТекущиеДанные; ТекДанные.РазделРаботы = ТекДанные.ВидРаботы.Родитель; доступа к реквизитам нет, хотя в отладчике ТекДанные.ВидРаботы имеет тип СправочникСсылка. как достать реквизит такого справочника ? |
|||
12
Murdoch
08.12.14
✎
21:12
|
РЕШЕНО!!!
Ответ для будущих поколений: реквизиты можно достать только с сервера вот код: // Расчет суммы по строке &НаКлиенте Процедура РассчитатьСумму(СтрокаТабличнойЧасти) СтрокаТабличнойЧасти.сумма = СтрокаТабличнойЧасти.цена * СтрокаТабличнойЧасти.количество КонецПроцедуры // Подстановка цены &НаКлиенте Процедура ЗаполнитьЦену(СтрокаТабличнойЧасти) ЦенаТовара = ПолучитьЦенуТовара(СтрокаТабличнойЧасти.товар); СтрокаТабличнойЧасти.цена = ЦенаТовара; РассчитатьСумму(Элементы.товары.ТекущиеДанные); КонецПроцедуры &НаСервере Функция ПолучитьЦенуТовара(товар) Возврат товар.цена; КонецФункции &НаКлиенте Процедура товарыколичествоПриИзменении(Элемент) РассчитатьСумму(Элементы.товары.ТекущиеДанные); КонецПроцедуры &НаКлиенте Процедура товарыценаПриИзменении(Элемент) РассчитатьСумму(Элементы.товары.ТекущиеДанные); КонецПроцедуры &НаКлиенте Процедура товарытоварПриИзменении(Элемент) ЗаполнитьЦену(Элементы.товары.ТекущиеДанные); КонецПроцедуры |
|||
13
Murdoch
08.12.14
✎
21:19
|
Для простоты, мой верхний код дополняется вызовом сервера.
&НаКлиенте Процедура РаботыВидРаботыПриИзменении(Элемент) // Вставить содержимое обработчика. Если Элемент <> Неопределено Тогда ТекДанные = ЭтаФорма.ТекущийЭлемент.ТекущиеДанные; ТекДанные.РазделРаботы = ПолучитьРазделРабот(ТекДанные.ВидРаботы); КонецЕсли; КонецПроцедуры &НаСервере Функция ПолучитьРазделРабот(Элемент) Возврат Элемент.Родитель; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |