Автор Тема: Задача 1.40  (Прочитано 13335 раз)

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

jonik

  • Проверенный
  • ***
  • Сообщений: 135
Re: Задача 1.40
« Ответ #30 : Март 26, 2018, 02:08:50 pm »
Всем привет. Задача зубодробительная это точно :o. Достаточно большой полет для фантазии (в плане реализации). Для решения принял несколько условий:
1) Курс не прерывается в рабочие дни
2) Начало и конец курса (в документе Расписание) устанавливается пользователем и строго по графику: пользователь сам считает количество рабочих дней.
Регистр ГрафикРаботы заполняется обработкой (переделал форму и код для упрощения). 2 справочника  - Курсы(реквизит Длительность) и Классы(реквизит Вместимость), 2 документа, 1 оборотный регистр. Проверку на пересечение в расписании делаю в процедуре ПриЗаписи. Отчет не совсем идентичен книжному, но только в таком виде можно правильно вычислить ПроцентПоПосещению - делаю это в СКД ч\з ВычислитьВыражениеСГруппировкойМассив().
Подкорректировал
« Последнее редактирование: Март 27, 2018, 02:51:39 pm от jonik »

grigoriy-1c

  • Новичок
  • *
  • Сообщений: 4
Re: Задача 1.40
« Ответ #31 : Ноябрь 24, 2019, 11:27:08 pm »
Я решил на одном регистре накопления с видом Остатки(Измерения: Дата, Класс, Курс, ресурс Количество). Т.е., грубо говоря, задача рассматривается как складская, документ Расписание делает приход (количество человек в классе), документ Заявка делает расход 1 штука (Справочник Слушатели не использую).
Дата сделана измерением, т.к. нужно в разрезе ее смотреть, сколько осталось слушателей. Отчет по этому регистру также достаточно нетрудно сделать.
Однако, для экзамена эта задача слишком трудна - часа 2 уйдет точно.
Сделал чисто ради интереса на 1-м регистре, но это некорректно с точки зрения экзамена,т.к. регистр никогда не выведется в 0 (классы обычно не заполнены полностью).
Думаю, правильно делать 1 регистр сведений для расписания, 1 оборотный регистр для заявок.
« Последнее редактирование: Ноябрь 24, 2019, 11:44:16 pm от grigoriy-1c »


grigoriy-1c

  • Новичок
  • *
  • Сообщений: 4
Re: Задача 1.40
« Ответ #32 : Ноябрь 25, 2019, 02:20:28 am »
Сделал также на двух регистрах сведений.
Регистр Расписание (периодический, измерение класс, ресурс курс), Регистр Заявки (периодический, измерения курс, класс, заявка, ресурсов нет). Но все равно меньше 2-х часов никак не выходит, много писать + отладка.

Вместо РС Заявки можно было бы использовать подобный РН с видом Обороты (Измерения Курс, Класс, Ресурс Количество - всегда 1). Пожалуй, это самый оптимальный вариант с ТЗ производительности. Во всяком, случае, я лучше не нашел.
« Последнее редактирование: Ноябрь 25, 2019, 02:34:39 am от grigoriy-1c »

Антон Петров

  • Новичок
  • *
  • Сообщений: 1
Re: Задача 1.40
« Ответ #33 : Февраль 18, 2020, 03:33:11 pm »
Один из самых дурацких отчетов