![]() |
![]() |
![]() |
|
Конвертация данных 2.0 - объект не найден | ☑ | ||
---|---|---|---|---|
0
verschneit
18.09.25
✎
05:10
|
Привет.
Перекидываю документ из одной базы в другую. В реквизите Ответственный некоторые пользователи между базами совпадают, а некоторые нет. Соответственно, если совпадают, там поиском находится и проставляется. Если не находится, мне нужно, чтобы пустое поле оставлялось, а он ставит ссылку из другой базы: <Объект не найден> (...) Что нужно в правилах проставить, чтобы если не найден реквизит, то и не ставилась ссылка? |
|||
1
Chameleon1980
18.09.25
✎
05:24
|
а кто вам сказал, что "а он ставит ссылку из другой базы" означает что это ссылка из другой базы?
ПКО для пользователей есть? как настроен поиск? у вас по уид и не создавать? меняйте. |
|||
2
verschneit
18.09.25
✎
05:37
|
(1) на что менять? убрать поиск по уид?
|
|||
3
Chameleon1980
18.09.25
✎
06:12
|
стоп в ПКС, вроде, есть свойство найден/не найден
там отмену при не найден |
|||
4
Chameleon1980
18.09.25
✎
06:15
|
нет - в ПКО
написать в при загрузке, например Отказ = Не ОбъектНайден;
|
|||
5
verschneit
18.09.25
✎
07:20
|
(4) только надо После загрузки делать, тк При загрузке нет Отказа. Но это не срабатывает. Возможно, потому что объект не загружается, он ведь просто ищется.
|
|||
6
Chameleon1980
18.09.25
✎
07:22
|
(5) ну да, наверное. главное направление понятно
|
|||
7
СвинТуз
18.09.25
✎
10:58
|
замените на пустую
если объект не найден |
|||
8
kkkanjji
18.09.25
✎
11:22
|
(0) Получилось решить вопрос?
Если нет, попробуй следующие варианты: 1) У справочника "Пользователи" в событии "При загрузке" проверять значение "Объект не найден". Если Ложь - устанавливать значение Справочник.ПустаяСсылка. Это должно сразу решить вопрос. Если не помогло, попробуй сделать тоже самое в событии "После загрузки". 2) Более ресурс затратный вариант, не считай его оптимальным - в глобальном событии "После загрузки объекта" определять из метаданных тип документ. Пройтись по метаданным документа, определить реквизиты с типом "Справочник пользователи", если битая ссылка - заполнять пустой ссылкой. В целом первый вариант должен решить вопрос |
|||
9
verschneit
19.09.25
✎
05:43
|
(6) не работает Отказ = Не ОбъектНайден. либо нужно понятное описание, что сработало у вас. когда стоит флаг не создавать новые, то вообще в ПКО При загрузке/После загрузки не заходит, тк нет загрузки. когда флаг снимаю, он начинает создавать мне пользователей, даже когда стоит Отказ = Не ОбъектНайден. я не понимаю, как это работает.
(7) заменить на пустую получается только из правил к документу - реквизит Ответственный всегда пустым оставлять. в правилах к справочнику Пользователи - ПКО После загрузки - у меня не выходит там переопределить ссылку или объект. все равно в итогде "объект не найден" в документе. (8) ПКО При загрузке - куда там пустую ссылку ставить? Там нет параметра такого. Кто-то сталкивался вообще с такой проблемой и решал ее? Или это все просто в теории что может сработать написали? Пришлите, пожалуйста, код или скрини того, что у вас сработало. |
|||
10
kkkanjji
19.09.25
✎
12:49
|
(9) Друг, читай что написано в описании обработчиков событий.
Там есть параметр Объект. Задай условие Если НЕ ОбъектНайден Тогда Объект = Неопределено; // ну или Объект = Справочники.Пользователи.ПустаяСсылка КонецЕсли; Ты также отладчиком можешь посмотреть, как ведет себя программа при принятии объекта из правил конвертации в конфигураторе, чтобы убедиться, какое конечное значение принимает переменная. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |