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,374 / 451 (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
Administrator
Аватар для mazzy
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,836 / 3725 (182) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Попробуй нажать в заказе
Функции \ Копирование в верхней и нижней его части.
Сразу станет более понятно
Старый 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
Administrator
Аватар для mazzy
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,836 / 3725 (182) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
идея понятная.
но реализация, по моему, может быть проще.

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

Поэтому:
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, время: 23:42.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.