Формулы вывода данных контрагента из документа

В качестве примера используется Заказ Покупателя.

Общим правилом оформления любой формулы реквизитов контрагента является структура 

${o.sourceAgentRequisite.legalTitle}

Основные параметры: 

  • sourceAgentRequisite или targetAgentRequisite- указатель на источник данных, это либо карточка контрагента (кто создает документ source), либо информация из закладки юр. лица (кто получатель документа target).
  • legalTitle - сама переменная, которую требуется вывести на печать.

Во всех формулах используется source - это формулы отправителя документа, измените на target, если требуется напечатать реквизит получателя документа.

 

Основные реквизиты

Формула Значение
${o.sourceAgentRequisite.agent.name}  Наименование 
${o.sourceAgentRequisite.agent.code}  Код
${o.sourceAgentRequisite.agent.contact.phones}  Телефон
${o.sourceAgentRequisite.agent.contact.faxes}  Факс
${o.sourceAgentRequisite.agent.contact.email}  E-mail
${o.sourceAgentRequisite.agent.state.name}  Статус
${o.sourceAgentRequisite.actualAddress}  Фактический адрес
${o.sourceAgentRequisite.agent.description}  Комментарий
${formatter.loadAgent(o.sourceAgent.id).tags} Группы
${o.sourceAgentRequisite.agent.externalCode}  Внешний код
${o.sourceAgentRequisite.agent.id}  UUID 
${o.sourceAgentRequisite.agent.archived}  Архивный

 

Владелец

Формула Значение
${o.sourceAgentRequisite.agent.getOwnerName()} Владелец-сотрудник
${o.sourceAgentRequisite.agent.getGroupName()}   Владелец-отдел
${formatter.printIfElse(o.sourceAgentRequisite.agent.getShared(), "Да", "Нет")} Общий доступ

 

Скидки и цены

Формула Значение
${o.sourceAgentRequisite.agent.priceType.name} Цены
${formatter.getDiscount(o.sourceAgentRequisite.agent.id, "Персональная скидка")}
Персональная скидка
${formatter.getDiscount(o.sourceAgentRequisite.agent.id, "Накопительная скидка")}
Накопительная скидка
${o.sourceAgentRequisite.agent.discountCardNumber} Номер дисконтной карты

 

Юридические реквизиты 

Формула Значение
${o.sourceAgentRequisite.legalTitle}  Полное наименование
${o.sourceAgent.getCompanyType().name}  Тип контрагента
${o.sourceAgentRequisite.legalAddress}  Юридический адрес
${o.sourceAgentRequisite.INN}  ИНН
${o.sourceAgentRequisite.KPP} КПП
${o.sourceAgentRequisite.okpo} ОКПО
${o.sourceAgentRequisite.ogrn} ОГРН
${o.sourceAgentRequisite.ogrnip} ОГРНИП
${o.sourceAgentRequisite.nomerSvidetelstva} Номер свидетельства
${o.sourceAgentRequisite.dataSvidetelstva} Дата свидетельства

 

Банковские реквизиты

основной счет:

Формула Значение
${o.sourceAgentRequisite.account.BIC} БИК
 ${o.sourceAgentRequisite.account.bankName} Банк
${o.sourceAgentRequisite.account.bankLocation} Адрес
${o.sourceAgentRequisite.account.correspondentAccount} Корр. Счёт
${o.sourceAgentRequisite.account.accountNumber} Расчётный счет

счет по документу:

Формула Значение
${o.sourceAccount.BIC} БИК
${o.sourceAccount.bankName} Банк
${o.sourceAccount.bankLocation} Адрес
${o.sourceAccount.correspondentAccount} Корр. Счёт
${o.sourceAccount.accountNumber} Расчётный счет

 

Контактные лица

первое по счету:

Формула Значение
${o.sourceAgent.getContactPersons().get(0).name} ФИО
${o.sourceAgent.getContactPersons().get(0).position} Должность
${o.sourceAgent.getContactPersons().get(0).phone} Телефон
${o.sourceAgent.getContactPersons().get(0).email} E-mail
${o.sourceAgent.getContactPersons().get(0).description} Комментарий

 

Если необходим вывод второй по счету карточки контактного лица, то в формуле изменяется значение на get(1).

Если необходим вывод всех контактных лиц, можно использовать перебор:

Формула начала перебора:

<jx:forEach items="${formatter.loadAgent(o.sourceAgent.id).contactPersons}" var="person">

Формулы вывода данных в теле перебора:

Формула Значение
${person.name} ФИО
${person.position} Должность
${person.phone} Телефон
${person.email} Email
${person.description} Примечание

Формула окончания перебора:

</jx:forEach>

 

События

События выводятся через перебор:

 

Формула начала перебора:

<jx:forEach items="${formatter.loadAgent(o.sourceAgent.id).news}" var="newsItem">

Формулы вывода данных в теле перебора:

Формула Значение
${newsItem.updatedBy} Дата
${newsItem.updated} Сотрудник
${newsItem.text} Текст

Формула окончания перебора:

</jx:forEach>

 

Дополнительные поля

Общим правилом оформления формулы вывода дополнительного поля из карточки контрагента является структура 

${formatter.findAttribute(o.sourceAgent, "наименование поля").value}

Основные параметры: 

  • sourceAgent или targetAgent- указатель на источник данных, это либо карточка контрагента (кто создает документ source), либо информация из закладки юр. лица (кто получатель документа target).
  • "Наименование поля" - точное наименование дополнительного поля в кавычках (с учетом регистра, дополнительных символов и т.д.).
  • value - тип, по которому создано пользовательское поле.

 

Формула Тип поля
${formatter.findAttribute(o.sourceAgent, "Наименование поля").valueText} Текст
${formatter.findAttribute(o.sourceAgent, "Наименование поля").valueString} Строка
${formatter.findAttribute(o.sourceAgent, "Наименование поля").value} Ссылка
${formatter.findAttribute(o.sourceAgent, "Наименование поля").longValue} Число целое
${formatter.findAttribute(o.sourceAgent, "Наименование поля").doubleValue} Число дробное
${formatter.findAttribute(o.sourceAgent, "Наименование поля").timeValue} Дата
${formatter.findAttribute(o.sourceAgent, "Наименование поля").entityValue.name} Дополнительный справочник - Наименование
${formatter.findAttribute(o.sourceAgent, "Наименование поля").entityValue.code} Дополнительный справочник - Код
${formatter.findAttribute(o.sourceAgent, "Наименование поля").entityValue.description} Дополнительный справочник - Комментарий
Еще есть вопросы? Отправить запрос

Комментарии