Имя: Пароль:
1C
Админ
Com игнорирует УстановитьСсылкуНового
,
0 zakidonoff
 
02.12.13
07:37
Может кто сталкивался или наведёт на свежую мысль - сам понять не могу, почему код ниже не устанавливает мне ссылку нового.
Суть така: есть обработка, которая подключается по com к другой файловой базе и создаёт в ней саму себя.
После этого я пытаюсь вернуть новый элемент, например, контрагента, с установленным уникальным идентификатором, как в текущей базе. Объект возвращается, но уникальный идентификатор не присваивается.
Причём, что интересно, из базы Бух2.0 в УТ10.3 (и наоборот) - всё отрабатывает как надо. А вот из УТ в УТ - УстановитьСсылкуНового() просто игнорируется...


мВБаза = ВыполнитьПодключениеКИБ();
Если мВБаза <> Неопределено Тогда
    мВОбработка = мВБаза.ВнешниеОбработки.Создать(ЭтотОбъект.ИспользуемоеИмяФайла);
КонецЕсли;
мВКонтрагент = мВОбработка.СоздатьНовыйОбъект(УнИд, НекийКонтрагент, "Контрагенты");

Функция СоздатьНовыйОбъект(СтрокаУнИд, вОбъект, ВидМенеджер) Экспорт
    Ссылка = Справочники[ВидМенеджер].ПолучитьСсылку(Новый УникальныйИдентификатор(СтрокаУнИд));
    Объект = Справочники[ВидМенеджер].СоздатьЭлемент();
    Объект.УстановитьСсылкуНового(Ссылка);
    Возврат Объект;
КонецФункции
1 Cube
 
02.12.13
07:50
(0) Тоже как-то бился... Оказалось, что в типовой ЗиУП у справочника была то ли подписка на событие, то ли просто в модуле объекта, где для нового принудительно устанавливалась новая ссылка...
2 Defender aka LINN
 
02.12.13
07:56
(0) А в модуль справочника заглянуть - не, не судьба?
3 zakidonoff
 
02.12.13
08:02
(1)(2) Вид справочника не важен - та же шняга на любой справочник и любой документ.
Добавил в модуль:

ПараметрыСеанса.НаличиеОбменаТорговляБухгалтерия = Ложь;
ПараметрыСеанса.НаличиеОбменаССайтом = Ложь;


Не помогло...
4 George Wheels
 
02.12.13
08:09
Возможно это

Процедура НастройкаПравДоступа.ПередЗаписьюНовогоОбъектаСПравамиДоступаПользователей(...) Экспорт
5 George Wheels
 
02.12.13
08:14
(4) + Установи ОбменДанными.Загрузка = Истина.
6 zakidonoff
 
02.12.13
08:28
(5) Прокатило! Аригато! Осталось выяснить, в какой именно подписке при создании объекта торговля мне гадить начинает...
7 zakidonoff
 
02.12.13
08:35
Всё, нашёл. Сам дурак.

Впрочем, всё как обычно -)
8 George Wheels
 
02.12.13
08:37
(6) см (4)
9 zakidonoff
 
02.12.13
08:41
(8) Не, эта не отрабатывала - там всему виной была моя собственная подписка, где я переопределял УнИд у документов при создании.
В общем, сам дурак -)
10 Мимохожий Однако
 
02.12.13
08:50
(9)Строг ты, батенька. Раз нашёл, то мастер. ))
11 zakidonoff
 
02.12.13
08:56
(10) В (4) всё грамотно сделано. Там в коде проверка была на наличие ссылки:


СсылкаНового = ЭтотОбъект.ПолучитьСсылкуНового();
Если НЕ ЗначениеЗаполнено(СсылкаНового) Тогда
    СсылкаНового = Справочники[ЭтотОбъект.Метаданные().Имя].ПолучитьСсылку();
КонецЕсли;


А в моей подписке я как-то не просчитал, что создание объектов может происходить по ком без установки параметра объекта загрузки...