|
не видит поле | ☑ | ||
---|---|---|---|---|
0
Dmitry017
30.03.13
✎
19:35
|
Хочу обработать событие при изменении табличной части.
&НаКлиенте Процедура ТоварыПриИзменении(Элемент) // Вставить содержимое обработчика. , // Вставить содержимое обработчика. СуммаДокумента = 0; Для каждого СтрокаСумма Из Элементы.Товары.Сумма Цикл СуммаДокумента = СуммаДокумента + СтрокаСумма; КонецЦикла; КонецПроцедуры Ругается и пишет, что нет поля Сумма {Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(69)}: Поле объекта не обнаружено (Сумма) Для каждого СтрокаСумма Из Элементы.Товары.Сумма Цикл а оно на самом деле есть! Вот скрин http://i48.fastpic.ru/big/2013/0330/86/2866004004de689f98ed2dd3325fd686.png |
|||
1
unkairosed
30.03.13
✎
20:06
|
СуммаДокумента = Объект.Товары.Итог("Сумма")
|
|||
2
Dmitry017
30.03.13
✎
20:24
|
Я понял. Спасибо. Ваш способ более рациональный. Но всё-таки интересно, почему в данном случае были ошибки, можете подсказать?
|
|||
3
shlyahtich
30.03.13
✎
20:26
|
В реквизиты добавь
|
|||
4
vicof
30.03.13
✎
20:26
|
СуммаДокумента = 0;
Для каждого СтрокаСумма Из Элементы.Товары Цикл СуммаДокумента = СуммаДокумента + СтрокаСумма.Сумма ; КонецЦикла; |
|||
5
Dmitry017
30.03.13
✎
20:28
|
(4) правильно ли я понимаю, что из табличной части невозможно взять одну колонку со всеми строками и дальше их обрабатьывать (как я хотел). Ваш алгоритм я понял.
|
|||
6
shlyahtich
30.03.13
✎
20:28
|
(2) не на форму реквизит добавь СуммаДокумента который для Элементы.СуммаДокумента будет данными
|
|||
7
vicof
30.03.13
✎
20:32
|
Собственно, взять одну колонку или несколько - разницы особой нет. Одна колонка со всеми строками - это список значений.
|
|||
8
Dmitry017
30.03.13
✎
20:38
|
(7) Ну вот, я хотел взять одну колонку Элементы.Товары.Сумма, а выскочила ошибка во время выполнения
|
|||
9
shlyahtich
30.03.13
✎
20:41
|
(8) понимаешь... есть коллекция данных, есть массив, а есть трока входящая в эти дела... ну упрощенно - и если так непонятно то открываешь отладчик и в табло смотришь значение переменной и сразу станет понятней.
|
|||
10
vicof
30.03.13
✎
20:41
|
(8) О реляционных базах данных имеешь представление?
О циклах в 1с имеешь представление? Элементы.Товары.Сумма - никак не коллекция значений, а хз что, на что система и ругнулась. |
|||
11
shlyahtich
30.03.13
✎
20:42
|
если занимался раньше программированием разберешься, если ж балуешься - бросай и займись другим делом.
|
|||
12
shlyahtich
30.03.13
✎
20:45
|
(---) в принципе в 39 лет я сменил область деятельности и из инженера по авиационному радиоэлектронному оборудованию и разработчика алгоритмов боевых локаторов превратился сначала в программиста итрерфейса баз данных потом... вобщем нормально вырос) Учитесь товарищь! 39 лет тож хороший возраст но понятно это в 50
Для учебы отсылаю вас на spec8.ru купите базовый курс вы их клиент |
|||
13
Dmitry017
30.03.13
✎
20:52
|
(9) я разберусь с этими моментами. Спасибо
|
|||
14
Dmitry017
30.03.13
✎
20:55
|
Хотел ещё спросить. У Табличной части (это ведь таблица значений по сути) есть метод Итог()
Так вот. Почему он доступен через Объект.Товары и недоступен через Элементы.Товары. По сути что Объект.Товары, что Элементы.Товары - табличная часть. Или же он недоступен, потому что Элементы нельзя редактировать? То есть можно выполнить Объект.СуммаДокумента = 1; Но нельзя выполнить Элементы.СуммаДокумента = 1; |
|||
15
unkairosed
30.03.13
✎
21:02
|
(14) Наводка: свойство "ПутьКДанным" элемента формы. Элемент формы <> объект, содержащий прикладные данные.
|
|||
16
vicof
30.03.13
✎
21:02
|
Элементы формы - это всего лишь представление данных. Именно поэтому.
|
|||
17
Dmitry017
30.03.13
✎
21:06
|
Спасибо!
|
|||
18
Dmitry017
30.03.13
✎
22:19
|
А почему не происходи запись в рекквизит формы??
&НаКлиенте Процедура ТоварыПриИзменении(Элемент) // Вставить содержимое обработчика. , // Вставить содержимое обработчика. СуммаДокумента = Объект.Товары.Итог("Сумма"); КонецПроцедуры При отладке видно что изменяется СуммаДокумента, а на форме как был нуль так и остался |
|||
19
Dmitry017
30.03.13
✎
22:21
|
Но почему-то заработало через Объект.СуммаДокумента, а через ЭтотОбъект.СуммаДокумента не работало (можете подсказать почему)?
|
|||
20
unkairosed
30.03.13
✎
23:36
|
Ctrl+F1 -> набрать "ЭтотОбъект"
|
|||
21
vicof
31.03.13
✎
05:30
|
(19) Сравни ТипЗнч(Объект.СуммаДокумента) и ТипЗнч(ЭтотОбъект.СуммаДокумента)
|
|||
22
Мимохожий Однако
31.03.13
✎
07:19
|
(19)ЭтотОбъект - форма документа, картинка на экране. Объект - документ в базе.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |