Определяемый тип

1. aatm 22.05.18 11:23 Сейчас в теме
В справочнике "Пользователи" есть реквизит "Подразделение" который имеет тип ОпределяемыйТип.Подразделение. Подразделения в свою очередь записываются в справочник "Структура предприятия". Нужное подразделение приходит с типом СправочникСсылка.СтруктураПредприятия и не записывается. Как при заполнении поля-реквизита "Подразделение" получить тип ОпределяемыйТип.Подразделение?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. aatm 22.05.18 11:26 Сейчас в теме
3. sergathome 4 22.05.18 11:29 Сейчас в теме
не надо там ничего получать. у 1С определяемый тип это просто список возможных типов, если он содержит нужный тип, то всё должно работать. проблема в чём-то другом.
4. aatm 22.05.18 13:18 Сейчас в теме
(3) Например в чем? Справочник.СтруктураПредприятие несколько уровней
5. sergathome 4 22.05.18 13:30 Сейчас в теме
Например в конфигураторе в дереве объектов находим объект ОпределяемыйТип.Подразделение. Смотрим список типов и не видим там СправочникСсылка.СтруктураПредприятия... Или нужное подразделение приходит НЕ с типом СправочникСсылка.СтруктураПредприятия, а, например, СправочникОбъект.СтруктураПредприятия и тп.
6. aatm 22.05.18 13:35 Сейчас в теме
(5) с обоих сторон ссылки

Подразделение = Справочники.СтруктураПредприятия.НайтиПоНаименованию(ТэСтрока.Колонка3);
Пользователь.Подразделение = Подразделение;
7. sergathome 4 22.05.18 13:45 Сейчас в теме
(6) хотите сказать, что после выполнения этих строк Пользователь.Подразделение остаётся пустым, хотя Подразделение непустое ? Если так, то однозначно - тип Пользователь.Подразделение не включает тип СправочникСсылка.СтруктураПредприятия.
10. aatm 22.05.18 14:10 Сейчас в теме
(7) оно включает тип ОпределяемыйТип.Подразделение
11. sergathome 4 22.05.18 14:12 Сейчас в теме
(10) Который, в свою очередь, должен включать тип СправочникСсылка.СтруктураПредприятия.
12. aatm 22.05.18 14:13 Сейчас в теме
13. sergathome 4 22.05.18 14:20 Сейчас в теме
(12) а Пользователь какой тип имеет ? Каким образом создаётся переменная Пользователь ?
14. aatm 22.05.18 14:27 Сейчас в теме
(13) Пользователь это справочник. у него есть реквизит Подразделение. оно имеет тип ОпределяемыйТип.Подразделение
15. sergathome 4 22.05.18 14:32 Сейчас в теме
(14) Повторяю, покажите как создаётся конкретная переменная Пользователь. Пользователь = Справочники.Пользователи.НайтиПоНаименованию ?
16. aatm 22.05.18 14:33 Сейчас в теме
(15) примерно так

Подразделение = Справочники.СтруктураПредприятия.НайтиПоНаименованию(ТэСтрока.Колонка3);

Пользователь = Справочники.Пользователи.СоздатьЭлемент();
Пользователь.Наименование = ТэСтрока.Колонка5;
Пользователь.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ",ОписаниеПользователяИБ);
Пользователь.ПредставлениеВПереписке = ИнициалыФИО;
Пользователь.ПредставлениеВДокументах = ФИОИнициалы;
Пользователь.Подразделение = Подразделение;
17. sergathome 4 22.05.18 14:38 Сейчас в теме
(16) И после выполнения последней строки при непустом Подразделении Пользователь.Подразделение остаётся пустым ? НЕ ВЕРЮ. (с)
18. aatm 22.05.18 14:40 Сейчас в теме
(17) точняк. мне скучно и хочется развлечься. дай думаю голову кому-нибудь поморочу
19. sergathome 4 22.05.18 14:46 Сейчас в теме
(18) ага, очень на то похоже. без скриншота из отладчика с обеими переменными дальше не пойдём.
20. aatm 22.05.18 14:47 Сейчас в теме
(19) если смотреть на записанный элемент через консоль запросов то поле-реквизит заполнено
21. sergathome 4 22.05.18 14:48 Сейчас в теме
(20) а если в телескоп - звёзды видно ??
22. aatm 22.05.18 14:50 Сейчас в теме
(21) у телескопа линза деревянная ничего не видать
23. sergathome 4 22.05.18 14:51 Сейчас в теме
(22) ну так где же, Карл, его не видно-то ?
24. aatm 22.05.18 14:54 Сейчас в теме
(23) всё. иди за расчетом в кассу ты уволен.
26. sergathome 4 22.05.18 14:57 Сейчас в теме
25. LifeRock69 22.05.18 14:56 Сейчас в теме
(20)
если смотреть на записанный элемент через консоль запросов то поле-реквизит заполнено

Какой у него тип значения если в консоли выводится? Через ТИПЗНАЧЕНИЯ
27. aatm 22.05.18 15:00 Сейчас в теме
28. LifeRock69 22.05.18 15:02 Сейчас в теме
(27)посмотри форму при при создании, может там что нить
8. spacecraft 22.05.18 13:47 Сейчас в теме
(6) Подразделение точно находится? Где заполняете? Может просто данные на форме не обновляются.
9. aatm 22.05.18 13:54 Сейчас в теме
29. user1302444 30.01.20 16:51 Сейчас в теме
Такая же проблема. Документооборот КОРП 2.1 Реквизиту присваивается найденное значение. В отладчике можно посмотреть на присвоенный объект. Записать() для этого реквизита не срабатывает.

Надо как-то привести тип СправочникСсылка.Подразделение к ОпределяемыйТип.Подразделение.
30. user1302444 31.01.20 09:52 Сейчас в теме
Всё записывается. Это в форме клиента отображается не непосредственно реквизит Подразделение.
31. user1302444 31.01.20 10:05 Сейчас в теме
В форме элемента справочника Пользователи в элементе Подразделение отображается РегистрСведений.СведенияОПользователяхДокументооборот.Подразделение.
32. user1302444 31.01.20 11:21 Сейчас в теме
	СсылкаНаСотрудника = Справочники.Пользователи.НайтиПоНаименованию(Запись.Имя);		
	Если СсылкаНаСотрудника <> Справочники.Пользователи.ПустаяСсылка()  Тогда		                
                																		
				СсылкаНаПодразделение = Справочники.СтруктураПредприятия.НайтиПоНаименованию(Запись.Подразделение);								
				СсылкаНаДолжность = Справочники.Должности.НайтиПоНаименованию(Запись.Должность);
				СсылкаНаГрафикРаботы = Справочники.ГрафикиРаботы.НайтиПоНаименованию("Основной график");
				Ранг = 3;
				
				НоваяЗапись = РегистрыСведений.СведенияОПользователяхДокументооборот.СоздатьМенеджерЗаписи();
				НоваяЗапись.Пользователь = СсылкаНаСотрудника;
				НоваяЗапись.Подразделение = СсылкаНаПодразделение;
				НоваяЗапись.Должность = СсылкаНаДолжность;
				НоваяЗапись.ГрафикРаботы = СсылкаНаГрафикРаботы;
				НоваяЗапись.Ранг = Ранг;
				НоваяЗапись.Записать(Истина //перезаписать, если уже существует запись по измерению Пользователь
				);
				
				Сотрудник = СсылкаНаСотрудника.ПолучитьОбъект();
				Сотрудник.Подразделение = СсылкаНаПодразделение;									
                Сотрудник.Записать();							                
			КонецЕсли;    

Показать
user749358; +1 Ответить
33. user1302444 31.01.20 12:29 Сейчас в теме
Надо еще АдреснаяКнига ПредставлениеОбъекта править :)
Оставьте свое сообщение

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