Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 авг 2022, 00:00

Вычисления в документе

Автор 313Kerto42, 19 дек 2017, 20:29

0 Пользователей и 1 гость просматривают эту тему.

313Kerto42

В учебном заведении дали задание сделать Модуль в 1С "Деканат",но по сути в 1С занимались мало,по инструкции (Радченко).
Вопрос как в документе(вроде через модуль формы) сделать вычисляемое поле в котором будет отображаться Средний Балл ученика?

"Создать документ "Расчёт стипендии" каждого студента с учётом среднего балла по предметам (если средний балл более или равен 3.75,то стипендия начисляется).


313Kerto42

Пытался делать через цикл,чтобы суммировал Оценки,а потом делил на количество строк табличной части,но ругался на Неопределённую переменную

Конфигурация должна содержать три справочника:
1)Студенты(с табличной частью не менее 3 полей)
2)Предметы(иерархический справочник)
3)Факультет(с предопределённым элементом)
Каждый справочник должен иметь не менее 3 реквизитов.Элементов в каждом справочнике должно быть не менее 4.
Создать документ "Расчет стипендии" каждого студента с учетом среднего балла по предметам(если средний балл более или равен 3.75,то стипендия начисляется,если менее,то стипендия не начисляется)
Создать отчёт,отражающий стипендиальный фонд каждого факультета.

Добавлено: 19 дек 2017, 21:42


&НаКлиенте
Процедура СреднийБаллПриИзменении(Элемент)
Объект.СреднийБалл=Объект.Зачётка.Итог("Оценка")/Объект.Зачётка.Количество()

КонецПроцедуры

но в Реквизите документа он не выводит значение,поле остаётся пустым

Golickoff

А если указать руками, что средний балл равен 1, например, тогда меняется?
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

313Kerto42

Нет,не меняется,но я разобрался,я ставил событие ПриИзменении в реквизит,а не в событие документа и табличной части,всё поменял,всё работает,но остаётся вопрос как сделать,чтобы при получении среднего балла 3.75 и выше,он в реквизите Стипендия(Булево) ставил галочку,что студент получает стипендию и в реквизите РазмерСтипендии писалась сумма стипендии

AIFrame

Отправляем ТЧ.ТекущиеДанные (если изменяется значение строки) на сервер и там делаем с этой строкой все, что вздумается.

313Kerto42

Если Объект.СреднийБалл >= 3.75
Тогда Объект.СтипендияКВыплате =750.00
     КонецЕсли

в поле ТЧ Стипендия к выплате он пишет 10 000.00 вместо нужного 750.Что не так?

При создании новой записи в документе он ругается на Деление на 0,так как не будет заполненных полей в записи

313Kerto42

Как исправить или что сделать чтобы при выполнении условия средний балл >= 3.75 он устанавливал в поле РазмерСтипендии указанную цифру,А не 10 000?

AIFrame

РазмерСтипендии = ?(среднийбалл >= 3.75, указаннуюцифру, 10000);

313Kerto42


Мне нужно чтобы ещё записывал в поле таблицы

AIFrame

Ну так перебери строки таблицы в цикле или при выводе\изменении строки пересчитывай.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск