|
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) всё грамотно сделано. Там в коде проверка была на наличие ссылки:
СсылкаНового = ЭтотОбъект.ПолучитьСсылкуНового();
Если НЕ ЗначениеЗаполнено(СсылкаНового) Тогда
СсылкаНового = Справочники[ЭтотОбъект.Метаданные().Имя].ПолучитьСсылку();
КонецЕсли;
А в моей подписке я как-то не просчитал, что создание объектов может происходить по ком без установки параметра объекта загрузки...
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший