|
Вывести отчёт с вакантными должностями | ☑ | ||
---|---|---|---|---|
0
Olissen
04.08.18
✎
19:34
|
Здравствуйте, учу 1с уже две недели и решил попрактиковаться, по теме отчётов, задание придумал сам себе, в общем хочу создать отчёт, который будет выводить список вакантных должностей. Перед этим создал справочник "Должности" без каких-либо дополнительных реквизитов. После создал регистр сведений ""Штатное расписание", с измерениями "Должность", тип "СправочникСсылка.Должности" и "Вакантное" тип "Булево", также добавил ресурс "Сотрудник" тип "СправочникСсылка.Сотрудники".
Решил сделать такой отчёт, который просто выводит список тех должностей, которые на данный момент вакатны. В регистре сведений вакантность должностей меняется со временем, например должность "Инженер" 1-ого августа была вакантной, а 3-его августа стала занятой. Я сделал отчёт, добавив поля таблицы "СрезПервых" с условием "ШтатноеРасписаниеСрезПервых.Вакантное =ИСТИНА" но такой отчёт получился неправильным, он просто выводил те, записи, в которых стоит галка "Вакантное", например вывел ту должность Инженера, которая была вакантна 1-ого августа, но ведь 3-его она оказалась занята, а по идее не должна там отобразиться. В общем я хочу реализовать так, чтобы отчёт брал последние данные по каждой должности и уже потом отсеивать по галке вакантное. То есть чтобы того же Инженера регистр брал за последнее его изменение, в данном случае брал данные за 3-ее августа и не учитывал все предыдущие изменения. Я понимаю, что такое задание может показаться простецким, но я нуб в 1с, пока что. Буду рад любым ответам. Спасибо. |
|||
1
Cyberhawk
04.08.18
✎
23:26
|
Много букв, в трех словах давай
|
|||
2
Olissen
05.08.18
✎
09:33
|
Попытаюсь кратко. Хочу реализовать такую вещь, чтобы отчёт брал последние изменения в измерениях регистра сведений. Например, есть в регистре сведений хранится история изменений вакантности должностей. Одна должность последний раз менялась 1-ого августа, а другая 3-его. Так вот надо вывести именно последние изменения по каждой должности не учитывая всё предыдущее.
|
|||
3
Мимохожий Однако
05.08.18
✎
09:49
|
Возьми срез последних
|
|||
4
Olissen
05.08.18
✎
15:52
|
(3) Спасибо. Не ожидал конечно, но решение пришло. Дело в том, что я уже пробовал СрезПоследних, но он не помогал, но после того как я добавил группировку по измерению "Должность" всё стало работать именно так как я и изначально планировал и конечно же добавил условие "Вакантное=Истина" и заработало, ещё убрал из пользовательских настроек период, чтобы тупо выводил ваканты на данный момент времени как я и задумал. Спасибо за помощь, задание оказалось простейшим. Продолжаем практиковаться.
|
|||
5
Olissen
05.08.18
✎
15:57
|
Блин, всё равно не совсем то))
Теперь если должность перестала быть вакантной, то всё равно отображается её предыдущая вакантность. Например 1-ого числа была вакантной, а 4-ого стала занятой, однако всё равно отображается вакантность за 1-ое число. |
|||
6
ПегийЛунь
05.08.18
✎
16:32
|
По Вашей задаче.
После создал регистр сведений ""Штатное расписание", с измерениями 1) "Должность" тип "СправочникСсылка.Должности" И 2) "Вакантное" тип "Булево" <<<<===== ОШИБКА ПРОЕКТИРОВКИ!!! Добавил ресурс "Сотрудник" тип "СправочникСсылка.Сотрудники". Перенесите "Вакантное" в ресурс и используйте в отчете СрезПоследних. |
|||
7
Olissen
06.08.18
✎
10:17
|
(6) Спасибо за поправку, но всё равно прошлый вакант отображается.
|
|||
8
s03
06.08.18
✎
10:23
|
(7) После перестроения регистра его данные перезаполнил/обновил?
От добавления/изменения полей они сами не перезаполняются |
|||
9
Olissen
06.08.18
✎
10:41
|
(8) Более того сделал) я и регистр и отчёт тупо удалил и заново сделал. Сейчас пробую сделать функцию в общем модуле, которая будет возвращать вакантность должности. Перед этим добавил в справочник "Должности" реквезит "Вакантное" с типом "Булево" буду пробовать сделать такую штуку, чтобы реквизит "Вакантное" в справочнике заполнялся исходя из последних данных в регистре сведений "Штатное расписание", а затем для отчёта брать данные из справочника. Пробую реализовать.
|
|||
10
s03
06.08.18
✎
10:54
|
Реквизит "вакантное" в справочнике - плохая затея.
В общем достаточно в регистре измерения "должность" и ресурса "Сотрудник". В случае если должность становится вакантной - запись с пустым сотрудником. Запросом получаешь срез последних на нужную дату и добавляешь "ГДЕ Сотрудник=ЗНАЧЕНИЕ(Справочник.Сотрудники.ПУстаяСсылка)", т.е. отбор по пустым (как раз) вакантным записям |
|||
11
Olissen
06.08.18
✎
13:00
|
(10) Действительно с реквизитом "Вакантное" в справочнике получилась абсолютная галиматья.
Потом попробовал ваш вариант и вот теперь всё заработало так как и запланировал, на этот раз точно. Спасибо за помощь, продолжаем учёбу. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |