21.07.2003, 11:46 | #1 |
Участник
|
программное создание строк заказа
есть необходимость длобавлять строки заказа программно. причем новые строки используют "старые" и меняется всего 1 поле.
посмотрел что при добавлении строки заказа добавляются строки в таблицы: InventSum InventTrans InventDim InventSumLogTTS SalesLine ...вот и подумал что фактическт ложим строку в SalesLine и еще добавляются записи в другие таблицы. Видимо существует какой-то класс который все это дело автоматизирует ??? а то как-то не очень интересно прописывать 5 инсертов... |
|
21.07.2003, 11:58 | #2 |
Moderator
|
У таблицы SalesLine есть метод createLine().
|
|
21.07.2003, 12:24 | #3 |
Участник
|
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 |
Участник
|
Попробуй нажать в заказе
Функции \ Копирование в верхней и нижней его части. Сразу станет более понятно |
|
21.07.2003, 12:56 | #5 |
Участник
|
да и действительно стало понятнее.. немного
Есть еще форма SalesLineCopy которая делает копирование... вообще задача у меня примерно такая: т.к. приход партии номенклатуры А может быть достаточно большой, то менеджеру необходимо вводить каждую строку одной номенклатуры N раз - менять надо только одно поле - серийный номер (аналитика) идея: менеджер в заказе заводит типа строки шаблона потом по отдельной кнопке вносит N новых серийных номеров во временную таблицу, после чего нажимает ДОБАВИТЬ. "ДОБАВИТЬ" делает так: добавляет N серийных номеров в InventSerial а потом начинает вставлять N строк в заказ копируя из строки-шаблона, меняя только аналитику сереийного номера из временной таблицы, после переноса временная таблица очищается. |
|
21.07.2003, 20:34 | #6 |
Участник
|
идея понятная.
но реализация, по моему, может быть проще. включи комплектацию и посмотри на Склад \ Комплектация. Аксапта предполагает, что серийными номерами занимается не менеджер, а кладовщик. Поэтому серийные номера появляются там. Там же они автоматом появляются, если строчку активизировать. Поэтому: 1. на менеджера вешать работу с серийными номерами скорее всего не стоит 2. если не хочется вешать работу с серийными номерами на кладовщика, то стоит попробовать автоподстановку серийных номеров. С чем категорически НЕ СОГЛАСЕН: "добавляет N серийных номеров в InventSerial а потом начинает вставлять N строк в заказ" НИ В КОЕМ СЛУЧАЕ! Серийные номера НЕ МОГУТ появляться, когда формируется ЗАКАЗ! Какие НОВЫЕ серийные номера на этапе продажи? Серийные номера должны появится гораздо раньше. В момент закупки, производства или в крайнем случае хранения на складе. Но ни в коем случае не в момент продажи. В МОМЕНТ ПРОДАЖИ кладовщик (или менеджер на худой конец) может только ВЫБРАТЬ из существующих серийных номеров. Но никак не создать! |
|
22.07.2003, 05:05 | #7 |
Участник
|
да уж
я видимо засиделся на работе....(рабочий день сокращает жизнь на 8 часов) правильно - серийные номера мы вводим в ЗАКУПКЕ а не в ЗАКАЗЕ а кладовщика нету... обязанности кладовщика выполняет менеджер |
|
|
Похожие темы | ||||
Тема | Ответов | |||
блокировка на создание строк | 3 | |||
Создание строк заказа | 2 | |||
Программное создание строк журнала переноса | 6 | |||
Сообщение по обработке строк заказа... | 5 | |||
Создание заказа? | 13 |
|