|   |   | 
| 
 | Непонятки с предопределенными элементами | ☑ | ||
|---|---|---|---|---|
| 0
    
        slafor 06.12.23✎ 23:39 | 
        Есть стандартный справочник Контрагенты, у него реквизит - ЮридическоеФизическоеЛицо (составного типа - либо справочник ЮридическиеЛица, либо справочник ФизическиеЛица).
 1.У справочника Контрагенты создали предопределенный элемент КонтрагентП. Все хорошо. Обращаюсь к нему "через точку" - Справочники.Контрагенты.КонтрагентП - все работает. Но вот потом отредактировали данные по связанному справочнику - ЮридическиеЛица - и после этого предопределенный элемент стал не виден (ошибка "Предопределенный элемент отсутствует в данных", при попытке обратиться к нему "через точку"). А в списке элементов он стал показываться как "обычный" элемент, без значка "предопределённого". Почему так произошло и как можно исправить, а главное - как можно избежать такого на рабочих базах? Это хорошо, что мы в копии делали. 2. Почему при добавлении предопределенного элемента справочника весь справочник контрагентов (а там элементов более миллиона) около часа проходит "реструктуризацию"? Что там "реструктуризировать"? Я же не реквизит новый создал, не тип значения чего-то изменил. | |||
| 1
    
        Donkey_hot 07.12.23✎ 00:06 | 
        (0) Что случилось и как избежать, сказать трудно, а вот исправить проще простого - заполните у элемента поле ИмяПредопределенныхДанных.     | |||
| 2
    
        slafor 07.12.23✎ 00:22 | 
        (10) Посмотрел через Консоль запросов: ИмяПредопределенныхДанных действительно не заполнено, но и признак Предопределенный не установлен.     | |||
| 3
    
        slafor 07.12.23✎ 00:27 | 
        +(2) Поле "Предопределенный", как я и думал, недоступно для записи.     | |||
| 4
    
        slafor 07.12.23✎ 10:12 | 
        +(0) Дополнение к п.2. При реструктуризации вылезло ещё много ошибок по неуникальности кода: https://disk.yandex.ru/i/u9YmKBvwwyZ0Vw , причём ни код, ни наименование нового предопределённого элемента, заданные в конфигураторе, не имеют ничего общего с теми элементами, которые здесь показаны в списке.     | |||
| 5
    
        ildary 07.12.23✎ 10:31 | 
        (0) начать надо с проверки - какие обмены (РИБ?) есть в базе?     | |||
| 6
    
        slafor 07.12.23✎ 10:56 | 
        (5) В то-то и дело, что стандартных обменов, тем более РИБ там нет. Есть создание документов по API, но это другое.     | |||
| 7
    
        Eiffil123 07.12.23✎ 10:58 | 
        (3) если программно заполните ИмяПредопределенныхДанных, то данный элемент будет отображаться как предопределенный.     | |||
| 8
    
        slafor 07.12.23✎ 11:07 | 
        (7) Спасибо, помогло!
 Но так и непонятным остался вопрос - почему все это произошло? | |||
| 9
    
        slafor 07.12.23✎ 11:19 | 
        В общем, схема тут достаточно проста. Есть предопределенный элемент справочника Контрагенты, есть Юридическое лицо, на который ссылается Контрагент (через реквизит ЮридическоеФизическоеЛицо). Если мы меняем что-то в ЮЛ, то Контрагент сразу же становить непредопределенным. 
 ЮЛ может менять реквизиты Контрагента, но ведь это не должно снимать признак предопределенности! | |||
| 10
    
        timurhv 07.12.23✎ 11:39 | 
        (9) Наверное, там автоматом обновляются свойства через:
 ЗаполнитьЗначенияСвойств, в котором и признак предопределенности и ИмяПредопределенныхДанных | |||
| 11
    
        slafor 07.12.23✎ 12:22 | 
        (10) Точно! Спасибо, я уже нашел - там срабатывает Оповестить в ЮЛ и ОбработкаОповещения в Контрагентах. И признак Предопределенны     | |||
| 12
    
        slafor 07.12.23✎ 12:23 | 
        +(11) ...и признак Предопределенный, и ИмяПредопределенныхДанных тоже переносятся, надо их просто исключить!     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |