|
Как получить реквизиты и строки табличной части из "другого" документа в запросе | ☑ | ||
---|---|---|---|---|
0
FrostBite101
12.04.20
✎
11:08
|
Документ исправление оценок, в нем есть реквизит ДОКУМЕНТ ( Выставление оценок) надо при движении считать реквизиты и строки табличной части из документы Выставление оценок, и соответственно заполнить строки в регистре ( Студент, группа) . Но как? Я попытался сделать, но в цикл даже не входит...
Процедура ОбработкаПроведения(Отказ, Режим) Движения.Оценки.Записывать = Истина; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Посещение.Ссылка, | ПосещениеСтуденты.ФИО, | ПосещениеСтуденты.Оценка, | Посещение.Подгруппа |ИЗ | Документ.Посещение.Студенты КАК ПосещениеСтуденты | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Посещение КАК Посещение | ПО ПосещениеСтуденты.Ссылка = Посещение.Ссылка |ГДЕ | Посещение.Ссылка = &ДокументСсылка | И ПосещениеСтуденты.ФИО = &СтудентСсылка"; Запрос.УстановитьПараметр("ДокументСсылка", Документ); //реквизит документ Запрос.УстановитьПараметр("СтудентСсылка", Студент); // реквизит студент РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Движение = Движения.Оценки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Студент = ВыборкаДетальныеЗаписи.Студент; Движение.Подгруппа =ВыборкаДетальныеЗаписи.Подгруппа; Движение.Оценка = ВыборкаДетальныеЗаписи.СтараяОценка; Движение = Движения.Оценки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Студент = ВыборкаДетальныеЗаписи.Студент; Движение.Подгруппа =ВыборкаДетальныеЗаписи.Подгруппа; Движение.Оценка = НоваяОценка; КонецЦикла; |
|||
1
FrostBite101
12.04.20
✎
11:12
|
{Документ.ИсправлениеОценки.МодульОбъекта(33)}: Поле объекта не обнаружено (Студент)
Движение.Студент = ВыборкаДетальныеЗаписи.Студент; |
|||
2
ДенисЧ
12.04.20
✎
11:13
|
А если
Движение.Студент = ВыборкаДетальныеЗаписи.ФИО ? |
|||
3
RomanYS
12.04.20
✎
11:14
|
(1) В запросе у тебя "ФИО", а не "студент".
В (0) ПосещениеСтуденты.ФИО = &СтудентСсылка Обычно в ФИО строку пишут, а не ссылку |
|||
4
H A D G E H O G s
12.04.20
✎
11:19
|
Весело у вас там, если вы на остаточном регистре ведёте оценки.
|
|||
5
vicof
12.04.20
✎
11:21
|
Следующая ошибка Поле объекта не обнаружено (СтараяОценка)
|
|||
6
H A D G E H O G s
12.04.20
✎
11:23
|
сложна...
|
|||
7
FrostBite101
12.04.20
✎
11:27
|
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.Оценки.Записывать = Истина; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Посещение.Ссылка, | ПосещениеСтуденты.Студент, | ПосещениеСтуденты.Оценка, | Посещение.Подгруппа |ИЗ | Документ.Посещение.Студенты КАК ПосещениеСтуденты | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Посещение КАК Посещение | ПО ПосещениеСтуденты.Ссылка = Посещение.Ссылка |ГДЕ | Посещение.Ссылка = &ДокументСсылка | И ПосещениеСтуденты.Студент = &СтудентСсылка"; Запрос.УстановитьПараметр("ДокументСсылка", Документ); //реквизит документ Запрос.УстановитьПараметр("СтудентСсылка", Студент); // реквизит студент РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Движение = Движения.Оценки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Студент = ВыборкаДетальныеЗаписи.Студет; Движение.Подгруппа =ВыборкаДетальныеЗаписи.Подгруппа; Движение.Оценка = ВыборкаДетальныеЗаписи.СтараяОценка; Движение = Движения.Оценки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Студент = ВыборкаДетальныеЗаписи.Студент; Движение.Подгруппа =ВыборкаДетальныеЗаписи.Подгруппа; Движение.Оценка = НоваяОценка; КонецЦикла; Доходит до Движение.Студент = ВыборкаДетальныеЗаписи.Студет; и вылетает из цикла. |
|||
8
FrostBite101
12.04.20
✎
11:31
|
Все поправил, но не работает...
Процедура ОбработкаПроведения(Отказ, Режим) Движения.Оценки.Записывать = Истина; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Посещение.Ссылка, | ПосещениеСтуденты.Студент КАК Студент, | ПосещениеСтуденты.Оценка КАК СтараяОценка, | Посещение.Подгруппа КАК Подгруппа |ИЗ | Документ.Посещение.Студенты КАК ПосещениеСтуденты | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Посещение КАК Посещение | ПО ПосещениеСтуденты.Ссылка = Посещение.Ссылка |ГДЕ | Посещение.Ссылка = &ДокументСсылка | И ПосещениеСтуденты.Студент = &СтудентСсылка"; Запрос.УстановитьПараметр("ДокументСсылка", Документ); //реквизит документ Запрос.УстановитьПараметр("СтудентСсылка", Студент); // реквизит студент РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Движение = Движения.Оценки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Студент = ВыборкаДетальныеЗаписи.Студент; Движение.Подгруппа =ВыборкаДетальныеЗаписи.Подгруппа; Движение.Оценка = ВыборкаДетальныеЗаписи.СтараяОценка; Движение = Движения.Оценки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Студент = ВыборкаДетальныеЗаписи.Студент; Движение.Подгруппа =ВыборкаДетальныеЗаписи.Подгруппа; Движение.Оценка = НоваяОценка; КонецЦикла; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры |
|||
9
FrostBite101
12.04.20
✎
11:40
|
Исправил, все работает, может кому понадобиться... А ведутся оценки так, потому что каждый преподователь сам выбирает систему оценок, 5 бальная, 100 бальная , 100 бальная + посещение, и т.д, кароче, мы глупые студенты, что можем то и пишем))))
|
|||
10
FrostBite101
12.04.20
✎
11:40
|
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.Оценки.Записывать = Истина; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Посещение.Ссылка, | ПосещениеСтуденты.Студент КАК Студент, | ПосещениеСтуденты.Оценка КАК СтараяОценка, | Посещение.Подгруппа КАК Подгруппа |ИЗ | Документ.Посещение.Студенты КАК ПосещениеСтуденты | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Посещение КАК Посещение | ПО ПосещениеСтуденты.Ссылка = Посещение.Ссылка |ГДЕ | Посещение.Ссылка = &ДокументСсылка | И Студент = &СтудентСсылка"; Запрос.УстановитьПараметр("ДокументСсылка", Документ); //реквизит документ Запрос.УстановитьПараметр("СтудентСсылка", Студент); // реквизит студент РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Движение = Движения.Оценки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Студент = ВыборкаДетальныеЗаписи.Студент; Движение.Подгруппа =ВыборкаДетальныеЗаписи.Подгруппа; Движение.Оценка = ВыборкаДетальныеЗаписи.СтараяОценка; Движение = Движения.Оценки.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период = Дата; Движение.Студент = ВыборкаДетальныеЗаписи.Студент; Движение.Подгруппа =ВыборкаДетальныеЗаписи.Подгруппа; Движение.Оценка = НоваяОценка; КонецЦикла; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |