![]() |
#1 |
Участник
|
![]()
Есть ситуация:
1. Создан договор №1 в модуле Расчеты с поставщиками и переведен в статус "Действует" 2. Создана закупка, в которой указали договор №1 3. Перевели договор в статус "Не оформлен". Теперь договор спокойно можно удалить. Хотя RContractTable в DeleteActions прописано: PurchTable: Restricted Как можно запретить удаление договора, если он указан в закупке? Не смотря на статус. Версия Ax 3.0 SP5 |
|
![]() |
#2 |
Ищущий знания...
|
похожая тема, возможно поможет.
Снова вопрос по DeleteAction
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#3 |
северный Будда
|
Я бы лучше запретил откат статуса для договора, уже указанного в закупках.
__________________
С уважением, Вячеслав |
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от lev
![]() похожая тема, возможно поможет.
Снова вопрос по DeleteAction X++: public boolean validateDelete() { boolean ret; ret = super(); if (ret && this.RContractStatus == RcontractStatus::Active && this.RContractStatus == RcontractStatus::Passive) // добавил сам ret = false; return ret; } |
|
![]() |
#5 |
Участник
|
|
|
![]() |
#6 |
Ищущий знания...
|
ну тогда самый простой вариант написать селект firstonly по PurchTable, и если вдруг какая запись нашлась, то запретить удаление (throw error или ещё как, дело ваше
![]()
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#7 |
Мрачный тип
|
1) Убить в таблице PurchTable из Relation на RContractTable ограничения на поле RContractStatus таблицы RContractTable
2) В форме PurchTable на поле RContractAccount источника данных PurchTable переопределить lookup() c ограниченим, идентичным изначальному Relation 3) В форме PurchCreateOrder - аналогично п.2 Проблема вся в убого сделанном Relation - он заточен только под lookup(), про DeleteAction его создатели забыли (срабатывает только по договорам в статусе "действует")
__________________
Мы летаем, кружимся, нагоняем ужасы ... Последний раз редактировалось TasmanianDevil; 23.05.2011 в 13:33. |
|
![]() |
#8 |
северный Будда
|
Переопределять lookup недостаточно - выбрать из выпадающего не тот договор не смогут, а вот вписать руками - запросто
Напишите exist на PurchTable по номеру договора и вызывайте его при откате договора. Если возвращает true - значит, откатывать нельзя, потому что договор фигурирует в закупке
__________________
С уважением, Вячеслав Последний раз редактировалось pitersky; 23.05.2011 в 14:13. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|