По теме из базы знаний
- Портфель руководителя для iOS
- Роль и риски руководителя компании при внедрении ERP
- Как из разработчика сделать руководителя, даже если он этого не хочет?
- Как я неожиданно для себя стал руководителем
- Применение 1С:Аналитики и Дата акселератора, или Как получить в 1С прозрачность и скорость обработки данных для прямого доступа и контроля руководителя
Найденные решения
В общем нужно получать такой конструкцией:
Потому что на входе функции ожидается значение или массив значений типа Справочник.СтруктураПредприятия, а не ПодразделенияОрганизаций.
Поэтому и добавляем ещё одну функцию.
РуководителиПодразделений.ДанныеРуководителей(ОрганизационнаяСтруктура.ПодразделениеВСтруктуреПредприятия(СтрокаТЧ.Подразделение))
Потому что на входе функции
РуководителиПодразделений.ДанныеРуководителей(МассивПодразделений, НаследованиеРуководителей = Ложь)
Поэтому и добавляем ещё одну функцию.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6) 3 строка "ПОЛУЧИТЬ ОТВЕТСТВЕННЫХ ОРГАНИЗАЦИИ" ))
ЗапрашиваемыеЗначения = Новый Структура;
ЗапрашиваемыеЗначения.Вставить("Организация", Объект.Документ.Организация);
ЗапрашиваемыеЗначения.Вставить("РуководительПОДРАЗДЕЛЕНИЯ");
///ЗапрашиваемыеЗначения.Вставить("ДолжностьРуководителя");
///ЗапрашиваемыеЗначения.Вставить("ГлавныйБухгалтер");
///ЗапрашиваемыеЗначения.Вставить("РуководительКадровойСлужбы"); ///
///ЗапрашиваемыеЗначения.Вставить("ДолжностьРуководителяКадровойСлужбы");
ДатаВЗапросОтветственных = Объект.Документ.Дата;
//!!! ПОЗВОЛЯЕТ ПОЛУЧИТЬ ДАННЫЕ ТОЛЬКО НА ДАТУ СЕАНСА
ЗарплатаКадры.ПолучитьЗначенияПоУмолчанию(ЗапрашиваемыеЗначения, ДатаВЗапросОтветственных);
ФИОГлБух = "";
Если ФизическиеЛицаЗарплатаКадры.Просклонять(ЗапрашиваемыеЗначения.ГлавныйБухгалтер.Наименование, 3, ФИОГлБух,
?(ЗапрашиваемыеЗначения.ГлавныйБухгалтер.Пол = Перечисления.ПолФизическогоЛица.Мужской, 1, 2)) Тогда
//Область3.Параметры.ФИОГлБух = ФИОГлБух;
КонецЕсли;
ОбластьМакетаПриказ.Параметры.ФИОГлавныйБухгалтер = ФизическиеЛицаЗарплатаКадрыКлиентСервер.ФамилияИнициалы(ФИОГлБух);
ОбластьПодписиРуководитель.Параметры.ФИО = ФизическиеЛицаЗарплатаКадры.РасшифровкаПодписи(ЗапрашиваемыеЗначения.Руководитель);
ОбластьПодписиРуководитель.Параметры.Должность = ЗапрашиваемыеЗначения.ДолжностьРуководителя;
//ОТВЕТСТВЕННЫЕ ЛИЦА НА ЗАДАННУЮ ДАТУ
ДатаВЗапросОтветственных = ДАТА(2019,09,02);
ЗапрашиваемыеЗначения = СведенияОбОтветственныхЛицах.СведенияОбОтветственныхЛицах(Выборка.Организация, "Руководитель,ДолжностьРуководителя", ДатаВЗапросОтветственных);
Показать
(11)откройте основную форму объекта справочника Подразделения и посмотрите значение свойства ПутьКДанным у элемента формы в котором мы выбираем руководителя подразделения. Далее исходя из того что указано в значении свойства ПутьКДанным, сможете определить, что из себя представляет "Руководитель подразделения" - это реквизит или вычисляемое поле, которое мы читаем из другого объекта конфигурации.
(11) Немножечко неправда. Насколько я вижу - на форме отображается позиция руководителя согласно штатному расписанию. А ФИО руководителя высчитывается динамически.
А ноги растут из ПриСозданииНаСервере(). Начните копать оттуда (см. скриншот)
А ноги растут из ПриСозданииНаСервере(). Начните копать оттуда (см. скриншот)
Прикрепленные файлы:
FatPanzer_Job прав.
Если сильно упростить, то таким запросом можно получить руководителя.
&ПодразделениеОрганизации - ссылка на подразделение, форму которого открываем,
&ДатаАктуальности - дата, на которую нас интересует руководитель.
ЗУП, конечно, получает сотрудника функцией СотрудникНаПозицииРуководителя() в модуле РуководителиПодразделений, там привычно для ЗУП сборка запроса путём прогона МенеджераВременныхТаблиц по множеству процедур, но суть всё равно одна:
Подразделение -> Место в структуре -> Позиции руководителей -> Штатное расписание -> Кадровая история -> Находим сотрудника на данной позиции на [текущую] дату.
Данных реквизитов и элементов на форме в конфигураторе мы не увидим, они создаются в модуле РуководителиПодразделенийФормы.
Если сильно упростить, то таким запросом можно получить руководителя.
&ПодразделениеОрганизации - ссылка на подразделение, форму которого открываем,
&ДатаАктуальности - дата, на которую нас интересует руководитель.
ВЫБРАТЬ
ПозицииРуководителейПодразделений.ПозицияШтатногоРасписания КАК ПозицияШтатногоРасписания,
КадроваяИсторияСотрудниковИнтервальный.Сотрудник КАК Сотрудник
ИЗ
Справочник.СтруктураПредприятия КАК СтруктураПредприятия
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПозицииРуководителейПодразделений КАК ПозицииРуководителейПодразделений
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудниковИнтервальный КАК КадроваяИсторияСотрудниковИнтервальный
ПО (ПозицииРуководителейПодразделений.ПозицияШтатногоРасписания = КадроваяИсторияСотрудниковИнтервальный.ДолжностьПоШтатномуРасписанию
И КадроваяИсторияСотрудниковИнтервальный.ДатаНачала <= &ДатаАктуальности
И КадроваяИсторияСотрудниковИнтервальный.ДатаОкончания >= &ДатаАктуальности)
ПО (СтруктураПредприятия.Ссылка = ПозицииРуководителейПодразделений.Подразделение)
ГДЕ
СтруктураПредприятия.Источник = &ПодразделениеОрганизации
ПоказатьЗУП, конечно, получает сотрудника функцией СотрудникНаПозицииРуководителя() в модуле РуководителиПодразделений, там привычно для ЗУП сборка запроса путём прогона МенеджераВременныхТаблиц по множеству процедур, но суть всё равно одна:
Подразделение -> Место в структуре -> Позиции руководителей -> Штатное расписание -> Кадровая история -> Находим сотрудника на данной позиции на [текущую] дату.
Данных реквизитов и элементов на форме в конфигураторе мы не увидим, они создаются в модуле РуководителиПодразделенийФормы.
(17) Так а что сделать-то надо? Если нужно "как правильно" программно вытащить руководителя определённого подразделения, почему бы типовой функцией и не воспользоваться?
Общий модуль РуководителиПодразделений
Функция ДанныеРуководителей(МассивПодразделений, НаследованиеРуководителей = Ложь) Экспорт
возвращает для каждого подразделения прямо структуру: Сотрудник, Должность по штатке, Физлицо
Общий модуль РуководителиПодразделений
Функция ДанныеРуководителей(МассивПодразделений, НаследованиеРуководителей = Ложь) Экспорт
возвращает для каждого подразделения прямо структуру: Сотрудник, Должность по штатке, Физлицо
(21) Но если открыть именно это подразделение - СтрокаТЧ.Подразделение - там руководитель заполнен?
Для проверки сделайте прямо в коде:
То же самое откроется, которое вы имели в виду?
ЗУП коварен. Откроется подразделение из СтруктураПредприятия или ещё что-то :)
Для проверки сделайте прямо в коде:
ПоказатьЗначение(, СтрокаТЧ.Подразделение);
То же самое откроется, которое вы имели в виду?
ЗУП коварен. Откроется подразделение из СтруктураПредприятия или ещё что-то :)
В общем нужно получать такой конструкцией:
Потому что на входе функции ожидается значение или массив значений типа Справочник.СтруктураПредприятия, а не ПодразделенияОрганизаций.
Поэтому и добавляем ещё одну функцию.
РуководителиПодразделений.ДанныеРуководителей(ОрганизационнаяСтруктура.ПодразделениеВСтруктуреПредприятия(СтрокаТЧ.Подразделение))
Потому что на входе функции
РуководителиПодразделений.ДанныеРуководителей(МассивПодразделений, НаследованиеРуководителей = Ложь)
Поэтому и добавляем ещё одну функцию.
(28) Здравствуйте!
Не подскажите , в чем была проблема у Вас?
Так же пытаюсь получить данные руководителя подразделения. На форме подразделения позиция руководителя заполнена. В регистре "Позиции руководителей подразделений" тоже заполнено. Но функция РуководителиПодразделений.ДанныеРуководителей(Подразделение, Ложь) возвращает пустое соответствие.
Не подскажите , в чем была проблема у Вас?
Так же пытаюсь получить данные руководителя подразделения. На форме подразделения позиция руководителя заполнена. В регистре "Позиции руководителей подразделений" тоже заполнено. Но функция РуководителиПодразделений.ДанныеРуководителей(Подразделение, Ложь) возвращает пустое соответствие.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот