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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.06.2007, 16:17   #1  
zZ_TOP_Zz is offline
zZ_TOP_Zz
int 20h
Аватар для zZ_TOP_Zz
 
143 / 24 (1) +++
Регистрация: 26.02.2007
Адрес: Санкт -Петербург
Что такое purchTableLinks
Подскажите что за таблица purchTableLinks

что в ней должно содержаться и для чего она нужна...спасибо.
Старый 04.06.2007, 16:27   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
По идее эта табличка связывает исходный контракт с созданными по нему закупками.
Стоя на строке исходного контракта, можно посмотреть Связанные с ним закупки по кнопке Запросы\Прикрепленные закупки.

Создаются они, к примеру, в классе PurchAutoCreate_TmpPurchLine
(вызывается из Функции\Создание заказа на отпуск на строке контракта)

Последний раз редактировалось kashperuk; 04.06.2007 в 16:29.
Старый 04.06.2007, 16:32   #3  
zZ_TOP_Zz is offline
zZ_TOP_Zz
int 20h
Аватар для zZ_TOP_Zz
 
143 / 24 (1) +++
Регистрация: 26.02.2007
Адрес: Санкт -Петербург
В связи с чем возник вопрос....

При удалении строки в закупке и создании ее снова, появляется инфолог что Невозможно создать запись в 'Партии' ('InventBatch') Номер партии ХХХХХХХХХХХХ.
Я думаю что это связано с тем, что номер партии не удаляется при удалении данной номенклатуры. Стал рыть код и там вылезла эта таблица, которая должна быть по-идее связующей, но в ней нет записей, а поиск партии по ней осуществляется. Если кто подскажет варианты решения буду в большой признательности.
Старый 04.06.2007, 16:36   #4  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Эээ. Вообще-то, в этой таблице всего 2 поля. Оба имееют тип "Код закупки".
Так что не понял я, как партия по ним ищется.
В каком месте наткнулись на это? (название метода и класса)
Старый 04.06.2007, 16:56   #5  
zZ_TOP_Zz is offline
zZ_TOP_Zz
int 20h
Аватар для zZ_TOP_Zz
 
143 / 24 (1) +++
Регистрация: 26.02.2007
Адрес: Санкт -Петербург
перекрыв метод Delete в
\Forms\PurchTable\Data Sources\PurchLine\Methods\delete
там есть
purchTable_ds.reFresh() он вызывает PurchIdBlanket, а он то и обращается
return PurchTableLinks::find(this.PurchId).mainPurchId;

Вопрос. Надо удалить данную партию при удалении записи из закупки.
Старый 04.06.2007, 17:16   #6  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Вы явно что-то напутали.

Во-первых, в стандартной системе партии, насколько я знаю, не удаляются при удалении строки закупки (если под партией мы понимаем одно и то же - InventDim.InventBatchId).

Во-вторых, purchTable_ds.refresh() всего лишь обновляет данные грида закупок, а соответственно, не может никуда обращаться.

В-третьих, при удалении строки закупки действительно идет обращение к контракту - в нем количество уменьшается по соответствующей строке. (это происходит в методе Data Dictionary\Tables\PurchLine\Methods\updateBlanketOrder). При этом может измениться статус строки, и даже всего контракта. Но сам контракт и его строки не удаляется. А соответственно в них указана такая же аналитика, как и в строке закупки. (по последнему пункту - не уверен, что аналитики совпадают, но при создании так точно копируются)

Соответственно, делаю вывод, что партии Вы удаляете самостоятельно. И видимо, неправильно.
Поэтому, покажите код, который Вы для этого написали.
Старый 04.06.2007, 17:37   #7  
zZ_TOP_Zz is offline
zZ_TOP_Zz
int 20h
Аватар для zZ_TOP_Zz
 
143 / 24 (1) +++
Регистрация: 26.02.2007
Адрес: Санкт -Петербург
Спасибо за помощь, Иван. Но в силу огромных отличий от стандартной аксапты. Немогу вам привести весь код. Да на счет purchTable_ds.refresh() вы абсолютно правы, но как есть так и есть. Не я писал это код, а мне в нем разбираться приходится. ))))

Скажите еще, может ли быть номер партии для данной номенклатуры безболезненно удален из таблицы InventBatch при удалении номенклатуры из этой открытой закупки. Судя по всему он просто не удаляется.
Старый 04.06.2007, 17:55   #8  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Ну, думаю, что ничего криминального в этом нет.
Главное, что необходимо сделать, это предварительно проверить, что по этому номеру партии нет проводок. (это делается автоматически в методе InventBatch.validateDelete())

То есть просто необходимо вызвать этот метод перед удалением. И удалять только в случае возвращения этим методом true.
Старый 04.06.2007, 17:59   #9  
zZ_TOP_Zz is offline
zZ_TOP_Zz
int 20h
Аватар для zZ_TOP_Zz
 
143 / 24 (1) +++
Регистрация: 26.02.2007
Адрес: Санкт -Петербург
Еще раз спасибо...так и сделаю
__________________
It's just my Unhopelessnessabilityerism
Trying to debug my mind
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Что такое "Аналитика"? Macross DAX: Функционал 31 21.03.2008 13:03
Что такое "Справочник"? Macross DAX: Функционал 6 05.02.2008 11:09
Что такое партии? Andrux DAX: Функционал 4 04.06.2007 11:08
"График предоплат" (С) glibs - что это такое? mazzy DAX: Прочие вопросы 51 13.10.2006 16:31
Что такое Merge2000? Wamr DAX: Прочие вопросы 3 16.06.2005 13:10

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

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

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