#c# #acumatica
#c# #acumatica
Вопрос:
На изображении ниже показано поле внимания, которое я хочу превратить в поле со списком (это та часть, которую я знаю, как сделать: D). На данный момент в поле Внимание содержится полное имя основного контакта для выставления счета (как показано синей меткой на изображении).
Это информация о поле внимания
Однако в идеале я бы хотел, чтобы этот выпадающий список динамически заполнялся всеми доступными контактами, связанными с конкретной компанией, чтобы пользователи могли выбрать человека по своему выбору для выставления счетов.
Я пытался сделать что-то вроде того, что показано ниже, чтобы захватить данные из базы данных (я просто пытался использовать демонстрационную систему, чтобы не нарушать основную сторону), но я понятия не имею, как правильно захватить столбец из базы данных.
namespace PX.Objects.SO
{
public class SOOrderEntry_Extension : PXGraphExtension<SOOrderEntry>
{
protected void SOOrder_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
SOOrder row = (SOOrder)e.Row;
List<string> listOfStuff = new List<string>();
foreach (SOOrder item in PXSelect<SOOrder, Where<SOOrder.OrderQty, Equal<20.00>>>) {
listOfStuff.Add(item.OrderQty);
}
PXStringListAttribute.SetList<SOOrderExt.usrCuryTotalAmount>(sender, row, listOfStuff.ToArray(), listOfStuff.ToArray());
}
}
}
Буду признателен за любую помощь в решении этого вопроса 🙂
Комментарии:
1. Я полагаю, что поле company здесь является стандартным текстовым полем, позволяющим вводить данные в произвольной форме. Чтобы привлечь внимание к контактам, вам нужно будет заменить текстовое поле произвольной формы селектором для учетной записи, в которой есть контакты. Например, если это находится в SO, эти данные хранятся в SOContact, который отслеживает, каким был контакт (или переопределенные значения) при создании SO. Вы все равно можете заполнить его таким образом, но вам нужен способ выбрать учетную запись, либо заменив компанию произвольной формы, либо добавив новое поле. Затем вы будете заполнять имя контакта, а не идентификатор контакта.
2. О, хорошо, спасибо, Брайан! Я попробую это сделать и дам вам знать, как я поступлю 🙂
3. Мне потребовалось некоторое время, но, посмотрев на это свежим взглядом после небольшого перерыва, я, наконец, понял, как заставить его работать. Спасибо @BrianStevens