Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Классный журнал в 1с

Классный журнал в 1с
Я
   Nzzzz
 
02.04.21 - 11:35
Всем здравствуйте! Нужно сделать в 1с классный журнал. Идея такая: документ "Оценки за день" - ставятся оценки за каждый день по определенным предметам. В документе "Оценки за четверть". Хотелось бы по конкретному ученику получить все оценки и предметы, ну и рассчитать средний балл. Средний балл рассчитывается так: количество пятерок *5, количество четверок*4, количество троек*3, все это сложить и разделить на количество оценок по предмету.
Вот у меня не получается это реализовать. Из документа "Оценки за день" тащу по конкретному ученику запросом все оценки и предметы, а дальше всё, ступор: как их объединить, как средний балл сосчитать..Делал запросом так, но когда суммирую поля выборки не считает ничего:
ВЫБРАТЬ
    ОценкиЗаДеньПредметы.Предмет КАК Предмет,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 5
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 5
    КОНЕЦ КАК КоличествоПятерок,
    ОценкиЗаДеньПредметы.Присутствовал КАК Присутствовал,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 4
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 4
    КОНЕЦ КАК КоличествоЧетверок,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 3
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 3
    КОНЕЦ КАК КоличествоТроек,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 5
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 5
    КОНЕЦ + ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 4
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 4
    КОНЕЦ + ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 3
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 3
    КОНЕЦ КАК Поле1
ИЗ
    Документ.ОценкиЗаДень.Предметы КАК ОценкиЗаДеньПредметы
ГДЕ
    ОценкиЗаДеньПредметы.Ссылка.Ученик = &Ученик

СГРУППИРОВАТЬ ПО
    ОценкиЗаДеньПредметы.Предмет,
    ОценкиЗаДеньПредметы.Присутствовал,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 5
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 5
    КОНЕЦ,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 4
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 4
    КОНЕЦ,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 3
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 3
    КОНЕЦ,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 5
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 5
    КОНЕЦ + ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 4
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 4
    КОНЕЦ + ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 3
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 3
    КОНЕЦ
   Nzzzz
 
1 - 02.04.21 - 11:36
(0) Вот без группировки:
ВЫБРАТЬ
    ОценкиЗаДеньПредметы.Предмет КАК Предмет,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 5
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 5
    КОНЕЦ КАК КоличествоПятерок,
    ОценкиЗаДеньПредметы.Присутствовал КАК Присутствовал,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 4
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 4
    КОНЕЦ КАК КоличествоЧетверок,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 3
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 3
    КОНЕЦ КАК КоличествоТроек,
    ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 5
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 5
    КОНЕЦ + ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 4
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 4
    КОНЕЦ + ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 3
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 3
    КОНЕЦ КАК Поле1
ИЗ
    Документ.ОценкиЗаДень.Предметы КАК ОценкиЗаДеньПредметы
ГДЕ
    ОценкиЗаДеньПредметы.Ссылка.Ученик = &Ученик
   Волшебник
 
2 - 02.04.21 - 11:36
А теперь переходим на 100-балльную систему...
   Krendel
 
3 - 02.04.21 - 11:37
(2) Вообще не важно, он не может спроектировать складской учет, где есть склад (предмет) и номенклатура (ученик)
   dka80
 
4 - 02.04.21 - 11:37
А еще у каждой оценки есть вес. Т.е. за обычную работу на уроке просто 4 во второй степени (у нас), а за контрольную в третей или даже в четвертой.
   Волшебник
 
5 - 02.04.21 - 11:39
(3) Лучше наоборот. Ученик — это склад знаний (предметов).
   Михаил Козлов
 
6 - 02.04.21 - 11:40
ВЫБОР
        КОГДА ОценкиЗаДеньПредметы.Оценка = 5
            ТОГДА ОценкиЗаДеньПредметы.Оценка * 5
    КОНЕЦ КАК КоличествоПятерок
Получите 25. Чтобы получить средний бал достаточно в итогах получить среднее.
   Ненавижу 1С
 
7 - 02.04.21 - 11:43
(3) (5) какие остатки по оценкам могут быть?
здесь нужен оборотный регистр
   Garykom
 
8 - 02.04.21 - 11:43
(0) оценку делай не за день а за предмет
т.е. убери ТЧ и все в шапке (ученик, учитель, предмет, оценка)
   fisher
 
9 - 02.04.21 - 11:43
ВЫБРАТЬ
    ОценкиЗаДеньПредметы.Предмет,
    СРЕДНЕЕ(ОценкиЗаДеньПредметы.Оценка) КАК СредняяОцента
ИЗ
    Документ.ОценкиЗаДень.Предметы КАК ОценкиЗаДеньПредметы
ГДЕ
    ОценкиЗаДеньПредметы.Ссылка.Ученик = &Ученик

СГРУППИРОВАТЬ ПО
    ОценкиЗаДеньПредметы.Предмет
   Garykom
 
10 - 02.04.21 - 11:43
(7) среднюю можно автоматом считать ))
   Волшебник
 
11 - 02.04.21 - 11:44
(7) Можно накапливать часы посещения (выполнение учебного плана).
   Ненавижу 1С
 
12 - 02.04.21 - 11:45
(11) опять лучше обороты использовать, как план/факт по продажам
   Ненавижу 1С
 
13 - 02.04.21 - 11:45
(10) и в оборотах не хуже считается
   Garykom
 
14 - 02.04.21 - 11:45
профдеформация по всей красе
   Garykom
 
15 - 02.04.21 - 11:46
Придумайте как указывать № урока или его время?
   Волшебник
 
16 - 02.04.21 - 11:46
(12) Но ведь что-то остаётся. Концепция "Ученик как склад знаний" имеет право на жизнь.
   Krendel
 
