|
помогите придумать алгоритм выборки | ☑ | ||
---|---|---|---|---|
0
rchervak
29.04.15
✎
21:20
|
всем добрый вечер.
никак не могу сделать следующее: есть два одинаковых по структуре документа: график дежурств и изменение графика дежурств. график дежурств обязательный к заполнению. изменение графика нет. если создается изменение - то в него записываются все записи из графика + изменения. оба пишут в регистр сведений записи: сотрудник, дата дежурства итд. задача выбрать записи по сл. принципу: если в месяце есть документ Изменение графика - то выбрать записи только его, если изменений не было - то записи из Графика дежурст. В выборке получается надо в параметрах регистра сведений указать этот отбор. если сделать вот так: регистр ссылка Документ.ИзменениеГрафика то выберутся только записи из изменения графика. а как сюда добавить еще записи из графиков дежурств по которым не было изменений? |
|||
1
User_Agronom
29.04.15
✎
21:24
|
(0) Регистр периодический? Срез последних не поможет?
|
|||
2
rchervak
29.04.15
✎
21:28
|
да регистр периодический. и да. использую срез последних.
но тут такая загвоздка. Например Сотрудник Иванов в графике должен дежурить 10 мая Запись создалась Иванов 10 мая Далее переиграли и 10 мая дежурит Петров Запись: Петров 10 мая В итоге в Срезе последних: Запись: Петров 10 мая Но вот загвоздка - бывает что никто не дежурит 10 мая. тога я получаю в срезе: Иванов 10 мая а мне надо получить пусто. |
|||
3
rchervak
29.04.15
✎
21:29
|
поэтому я и хочу разграничить отбор по документам с условием- чтобы если было изменение - он мне ничего не тянул из графика. так как он не актуальный теперь
|
|||
4
User_Agronom
29.04.15
✎
21:33
|
Т.е. изменения графика не только назначают другого человека, но и снимают назначенного ранее. Т.е. могут оставить в графике пустое место?
|
|||
5
rchervak
29.04.15
✎
21:35
|
Да. подставляют вместо Сотрудника - пустое значение.
|
|||
6
rchervak
29.04.15
✎
21:36
|
либо корректируют.
могут добавить записи. в общем как Изменение создается - по сути Движения графика больше не актуальны. |
|||
7
User_Agronom
29.04.15
✎
21:40
|
(6) Наверняка нетленка какая-нибудь. А просто последний документ по дате из этих двух ковырнуть? Похоже он один будет отражать истинную ситуацию (если даже пустыми строками перекрывает назначенные смены)
|
|||
8
rchervak
29.04.15
✎
21:41
|
есть конечно вариант - заставлять в любом случае создавать Изменение графика. он заполняется автоматически при создании, на основании графика . И отбирать записи только по документу - ИзменениеГрафика. но это уже последний вариант. если не придумаю как отобрать
|
|||
9
User_Agronom
29.04.15
✎
21:43
|
(8) Выбрать
Ссылка, Дата поместить ОбщийСписок из Документы.График объединить все Выбрать Ссылка, Дата из Документы.ИзменениеГрафика ; Выбрать Ссылка, дата из ОбщийСписок упорядочить по дата убыв И бери первый найденный. Не? |
|||
10
rchervak
29.04.15
✎
21:44
|
ща попробую
|
|||
11
Garykom
гуру
29.04.15
✎
21:49
|
(2) а слабо в этом случае перекрыть иванова изменением графика?
т.е. документ "изменение графика" должен все записи из исходного "графика дежурств" переписывать либо на те же самые либо на другие как отражать/показывать это и вводить в "изменении графика" на ваше усмотрение, моя бы таблицу полностью из "графика дежурств" дергать и измененные записи показывать да еще предусмотреть "изменение графика" другим "изменением графика" )) |
|||
12
rchervak
29.04.15
✎
21:52
|
(11)да кстати. правильно написали. Бывает несколько изменений.
|
|||
13
rchervak
29.04.15
✎
22:40
|
а если такой вариант:
Указать в отборе -Регистратор В(&СпискоДокументов) а этот список формировать программно. перед выполнение запроса. только не знаю возможно ли такое? и как это реализовать |
|||
14
rchervak
29.04.15
✎
22:41
|
просто отчет на скд.
|
|||
15
rchervak
29.04.15
✎
22:42
|
программно с выводом в макет я бы уже сделал.
но блин хочется на скд |
|||
16
Garykom
гуру
29.04.15
✎
22:45
|
Вообщем добавь в регистру еще дату окончания действия изменения, причем ведущим
Т.е. любое изменение графика оно же "временное" в отличие от "графика дежурств" |
|||
17
User_Agronom
29.04.15
✎
23:00
|
(13) Массив и передавай в параметры СКД
|
|||
18
RomanYS
30.04.15
✎
00:35
|
(0) добавь дату измерением, а период используй как дату регистрации изменений, тогда срез будет давать актуальные данные
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |