|
v8: Поле объекта не обнаружено (СреднийБалл) | ☑ | ||
---|---|---|---|---|
0
Bli3world
17.06.14
✎
19:24
|
Есть такие документы 1. УспеваемостьГруппа и 2. УспеваемостьПоФакультету. Нужно при заполнении 2 дока при выборе дисциплины в табличной части заполнить поле СреднийБаллГруппы из реквизита СреднийБалл 1 дока.
Почему ругается вот на это? Процедура ВедомостьДисциплинаПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы.Ведомость.ТекущиеДанные; СтрокаТабличнойЧасти.СреднийБалл = Документы.УспеваемостьГруппа.НайтиПоРеквизиту("СреднийБалл",Документы.УспеваемостьГруппа.СреднийБалл); НаименовДисциплины = СтрокаТабличнойЧасти.Дисциплина; СтрокаТабличнойЧасти.СреднийБалл = ВозвратДисциплины(НаименовДисциплины); КонецПроцедуры Вот служебные сообщения: {Документ.УспеваемостьПоФакультету.Форма.ФормаДокумента(4)}: Поле объекта не обнаружено (СреднийБалл) СтрокаТабличнойЧасти.СреднийБаллГруппы = Документы.УспеваемостьГруппа.НайтиПоРеквизиту("СреднийБалл",Документы.УспеваемостьГруппа.СреднийБалл); |
|||
1
shuhard
17.06.14
✎
19:25
|
(0) учи запросы
за такой код на дипломе кол поставят |
|||
2
Irbis
17.06.14
✎
19:27
|
вроде ясно написано поле объекта не обнаружено.
|
|||
3
Wobland
17.06.14
✎
19:27
|
а ничо так. СтрокаТабличнойЧасти.СреднийБалл - то ли документ, то ли число, то ли ещё ерундень какая..
|
|||
4
Bli3world
17.06.14
✎
19:33
|
А из регистра накопления вытащить этот средний балл можно?
|
|||
5
Wobland
17.06.14
✎
19:36
|
(4) это техническое любопытство или ты разрешения спрашиваешь?
|
|||
6
Bli3world
17.06.14
✎
19:38
|
не знаю как назвать это. вчера пробовал запросом, все равно "поле объекта не обнаружено"
|
|||
7
Irbis
17.06.14
✎
19:46
|
(6) То есть если в комнате никого нет, на голос не отзывается, то нужно рявкнуть в матюгальник, и поле меатериализуется?
|
|||
8
hhhh
17.06.14
✎
19:46
|
(6) в упор не вижу где у тебя "поле СреднийБаллГруппы"?
|
|||
9
Irbis
17.06.14
✎
19:49
|
(8) Это поле как раз, скорее всего имеется. Тупой комп ясно пишет какого поля не обнаружил.
|
|||
10
hhhh
17.06.14
✎
19:52
|
(9) по заданию нужно заполнить поле СреднийБаллГруппы. Вы как спец видите это поле а его коде или скорее всего видите?
|
|||
11
Bli3world
17.06.14
✎
19:53
|
я так понимаю запрос тоже фиговый
Процедура ВедомостьДисциплинаПриИзменении(Элемент) Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | СреднийБаллОбороты.СреднийБаллОборот |ИЗ | РегистрНакопления.СреднийБалл.Обороты КАК СреднийБаллОбороты"; Запрос.УстановитьПараметр("СреднийБалл", ЭтотОбъект.Ведомость.СреднийБалл); РезультатЗапроса = Запрос.Выполнить(); ЭтотОбъект.Ведомость.СреднийБалл.Загрузить(РезультатЗапроса.Выгрузить()); КонецПроцедуры |
|||
12
Irbis
17.06.14
✎
19:57
|
(11) Правильно понимаешь
(10) Текст сообщения об ошибке прочитай |
|||
13
Bli3world
17.06.14
✎
19:58
|
во
Процедура ВедомостьДисциплинаПриИзменении(Элемент) СтрокаТабличнойЧасти = ЭлементыФормы.Ведомость.ТекущиеДанные; СтрокаТабличнойЧасти.СреднийБаллГруппы = Документы.УспеваемостьГруппа.НайтиПоРеквизиту("СреднийБалл",Документы.УспеваемостьГруппа.СреднийБалл); НаименовДисциплины = СтрокаТабличнойЧасти.Дисциплина; СтрокаТабличнойЧасти.СреднийБаллГруппы = ВозвратДисциплины(НаименовДисциплины); КонецПроцедуры {Документ.УспеваемостьПоФакультету1.Форма.ФормаДокумента(4)}: Поле объекта не обнаружено (СреднийБалл) СтрокаТабличнойЧасти.СреднийБаллГруппы = Документы.УспеваемостьГруппа.НайтиПоРеквизиту("СреднийБалл",Документы.УспеваемостьГруппа.СреднийБалл); Где он это поле не может найти? я этого не понимаю |
|||
14
Irbis
17.06.14
✎
20:02
|
Это тоже написано, в строке 4
|
|||
15
Bli3world
17.06.14
✎
20:05
|
Эт вижу что в 4 строке. А под объектом понимается док из которого этот реквизит вытаскивается или док в котором создается
|
|||
16
Irbis
17.06.14
✎
20:10
|
(15) Я могу сделать "удачное" предположение, но не буду. Поскольку в таком виде этот код не работоспособен. отладчик сам заглянешь, или у тебя урезанная поставка.
|
|||
17
Bli3world
17.06.14
✎
20:11
|
1С Предприятие 8.1 (Учебная версия).
|
|||
18
Irbis
17.06.14
✎
20:16
|
Отладчик есть? Посмотри тип у конструкции Документы.УспеваемостьГруппа.СреднийБалл
|
|||
19
VRednaia
17.06.14
✎
20:18
|
||||
20
Bli3world
17.06.14
✎
20:19
|
УспеваемостьГруппы.СреднийБалл тип число, длина 3, точность 2.
УспеваемостьПоФакультету1.СреднийБаллГруппы тип число, длина 3, точность 2. |
|||
21
Irbis
17.06.14
✎
20:21
|
(20) Неа, это твои инсинуации на тему "Что хотелось бы иметь", а что отладчик на такую конструкцию говорит.
|
|||
22
Bli3world
17.06.14
✎
20:25
|
это точно есть, сам ставил
|
|||
23
Irbis
17.06.14
✎
20:27
|
(22) Это и есть "инсинуации", а господин Де Баггер что по этому повод говорит?
|
|||
24
Bli3world
17.06.14
✎
20:30
|
отладчик эт который с точками останова?
|
|||
25
Irbis
17.06.14
✎
20:31
|
(24) Ну хотя бы этот.
|
|||
26
Bli3world
17.06.14
✎
20:34
|
желтую стрелку кидает на 4 строку и "Ошибка времени выполнения: {Документ.УспеваемостьПоФакультету1.Форма.ФормаДокумента(4)}: Поле объекта не обнаружено (СреднийБалл) в модуле Документ.УспеваемостьПоФакультету1.Форма.ФормаДокумента, строка 4"
|
|||
27
Irbis
17.06.14
✎
20:38
|
(26) Опять за рыбу деньги?
|
|||
28
Bli3world
17.06.14
✎
20:40
|
как тебе базу кинуть? я в этом 1с дуб дубом, а на практику требуют эту фигню
|
|||
29
Irbis
17.06.14
✎
20:43
|
Не надо в меня базой кидать! Лучше учись, студент. А то всю жизнь контейнером для сетевых пакетов в флоппинет работать будешь.
|
|||
30
H A D G E H O G s
17.06.14
✎
20:44
|
(0) Лобанов, это ты штоле?
|
|||
31
Bli3world
17.06.14
✎
20:45
|
дык елы палы. вот тольк эта байда и не получается. третий день бьюсь
|
|||
32
Bli3world
17.06.14
✎
20:46
|
(30) Допустим. а ты кто?
|
|||
33
Irbis
17.06.14
✎
20:46
|
(31) Не есть, пока не сделаешь пробовал? Очень даже в твоём случае помогает, прямо таки просветляет мозги.
|
|||
34
Bli3world
17.06.14
✎
20:47
|
(33) пробовал. с утра кофе и во время рвания волос лимонад
|
|||
35
Irbis
17.06.14
✎
20:49
|
(34) Вот с этой минуты не ешь и не пей ока эту фигню не сделаешь. Через три-четыре дня все окажется просто, как три рубля после стирки.
|
|||
36
Bli3world
17.06.14
✎
20:50
|
злые вы, уйду от вас
|
|||
37
Мигало
17.06.14
✎
20:52
|
Так тебе и надо
|
|||
38
Irbis
17.06.14
✎
20:52
|
(36) В толпе друг друга мы узнали,
Сошлись и разойдемся вновь. Была без радостей любовь, Разлука будет без печали |
|||
39
фобка
17.06.14
✎
20:59
|
Сформулируй вопрос. В течении 1 минуты отвечу
|
|||
40
Bli3world
17.06.14
✎
21:06
|
(39) как вставить значение реквизита из док1 в поле док2 при изменении поля выбора в табчасти док2?
|
|||
41
H A D G E H O G s
17.06.14
✎
21:09
|
(32) Я тебя видел в Интернах.
|
|||
42
фобка
17.06.14
✎
21:09
|
(40) сложноватая формулировка...
ты все делаешь правильно почти, только "ТекущиеДанные" тебе дадут название элементов на форме, а не в табличной части объекта |
|||
43
фобка
17.06.14
✎
21:11
|
+42 все очень просто проверяется, поставь точку останова здесь "СтрокаТабличнойЧасти.СреднийБалл = " и посомтри отладчиком какие доступные поля у тебя есть для "СтрокаТабличнойЧасти"
|
|||
44
фобка
17.06.14
✎
21:15
|
>Документы.УспеваемостьГруппа.НайтиПоРеквизиту("СреднийБалл"
Это реквизит шапки? |
|||
45
фобка
17.06.14
✎
21:16
|
вот эту строку удаляем
СтрокаТабличнойЧасти.СреднийБалл = Документы.УспеваемостьГруппа.НайтиПоРеквизиту("СреднийБалл",Документы.УспеваемостьГруппа.СреднийБалл); |
|||
46
Bli3world
17.06.14
✎
21:17
|
||||
47
фобка
17.06.14
✎
21:22
|
алгоритм такой:
1. Ищем ссылку на документ из которого берем значения 2. СтрокаТабличнойЧасти = ЭлементыФормы.Ведомость.ТекущиеДанные; 3. НашаДисциплина = СтрокаТабличнойЧасти.Дисциплина; 4. Ищем НашаДисциплина в табличной части Док1: МассивСтрок = Док1.ТЧДока1.НайтиСтроки(Новый Структура("Дисциплина", НашаДисциплина )); Если МассивСтрок.Количество() = 0 Тогда Сообщить("В док1 нет такой дисциплины"); Возврат; КонецЕсли; 5. Если нашли СтрокаТабличнойЧасти.СреднийБалл = МассивСтрок [0].СреднийБалл 6. Всё |
|||
48
Irbis
17.06.14
✎
21:23
|
(47) А если в массиве строк окажется больше одной?
|
|||
49
фобка
17.06.14
✎
21:25
|
(48) это никого не волнует, берем первую. Учет тонкостей для этого примера не нужен
|
|||
50
фобка
17.06.14
✎
21:27
|
да, это можно всё на запросах сделать. Но если уже есть ссылка на Док1, то вариант с запросами, как тут сверху кто-то писал, для чудиков
|
|||
51
фобка
17.06.14
✎
21:29
|
запрос нужен только для поиска Док1
|
|||
52
фобка
17.06.14
✎
21:54
|
коррект по скрину:
47 - 17.06.14 - 21:22 алгоритм такой: 1. СтрокаТабличнойЧасти = ЭлементыФормы.Ведомость.ТекущиеДанные; 2. НашаДисциплина = СтрокаТабличнойЧасти.Дисциплина; 3. ТекстЗапроса = "Выбрать Док1.СреднийБал СреднийБал Из Документ.УспеваемостьГруппа как Док1 Где Док1.Дисциплина = &Дисциплина и Док1.Семестр = &Семестр"; Запрос = Новый Запрос(ТЕкстЗапроса); Запрос.Параметры.Вставить("Семестр", Объект.Семестр); Запрос.Параметры.Вставить("Дисциплина ", НашаДисциплина); //тут еще параметры, например факультет и еще чтото для идентификации Результат = Запрос.Выполнить().Выбрать(); 4. Если Не Результат.Следующий() Тогда Сообщить("Не нашел Док1"); Возврат; КонецЕсли; СтрокаТабличнойЧасти.СреднийБалл = Результат.СреднийБал; 5. Всё |
|||
53
Bli3world
17.06.14
✎
22:14
|
(52) Спасибо огроменное!!! очень выручил
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |