Имя: Пароль:
1C
 
Не работают связи параметров выбора
↓ (Волшебник 29.02.2024 22:12)
0 skyadmin
 
29.02.24
21:52
Типовая УТ 11.5 документ Заказ клиента

При очистке поля партнер очищаются контрагент и пр., потому как установлены связи. Но если очистить реквизит программно

Объект.Партнер = Неопределено; //Хоть пустая ссылка

То связанные поля не очищаются, почему так?
1 Волшебник
 
29.02.24
22:12
Должно работать
2 skyadmin
 
29.02.24
22:19
То что реквизит очистился сомнений нет, попробовал после очистки выполнять

ОповеститьОбИзменении(Тип("СправочникСсылка.Партнеры"));
ОбновитьОтображениеДанных();
ОбновитьИнтерфейс();

что-то не работает
3 NcSteel
 
29.02.24
22:46
(0) А почему должно или вопрос заключается как очистить связанные поля?
4 skyadmin
 
29.02.24
22:51
Просто с партнером это лишь пример, поля могут быть различные.
Да, собственно волнует как их очистить, проходить по всем полям и проверять наличие связей, или есть более простой способ?
5 skyadmin
 
29.02.24
22:57
Если значение поля изменилось, то по логике связанные поля  реагировать должны) при ручном изменении почему-же реагируют
6 NcSteel
 
29.02.24
23:06
Красивого решения не знаю.
7 skyadmin
 
29.02.24
23:43
Запилил рекурсивную функцию, работает

&НаКлиенте
Процедура ОбновитьСвязанныеРеквизиты(ИмяРеквизита) Экспорт
    Для Каждого Элемент Из ЭтаФорма.Элементы Цикл
        Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Элемент, "СвязиПараметровВыбора") Тогда
            СвязиПараметровВыбора = Элемент.СвязиПараметровВыбора;
            Если СвязиПараметровВыбора.Количество() > 0 Тогда
                Связь = Новый СвязьПараметраВыбора("Отбор." + ИмяРеквизита, "Объект." + ИмяРеквизита, РежимИзмененияСвязанногоЗначения.Очищать);
                Если СвязиПараметровВыбора.Найти(Связь) <> Неопределено Тогда
                    Подключаемый_ОбновитьСвязанныеРеквизиты(Элемент.Имя);
                    Объект[Элемент.Имя] = Неопределено;
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры
8 skyadmin
 
29.02.24
23:44
Правильнее будет ее назвать ОчиститьСвязанныеРеквизиты
9 Волшебник
 
01.03.24
08:29
лишь бы не зациклилась
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший