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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.10.2010, 19:03   #1  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Решение не совсем красивое, но возможно решит проблему. К строкам приджойнить ещё один InventDim. Нигде на форму его не выводить, закомментировать у него write, delete, create и на этот InventDim уже повесить партии.
За это сообщение автора поблагодарили: mazzy (10), PavelX (2).
Старый 26.10.2010, 19:42   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,160 / 1289 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от _scorp_ Посмотреть сообщение
К строкам приджойнить ещё один InventDim.
В этом случае придется постоянно отслеживать синхронизацию основного InventDim и вспомогательного. Причем, делать это придется в каждой форме, а обновление форм при выпуске новых SP каждый знает - задача не очень приятная.
Малая кровь, это edit методы на InventDim (включенные в группу полей InventoryDimensions) и вынос управления отображением/доступность в классы InventDimCtrl. Получаем, что формы не трогаем, а меняем классы (что проще при обновлении).
Но:
  • теряем сортировку/фильтрацию.
  • нужно отслеживать введен ли номер партии (иначе непонятно куда писать значения), правда существование партии отслеживать не нужно - в отличии от серийного номера, партию нельзя ввести, если нет записи в InventBatch.
  • вынос поля в какое-то другое место формы ломает управление видимостью/доступностью (впрочем, это относится и к обычным полям InventDim).
  • в группе InventoryDimensions и так достаточно полей, дополнительные могут сломать внешний вид формы (не в гриде, а на соответствующей закладке).
В общем, придумать что-то универсальное достаточно сложно, поэтому я и спрашивал, для каких случаев это нужно. Надеялся, что есть возможность ограничить все это несколькими формами, с которыми работают кладовщики (регистрация отборочной, регистрация/комплектация для поводок, формы в WMS).
PS: на клиенте проще - я бы своих заставил лезть в форму карточки партии и менять там, а на форму бы выводил только display поля
За это сообщение автора поблагодарили: mazzy (2).
Старый 26.10.2010, 19:51   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от _scorp_ Посмотреть сообщение
Решение не совсем красивое, но возможно решит проблему. К строкам приджойнить ещё один InventDim. Нигде на форму его не выводить, закомментировать у него write, delete, create и на этот InventDim уже повесить партии.

Вах! Неожиданно. В эту сторону я еще не думал.

На самом деле, не помогает.
Но после ряда экспериментов с дополнительным датасорсом оказалось, что помогает неожиданное решение с типом связи Delayed.

Как и ожидалось, такая связь приводит к глюкам, если параметры партии вывести в грид.
Но зато отлично работает (без избыточного программирования) в остальных случаях.
Причем, что удивительно, корректно работает даже на строчках с номенклатурой с выключенной партией.

И пришлось все-таки перехватить метод modified у поля InventDim.InventBatchId, чтобы параметры обновлялись при изменении партии.

приложил проект для ax2009 RU5.

теперь решить бы вопрос с полем в гриде при типе join = Delayed
Вложения
Тип файла: rar Form_SalesTable.rar (33.1 Кб, 146 просмотров)
__________________
полезное на axForum, github, vk, coub.
Теги
ax2009, как правильно, партии, форма

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Правильно ли выбран PrimaryIndex для таблицы Address? Morpheus DAX: Программирование 3 01.08.2007 23:43
Связать две таблицы madproger DAX: Программирование 3 26.10.2006 13:17
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings) vey DAX: Функционал 5 16.03.2005 11:16
Данные из Tmp таблицы в QueryRun на форме Berty Wooster DAX: Программирование 1 23.09.2003 10:10
Возврат товара по партии, проданной в минус axot DAX: Функционал 2 18.11.2002 18:22

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:12.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.