05.06.2008, 16:16 | #1 |
Участник
|
Добрый день! Я абсолютный новичок в Navision, но нужно научится и разобраться во всем.
Моя проблема состоит в том, что: есть Приход Товара и есть ВОЗВРАТ товара, так вот, нужно сделать так чтобы в возврате когда я выбираю из какой приходной накладной он делается СТАВИЛАСЬ цена и скидка той приходной накладной. Помогите плз. очень нужно! За ранее примного благодарен. |
|
05.06.2008, 17:18 | #2 |
Участник
|
Цитата:
Создаешь Кредит-Ноту (или Возврат - в зависимости от того, что есть в лицензии) и пользуешься функцией "Copy Document" (а если версия поновее, то "Create Return-Related &Documents" - сейчас русской версии нет, поэтому пишу английские названия). Для того, чтобы точно вернуть со скидкой - нужно, чтобы для "Payment Terms", указанной в Заказе, стоял признак "Calc. Pmt. Disc. on Cr. Memos". |
|
05.06.2008, 17:18 | #3 |
MCTS
|
В таблице 121 найдите строку со значением в поле "Item Rcpt. Entry No." таким же как и примененная операция.
Ограничения: * Для товара с серийными номерами или номерами лотов не работает, нужно использовать другую таблицу. * Если в накладной была одна цена, а в счете другая (еще счетов может быть несколько). Это если програмировать. |
|
05.06.2008, 17:34 | #4 |
Участник
|
|
|
05.06.2008, 18:23 | #5 |
MCTS
|
Хотел написать тоже, что и ты.
Но увидел, что тема в разделе программирование и вопрос про Validate. Сам я сторонник функции "копировать документ", учитывая, что она заполняет применненые операции самостоятельно. Правда в Возврате она все же пересчитывает цены (нельзя снять флажок "Перерасчитать строки"). А с кредит-нотой нормально, цены соотвествуют исходному документу. |
|
05.06.2008, 18:30 | #6 |
Участник
|
[quote=apanko;366534] Правда в Возврате она все же пересчитывает цены (нельзя снять флажок "Перерасчитать строки"). /quote]
У меня все снимается?!? |
|
05.06.2008, 18:46 | #7 |
MCTS
|
Это потому, что ты счет копируешь. А если накладную копировать то не снимается (4sp3).
Счет, конечно копировать правильнее, но при этом не заполняются Примененные операции. |
|
06.06.2008, 16:28 | #8 |
Участник
|
Я немного не понял. Вот Я сделал скриншот своей задачи. При нажатии на поле Прим. из товарн. операции нужно выбрать из какой именно, но чтобы при этом поменялась цена. Мне говорили что это можно сделать при помощи Validate. Но что там писать незнаю. Почитал литературу по Навижену но ничего там не нашел (может я чего-то не понимаю). Я до навижена работал с базами SQL, где все это можно было делать при помощи процедур. А с языком С/AL столкнулся впервые.
|
|
07.06.2008, 09:25 | #9 |
MCTS
|
Откройте ObjectDesigner.
В окне ObjectDesigner нажмите кнопку Таблицы (слева). Найдите таблицу 37 Sales Line. Нажмите кнопку Design (снизу). В открывшемся окне найдите поле 5811 Appl.-from Item Entry. Нажмите F9 откроется C/AL редактор, там увидете триггер onValidate, которые срабатывает при выборе значения. В нем и пишите, что вам надо. Литература:
|
|
12.06.2008, 11:54 | #10 |
Участник
|
Ув. apanko! А ты не мог бы хоть немного написать то, что там нужно писать, для образца.
За ранее примного благодарен!!! |
|
12.06.2008, 14:25 | #11 |
MCTS
|
Уж если совсем для примера, а не для применения.
Триггер Appl.-from Item Entry onValidate() Переменная lrSalesShipmentLine = record.111 Код: lrSalesShipmentLine.SETCURRENTKEY("Item Shpt. Entry No."); lrSalesShipmentLine.SETRANGE("Item Shpt. Entry No.","Appl.-from Item Entry"); IF lrSalesShipmentLine.FIND('-') THEN BEGIN VALIDATE("Unit Price",lrSalesShipmentLine."Unit Price"); VALIDATE("Line Discount %",lrSalesShipmentLine."Line Discount %"); END; |
|
13.06.2008, 12:41 | #12 |
Участник
|
Ув. apanko! Спасибо огромное! Разобрался!
|
|