2013-04-11 1 views
1

Я стараюсь считать Qty_to_invoice в Purchase_Order_Line, но значение этого поля равно 0 в самом начале, поэтому я должен инициализировать его с помощью поля Quantity в строке заказа на поставку. Проблема в том, когда она возвращается к 0. Как я могу отметить, что все счета-фактуры для этой строки получены?Как пометить количество для выставления счета в строке заказа на поставку? Могу ли я использовать поле «Готово»?

Я нашел поле «Готово» в Purchase_Order_Line, но я не уверен, могу ли я его использовать. Могу я? Могу я? Я не уверен, что система будет использовать его для последующего ...

Или просто укажите мне документацию по API, если таковая имеется, пожалуйста. Что-то с описанием всех этих полей было бы замечательно читать.

// ETDI: Я использую веб-службы (страница) для доступа к NAV.

ответ

1

но значение этого поля равно 0 в самом начале, так что я должен инициализировать его

Я не могу угадать, что именно вы пытаетесь сделать с Purchase Line, но поля, такие как Кол. к Счету и Кол-во. Получать в большинстве случаев автоматически, при проверке количества. Оба набора равны количеству. Validate срабатывает, когда пользователь вводит что-то в поле на форме или из кода С/AL по телефону PurcaseLine.VALIDATE("Quantyity", number);

Проблема заключается в том, когда он возвращается к 0. Как я могу отметить, что все счета-фактуры для этой линии получены?

При проводке счета размещены количество добавляется в поле Qty. Invoiced и получил количество добавляется в поле Qty. Received. Поэтому в любое время вы знаете, сколько предметов получено и оплачено. Оба поля доступны только для пользователей, потому что только процедуры публикации могут и должны их изменять.

Так что если у вас есть количество. = 10, тогда вы отправляете 4 из них (Qty. To Invoice = 4) и Qty. Invoiced = 0. Вы получите Qty. = 10, Qty. на Счет = 6, Кол-во. Invoiced = 4. Кол-во. Счет-фактура в этом случае - остальная часть qty. для выставления счета.

Нельзя использовать какие-либо поля, если вы не знаете их цели. Поле «Готово», например, является частью функциональных возможностей производственных заказов и не связано с Qty. на счет-фактуру вообще.

Чтобы узнать значение поля, вы можете обратиться за помощью (нажмите F1, стоя на поле в таблице). Это работает не для каждой области. Другой способ (если вы разработчик и имеете лицензию) - использовать Developer Tool Kit (его можно найти на установочном компакт-диске или here). Эта утилита позволяет искать зависимости между объектами Nav.


относительно веб-сервисов. Не пытайтесь напрямую использовать эти таблицы. Это действительно вызывает массу проблем и неудобств. Создайте новые рабочие таблицы. Назовите их Purchase Order Import и Purchase Line Import. Создавайте страницы для них и публикуйте в виде веб-сервисов. Импортируйте свои данные в них в любом формате. Я имею в виду, что таблицы могут быть клонами реальных таблиц или просто иметь несколько полей, в которых вы нуждаетесь. Поместите код в OnModify триггер страниц, которые будут вызываться в конце импорта или опубликовать код с функцией, которая будет создавать или обновлять заказы на поставку и строки из Import-tables. Очистить таблицы импорта в конце концов.

Если ваша задача состоит в том, чтобы частично разместить поступления, основанные на количестве от внешней системы, то ваши шаги будут:

  1. предположим Заказ и линия создана, Кол-во 100, вам необходимо разместить ссылку на этот Кол-во в порции
  2. импорт Кол-во для вывешен через веб-сервис для покупки Line импорта таблицы через страницу
  3. OnModify страницы срабатывает, поставить код на этот триггер для обновления Qty. to Invoice-или- вызова покупки строки в некоторых программном модуле с помощью веб-сервис и обновление Purc hase Line's Qty. to Invoice. Положите всю бизнес-логику на создание и обновление линии покупки здесь, а не на внешнем приложении.
  4. Теперь у вас есть Qty = 100, Qty to Invoice = 5.
  5. Вызов кода с помощью веб-сервиса. Разумеется, не публиковать сам код проводки. Назовите это через другой опубликованный код.
  6. Теперь у вас есть Qty = 100, Qty to Invoice = не важно, Invoiced Qty = 5, и вы можете повторить шаги 2-5 снова.

Вы не должны заботиться о том, чтобы Кол-фактуре вот почему: в следующий раз, когда вы импортировать следующую часть Qty все, что вам нужно проверить, является Import_Qty < (кол-во - INVOICED Кол-во). Если это правда, вы можете публиковать сообщения, иначе вы не можете.

+0

Проблема в том, что «Qty_invoiced» равно 0. Я считаю, что счет должен быть одобрен для подсчета в этой области. Поэтому у меня есть 'Qty_to_invoice', который я использую, и значение равно 0 в начале. Я должен заполнить его, и я должен продолжать считать «вручную». Поле «Qty_invoiced» только для чтения. Я не упоминал, что я использую веб-службы для доступа к NAV, может быть, это важно? – vt100

+0

Как публикуется веб-сервис: страница или код, и что именно вы пытаетесь сделать? Создайте заказ, получить заказ, опубликовать его или ... –

+0

, кстати, тот факт, что вы используете веб-службы, полностью меняет ваш первоначальный вопрос. –