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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.10.2012, 12:44   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Совет из разряда тех, которыми никогда не стоит пользоваться. Проблема в том, что он основан на изначально неверном утверждении, что вся логика маркинга определена в форме InventMarking. Это, мягко говоря, не совсем так.

Правильный способ решения поставленной задачи - использовать метод TmpInventTransMark::updateTmpMark(). Он, кстати, не только поля InventRef* в SalesLine и PurchLine заполнит, но и резервирование обновит.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: Stitch_MS (2), S.Kuskov (1).
Старый 17.10.2012, 11:45   #2  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
397 / 483 (17) +++++++
Регистрация: 27.02.2006
Адрес: Дания
За отзыв спасибо, но хотелось бы пояснить
  • Это был не совет, а описание решения некоторой задачи.
  • Утверждения, что вся логика маркинга определена в форме - не было. Было "Apparently, calling InventTransOrigin::updateMarking method was not enough... So, I tried to use the standard Marking form for that ad-hoc task. "
  • Использование метода updateTmpMark напрямую из кода подразумевает подготовку параметров, один из которых - контейнер c записями. Я такие вещи, мягко говоря, недолюбливаю. Судя по перекрестным ссылкам, единственное место, где этот метод используется - это та самая форма. Форма же и занимается подготовкой записей для метода. Я не хотел писать всё это руками для своей задачи, если это уже сделано на форме.
Старый 17.10.2012, 12:31   #3  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Я думаю, что маркировка из кода все таки задача для выполнения на сервере. Использование формы, её датасорсов для заполнения данных переводит задачу на клиента, что не очень хорошо.
Старый 17.10.2012, 14:20   #4  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
Это был не совет, а описание решения некоторой задачи.
Мы с вами это понимаем. А хотелось бы, чтобы понимали и начинающие программисты. Из оригинального сообщения не следует, что его не стоит использовать в качестве руководства к действию.
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
Утверждения, что вся логика маркинга определена в форме - не было. Было "Apparently, calling InventTransOrigin::updateMarking method was not enough... So, I tried to use the standard Marking form for that ad-hoc task. "
Напрямую - не было. Но вот после этого - "And if business logic is built into forms, it is sort of hard to automate" - и последующего описания процесса маркировки, можно запутаться и сделать неправильные выводы.
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
Использование метода updateTmpMark напрямую из кода подразумевает подготовку параметров, один из которых - контейнер c записями. Я такие вещи, мягко говоря, недолюбливаю. Судя по перекрестным ссылкам, единственное место, где этот метод используется - это та самая форма. Форма же и занимается подготовкой записей для метода. Я не хотел писать всё это руками для своей задачи, если это уже сделано на форме.
Так вы посмотрите, как этот контейнер с записями готовится. Попробуйте через него. Код получится проще и понятнее, чем у вас. И, кстати, чтобы вызвать форму, тоже много параметров приходится подготовить, не так ли?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 17.10.2012, 15:29   #5  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
397 / 483 (17) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Спасибо. Я написал еще один пост, специально для начинающих программистов.

А насчет "посмотреть, как этот контейнер с записями готовится" - я ж и не спорю, что после изучения, как это делает форма, я написал бы более понятный и эффективный код. Очень возможно.

Там же как получилось: посмотрел я на форму, увидел там N-ное количество методов и переменных на уровне формы и сразу вспомнил картинку:



А поскольку я уже знал, как работать с формой из кода, я решил съэкономить время. Вот и всё .

Последний раз редактировалось Stitch_MS; 17.10.2012 в 15:30. Причина: орфография
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
dynamicsaxtraining: Vendor returns Blog bot DAX Blogs 0 11.10.2012 00:11
dynamicsaxtraining: Sales Blog bot DAX Blogs 0 25.04.2012 03:18
dynamicsaxtraining: Purchase Blog bot DAX Blogs 0 11.03.2012 05:25
CRM DE LA CREME! Some more useful javascripts for MS CRM Blog bot Dynamics CRM: Blogs 0 04.05.2010 11:05
Вопрос про Demand Planner slava09 DAX: Функционал 4 25.09.2006 11:43

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

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

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