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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.05.2007, 00:13   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Blog bot Посмотреть сообщение
Первое что приходит в голову - это просто добавить новое поле в строки заказов и потом переделать некоторые складские отчеты таким образом, чтобы они строились по соединению (join) таблицы складских проводок с исходным документом. Проблема в том, что в реальности постоянно возникают ситуации, при которых клиент, задним числом вспоминает что неплохо бы это поле добавить не только в заказы (например), но и в складские журналы списания или переноса.
И не только это.
Заказы - это по сути специализированные Журналы.
Журналы - это по сути черновики.
При разноске информация из черновиков переносится в беловики (в проводки и документы)
А черновики могут быть удалены!!!! (это штатное поведение Аксапты)

Join с первичным документам приводит к массе неприятных побочных эффектов.
Первый - черновики становится нельзя удалять (в результате растет база).
Второй - нарушается логика, которая гласит: в черновиках то, что мы собираемся сделать, а в проводках то, что уже сделали
Третий - значение поля в первичном документе становится нельзя измененять впоследствии (особенно для заказов/закупок). Если делается join, то в этом случае УЖЕ проведенный документ может ИЗМЕНИТЬ свое значение. Следовательно, нельзя изменять заджойненое поле при частичных отгрузки/закупках. Например, в заказе 100 шт. Ответственный Иванов. Клиенту отгружено 60 штук. Иванов заболел/умер/уволился, вместо него Петров. Но если мы поставим Петрова в шапку, то и уже отгруженные 60 штук пойдут на Петрова. Но с другой стороны, оставшиеся 40 надо отдать Петрову. Проблема.
Четвертый - о котором говорит Denis Fedotenko - первичные документы разные и в коде обрабатывать их надо по-разному.

К сожалению, эту ошибку "Join с первичными документами" сделали при локализации. При некоторых условиях заказы/закупки/журналы удалять нельзя (книги продаж/покупок, налоговый учет, ОС).

Цитата:
Сообщение от Blog bot Посмотреть сообщение
Если транслировать эту задачу в более приземленные термины, то нужно:
1. Добавить в таблицу складских проводок (inventTrans) поле "Сейл" и копировать туда поле "Ответственный продавец" из шапки заказа
Ох. Ни в коем случае не напрямую из шапки заказа!
Поля обязательно надо протаскивать через SalesParmTable, PurchParmTable!
Иначе концов не собрать при разборе полетов!

А слово "копировать" очень правильное.
__________________
полезное на axForum, github, vk, coub.
Теги
inventdim, inventsum, inventtrans, база данных, как правильно, логистика, себестоимость, складские отчеты, складские проводки

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Denis Fedotenko: Себестоимость и длинные производственные заказы Blog bot DAX Blogs 13 21.11.2013 16:57
Denis Fedotenko: Себестоимость и закрытие склада Blog bot DAX: База знаний и проекты 44 29.03.2010 14:54
Валютные курсы, новые поля. Alex_R2 DAX: Функционал 3 17.07.2008 15:31
Не создаются новые поля в базе Oracle Bega DAX: Администрирование 5 29.06.2006 16:51
Код аналитики 'Номер партии' отмечен в складских проводках со значением Antidot DAX: Программирование 9 29.07.2005 10:57

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

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

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