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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.06.2008, 16:16   #1  
Nikolay100x is offline
Nikolay100x
Участник
 
25 / 10 (1) +
Регистрация: 30.07.2008
Добрый день! Я абсолютный новичок в Navision, но нужно научится и разобраться во всем.

Моя проблема состоит в том, что: есть Приход Товара и есть ВОЗВРАТ товара, так вот, нужно сделать так чтобы в возврате когда я выбираю из какой приходной накладной он делается СТАВИЛАСЬ цена и скидка той приходной накладной.

Помогите плз. очень нужно!

За ранее примного благодарен.
Старый 05.06.2008, 17:18   #2  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от nikolay100x Посмотреть сообщение
Моя проблема состоит в том, что: есть Приход Товара и есть ВОЗВРАТ товара, так вот, нужно сделать так чтобы в возврате когда я выбираю из какой приходной накладной он делается СТАВИЛАСЬ цена и скидка той приходной накладной.
Я бы правильнее сказал - из учтенного Счета (!!!).
Создаешь Кредит-Ноту (или Возврат - в зависимости от того, что есть в лицензии) и пользуешься функцией "Copy Document" (а если версия поновее, то "Create Return-Related &Documents" - сейчас русской версии нет, поэтому пишу английские названия).
Для того, чтобы точно вернуть со скидкой - нужно, чтобы для "Payment Terms", указанной в Заказе, стоял признак "Calc. Pmt. Disc. on Cr. Memos".
Старый 05.06.2008, 17:18   #3  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
В таблице 121 найдите строку со значением в поле "Item Rcpt. Entry No." таким же как и примененная операция.

Ограничения:
* Для товара с серийными номерами или номерами лотов не работает, нужно использовать другую таблицу.
* Если в накладной была одна цена, а в счете другая (еще счетов может быть несколько).

Это если програмировать.
Старый 05.06.2008, 17:34   #4  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от apanko Посмотреть сообщение
Это если програмировать.
Андрей, ну зачем сразу програмить то? Можно же стандатными средствами сначала попробовать решить ;-)
Человек же пишет - новичек. А ты сам знаешь, что может быть, если в табличках немного некорректно подправить!
Старый 05.06.2008, 18:23   #5  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Хотел написать тоже, что и ты.

Но увидел, что тема в разделе программирование и вопрос про Validate.

Сам я сторонник функции "копировать документ", учитывая, что она заполняет применненые операции самостоятельно.
Правда в Возврате она все же пересчитывает цены (нельзя снять флажок "Перерасчитать строки").
А с кредит-нотой нормально, цены соотвествуют исходному документу.
Старый 05.06.2008, 18:30   #6  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
[quote=apanko;366534] Правда в Возврате она все же пересчитывает цены (нельзя снять флажок "Перерасчитать строки"). /quote]
У меня все снимается?!?
Старый 05.06.2008, 18:46   #7  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Это потому, что ты счет копируешь. А если накладную копировать то не снимается (4sp3).

Счет, конечно копировать правильнее, но при этом не заполняются Примененные операции.
Старый 06.06.2008, 16:28   #8  
Nikolay100x is offline
Nikolay100x
Участник
 
25 / 10 (1) +
Регистрация: 30.07.2008
Я немного не понял. Вот Я сделал скриншот своей задачи. При нажатии на поле Прим. из товарн. операции нужно выбрать из какой именно, но чтобы при этом поменялась цена. Мне говорили что это можно сделать при помощи Validate. Но что там писать незнаю. Почитал литературу по Навижену но ничего там не нашел (может я чего-то не понимаю). Я до навижена работал с базами SQL, где все это можно было делать при помощи процедур. А с языком С/AL столкнулся впервые.
Миниатюры
Нажмите на изображение для увеличения
Название: проблема.JPG
Просмотров: 387
Размер:	182.6 Кб
ID:	10305  
Старый 07.06.2008, 09:25   #9  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Откройте ObjectDesigner.

В окне ObjectDesigner нажмите кнопку Таблицы (слева). Найдите таблицу 37 Sales Line.

Нажмите кнопку Design (снизу).

В открывшемся окне найдите поле 5811 Appl.-from Item Entry.

Нажмите F9 откроется C/AL редактор, там увидете триггер onValidate, которые срабатывает при выборе значения. В нем и пишите, что вам надо.

Литература:
Старый 12.06.2008, 11:54   #10  
Nikolay100x is offline
Nikolay100x
Участник
 
25 / 10 (1) +
Регистрация: 30.07.2008
Ув. apanko! А ты не мог бы хоть немного написать то, что там нужно писать, для образца.

За ранее примного благодарен!!!
Старый 12.06.2008, 14:25   #11  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Уж если совсем для примера, а не для применения.


Триггер 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  
Nikolay100x is offline
Nikolay100x
Участник
 
25 / 10 (1) +
Регистрация: 30.07.2008
Ув. apanko! Спасибо огромное! Разобрался!
 


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

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

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