| 
    
            
         
         | 
    
  | 
        Конвертация данных 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) Друг, читай что написано в описании обработчиков событий.
 
        Там есть параметр Объект. Задай условие Если НЕ ОбъектНайден Тогда Объект = Неопределено; // ну или Объект = Справочники.Пользователи.ПустаяСсылка КонецЕсли; Ты также отладчиком можешь посмотреть, как ведет себя программа при принятии объекта из правил конвертации в конфигураторе, чтобы убедиться, какое конечное значение принимает переменная.  | 
|||
| 
    11
    
        verschneit    
     20.09.25 
            ✎
    04:31 
 | 
         
        (10) так это не ссылка, а объект. и это тоже не сработало -- и в ПКО При загрузке и в ПКО После загрузки. все равно в документе ответственный <Объект не найден>     
         | 
|||
| 
    12
    
        Chameleon1980    
     20.09.25 
            ✎
    06:12 
 | 
         
        (11) это не старые данные?
 
        киньте правила  | 
|||
| 
    13
    
        d4rkmesa    
     21.09.25 
            ✎
    20:30 
 | 
         
        (0) НЯП, это стандартное поведение при онлайн-обмене через план обмена на БСП.     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |