ЗУП. Как получить должность физического лица на заданную дату?

1. pentanom 30 21.12.24 23:36 Сейчас в теме
Конечно, вопрос задан кривовато, но хотелось сократить.
А если подробнее, то, если физическое лицо принято на работу в организацию, то какая у него должность на заданную дату? Есть ли какая-то процедура или функция в типовой конфигурации для этого?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Vinzor 112 22.12.24 18:53 Сейчас в теме
(1) Если физлицо принято на работу, то создан "Сотрудник", и именно сотрудника берут на должность.
1. Самый простой и надёжный способ - через программный интерфейс:
КадровыеДанные = КадровыйУчет.КадровыеДанныеСотрудников(ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных = '00010101', ПоляОтбораПериодическихДанных = Неопределено, ФормироватьСПериодичностьДень = Истина) Экспорт

Получаете таблицу значений, далее в ней отковыряете что надо ))

2. Можно и так.
делаете запрос с менеджером временных таблиц.
Делаете временную таблицу, где будет "Сотрудник" и "Период" (это обязательные поля таблицы).
В "Периоде" дата_время, на которые надо вытащить данные.
Имя временной, допустим, ВТФильтр
Делаете Запрос.Выполнить().

Далее встроенным языком:
Описатель = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотрудников(Запрос.МенеджерВременныхТаблиц, "ВТФильтр", "Сотрудник, Период");
Описатель.ИмяВТКадровыеДанныеСотрудников = "ВТКадровыеДанныеСотрудников";
КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(Описатель, Истина, "Должность");

Все, после исполнения этого кода в вашем запросе в менеджере будет временная таблица "ВТКадровыеДанныеСотрудников", где будут поля: Период, ФизическоеЛицо, Сотрудник, Должность.
Берите и работайте с ними в запросе дальше.

3. Можно просто запросы написать:
- просто запрос с обращением в "Кадровые данные сотрудников интервальный"
- на представлениях такого вида
ВЫБРАТЬ
	&ВашиДатаВремя КАК Период,
	&Сотрудник КАК Сотрудник
ПОМЕСТИТЬ ВТСотрудникиПериоды
;

////////////////////////////////////////////////////////////­////////////////////

ВЫБРАТЬ
	ДАТАВРЕМЯ(1, 1, 1) КАК Период,
	ЗНАЧЕНИЕ(Справочник.Сотрудники.ПустаяСсылка) КАК Сотрудник,
	ЗНАЧЕНИЕ(Справочник.Должности.ПустаяСсылка) КАК Должность
ПОМЕСТИТЬ Представления_КадровыеДанныеСотрудников
ИЗ
	ВТСотрудникиПериоды КАК СотрудникиПериоды
Показать

Но потом надо будет его "сконвертировать" в "исполняемый" запрос через
ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(ТекстЗапроса)
batyaevyug; user1619761; +2 Ответить
6. pentanom 30 22.12.24 19:43 Сейчас в теме
(4)
Получаете таблицу значений, далее в ней отковыряете что надо ))
1. Функция не возвращает должность.
Я получил должность запросом из РС "СостояниеСотрудников"
				
     "ВЫБРАТЬ
           |	СостоянияСотрудников.Сотрудник КАК Сотрудник,
           |	СостоянияСотрудников.ДокументОснование.Должность КАК Должность,
           |	СостоянияСотрудников.Период КАК Период,
           |	СостоянияСотрудников.ДействуетДо КАК ДействуетДо
           |ИЗ
           |	РегистрСведений.СостоянияСотрудников КАК СостоянияСотрудников
           |ГДЕ
           |	СостоянияСотрудников.ДокументОснование.Должность <> ЗНАЧЕНИЕ(Справочник.Должности.ПустаяСсылка)
           |	И СостоянияСотрудников.Сотрудник.ФизическоеЛицо = &ФизическоеЛицо
           |	И (СостоянияСотрудников.Период <= &Период
           |				И СостоянияСотрудников.ДействуетДо >= &Период
           |			ИЛИ СостоянияСотрудников.ДействуетДо = ДАТАВРЕМЯ(1, 1, 1))";
Показать

Покритикуйте, если что-то не так.
8. Vinzor 112 22.12.24 22:02 Сейчас в теме
(6) Господи, вы в ЗУПе совсем новичок?
Свой синтаксис привести не желаете? У меня везде работает, у вас нет. Параметры в метод нормальные вставили?
9. pentanom 30 22.12.24 22:36 Сейчас в теме
(8)
(6) Господи, вы в ЗУПе совсем новичок?
Свой синтаксис привести не желаете? У меня везде работает, у вас нет. Параметры в метод нормальные вставили?
Написал так:
КадровыеДанные = КадровыйУчет.КадровыеДанныеФизическихЛиц(Истина, Шапка.Руководитель, "Должность", Шапка.Ссылка.Дата);
получил картинку
Прикрепленные файлы:
10. INZ 22.12.24 23:04 Сейчас в теме
(9) сотр =КадровыйУчетРасширенный.ОсновнойСотрудникФизЛица(Объект.ФизическоеЛицо;
КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина,
ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(сотр),
"Организация,ФизическоеЛицо,ТабельныйНомер,Подразделение,Должность,ВидЗанятости,ДолжностьПоШтатномуРасписанию,КоличествоСтавок,ДатаПриема,ДатаУвольнения,ГрафикРаботы,СтатьяФинансирования, РазрядКатегория ", ТекущаяДата());

https://infostart.ru/1c/articles/942569/
Это будет должность по основной ставке. Если нужны должности по лругим ставкам то выше дали исчерпывающий ответ с заменами
14. Vinzor 112 23.12.24 09:08 Сейчас в теме
(9) Вы невнимательны. Я писал про метод "КадровыеДанныеСотрудников"
Вы упорно применяете "КадровыеДанныеФизическихЛиц"
Разницу не видите?
В чем момент - по второму методу вы никогда не получите "Должность", она бывает у сотрудников.

Так что надо применять точно то, что я описал.

Далее, какой у вас тип данных в поле "Шапка.Руководитель" ?
Если "Сотрудник" - то всё нормально.

Если "Физическое лицо", то сначала вам надо получить сотрудника.
У одного физлица может быть несколько сотрудников: был ранее принят и уволен, либо одновременно работает еще и совместителем.
Каждый сотрудник физлица - это работа физлица по отдельному трудовому договору.
Вам надо оптимально, ну релевантно, определить сотрудника исходя из его кадрового состояния: работает, не уволен,
и исходя из вида занятости, например, самое приоритетно - по основному месту работы, далее внешнее совместительство, далее внутреннее совместительство.
Короче, вот вам запрос, почитайте, поймите суть, проверьте в консоли.
Входящие параметры: Организация, ФизическоеЛицо, НаДату
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ВидыЗанятостиСотрудниковИнтервальный.ГоловнаяОрганизация КАК Организация,
	ВидыЗанятостиСотрудниковИнтервальный.ФизическоеЛицо КАК ФизическоеЛицо,
	КадроваяИсторияСотрудниковИнтервальный.Должность КАК Должность,
	МИНИМУМ(ВЫБОР
			КОГДА ВидыЗанятостиСотрудниковИнтервальный.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ОсновноеМестоРаботы)
				ТОГДА 0
			КОГДА ВидыЗанятостиСотрудниковИнтервальный.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.Совместительство)
				ТОГДА 1
			КОГДА ВидыЗанятостиСотрудниковИнтервальный.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ВнутреннееСовместительство)
				ТОГДА 2
			ИНАЧЕ 9
		КОНЕЦ + ВЫБОР
			КОГДА КадроваяИсторияСотрудниковИнтервальный.ВидСобытия = ЗНАЧЕНИЕ(перечисление.ВидыКадровыхСобытий.Увольнение)
				ТОГДА 2
			ИНАЧЕ 1
		КОНЕЦ) КАК Приоритет,
	ВидыЗанятостиСотрудниковИнтервальный.ВидЗанятости КАК ВидЗанятости,
	КадроваяИсторияСотрудниковИнтервальный.ВидСобытия КАК ВидСобытия
ПОМЕСТИТЬ ВТ_1
ИЗ
	РегистрСведений.ВидыЗанятостиСотрудниковИнтервальный КАК ВидыЗанятостиСотрудниковИнтервальный
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудниковИнтервальный КАК КадроваяИсторияСотрудниковИнтервальный
		ПО ВидыЗанятостиСотрудниковИнтервальный.ГоловнаяОрганизация = КадроваяИсторияСотрудниковИнтервальный.ГоловнаяОрганизация
			И ВидыЗанятостиСотрудниковИнтервальный.ФизическоеЛицо = КадроваяИсторияСотрудниковИнтервальный.ФизическоеЛицо
			И ВидыЗанятостиСотрудниковИнтервальный.Сотрудник = КадроваяИсторияСотрудниковИнтервальный.Сотрудник
			И (КОНЕЦПЕРИОДА(&НаДату, ДЕНЬ) МЕЖДУ КадроваяИсторияСотрудниковИнтервальный.ДатаНачала И КадроваяИсторияСотрудниковИнтервальный.ДатаОкончания)
