Skip to Content
ШаблоныФормулыФормулы вывода данных контрагента из документа

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

Ознакомьтесь с полным списком формул в статье Основные формулы вывода данных из документа.

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

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

${o.sourceAgentRequisite.legalTitle}

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

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

Во всех формулах используется source — это формулы покупателя в документе, измените на target, если требуется напечатать реквизит вашей организации в документе. В шаблоне печатной формы счета и отгрузки стороны 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} Архивный
${formatter.loadAgent(o.sourceAgent.id).tail.balance / 100}Баланс

Владелец-сотрудник

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

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

ФормулаЗначение
${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.agent.directorPosition}Должность
${o.sourceAgentRequisite.agent.director}ФИО руководителя
${o.sourceAgentRequisite.firstName}Имя 
${o.sourceAgentRequisite.lastName}Фамилия
${o.sourceAgentRequisite.middleName}Отчество
${o.sourceAgentRequisite.birthDate}Дата рождения
${o.sourceAgentRequisite.sex.name}Пол

Для Казахстана

ФормулаЗначение
${formatter.printShortAgentIdentifiers(o.sourceAgent)}ИИН / БИН
${o.sourceAgentKzRequisite.iin} ИИН
${o.sourceAgentKzRequisite.bin} БИН
${o.sourceAgentKzRequisite.kbe}КБе
${o.sourceAgentKzRequisite.oked}ОКЭД

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

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

ФормулаЗначение
${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.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.agent.priceType.name}Цены
${formatter.getDiscount(o.sourceAgentRequisite.agent.id, “Персональная скидка”)}Персональная скидка
${formatter.getDiscount(o.sourceAgentRequisite.agent.id, “Накопительная скидка”)}Накопительная скидка
${formatter.getDiscount(o.sourceAgentRequisite.agent.id, “Бонусная программа”)}Бонусная программа
${o.sourceAgentRequisite.agent.discountCardNumber}Номер дисконтной карты

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

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

ФормулаЗначение
${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"> // формула вывода данных </jx:forEach>

Формулы вывода данных в теле перебора — можно указать одну или несколько формул:

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

События

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

<jx:forEach items="${formatter.loadAgent(o.sourceAgent.id).news}" var="newsItem"> // формула вывода данных </jx:forEach>

Формулы вывода данных в теле перебора — можно указать одну или несколько формул:

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

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

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

${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, “Наименование поля”).employeeValue.name}Наименование из справочника сотрудников
${formatter.findAttribute(o.sourceAgent, “Наименование поля”).agentValue.name}Наименование из справочника контрагентов