AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.05.2011, 10:45   #1  
Янг is offline
Янг
Участник
Аватар для Янг
 
11 / 10 (1) +
Регистрация: 03.09.2008
? Удаление договора
Есть ситуация:
1. Создан договор №1 в модуле Расчеты с поставщиками и переведен в статус "Действует"
2. Создана закупка, в которой указали договор №1
3. Перевели договор в статус "Не оформлен". Теперь договор спокойно можно удалить.
Хотя RContractTable в DeleteActions прописано:
PurchTable: Restricted

Как можно запретить удаление договора, если он указан в закупке? Не смотря на статус.

Версия Ax 3.0 SP5
Старый 23.05.2011, 10:52   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
похожая тема, возможно поможет.
Снова вопрос по DeleteAction
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 23.05.2011, 11:13   #3  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Я бы лучше запретил откат статуса для договора, уже указанного в закупках.
__________________
С уважением,
Вячеслав
Старый 23.05.2011, 12:16   #4  
Янг is offline
Янг
Участник
Аватар для Янг
 
11 / 10 (1) +
Регистрация: 03.09.2008
Цитата:
Сообщение от lev Посмотреть сообщение
похожая тема, возможно поможет.
Снова вопрос по DeleteAction
Прочитал. Попробовал изменить validateDelete в методах RContractTable
X++:
public boolean validateDelete()
{
    boolean ret;

    ret = super();

    if (ret && this.RContractStatus == RcontractStatus::Active
        &&
        this.RContractStatus == RcontractStatus::Passive) // добавил сам
        ret = false;

    return ret;
}
Не помогло.
Старый 23.05.2011, 12:20   #5  
Янг is offline
Янг
Участник
Аватар для Янг
 
11 / 10 (1) +
Регистрация: 03.09.2008
Цитата:
Сообщение от pitersky Посмотреть сообщение
Я бы лучше запретил откат статуса для договора, уже указанного в закупках.
Как возможно это сделать?
Старый 23.05.2011, 12:27   #6  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от Янг Посмотреть сообщение
Как возможно это сделать?
ну тогда самый простой вариант написать селект firstonly по PurchTable, и если вдруг какая запись нашлась, то запретить удаление (throw error или ещё как, дело ваше )
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 23.05.2011, 13:24   #7  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
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.
Старый 23.05.2011, 14:07   #8  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Переопределять lookup недостаточно - выбрать из выпадающего не тот договор не смогут, а вот вписать руками - запросто
Цитата:
Сообщение от Янг Посмотреть сообщение
Как возможно это сделать?
Напишите exist на PurchTable по номеру договора и вызывайте его при откате договора. Если возвращает true - значит, откатывать нельзя, потому что договор фигурирует в закупке
__________________
С уважением,
Вячеслав

Последний раз редактировалось pitersky; 23.05.2011 в 14:13.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Договора в AX 4.0 kozyurin DAX: Функционал 4 12.11.2007 11:53
Проблема с назначением доступа к таблице Договора Hidden DAX: Администрирование 5 17.11.2004 12:43
Ax3.0 SP3 CIS: Журнал накладных и российские договора (ошибка) mpa DAX: Функционал 2 11.10.2004 15:14
для чего нужны Договора? storm DAX: Функционал 8 07.02.2004 03:28
Удаление проекта Maxim Gorbunov DAX: Программирование 0 24.12.2001 23:04
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:08.