ГДЕ
	ВидыЗанятостиСотрудниковИнтервальный.ГоловнаяОрганизация = &Организация
	И ВидыЗанятостиСотрудниковИнтервальный.ФизическоеЛицо В(&ФизическоеЛицо)
	И КОНЕЦПЕРИОДА(&НаДату, ДЕНЬ) МЕЖДУ ВидыЗанятостиСотрудниковИнтервальный.ДатаНачала И ВидыЗанятостиСотрудниковИнтервальный.ДатаОкончания

СГРУППИРОВАТЬ ПО
	ВидыЗанятостиСотрудниковИнтервальный.ГоловнаяОрганизация,
	КадроваяИсторияСотрудниковИнтервальный.Должность,
	КадроваяИсторияСотрудниковИнтервальный.ВидСобытия,
	ВидыЗанятостиСотрудниковИнтервальный.ФизическоеЛицо,
	ВидыЗанятостиСотрудниковИнтервальный.ВидЗанятости
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	МИНИМУМ(ВТ_1.Приоритет) КАК Приоритет,
	ВТ_1.ФизическоеЛицо КАК ФизическоеЛицо,
	ВТ_1.Организация КАК Организация
ПОМЕСТИТЬ ВТ_2
ИЗ
	ВТ_1 КАК ВТ_1

СГРУППИРОВАТЬ ПО
	ВТ_1.ФизическоеЛицо,
	ВТ_1.Организация
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_1.Организация КАК Организация,
	ВТ_1.ФизическоеЛицо КАК ФизическоеЛицо,
	ВТ_1.Должность КАК Должность,
	ВТ_1.ВидЗанятости КАК ВидЗанятости,
	ВТ_1.ВидСобытия КАК ВидСобытия,
	ВТ_1.Приоритет КАК Приоритет
ИЗ
	ВТ_1 КАК ВТ_1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_2 КАК ВТ_2
		ПО ВТ_1.Приоритет = ВТ_2.Приоритет
			И ВТ_1.ФизическоеЛицо = ВТ_2.ФизическоеЛицо
			И ВТ_1.Организация = ВТ_2.Организация
Показать
16. pentanom 30 23.12.24 10:31 Сейчас в теме
(14)
(9) Вы невнимательны. Я писал про метод "КадровыеДанныеСотрудников"
Но мне-то надо должность физического лица, если он принят в организацию.
(14)
Далее, какой у вас тип данных в поле "Шапка.Руководитель" ?
Физическое лицо.
(14)
Если "Физическое лицо", то сначала вам надо получить сотрудника.
Вот я и хочу найти такого сотрудника. В результате нужно заполнить такой абзац трудового договора
Общество с ограниченной ответственностью "ХХХ" (ООО "ХХХ"),именуемое в дальнейшем «Работодатель», в лице Менеджера Иванова Ивана Ивановича, действующего на основании Доверенности № 01 от 04.08.2023 – ЕСЛИ ЕСТЬ КАДРОВАЯ ДОВЕРЕННОСТЬ ИЛИ Генеральный директор Петрова Петра Петровича, действующий на основании Устава, с одной стороны, и Гражданка РФ Сидорова Мария Ивановна, именуемая в дальнейшем «Работник», с другой стороны, заключили настоящий Трудовой договор (далее «Договор») о нижеследующем:
17. Vinzor 112 23.12.24 10:50 Сейчас в теме
(16) Понимаю, но "Должность" присуща сотрудникам, а не физлицам, я писал об этом.
Технически выглядит так. По физлицу создают Сотрудника, и его принимают на должность.
Короче, запрос мой попробуйте.
batyaevyug; +1 Ответить
19. pentanom 30 23.12.24 10:58 Сейчас в теме
(17)
(16) Запрос мой попробуйте
Спасибо! Попробую.
18. user2107191 23.12.24 10:55 Сейчас в теме
(16)
Но мне-то надо должность физического лица, если он принят в организацию.
У тебя в паспорте какая должность прописана?
20. Said-We 23.12.24 12:33 Сейчас в теме
(16)
Но мне-то надо должность физического лица, если он принят в организацию.
У Вас две задачи:
1. Найти сотрудника по физическому лицу, если таковой есть. Если таковых несколько, то определить какого брать. Необходим алгоритм однозначного приоритета при прочих равных.
2. Найти должность по сотруднику. Тут Вам уже всё расписали.

