Получить руководителя

1. topline 09.09.20 14:07 Сейчас в теме
подскажите как программно получить руководителя подразделения в конфигурции ЗУП КОРП
По теме из базы знаний
Найденные решения
27. sergioevans 15.09.20 14:23 Сейчас в теме
В общем нужно получать такой конструкцией:
РуководителиПодразделений.ДанныеРуководителей(ОрганизационнаяСтруктура.ПодразделениеВСтруктуреПредприятия(СтрокаТЧ.Подразделение))


Потому что на входе функции
РуководителиПодразделений.ДанныеРуководителей(МассивПодразделений, НаследованиеРуководителей = Ложь)
ожидается значение или массив значений типа Справочник.СтруктураПредприятия, а не ПодразделенияОрганизаций.
Поэтому и добавляем ещё одну функцию.
Valerianich; abasovit; +2 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Hla 81 09.09.20 14:11 Сейчас в теме
(1) Добрый день! В какой программе работаете? ЗУП 3.1 или другой?
4. user5300 1000 09.09.20 14:16 Сейчас в теме
10. Hla 81 09.09.20 14:58 Сейчас в теме
(1)Руководителя подразделения, нет такого реквизита. Надо вносить дополнительный реквизит.
3. topline 09.09.20 14:12 Сейчас в теме
5. topline 09.09.20 14:18 Сейчас в теме
мне бы еще и пальцем ткнуть (((
6. topline 09.09.20 14:31 Сейчас в теме
Перерыл всю статью .... мне нужен конкретно руководитель отдела
7. user5300 1000 09.09.20 14:39 Сейчас в теме
(6) 3 строка "ПОЛУЧИТЬ ОТВЕТСТВЕННЫХ ОРГАНИЗАЦИИ" ))

ЗапрашиваемыеЗначения = Новый Структура;
	ЗапрашиваемыеЗначения.Вставить("Организация", Объект.Документ.Организация);
	
	ЗапрашиваемыеЗначения.Вставить("РуководительПОДРАЗДЕЛЕНИЯ");
	///ЗапрашиваемыеЗначения.Вставить("ДолжностьРуководителя");
	
	///ЗапрашиваемыеЗначения.Вставить("ГлавныйБухгалтер");
	
	///ЗапрашиваемыеЗначения.Вставить("РуководительКадровойСлужбы"); ///
	///ЗапрашиваемыеЗначения.Вставить("ДолжностьРуководителяКадровойСлужбы");
	
	ДатаВЗапросОтветственных = Объект.Документ.Дата;
	
	//!!! ПОЗВОЛЯЕТ ПОЛУЧИТЬ ДАННЫЕ ТОЛЬКО НА ДАТУ СЕАНСА
	ЗарплатаКадры.ПолучитьЗначенияПоУмолчанию(ЗапрашиваемыеЗначения, ДатаВЗапросОтветственных);
	
	ФИОГлБух = "";
	
	Если ФизическиеЛицаЗарплатаКадры.Просклонять(ЗапрашиваемыеЗначения.ГлавныйБухгалтер.Наименование, 3, ФИОГлБух, 
		?(ЗапрашиваемыеЗначения.ГлавныйБухгалтер.Пол = Перечисления.ПолФизическогоЛица.Мужской, 1, 2)) Тогда	
		
		//Область3.Параметры.ФИОГлБух = ФИОГлБух;

	КонецЕсли;	
	
	ОбластьМакетаПриказ.Параметры.ФИОГлавныйБухгалтер					= ФизическиеЛицаЗарплатаКадрыКлиентСервер.ФамилияИнициалы(ФИОГлБух);
	ОбластьПодписиРуководитель.Параметры.ФИО 								= ФизическиеЛицаЗарплатаКадры.РасшифровкаПодписи(ЗапрашиваемыеЗначения.Руководитель);
	ОбластьПодписиРуководитель.Параметры.Должность 						= ЗапрашиваемыеЗначения.ДолжностьРуководителя;


	//ОТВЕТСТВЕННЫЕ ЛИЦА НА ЗАДАННУЮ ДАТУ

	ДатаВЗапросОтветственных = ДАТА(2019,09,02);
		
	ЗапрашиваемыеЗначения = СведенияОбОтветственныхЛицах.СведенияОбОтветственныхЛицах(Выборка.Организация, "Руководитель,ДолжностьРуководителя", ДатаВЗапросОтветственных);

Показать
Vitaly1C8; +1 Ответить
8. Vitaly1C8 09.09.20 14:41 Сейчас в теме
(6)
Прикрепленные файлы:
user5300; +1 Ответить
9. Vladimir-R 167 09.09.20 14:55 Сейчас в теме
(6) руководителя любого произвольного отдела?
11. topline 09.09.20 15:00 Сейчас в теме
Вот и я не могу найти ...
хотя на форме у подразделения есть руководитель
У меня ЗУП КОРП 3.1
12. abasovit 5 09.09.20 20:54 Сейчас в теме
(11)откройте основную форму объекта справочника Подразделения и посмотрите значение свойства ПутьКДанным у элемента формы в котором мы выбираем руководителя подразделения. Далее исходя из того что указано в значении свойства ПутьКДанным, сможете определить, что из себя представляет "Руководитель подразделения" - это реквизит или вычисляемое поле, которое мы читаем из другого объекта конфигурации.
13. topline 10.09.20 15:40 Сейчас в теме
(12) при работе программы есть на форме руководитель, а в конфигураторе не вижу (((
15. abasovit 5 11.09.20 20:46 Сейчас в теме
(13) к сожаление нет возможности посмотреть корп версию. Если хотите, напишите мне личное сообщение, могу по удаленке посмотреть и постараться помочь.
14. FatPanzer 10.09.20 15:57 Сейчас в теме
(11) Немножечко неправда. Насколько я вижу - на форме отображается позиция руководителя согласно штатному расписанию. А ФИО руководителя высчитывается динамически.

А ноги растут из ПриСозданииНаСервере(). Начните копать оттуда (см. скриншот)
Прикрепленные файлы:
abasovit; +1 Ответить
16. sergioevans 13.09.20 02:29 Сейчас в теме
FatPanzer_Job прав.

Если сильно упростить, то таким запросом можно получить руководителя.
&ПодразделениеОрганизации - ссылка на подразделение, форму которого открываем,
&ДатаАктуальности - дата, на которую нас интересует руководитель.

ВЫБРАТЬ
	ПозицииРуководителейПодразделений.ПозицияШтатногоРасписания КАК ПозицияШтатногоРасписания,
	КадроваяИсторияСотрудниковИнтервальный.Сотрудник КАК Сотрудник
ИЗ
	Справочник.СтруктураПредприятия КАК СтруктураПредприятия
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПозицииРуководителейПодразделений КАК ПозицииРуководителейПодразделений
			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудниковИнтервальный КАК КадроваяИсторияСотрудниковИнтервальный
			ПО (ПозицииРуководителейПодразделений.ПозицияШтатногоРасписания = КадроваяИсторияСотрудниковИнтервальный.ДолжностьПоШтатномуРасписанию
					И КадроваяИсторияСотрудниковИнтервальный.ДатаНачала <= &ДатаАктуальности
					И КадроваяИсторияСотрудниковИнтервальный.ДатаОкончания >= &ДатаАктуальности)
		ПО (СтруктураПредприятия.Ссылка = ПозицииРуководителейПодразделений.Подразделение)
ГДЕ
	СтруктураПредприятия.Источник = &ПодразделениеОрганизации
Показать


ЗУП, конечно, получает сотрудника функцией СотрудникНаПозицииРуководителя() в модуле РуководителиПодразделений, там привычно для ЗУП сборка запроса путём прогона МенеджераВременныхТаблиц по множеству процедур, но суть всё равно одна:
Подразделение -> Место в структуре -> Позиции руководителей -> Штатное расписание -> Кадровая история -> Находим сотрудника на данной позиции на [текущую] дату.

Данных реквизитов и элементов на форме в конфигураторе мы не увидим, они создаются в модуле РуководителиПодразделенийФормы.
abasovit; +1 Ответить
17. topline 14.09.20 10:58 Сейчас в теме
Блин ...Хочется как правильно сделать
Есть же РуководителиПодразделений , только как не крутился не выходит каменный цветок ...
18. sergioevans 14.09.20 18:42 Сейчас в теме
(17) Так а что сделать-то надо? Если нужно "как правильно" программно вытащить руководителя определённого подразделения, почему бы типовой функцией и не воспользоваться?
Общий модуль РуководителиПодразделений
Функция ДанныеРуководителей(МассивПодразделений, НаследованиеРуководителей = Ложь) Экспорт
возвращает для каждого подразделения прямо структуру: Сотрудник, Должность по штатке, Физлицо
19. topline 14.09.20 21:26 Сейчас в теме
(18) в том то и засада что у меня почему то пустое значение возвращает (((
20. sergioevans 14.09.20 23:18 Сейчас в теме
(19) Может быть нет никого на этой должности на этот момент?
Моим запросом пробовали?
Хотя скорее надо проверять привязана ли штатка к структуре предприятия и что есть в регистре ПозицииРуководителейПодразделений.
21. topline 15.09.20 06:59 Сейчас в теме
(20) Запрос возвращает нужные данные
Патаюсь вот такой конструкцией получиить данные - РуководителиПодразделений.ДанныеРуководителей(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(СтрокаТЧ.Подразделение)) возвращает пустоту (((
22. sergioevans 15.09.20 09:27 Сейчас в теме
(21) Но если открыть именно это подразделение - СтрокаТЧ.Подразделение - там руководитель заполнен?
Для проверки сделайте прямо в коде:
ПоказатьЗначение(, СтрокаТЧ.Подразделение);

То же самое откроется, которое вы имели в виду?
ЗУП коварен. Откроется подразделение из СтруктураПредприятия или ещё что-то :)
23. topline 15.09.20 09:35 Сейчас в теме
(22) в отладчике показывает ссылку на справочник подразделений организаций и соответственно есть элемент
24. sergioevans 15.09.20 09:51 Сейчас в теме
(23) А если это именно подразделение открыть, там заполнено?
Чудес-то не бывает.
25. topline 15.09.20 10:51 Сейчас в теме
Заполнено ((( могу даже базу прислать ....
26. sergioevans 15.09.20 11:30 Сейчас в теме
(25) Это конечно слишком (персональные данные всё-таки), но если не сложно (и если прямо уверены, что ссылка в СтрокаТЧ и та, что открывается, - это одно и то же), выкладывайте, посмотрю.
Куда-нибудь в облако, а адрес в личку наверное.
27. sergioevans 15.09.20 14:23 Сейчас в теме
В общем нужно получать такой конструкцией:
РуководителиПодразделений.ДанныеРуководителей(ОрганизационнаяСтруктура.ПодразделениеВСтруктуреПредприятия(СтрокаТЧ.Подразделение))


Потому что на входе функции
РуководителиПодразделений.ДанныеРуководителей(МассивПодразделений, НаследованиеРуководителей = Ложь)
ожидается значение или массив значений типа Справочник.СтруктураПредприятия, а не ПодразделенияОрганизаций.
Поэтому и добавляем ещё одну функцию.
Valerianich; abasovit; +2 Ответить
28. topline 15.09.20 14:44 Сейчас в теме
(27) УРА !!!!!!!!!!!!!!!!!!!!!! ПОЛУЧИЛОСЬ !!!!!!!!!!!!!!!!!!!
sergioevans; +1 Ответить
30. nvk13875 2 01.10.20 06:55 Сейчас в теме
(28) Здравствуйте!
Не подскажите , в чем была проблема у Вас?
Так же пытаюсь получить данные руководителя подразделения. На форме подразделения позиция руководителя заполнена. В регистре "Позиции руководителей подразделений" тоже заполнено. Но функция РуководителиПодразделений.ДанныеРуководителей(Подразделение, Ложь) возвращает пустое соответствие.
35. user1665312 09.12.22 10:26 Сейчас в теме
Подскажи код как получилось. Вижу только должность но не вижу фио
29. slasher777 29.09.20 19:51 Сейчас в теме
А если это именно подразделение открыть, там заполнено?
31. gucci76 364 02.09.21 16:19 Сейчас в теме
Какая функциональная опция включает вывод руководителя подразделения? (в Проф версии)
32. LNick 03.09.21 12:27 Сейчас в теме
(31)Насколько я помню, в версии ПРОФ данный функционал не заявлялся.
А в КОРП реализовано через подсистему "РуководителиПодразделений". Без функциональных опций. Что-то вида "Если ПодсистемаСуществует Тогда"
33. gucci76 364 03.09.21 16:20 Сейчас в теме
Я нашел - она для КОРП и для Кабинета сотрудника работает.
А если открыть без корп и без кабинета регистр сведений где хранятся руководители подразделений, то видно только штатная единица руководителя, а подразделение не видно. Поэтому и подумал, что функ опция где-то прикручена.
34. ivangrant 10 06.10.21 09:21 Сейчас в теме
РуководителиПодразделений.ПозицияРуководителя(Подразделение)
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)