|
как обратится к значению реквизита табл части документа. управляемое приложение | ☑ | ||
---|---|---|---|---|
0
natali_800
14.04.14
✎
16:43
|
Добрый день)Есть табличная часть в документе.Не могу понять, как к ней обратится( в режиме обычного приложения трудностей не возникало..а вот с управляемыми формами..Подскажите, кто знает)
&НаКлиенте Процедура ГрафикРаботыВремяНачалаПриИзменении(Элемент) ТаблЧасть= ЭтаФорма.Объект.ГрафикРаботы; Если ЗначениеЗаполнено(ЭтаФорма.Объект.ГрафикРаботы.ВремяНачала) И ЗначениеЗаполнено(ЭтаФорма.Объект.ГрафикРаботы.ВремяОкончания) Тогда Если ЭтаФорма.Объект.ГрафикРаботы.ВремяНачала> ЭтаФорма.Объект.ГрафикРаботы.ВремяОкончания Тогда // Начало не должно быть больше окончания Сообщить("Начало рабочего времени должно быть меньше окончания рабочего времени.", СтатусСообщения.Внимание); ЭтаФорма.Объект.ГрафикРаботы.ВремяНачала = '00010101'; Иначе // Накапливаем продолжительность ЭтаФорма.Объект.ГрафикРаботы.продолжительность = '00010101' + (ЭтаФорма.Объект.ГрафикРаботы.ВремяОкончания- ЭтаФорма.Объект.ГрафикРаботы.ВремяНачала); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
1
butterbean
14.04.14
✎
16:46
|
да также почти как в обычном:
Элементы.ТабЧасть.ТекущиеДанные.ТвойРеквизит |
|||
2
natali_800
14.04.14
✎
16:55
|
(1) пробовала, в общем так нельзя(
{Документ.ТабельРабНерабВремени.Форма.ФормаДокумента.Форма(29)}: Ошибка при вызове метода контекста (ЗначениеЗаполнено) Если ЗначениеЗаполнено(элементы.ГрафикРаботыВремяНачала) И ЗначениеЗаполнено(Элементы.ГрафикРаботыВремяОкончания) Тогда по причине: Проверка мутабельных значений на заполненность не поддерживается {Документ.ТабельРабНерабВремени.Форма.ФормаДокумента.Форма(30)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата) Если элементы.ГрафикРаботыВремяНачала> Элементы.ГрафикРаботыВремяОкончания Тогда |
|||
3
Wobland
14.04.14
✎
16:56
|
(2) это всё фотка мешает
|
|||
4
natali_800
14.04.14
✎
16:58
|
(3) были такие мысли))
она будет;) |
|||
5
Wobland
14.04.14
✎
17:00
|
(4) все вы обещаете. а потом мы, отматросенные, остаёмся вглядыватся в пустые пискели ЛК
|
|||
6
Asmody
14.04.14
✎
17:01
|
я не устану давать эту ссылку http://v8.1c.ru/metod/books/book.jsp?id=231
|
|||
7
natali_800
14.04.14
✎
17:05
|
(6) время не ждет))но видать никто не поможет..
|
|||
8
Wobland
14.04.14
✎
17:05
|
(7) чем же?
|
|||
9
Asmody
14.04.14
✎
17:07
|
(7) объяснять надо очень много. начиная с принципов организации управляемого приложения, заканчивая представлением объектов на клиенте. не упустив при этом особенности обращения к текущей строке поля таблицы на сервере
|
|||
10
ramir
14.04.14
✎
17:21
|
(7) Надеюсь что-нибудь поймешь. В общем так. Есть реквизиты, которые хранят данные, а есть элементы формы, которые отображают данные. Т.е. для работы с данными нужно работать с реквизитами формы.
ЭтаФорма.Объект.ГрафикРаботы.ВремяНачала Логика верна, но ГрафикРаботы это ТЗ (для придирчивых данные формы коллекция), т.е. коллекция элементов (строк) таблицы. Можно обращаться ГрафикРаботы[НомерЭлемента].ВремяНачала, где номер элемента - номер строки, начиная с 0. Тебе скорее всего нужно брать данные из выделенной строки на форме. Реквизит вообще не знает о том, что происходит на форме, поэтому чтобы понять какая строка сейчас выделена нужно обратиться к свойству ТекущиеДанные ЭЛЕМЕНТА формы, который отображает таблицу. Предположим Элемент называется ГрафикРаботы. Тогда делается так: ЭтаФорма.Элементы.ГрафикРаботы.ТекущиеДанные.ВремяНачала |
|||
11
natali_800
14.04.14
✎
17:32
|
(10) большое спасибо!))
|
|||
12
natali_800
14.04.14
✎
17:33
|
(10) двигалась в правильном направлении. но смущало, что после Текущих данных не выпадало контекстное меню)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |