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

Расписание университета

Автор pyrkin_vanya, 20 дек 2009, 14:35

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

pyrkin_vanya

Всем привет. Как можно сделать так ,чтобы при выводе отчета вводишь ему любую дату и он выдает расписание которое уже вбито в документы. Дело в том что расписание в Универе идетт по 2 неделям. А потом опять повторяется. Помогите пожалуйста..

DDD


pyrkin_vanya


DDD

Поподробнее напишите, в чем конкретно затруднение? Что за отчет, что за документ?
Отчет - "Расписание", а документ тоже только расписание содержит? т.е 2 документа? Один на первую половину месяца, второй на вторую? И в зависимости от того в какой половине месяца находится дата, в отчет надо выводить расписание либо из первого документа либо из второго?

Slin

Прошу извинить меня, но телепатов здесь нет.
Была бы типовая конфигурация - еще куда ни шло.
Но полностью самописная, это что-то...
Отчет выводит расписание на один день?
Данные берутся непосредственно из документа или из регистра?
В любом случае, как организованы эти данные?
Я так представляю эту картину. Документом вбито расписание на 2 недели начиная с определенной даты. В отчете задается некая дата, на которую нужно знать расписание. Таким образом, проблема в определение конкретного дня из двух недель, соответствующего дате отчета.
Если не учитывать некоторые сложности типа выходных дней, праздников и т.п., решается относительно просто.
Но надо знать точно с чем имеем дело.



pyrkin_vanya

Есть документ Расписание. У этого документа есть 3 реквизита: ДеньНедели, НомерНедели, Группа. И табличная часть с реквизитами: НомерПары, Подгруппа, Предмет, ВидЗанятия,  Преподователь, Корпус, Аудитория. Вот еще для наглядности 2 скрина. Я думаю там все должно быть понятно. Соответственно дата документа-это дата заполнения этого документа. Также у меня есть отчет, где можно устанавливать отбор по Группа, НомерНедели, ДеньНедели. Соответственно НомеНедели-Первая или Вторая, а ДеньНедели, понедельник, вторник и т.д.А мне надо сделать так, что бы отбор был по дате. К примеру ввожу любую дату, и программа сама считает и выдает расписание на эту дату. Выпадет эта дата на понедельник или вторник или праздник. Как так сделать? Помогите пожалуйста.

Slin

хм... а как программа должна узнавать какой номер недели брать?
с днем недели проще:
НомерДняНедели = ДеньНедели(ТекущаяДата());

pyrkin_vanya

Ну они же повторяются. Вот и надо как то сделать так чтобы она считала это...Чтобы какой-нить цикл шел. Первая неделя, вторая, первая вторая и т.д.

Slin

Тебе нужен реквизит на уровне конфигурации, который будет хранить номер недели в году, с которой начинается первая неделя.

ТекущийНомерНедели = НеделяГода(ТекущаяДата);
Разница = ТекущийНомерНедели - СамыйПервыйНомерНедели;

Если (Разница % 2) = 0 Тогда
    <Используется первая неделя расписания>
Иначе
    <Используется вторая неделя расписания>
КонецЕсли

Примерно так.
Конечно, тут предполагается, что текущий номер недели всегда больше начального.
Недели нумеруются с 1.

pyrkin_vanya

Спасибо за код. Но я начинающий. Можно поподробнее написать...Где и как вводить все это.. Прошу прощения, если сильно туплю.

Теги:

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

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

Поиск