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

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

provincial_1с

  • Новичок
  • *
  • Сообщений: 8
  • ФИО: Сергей
Задача 1.40
« : Октябрь 11, 2010, 10:02:55 am »
Кто решил?

RAINman

  • Пользователь
  • **
  • Сообщений: 15
  • ФИО: Павлов Вадим Александрович
Задача 1.40
« Ответ #1 : Ноябрь 24, 2010, 10:11:55 am »
Стремная задача


trantor

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Trantor
Задача 1.40
« Ответ #2 : Ноябрь 25, 2010, 03:20:45 pm »
Вот решение.

Добавлено (25.11.2010, 15:20)
---------------------------------------------
Может будут баги, особо не тестировал, но концепция должна подойти.

В РН УчетОбучения можно удалить измерение "день" и использовать стандартный "период", так будет оптимальней.


Вложения:
1_40.dt

1C_CoderVamp

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Василий
Задача 1.40
« Ответ #3 : Ноябрь 25, 2010, 04:55:24 pm »
trantor,
 Особо-то прицепиться не к чему smile
 Из выявленного:
 1) Измерение "День" не нужно, вполне подойдет стандартное поле "Период"
 2) В документе "Расписание" запросы дважды обращаются к ТЧ документа, нужно использовать Менеджер временных таблиц
 3) В документе "Заявка" не установлены параметры виртуальной таблицы по "Курсу" - на экзамене к этому точно придерутся, еще хорошо бы добавить условие отбора по "Периоду" все в тех-же параметрах
 4) В целом много упущений по оптимальности, в том же регистре накопления ни одно поле не индексируется...

Идея сама по себе хороша, но надо учиться писать короче и оптимальнее, для сравнения:
 Плохо -
 

Quote
    Выборка = Запрос.Выполнить().Выбрать();
     Пока Выборка.Следующий() Цикл
        
        Движение = Движения.УчетОбучения.Добавить();
       Движение.Период = Выборка.Дата;
       Движение.День    = Выборка.Дата;
       Движение.Класс    = Выборка.Класс;
       Движение.Курс    = Выборка.Курс;
       Движение.План    = Выборка.Класс.Вместимость;
    
     КонецЦикла;

 Хорошо -
 
Quote
Движения.УчетОбучения.Загрузить(Запрос.Выполнить().Выгрузить());

 Только предварительно нужно задать правильные псевдонимы в запросе.

trantor

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Trantor
Задача 1.40
« Ответ #4 : Ноябрь 25, 2010, 05:11:54 pm »
1C_CoderVamp,
 Согласен,
 по п.2 просто сначало написал без использования графика работы, не было запроса, но когда понял что в отчете он понадобится дописал новый запрос
 по п.3 тоже согласен, уже под конец увидел, не стал дописывать...

по п.4 насколько принципиальна индексация в регистрах накопления и запросах?

Добавлено (25.11.2010, 17:11)
---------------------------------------------
Да кстати может если кому будет интересно в документе "Расписание" используется новая методика проведения, она так как раз подходит.


1C_CoderVamp

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Василий
Задача 1.40
« Ответ #5 : Ноябрь 25, 2010, 05:22:06 pm »
Quote (trantor)
по п.4 насколько принципиальна индексация в регистрах накопления и запросах?

 да, принципиальна, если я не ошибаюсь, это даже есть в общих требованиях (соответственно, балл снижается). Суть в том, что при наложении отбора или применении сортировки по неиндексируемым полям, запрос исполняется на порядок дольше.

rus

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Александр
Задача 1.40
« Ответ #6 : Январь 21, 2011, 07:25:20 am »
Мое решение
Вложения:
1Cv8.dt

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 1.40
« Ответ #7 : Август 24, 2011, 11:24:34 pm »
У задачи есть подводные камни .. Видимо начало и конец курсов лучше делать отдельными датами, а то проверка пересечения курсов затрудняется. Отчет достаточно сложный, неявный .. Структуру регистров хотелось обсудить с коллегами, кто решал задачу!
Вложения:
DoctorRoza_1_40.dt

Алекксандра

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Eska
Задача 1.40
« Ответ #8 : Сентябрь 18, 2011, 02:56:38 pm »
Привет! Посмотрите!
Вложения:
1-40.dt

Para_1987

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Вячеслав
Задача 1.40
« Ответ #9 : Сентябрь 19, 2011, 02:06:20 pm »
Quote (Алекксандра)
Привет! Посмотрите!


 Не знаю что имели ввиду составители задачи, но:
 1. решение д.б в режиме управляемого приложения.
 2. Документ Заявка, должен содержать в себе Слушателя, курс и срок, например 5 дней (ну 5 дней он хочет походить к нам на курсы)
 3. Движения.УчетРасписания.Очистить();
 Движения.УчетРасписания.Записать();

 Это уж точно лишнее, достаточно последней строки, записать пустой набор движений.

 Перепроверьте все еще раз smile

 а вообще задачка интересная, разминает мозг)))
« Последнее редактирование: Сентябрь 19, 2011, 03:15:33 pm от Вячеслав »

Алекксандра

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Eska
Задача 1.40
« Ответ #10 : Сентябрь 21, 2011, 04:40:50 pm »
Спасибо за ответ! буду исправлять.

Добавлено (21.09.2011, 16:40)
---------------------------------------------
ще раз здравствуйте! Хотела спроситть, как поняла: т.е. в заявке надо слушателя(ФИО). Если так, то для кокой цели?
 Или можно количество слушателей проставить (числом как есть)?


LEOON

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Верютин Сергей
Задача 1.40
« Ответ #11 : Октябрь 06, 2011, 01:58:25 am »
Честно говоря, как уже писалось выше, мутное задание. Решил и вроде бы все условия соблюдены, но с точки зрения разумности того что происходит вышел полные кавардак.
 1. У меня расписание - РС с измерением класс и ресурсом курс(вытекает из условия), для каждого дня в периоде делаю запись. Типа есть запись в периоде класс занят.
 2. Заполнение в РН делаю так же(запись по каждому дню, складываю еденички).
 Но к примеру, не поясняется как контролировать рамки курса(т.е по принципу вместимости человек может попасть со 2-го дня в одном классе на 1-ый день в другом ).
 Так же ничего не сказано про то как должен подбираться курс(в документ).
 В общем решил и забыл.

Para_1987

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Вячеслав
Задача 1.40
« Ответ #12 : Ноябрь 21, 2011, 02:37:30 pm »
Клевая задача, хитрая и в тоже время вроде бы простая. Решил, выкладываю на критику.
 РС: Расписание
 РН: ЗанятостьКлассов. (оборотный)

 Все условия соблюдены + проверки на занятость класса, выходных дней, на существование вообще расписания на день заявки по указанному курсу. Единственное, возможно с отчетом намудрил, хотя правильно работает.
Вложения:
Para_1987_1.40.dt

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.40
« Ответ #13 : Декабрь 14, 2011, 08:58:24 am »
При чтении задачи сложилась впечатление что не хватает показателей для полного учета.
 Я думаю что в учете должна участвовать информация о конкретной группе
 Например
 Класс №1 Групп№1 01.10.11 по 12.10.11 по Бухгалтерскому учету
 Класс №1 Групп№2 15.10.11 по 25.10.11 по Бухгалтерскому учету

 Группы - нужно назначать программно(группы создаются в пределах месяца (Расписания)) и заполняемость классов отслеживать по группам

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 1.40
« Ответ #14 : Декабрь 16, 2011, 07:35:51 am »
Такой вариант решения
Вложения:
kow1976_1.40.dt