17 - 02.04.21 - 11:47
(15) Серия
   Garykom
 
18 - 02.04.21 - 11:47
(16) Утряска/усушка
   fisher
 
19 - 02.04.21 - 11:47
Не вижу никакого смысла в регистре оборотов тут.
   Garykom
 
20 - 02.04.21 - 11:47
(19) имхо РС по уму
   Волшебник
 
21 - 02.04.21 - 11:47
(18) Это забывчивость.
   Krendel
 
22 - 02.04.21 - 11:47
(16) Да, позволяет оценить среднюю оценку за количество часов, и сделать прямую параллель
   Garykom
 
23 - 02.04.21 - 11:48
(21) А инвентаризация как?
   Ненавижу 1С
 
24 - 02.04.21 - 11:48
(16) (22) все это на оборотном делается точно также
   Krendel
 
25 - 02.04.21 - 11:48
(14) Это не проф деформация, это бесплатное проектирование за 5 минут занятия моска, не нравится, нанимаешь аналитика и го в ТЗ
   Krendel
 
26 - 02.04.21 - 11:49
(23) Контрольная
   Krendel
 
27 - 02.04.21 - 11:49
Корректирую средний себес по месяцу
   Ненавижу 1С
 
28 - 02.04.21 - 11:49
(19) (20) я не против
   Krendel
 
29 - 02.04.21 - 11:51
(24) Мне все равно ;-)
   fisher
 
30 - 02.04.21 - 11:51
(20) Сомневаюсь, что оно сможет вырасти до таких объемов, что может потребоваться хоть какая-то оптимизация. А ежели вырастет - достаточно индексов в документ насыпать.
 
 
   Krendel
 
31 - 02.04.21 - 11:51
доверюсь "Специалистам"
   Garykom
 
32 - 02.04.21 - 11:52
(26) Это не инвентаризация а выборочный аудит
   Ненавижу 1С
 
33 - 02.04.21 - 11:53
(32) раскрой отличия
   Nzzzz
 
34 - 02.04.21 - 11:54
(9) А что так можно было? Я думал что среднее тут в запросе считается так (сложить все оценки)/на количество оценок всего.
То есть есть математика оценки 5,5/2 = 2,5
   fisher
 
35 - 02.04.21 - 11:55
(34) А если с калькулятором? :)
   Nzzzz
 
36 - 02.04.21 - 11:55
А как вот например получить все оценки по предметам?
То есть сгруппировать предметы, но оценки не группировать?
Отчет такой:
Математика: 5,5,4,5
ИЗО: 5,3,4,5
   Krendel
 
37 - 02.04.21 - 11:56
(36) Извини, ты кем работаешь?
   Garykom
 
38 - 02.04.21 - 11:58
(33) Предмет состоит из тем и понимание (оценка изучения) каждой темы разная
Контрольная проверяет не все темы - это как на складе не сплошную инвентаризацию делать а выборочно пару ячеек или позиций номенклатуры проверить
   Nzzzz
 
39 - 02.04.21 - 11:59
(37) Не, ну серьезно. Получаю предметы и оценки. Группирую по предметам, а с оценкой то что делать??))
   Krendel
 
40 - 02.04.21 - 12:00
(38) Задачу поставь тогда нормально, чтобы начать проектирование системы, определи цели, задачи, отчетные формы
   Krendel
 
41 - 02.04.21 - 12:00
Что мне тебя учить надо
   Krendel
 
42 - 02.04.21 - 12:00
(39) Это серьезный вопрос
   fisher
 
43 - 02.04.21 - 12:01
(39) Тоже группируешь. Если других детализаций нет, то и группировать не надо. Будет задача только представления данных оценок в одной строке. Это решается либо при обходе результата запроса, либо в СКД есть готовые функции.
   Builder
 
44 - 02.04.21 - 12:03
Это какая то тестовая задача?
Или реальная в реальной школе? Тогда все очень печально.....
   fisher
 
45 - 02.04.21 - 12:03
Чтобы не сгруппировались оценки по нескольким дням, ессно и по документу надо группировать.
   Nzzzz
 
46 - 02.04.21 - 12:05
(45) Если по документу группирую, то предметы не группируются, т.к. документы не группируются.
   fisher
 
47 - 02.04.21 - 12:14
(46) Чтобы в результате получилось одна строчка на каждый предмет с перечнем всех оценок в колонках - такое в запросе сделать не получится (вернее, можно, но через задницу). Такого рода транспонирование принято делать постобработкой.
   МимохожийОднако
 
48 - 02.04.21 - 12:16
Начинать надо с описания тех.задания и возможной структуры объектов конфигурации 
Например.Учет оценок
Регистратор. Документ "Урок".Шапка: Предмет, ТЧ: Ученик, Оценка, ЗаЧто.
Регистр накопления Измерения: Предмет, Ученик,ЗаЧто. Ресурс: Оценка
   fisher
 
49 - 02.04.21 - 12:17
(47) + Ну и как уже говорил - СКД такое умеет (через неявную постобработку).
   Nzzzz
 
50 - 02.04.21 - 15:37
(40) «Формирование классного журнала в школе» - вот тема. Я придумал в документе просто выбирать предметы и оценки по конкретному ученику. Журнал то в 1С-ке никак больше не сделать..
   Nzzzz
 
51 - 02.04.21 - 16:02
(50) Подскажите кто нибудь, больше никак не сделать?
   Mikeware
 
52 - 02.04.21 - 16:04
(50) ты кто вообще? учитель? или студет с лабой?
   Mikeware
 
53 - 02.04.21 - 16:04
(51) есть куча способов.
   Mikeware
 
54 - 02.04.21 - 16:07
+ (53) но в любом случае все сводится в итоге к кортежу из 3 элементов.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.