Осталось решить первую задачу.
21. pentanom 30 23.12.24 12:48 Сейчас в теме
(20)
1. Найти сотрудника по физическому лицу, если таковой есть. Если таковых несколько, то определить какого брать. Необходим алгоритм однозначного приоритета при прочих равных.
Поищу какой-нибудь реквизит, который можно использовать для этих целей. Благо, что таких сотрудников не должно быть много.
25. INZ 23.12.24 16:24 Сейчас в теме
(14) можно упростить. Есть рс основные сотрудники физлиц
43. batyaevyug 11.02.25 21:42 Сейчас в теме
(4)
КадровыеДанные = КадровыйУчет.КадровыеДанныеСотрудников(ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных = '00010101', ПоляОтбораПериодическихДанных = Неопределено, ФормироватьСПериодичностьДень = Истина) Экспорт


Спасибо! Прекрасно работает
2. Alex 3 22.12.24 03:18 Сейчас в теме
Приветствую. Можно получить через программный интерфейс
КадровыеДанные = КадровыйУчет.КадровыеДанныеФизическихЛиц(ТолькоРазрешенные, СписокФизическихЛиц, КадровыеДанные, ДатаПолученияДанных, ПоляОтбораПериодическихДанных)
5. pentanom 30 22.12.24 19:37 Сейчас в теме
(2)
Можно получить через программный интерфейс
Эта функция не возвращает должность :(
7. Alex 3 22.12.24 21:29 Сейчас в теме
(5) Эт я тупанул, сорян) тогда как описано в (3)
3. INZ 22.12.24 09:43 Сейчас в теме
Через программный интерфейс получить основного сотрудника и затем получить должность основного сотрудника
11. pentanom 30 22.12.24 23:35 Сейчас в теме
Поясню для чего мне это нужно.
Из документа "Прием на работу" распечатываем трудовой договор. Трудовой договор может подписать физическое лицо, у которого для этого есть доверенность. Если в документе "Прием на работу" в окне "Руководитель" выбрать такое физическое лицо, то нужно, чтобы в печатной форме договора был указано это физическое лицо с должностью, которая на дату приема на работу была (есть) у этого физического лица.
12. INZ 22.12.24 23:39 Сейчас в теме
(11) чем не устраивают стандартные подписанты в документе с должностью и доверенностью?
13. pentanom 30 22.12.24 23:44 Сейчас в теме
(12)
стандартные подписанты с должностью и доверенностью
Стандартные - это какие?
24. INZ 23.12.24 15:39 Сейчас в теме
Уж если нет на свете новизны,
А есть лишь повторение былого,
И понапрасну мы страдать должны,
Давно рожденное рождая снова
Толи Шекспир Толи БСП

Поиском в форме // Обработчик подсистемы "ПодписиДокументов".
Дальше переходим по Ф12 и находим
ДанныеФизическогоЛица = ПодписиДокументовВызовСервера.ОснованияПолномочийФизическихЛиц(Организация, ФизическоеЛицо, ДатаСведений).Получить(ФизическоеЛицо);
30. Vinzor 112 24.12.24 10:19 Сейчас в теме
(11) У вас в "Приеме на работу" поле "Должность руководителя" автоматом не заполняется при выборе физлица руководителя?
Это ссылочное на справочник "Должности" поле.
Заполняется - берите из документа.

