#0
by Алерон
В данном регистре содержаться записи "сотрудники". Проблема в том, что сотрудник в справочнике записан один, но в этом регистре он может быть записан несколько раз(так как поле подразделение организации может быть разным). В итоге это создает определенную проблему, если мы в запросе будем брать данные с использованием этого р.с. : Документ КАК Док ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ТекДата, ) ПО Док.Ответственный.ФизЛицо = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо В итоге, в результатах будут повторяющиеся записи. Можно как-то в запросе сгруппировать сотрудников в р.с.? Или лучше вместо р.с. обращаться к справочнику "Сотрудники"?
#2
by Алерон
в этом регистре для каждого сотрудника указаны должность и подразделение организации. Это и хочу вытащить.
#4
by ДенисЧ
Документ КАК Док ЛЕВОЕ СОЕДИНЕНИЕ ( выбрать различные Сотрудник изРегистрСведений.РаботникиОрганизаций.СрезПоследних(&ТекДата, )) как рс ПО Док.Ответственный.ФизЛицо = рс.Сотрудник.Физлицо
#5
by kumena
>> И вытаскивается, только дубликаты получаются. это ты мощно задвинул. про срез последних слышал?
#6
by Алерон
говорит поле (ЕСТЬNULL(РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование, 0) Как Подразделение) не найдено " Выбрать
#9
by kumena
из первого поста вообще не понятно было чего ты делаешь вместо этой фигни ЛЕВОЕ СОЕДИНЕНИЕ | ( выбрать различные Сотрудник из РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ТекДата, )) как РаботникиОрганизацийСрезПоследних ПО надо другой запрос написать, чтобы в результате было соответсвие физлиц их сотрудникам и должностям на дату документа. запрос будет сложнее смотри внимательней, у него и так различные
#12
by Алерон
а если не к р.с., а к справочнику не посредственно обращаться? Там ведь по идее актуальные данные.
#15
by kumena
не знаю что у вас за конфа, но в зуп они для формы списка и если брать не из регистра то может быть криво
#16
by Алерон
ответственный ссылка на справочник "пользователи". Поэтому нужно в через другой объект выцепить его должность и подразделение
#20
by Новиков
СрезПоследних возвращает выборку по уникальному набору измерений на дату. Поэтому у тебя и есть дубли в первоначальной выборке, которые джойнятся далее. Тебе сначала нужно выбрать из РС, по твоим сотрудникам, записи по физ.лицу с максимальным периодом. После этого, эту выборку уже джойнишь опять же к этому рс, по физ.лицу и макс.периоду, и получаешь должности и подразделения. Если нужно, можешь ограничить физ.лица каким-то фильтром. А срез последних здесь использовать не нужно.
#22
by mehfk
+ Проверка в соединении на вид занятости основное место работы или внешнее совметительство
#24
by Алерон
а нет такой фичи, как выбрать сотрудников с максимальной датой(по идее я бы назвал это СрезПоследних).
#27
by Новиков
только запросом как я описал выше, с выбором максимального периода и последующим джойном по нему.
#30
by Jonny_Khomich
тогда нужен признак какое подразделение надо ставить. А то будет 3 подразделения, а что ставить не ясно.
#32
by SeraFim
сотрудник в регистре может быть записан несколько раз. Но в СрезПоследних он будет один раз! Несколько раз может быть одно физ лицо. По основному месту/внешнему совместительству + внутреннее совместительство. Вопрос - какое подразделение/должность тебе нужно??? По основной - сотрудник программист 1С, по совместительству - дворник. Что ставить? Если всегда по основной - то отбирай по виду занятости. В Программе есть контроль, чтобы по основной он работал только в 1 месте.
#38
by SeraFim
что означает последнее? Еще раз: Иванов с 01.11 по основной - программист 1С, по совместительству с 01.11 - дворник. какую должность ему выводить? Как говорится, "правильно поставленный вопрос содержит половину ответа"
#39
by Brogan
Как я понял, автору нужно выбрать кадровые данные сотрудника, которому соответствует исполнитель документа при условии, что этот исполнитель может занимать другие ставки по внутреннему совместительству. Автор правильно заметил, что физик в программе один, а сотрудников для этого физика может быть много. В ЗБУ я бы решил вопрос таким запросом, откинув уволенных и внутренних совместителей и проверив данные на ПериодЗавершения. Т.е. нашел бы основного сотрудника, работающего на &Период. Для примера взял док. НачислениеЗарплатыРаботникамОрганизаций. ВЫБРАТЬ
#43
by SeraFim
в справочнике "Сотрудники" будет 2 сотрудника - по основной работе, и по совместительству.
#44
by Алерон
спасибо за код, обязательно попробую, отпишусь как получиться. проверил справочник, совмещенки нет. Только увольнение/приём на работу. В этом случае можно узнать подразделение сверив даты. А если совмещает? Тут же не узнать, если это не будет записано вместе с документом.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Неподходящая версия провайдера базы данных
- Компактные формы в УФ 8.3 как включить?
- Перенос операция бух
- СКД. Вывести отдельно рассчитанные итоги.
- Предопределенный макет. Вывод итогов
- 1c 8.3 УФ заполнение документа из обработки
- Обмен данными КД2: Как записать данные в протокол обмена?
- Несоответствие версий клиента и сервера
- Дублируются договоры контрагентов при обмене... Перешел с 2.0 на 3.0...
- ошибка при чтении xdto
- УТ10.3. Отчет "ведомость взаиморасчетов с контрагентом"
- УТ 11 => УТАП ?
- Данные по иерархии в СКД
- Подбор номенклатуры по строкам excel
- Подскажите как реквизиты формы перебрать ?
- Бух 3.0 : Созданный документ не появляется в списке "Создать на основании".
- книга покупок формирует не всю сумму в графе 15
- СКД, отбор, внешний источник данных.
- RLS. Не срабатывает ограничение по подразделению. УТ 11.
- Время документа при оперативном проведении