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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.09.2008, 16:46   #1  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Как сделать такую связь?
Есть такая задача.
Есть строка заказ(склад 1). Количества на складе 1 нет.
Под заказ создаётся журнал переноса. (склад2 -> склад 1)
Журнал резервируется.
Далее резервируем строку заказа , через InventUpd_Reservation::updateReserveLot(строка заказа, строка журнала).
Но вот вопрос. Связи не остаётся после этого.
И как консультанту тестить. Можно же запутаться. Че куда и от куда. Может вообще зарезервировалось в заказе не с его журнала.
Может есть у кого какие мысли, как можно сделать чтоб сохранялась связь строки заказа со строкой журнала переноса.
Может можно использовать для этого InventRefTransId?
Старый 02.09.2008, 09:21   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
В проводках (InventTrans) есть два поля TransChildType - складская ссылка, и TransChildRefId - складской идентификатор. TransChildType это енум, в нем есть и пункт "Складской журнал". Может это подойдет?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 02.09.2008, 09:36   #3  
npokypatop is offline
npokypatop
Злыдни
Сотрудники компании It Box
Злыдни
 
60 / 14 (1) ++
Регистрация: 28.09.2005
Адрес: Нюрнберг
Гм... если использовать поля *child*, перед разноской их придется очищать...
А какая связь нужна - строка заказа и строка журнала, или достаточно связать журнал и заказ? Если второе, то лучше поле в шапку журнала выносить. В противном случае - придется свое поле со ссылкой на inventtransid заказа в строке журнала (или проводке) делать
__________________
Все может быть и быть все может, все может быть или не быть,
но быть того никак не может, чего совсем не может быть.
Старый 02.09.2008, 09:43   #4  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,490 / 1060 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от miklenew Посмотреть сообщение
Может можно использовать для этого InventRefTransId?
Можно и нужно. Так работает маркировка. Пользуясь мониторингом можно видеть движение.
Есть одно но, себестоимость будет идти по маркированной цепочке.
Старый 02.09.2008, 11:26   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Я почему-то был уверен, что когда строка резервируется в заказанных, она маркируется с этим самым заказом/переносом.
Получается, что это не так/не работает?
Старый 02.09.2008, 12:49   #6  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,490 / 1060 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Я почему-то был уверен, что когда строка резервируется в заказанных, она маркируется с этим самым заказом/переносом.
Получается, что это не так/не работает?
Я тоже так думал. Проверять лень. Возможно у автора топика модифицировано приложение.
Старый 04.09.2008, 14:17   #7  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от lev Посмотреть сообщение
В проводках (InventTrans) есть два поля TransChildType - складская ссылка, и TransChildRefId - складской идентификатор. TransChildType это енум, в нем есть и пункт "Складской журнал". Может это подойдет?
Нет, ссылка нужна на лот.
Старый 04.09.2008, 14:19   #8  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от raz Посмотреть сообщение
Можно и нужно. Так работает маркировка. Пользуясь мониторингом можно видеть движение.
Есть одно но, себестоимость будет идти по маркированной цепочке.
Да, это поле мне не подайдёт.
Старый 04.09.2008, 14:20   #9  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Я почему-то был уверен, что когда строка резервируется в заказанных, она маркируется с этим самым заказом/переносом.
Получается, что это не так/не работает?
Нет, не маркируется. Приложение не причём в стандарте также.
Старый 04.09.2008, 14:31   #10  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Ладно хорошего варианта похоже нет.
Щас возник более сложный вопрос.
При ручном в форме(или кодом) удаления резервирования с лота.
Система идёт в метод InventUpdate.updateReserveAgain.
Находит первую попавшуюся открытую проводку зарезервированную в заказных не равной нашему лоту и уменьшает его резерв на нашу величину и забирает наше количество себе.
Т.е. есть лот1 - количество 10(зарезервировали физически)
Есть лот 2 - количество 60(зарезервировано в заказных).
В результате после разрезервирования(10).
Первый лот прийдёт в то состояние в которое нужно.
А из второй разделиться на 50(зарезервированно в заказанных) и 10(зарезервировано в заказанных).
Как ни ломал голову логику так и не понял.
Может кто просветит, что за мысль здесь была или есть.
Метод updateReserveAgain вызывается если какая нибудь аналитика при резервировании подбирается.
У нас это ГТД. Т.е. сделали строку журнала без ГТД. При резервировании система может найти остаток с ГТД.
А при откате(разрезервировании) ГТД в проводке снова исчезнет.

Последний раз редактировалось miklenew; 04.09.2008 в 14:39.
Старый 04.09.2008, 17:33   #11  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Миш, обрати внимание, что это происходит при смене аналитики ПРИХОДНОЙ проводки.
Логика такая: при смене аналитики приходной проводки ищутся расходные проводки, которые зарезервированы (в заказаном) на исходной аналитике и они переводятся на новую аналитику прихода... тянутся за ней хвостом, так сказать.
За это сообщение автора поблагодарили: miklenew (5).
Старый 04.09.2008, 19:38   #12  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Вась, спасибо большое.
Теперь понял.
При разрезервировании меняется сначала аналитика в расходной проводке, она тащит за собой приходную. А то в свою очередь этот эфект.
Если я правильно понял мысль была такая, что пока приходная проводка находилась в статусе заказано, с неё мог кто-то зарезервироваться.
И таким макаром просто страхуются. Лучше меньше, чем резерв какой-нибудь потом сняться не сможет.
А так ведь можно играться этой ситуацией до тех пор пока приходный InventDimId c которого меняется приходная проводка совсем не разрезервируется и не повиснет на другой аналитике.
У меня уже так получалось.
Маленькая так сказать багофича.
Прийдёться наследник от класса InventUpd_Reservation делать для импорта.
Хотя ещё более правильно будет прям сюда вписать проверку
Если количество по этой аналитике в статусе заказано после списания нашего количества всё ещё будет больше количества зарезервированного в заказанных, то и не фиг париться.

Последний раз редактировалось miklenew; 04.09.2008 в 20:06.
Теги
маркировка, резервирование

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как сделать фильтр по группе пользователей? Zabr DAX: Программирование 12 08.04.2009 11:40
Заумный отчет по ОС, как сделать? Бриллиантик DAX: Программирование 13 09.07.2008 16:36
Как лучше сделать? Smith DAX: Программирование 7 12.10.2004 13:57
Связь двух таблиц daemon DAX: Программирование 10 20.11.2003 16:32
дизайн отчета (как сделать его с разделителями между столбцами?) puz DAX: Программирование 7 02.09.2003 08:50

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

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

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