Не заполняется, тут два пути.
1. Почему не заполняется - разобраться и внести где данных не достает.
Или
2. По физлицу руководителя определяйте сотрудника и далее получайте его должность. Мой запрос в посте 14 именно это и делает
31. pentanom 30 24.12.24 12:52 Сейчас в теме
(30)
(11) У вас в "Приеме на работу" поле "Должность руководителя" автоматом не заполняется при выборе физлица руководителя?
Это ссылочное на справочник "Должности" поле.
Заполняется - берите из документа.
Какие-то странности. Раньше не заполнялась, поэтому-то и заварил эту кашу. А сейчас смотрю - вроде бы и заполняется. Чертовщина какая-то :(
Теперь буду искать почему не заполнялась раньше. Конечно, брать из документа проще всего.
32. pentanom 30 24.12.24 13:01 Сейчас в теме
(30)
1. Почему не заполняется - разобраться и внести где данных не достает.
Выбрал произвольное ФизЛицо. Должность заполнилась, но это физлицо уволилось очень давно. Откуда взялась должность тоже непонятно:(
33. INZ 24.12.24 13:14 Сейчас в теме
(32) я не знаю что сказать. Посмотрите мои топики. Там уже конкретно указанно откуда берется должность. Она (должность) не хранится в документе. Физлицо - хранится, а должность нет. Она высчитывается по физлицу. Уже ссылку на строки кода дал. В этой процедуре должность и документ основание выводится
34. pentanom 30 24.12.24 13:36 Сейчас в теме
(33)
(32) я не знаю что сказать.
Тут уже другой вопрос. В приказе выбираю физ.лицо в поле "Руководитель". При выборе подставляется должность (см. картинку). Ищу сотрудника с таким же именем и получаю, что он когда-то работал и уже давно уволен.
Получается, что на эту должность ориентироваться нельзя. А как было бы здорово!
Прикрепленные файлы:
35. INZ 24.12.24 14:07 Сейчас в теме
(34) Вопрос именно в этом.
1. поле должность заполняется процедурой ПодписиДокументовВызовСервера.ОснованияПолномочийФизическихЛиц(Организация, ФизическоеЛицо, ДатаСведений).Получить(ФизическоеЛицо);
Данная процедура ищет именно по Физлицу а не по Строке с "с таким же именем ". И выводит последнюю должность ОСНОВНОГО СОТРУДНИКА физлица. Даже если он уволен
Эта процедура не проверяет работал сотрудник или нет. Кроме того что АКА "руководитель" мог быть уволенным или не принятым еще на дату документа, он мог быть еще и в отпуске или на больничном, командировке.......... За этим должен следить ответственный за заполнение руководителя в документе а не программист (ИМХО). В любом случае любой кадровик, который готовитт пакет документ должен знать кто будет подписывать документы и ставить этого сотрудника в поле руководитель
36. pentanom 30 24.12.24 14:30 Сейчас в теме
(35)
Даже если он уволен
Мне так не надо. Трудовой договор уволенный сотрудник подписывать не может!
И еще может быть ситуация, когда у физлица Основная должность Главный инженер, по совместительству Зам. генерального директора, который может подписывать трудовые договора.
37. INZ 24.12.24 15:15 Сейчас в теме
(36) Мой ответ 37!!!! За это время мы идем от вопроса про должность физлица к вопросу о подписантахвДоговоре и теперь плавно перетекаем в вопрос про то что в организации есть ответственные лица, которые могут подписывать документы. Должность этих людей в качестве подписанта не зависит от вида занятости. И надо следить за тем работает сотрудник или нет. Это уже совсем другая песня. Нужно ли смотреть - находится ли сотрудник на рабочем месте (не в отпуске.....)?
38. user2107191 24.12.24 15:20 Сейчас в теме
(37) Я ж говорю - тролль!
40. pentanom 30 24.12.24 15:56 Сейчас в теме
(37) Мне казалось, что задачу я описал подробно в (11).
Еще раз повторю. Формируем прием на работу. В качестве руководителя выбираем доверенное лицо (физлицо). Дальше проверяем:
- работает ли выбранное лицо в организации
- есть ли у него доверенность на право подписи
Если все "да", подставляем в печатную форму Трудового договора.
Если что-то нет, то выдаем предупреждение, а в Трудовой договор пишем "в лице Генерального директора...".
Можно еще ограничить должности, которые можно использовать для доверенного лица.

Вот и все!
41. INZ 24.12.24 16:55 Сейчас в теме
(40)
ще раз повторю. Формируем прием на работу. В качестве руководителя выбираем доверенное лицо (физлицо). Дальше проверяем:
- работает ли выбранное лицо в организации
- есть ли у него доверенность на право подписи

Вероятно это был разговор с самим собой. Ничего подобного выше не было. Исходя из (40) в (0) должно быть написано - Хочу переделать стандартный механизм подписания с внедрением в него проверок по должности и доверенности. А это уже не (0) и не (11). На поставленные вопросы вам здесь ответили.
42. pentanom 30 24.12.24 17:36 Сейчас в теме
(41)
На поставленные вопросы вам здесь ответили.
Спасибо! А (11) все-таки прочитайте.
39. INZ 24.12.24 15:42 Сейчас в теме
(36) ps В кадровых документах существует стандартный механизм работы с подписантами. Приемы подписывает Иванов вносим (один раз) его доверенность и эта доверенность потом появляется во всех документах. Затем выбираем Петрова. Программа предложит запомнить Петрова для подписания с этой даты документов Прием Петровым. Это удобно. Если у вас другой сценарий работы(Предположим документы подписывает начальник подразделения). То об этом надо говорить в теме и описать сценарий работы с подписями.
15. VZyryanov 23.12.24 09:54 Сейчас в теме
Функция ДолжностьФизическогоЛица(ФизическоеЛицо,ДатаСреза) Экспорт
	Должность=Справочники.Должности.ПустаяСсылка();
	Если Не ЗначениеЗаполнено(ФизическоеЛицо) Тогда
		Возврат Должность;
	КонецЕсли;
	Запрос=Новый Запрос;
	Запрос.Текст=
		"ВЫБРАТЬ ПЕРВЫЕ 1
		|	КадроваяИсторияСотрудниковСрезПоследних.Должность КАК Должность,
		|	КадроваяИсторияСотрудниковСрезПоследних.Подразделение КАК Подразделение
		|ИЗ
		|	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(
		|			&ДатаСреза,
		|			ФизическоеЛицо = &ФизическоеЛицо
		|				И ВидСобытия <> &ВидСобытия) КАК КадроваяИсторияСотрудниковСрезПоследних
		|
		|УПОРЯДОЧИТЬ ПО
		|	КадроваяИсторияСотрудниковСрезПоследних.Период УБЫВ";
	Запрос.УстановитьПараметр("ФизическоеЛицо",ФизическоеЛицо);
	Запрос.УстановитьПараметр("ВидСобытия",Перечисления.ВидыКадровыхСобытий.Увольнение);
	Запрос.УстановитьПараметр("ДатаСреза",ДатаСреза);
	Результат=Запрос.Выполнить();
	Если Не Результат.Пустой() Тогда
		Выборка=Результат.Выбрать();
		Выборка.Следующий();
		Должность=Выборка.Должность;
	КонецЕсли;
	Возврат Должность;
КонецФункции
Показать
26. Vinzor 112 23.12.24 20:19 Сейчас в теме
(15) Ну и выберете внутреннего совместителя, к примеру, если есть таковой не уволенный и у него по срезу есть более свежая запись в регистр. А в приоритете - основное место работы
И что?
27. pentanom 30 23.12.24 22:16 Сейчас в теме
(26) Если вы по моей задаче, то можно ограничится некоторым списком должностей. Например, тракторист не может быть "в лице".
28. INZ 23.12.24 22:55 Сейчас в теме
(27) коллега говорит о том что нельзя брать срез последних. Надо ранжировать должность по "важности". И вообще странная ситуация. На вопрос в топике я ответил. Решается двумя строчками кода. На скорректированный вопрос я тоже ответил. Одна строчка кода. Если нужно решить именно запросом то коллега привел готовый запрос. Кроме того существует РС в котором дата, физлицо и (барабанная дробь) основной сотрудник.
29. VZyryanov 24.12.24 08:25 Сейчас в теме
(26) У меня такого не было, поэтому нет готового решения. Мне для печати должности в печатных формах хватало. Надо посмотреть на "рс основные сотрудники физлиц" из (25).
22. Said-We 23.12.24 13:45 Сейчас в теме
(21) Поиск по сотруднику. Далее приоритет по виду занятости. Основной в приоритете. Если несколько внешних совместительств, то тут могут быть варианты: количество ставок, дата приема и т.д.
Если сотрудника принимаете на основное совместительство, то он уже за себя наверное должен расписываться и внешние совместительства должны быть переведены на внутренние.

Не надо искать реквизит. Этот вопрос надо задать функциональному заказчику.
Сформируйте пул вариантов и пусть для всех этих вариантов будут дан ответ.
Если ответ не будет дан, так как отстань от нас со своими вопросами, то как попало делается, а далее много раз переделывается. К сожалению - это более 90% случаев.
23. Vinzor 112 23.12.24 14:51 Сейчас в теме
(22) Внешних совместительств более 1 не бывает.
Вообще по виду занятости на первом месте идёт основное место работы (одно) или внешнее совместительство (одно). "Или", то есть не "И"
Плюсом к нему может быть N-число внутренних совместительств.
Поэтому при поиске сотрудника по физлицу приоритет обычно отдается работающему, то не не уволенному, по основному месту работы, далее- внешнее совместительство, далее внутреннее.
Хотя в ЗУПе по внутреннему - это уже перестраховка.
Одномоментно не может быть внутреннего совместителя, если нет основного сотрудника или внешнего совместителя.
Выбирать внутренних имеет смысл, если есть дополнительные фильтры, например, по подразделению или ещё какому реквизиту описания работы.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот