Имя: Пароль:
1C
1С v8
Вывести отчёт с вакантными должностями
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) Действительно с реквизитом "Вакантное" в справочнике получилась абсолютная галиматья.
Потом попробовал ваш вариант и вот теперь всё заработало так как и запланировал, на этот раз точно. Спасибо за помощь, продолжаем учёбу.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс