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

Реквизиты получателя или отправителя.

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

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

${o.sourceAgentRequisite.legalTitle}

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

  • targetAgentRequisite или sourceAgentRequisite — указатель на источник данных, это либо карточка контрагента (кто покупает - 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} Дополнительный справочник - Комментарий

 

Поля структурированного адреса

Для вывода полного адреса (объединения адресов из гранулярных полей) можно пользоваться формулами:

Формула Поле в элементе справочника

${o.sourceAgentRequisite.actualAddress}

Фактический адрес контрагента или юрлица

${o.targetAgentRequisite.legalAddress}

Юридический адрес контрагента или юрлица 

${o.sourceStore.address}

Адреса склада

${o.retailStore.address}

Адреса точки продаж

Для вывода гранулярных полей структурированного адреса можно использовать следующие формулы (на примере юридического адреса контрагента):

Формула Поле в элементе справочника

${o.sourceAgentRequisite.detailedLegalAddress.postalCode}

Индекс

${o.sourceAgentRequisite.detailedLegalAddress.country.name}

Страна

${o.sourceAgentRequisite.detailedLegalAddress.region.name}

Регион

${o.sourceAgentRequisite.detailedLegalAddress.city}

Город

${o.sourceAgentRequisite.detailedLegalAddress.street}

Улица

${o.sourceAgentRequisite.detailedLegalAddress.house}

Дом

${o.sourceAgentRequisite.detailedLegalAddress.apartment}

Квартира или офис

${o.sourceAgentRequisite.detailedLegalAddress.addInfo}

Другое

${o.sourceAgentRequisite.detailedLegalAddress.comment}

Комментарий к адресу

Для получения всех этих полей для Фактического адреса, нужно заменить o.sourceAgentRequisite.detailedLegalAddress на o.sourceAgentRequisite.detailedAddress.

Для получения полей адреса Точки продаж, заменить o.sourceAgentRequisite.detailedLegalAddress на o.retailStore.detailedAddress.

Для получения полей адреса Склада, заменить o.sourceAgentRequisite.detailedLegalAddress на o.sourceStore.detailedAddress.

Работа с параметрами source и target, а также способ работы с дополнительными полями не менялись.

Еще есть вопросы? Отправить запрос

Комментарии