В справочнике "Пользователи" есть реквизит "Подразделение" который имеет тип ОпределяемыйТип.Подразделение. Подразделения в свою очередь записываются в справочник "Структура предприятия". Нужное подразделение приходит с типом СправочникСсылка.СтруктураПредприятия и не записывается. Как при заполнении поля-реквизита "Подразделение" получить тип ОпределяемыйТип.Подразделение?
По теме из базы знаний
- Простые радости жизни программиста 1С: выбор типа значения
- Набор подсистем "Умные таблицы"
- Встраиваемая подсистема "Универсальные шаблоны объектов"
- Подсистема "Диспетчеризация обслуживания". Предварительная запись, планирование, регистрация и анализ этапов обслуживания или производства для любых конфигураций на платформе 8.3.6+ с использованием планировщика
- EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Например в конфигураторе в дереве объектов находим объект ОпределяемыйТип.Подразделение. Смотрим список типов и не видим там СправочникСсылка.СтруктураПредприятия... Или нужное подразделение приходит НЕ с типом СправочникСсылка.СтруктураПредприятия, а, например, СправочникОбъект.СтруктураПредприятия и тп.
(15) примерно так
Подразделение = Справочники.СтруктураПредприятия.НайтиПоНаименованию(ТэСтрока.Колонка3);
Пользователь = Справочники.Пользователи.СоздатьЭлемент();
Пользователь.Наименование = ТэСтрока.Колонка5;
Пользователь.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ",ОписаниеПользователяИБ);
Пользователь.ПредставлениеВПереписке = ИнициалыФИО;
Пользователь.ПредставлениеВДокументах = ФИОИнициалы;
Пользователь.Подразделение = Подразделение;
Подразделение = Справочники.СтруктураПредприятия.НайтиПоНаименованию(ТэСтрока.Колонка3);
Пользователь = Справочники.Пользователи.СоздатьЭлемент();
Пользователь.Наименование = ТэСтрока.Колонка5;
Пользователь.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ",ОписаниеПользователяИБ);
Пользователь.ПредставлениеВПереписке = ИнициалыФИО;
Пользователь.ПредставлениеВДокументах = ФИОИнициалы;
Пользователь.Подразделение = Подразделение;
Такая же проблема. Документооборот КОРП 2.1 Реквизиту присваивается найденное значение. В отладчике можно посмотреть на присвоенный объект. Записать() для этого реквизита не срабатывает.
Надо как-то привести тип СправочникСсылка.Подразделение к ОпределяемыйТип.Подразделение.
Надо как-то привести тип СправочникСсылка.Подразделение к ОпределяемыйТип.Подразделение.
СсылкаНаСотрудника = Справочники.Пользователи.НайтиПоНаименованию(Запись.Имя);
Если СсылкаНаСотрудника <> Справочники.Пользователи.ПустаяСсылка() Тогда
СсылкаНаПодразделение = Справочники.СтруктураПредприятия.НайтиПоНаименованию(Запись.Подразделение);
СсылкаНаДолжность = Справочники.Должности.НайтиПоНаименованию(Запись.Должность);
СсылкаНаГрафикРаботы = Справочники.ГрафикиРаботы.НайтиПоНаименованию("Основной график");
Ранг = 3;
НоваяЗапись = РегистрыСведений.СведенияОПользователяхДокументооборот.СоздатьМенеджерЗаписи();
НоваяЗапись.Пользователь = СсылкаНаСотрудника;
НоваяЗапись.Подразделение = СсылкаНаПодразделение;
НоваяЗапись.Должность = СсылкаНаДолжность;
НоваяЗапись.ГрафикРаботы = СсылкаНаГрафикРаботы;
НоваяЗапись.Ранг = Ранг;
НоваяЗапись.Записать(Истина //перезаписать, если уже существует запись по измерению Пользователь
);
Сотрудник = СсылкаНаСотрудника.ПолучитьОбъект();
Сотрудник.Подразделение = СсылкаНаПодразделение;
Сотрудник.Записать();
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот