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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.07.2003, 11:46   #1  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
программное создание строк заказа
есть необходимость длобавлять строки заказа программно. причем новые строки используют "старые" и меняется всего 1 поле.

посмотрел что при добавлении строки заказа добавляются строки в таблицы:

InventSum
InventTrans
InventDim
InventSumLogTTS
SalesLine

...вот и подумал что фактическт ложим строку в SalesLine и еще добавляются записи в другие таблицы. Видимо существует какой-то класс который все это дело автоматизирует ??? а то как-то не очень интересно прописывать 5 инсертов...
Старый 21.07.2003, 11:58   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
У таблицы SalesLine есть метод createLine().
Старый 21.07.2003, 12:24   #3  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
server void createLine(boolean validation = false,
boolean initFromSalesOrderTable = false,
boolean initFromInventTable = false,
boolean calcInventQty = false,
boolean searchMarkup = true,
boolean searchPrice = false,
boolean checkReservation = false,
InventTransId oldInventTransId = '')


видел я этот метож раньше - не понятно какая переменная за что отвечает и что такое InventTransId -

InventTransId - это видимо номер "старого" лота из которого копирование ведется...
а вот что обозначают все booleanы можно наверное только догадаться
Старый 21.07.2003, 12:39   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Попробуй нажать в заказе
Функции \ Копирование в верхней и нижней его части.
Сразу станет более понятно
Старый 21.07.2003, 12:56   #5  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
да и действительно стало понятнее.. немного

Есть еще форма SalesLineCopy которая делает копирование...

вообще задача у меня примерно такая:
т.к. приход партии номенклатуры А может быть достаточно большой, то менеджеру необходимо вводить каждую строку одной номенклатуры N раз - менять надо только одно поле - серийный номер (аналитика)

идея: менеджер в заказе заводит типа строки шаблона потом по отдельной кнопке вносит N новых серийных номеров во временную таблицу, после чего нажимает ДОБАВИТЬ. "ДОБАВИТЬ" делает так: добавляет N серийных номеров в InventSerial а потом начинает вставлять N строк в заказ копируя из строки-шаблона, меняя только аналитику сереийного номера из временной таблицы, после переноса временная таблица очищается.
Старый 21.07.2003, 20:34   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
идея понятная.
но реализация, по моему, может быть проще.

включи комплектацию и посмотри на Склад \ Комплектация.
Аксапта предполагает, что серийными номерами занимается не менеджер, а кладовщик. Поэтому серийные номера появляются там. Там же они автоматом появляются, если строчку активизировать.

Поэтому:
1. на менеджера вешать работу с серийными номерами скорее всего не стоит
2. если не хочется вешать работу с серийными номерами на кладовщика, то стоит попробовать автоподстановку серийных номеров.


С чем категорически НЕ СОГЛАСЕН:
"добавляет N серийных номеров в InventSerial а потом начинает вставлять N строк в заказ"
НИ В КОЕМ СЛУЧАЕ! Серийные номера НЕ МОГУТ появляться, когда формируется ЗАКАЗ! Какие НОВЫЕ серийные номера на этапе продажи?
Серийные номера должны появится гораздо раньше. В момент закупки, производства или в крайнем случае хранения на складе. Но ни в коем случае не в момент продажи.

В МОМЕНТ ПРОДАЖИ кладовщик (или менеджер на худой конец) может только ВЫБРАТЬ из существующих серийных номеров. Но никак не создать!
Старый 22.07.2003, 05:05   #7  
renat is offline
renat
Участник
Аватар для renat
 
142 / 12 (1) ++
Регистрация: 14.10.2002
да уж
я видимо засиделся на работе....(рабочий день сокращает жизнь на 8 часов)
правильно - серийные номера мы вводим в ЗАКУПКЕ а не в ЗАКАЗЕ

а кладовщика нету... обязанности кладовщика выполняет менеджер
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
блокировка на создание строк fialka DAX: Программирование 3 01.03.2007 14:31
Создание строк заказа murad DAX: Программирование 2 30.05.2006 19:01
Программное создание строк журнала переноса Freeangel DAX: Программирование 6 25.04.2006 18:31
Сообщение по обработке строк заказа... Venera DAX: Функционал 5 21.06.2004 13:51
Создание заказа? 2b4fITin DAX: Функционал 13 02.02.2004 15:52

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

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

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