Ознакомьтесь с полным списком формул в статье Основные формулы вывода данных из документа.
Перечисленные ниже формулы выводятся в теле перебора по позициям.
<jx:forEach items="${rows}" var="row"> //формула по контрагенту </jx:forEach> |
Основные поля
Формула | Значение |
${row.name} | Наименование |
${row.code} | Код |
${row.contacts.phones} | Телефон |
${row.contacts.faxes} | Факс |
${row.contacts.email} | |
${row.requisiteTO.actualAddress} | Фактический адрес |
${row.stateTO.name} | Статус |
${row.description} | Комментарий |
${formatter.printTags(row)} | Группы |
${formatter.loadAgent(row.id).externalCode} | Внешний код |
${formatter.loadAgent(row.id).id} | UUID |
Юридические реквизиты
Формула | Значение |
${row.companyType.name} | Тип контрагента |
${row.requisiteTO.legalTitle} | Полное наименование |
${row.requisiteTO.legalAddress} | Юридический адрес |
${row.requisiteTO.inn} | ИНН |
${row.requisiteTO.kpp} | КПП |
${row.requisiteTO.ogrn} | ОГРН |
${row.requisiteTO.okpo} | ОКПО |
${row.requisiteTO.ogrnip} | ОГРНИП |
${row.requisiteTO.accountTO.bankName} | Банк |
${row.requisiteTO.accountTO.BIC} | БИК |
${row.requisiteTO.accountTO.bankLocation} | Адрес |
${row.requisiteTO.accountTO.accountNumber} | Расчетный счет |
${formatter.loadAgent(row.id).requisite.firstName} | Имя |
${formatter.loadAgent(row.id).requisite.lastName} | Фамилия |
${formatter.loadAgent(row.id).requisite.middleName} | Отчество |
${formatter.loadAgent(row.id).requisite.birthDate} | Дата рождения |
${formatter.loadAgent(row.id).requisite.sex.name} | Пол |
Поля структурированного адреса
Для вывода гранулярных полей структурированного адреса можно использовать следующие формулы (на примере фактического адреса контрагента):
Формула | Поле в элементе справочника |
${row.requisiteTO.detailedAddressTO.postalCode} |
Индекс |
${row.requisiteTO.detailedAddressTO.country.name} |
Страна |
${row.requisiteTO.detailedAddressTO.region.name} |
Регион |
${row.requisiteTO.detailedAddressTO.city} |
Город |
${row.requisiteTO.detailedAddressTO.street} |
Улица |
${row.requisiteTO.detailedAddressTO.house} |
Дом |
${row.requisiteTO.detailedAddressTO.apartment} |
Квартира или офис |
${row.requisiteTO.detailedAddressTO.addInfo} |
Другое |
${row.requisiteTO.detailedAddressTO.comment} |
Комментарий к адресу |
Для получения этих же полей для Юридического адреса, нужно заменить detailedAddressTO на detailedLegalAddressTO.
Владелец
Формула | Значение |
${row.ownerName} | Сотрудник |
${row.groupName} | Отдел |
Скидки и цены
Формула | Значение |
${row.discountCardNumber} | Дисконтная карта |
${formatter.loadAgent(row.id).priceType.name} | Цена |
${formatter.getDiscount(row.id, "Наименование скидки")} | Персональная скидка |
* в кавычках нужно написать наименование скидки, созданной на аккаунте
Дополнительные поля
Основные параметры:
- "Название поля" — точное наименование дополнительного поля в кавычках (с учетом регистра, дополнительных символов и т.д.).
- value — тип, по которому создано пользовательское поле.
Формула | Значение |
${formatter.findAttribute(formatter.loadAgent(row.id), "Название поля").valueString} | Строка |
${formatter.findAttribute(formatter.loadAgent(row.id), "Название поля").valueText} | Текст |
${formatter.findAttribute(formatter.loadAgent(row.id), "Название поля").longValue} | Число целое |
${formatter.findAttribute(formatter.loadAgent(row.id), "Название поля").doubleValue} | Число дробное |
${formatter.findAttribute(formatter.loadAgent(row.id), "Название поля").timeValue} | Дата |
${formatter.findAttribute(formatter.loadAgent(row.id), "Название поля").value} | Ссылка |
${formatter.imageAttribute(formatter.loadAgent(row.id), "Название поля", false)} | Файл |
${formatter.findAttribute(formatter.loadAgent(row.id), "Название поля").entityValue.name} | Доп. справочник |
${formatter.printIfElse(formatter.findAttribute(formatter.loadAgent(row.id), "Название поля").booleanValue=="true", "Да", "Нет")} | Флажок |
Формулы ниже действуют только с опцией CRM.
Контактные лица
Первое по счету:
Формула | Значение |
${formatter.loadAgent(row.id).getContactPersons().get(0).name} | ФИО |
${formatter.loadAgent(row.id).getContactPersons().get(0).position} | Должность |
${formatter.loadAgent(row.id).getContactPersons().get(0).phone} | Телефон |
${formatter.loadAgent(row.id).getContactPersons().get(0).email} | |
${formatter.loadAgent(row.id).getContactPersons().get(0).description} | Комментарий |
Если необходим вывод всех контактных лиц, можно использовать перебор:
<jx:forEach items="${formatter.loadAgent(row.id).contactPersons}" var="person"> //формула вывода данных </jx:forEach> |
Формулы вывода данных в теле перебора — можно указать одну или несколько формул:
Формула | Значение |
${person.name} | ФИО |
${person.position} | Должность |
${person.phone} | Телефон |
${person.email} | |
${person.description} | Примечание |
Показатели продаж
Формула | Значение |
${formatter.formatDate(row.firstDemandDate)} | Первая продажа |
${formatter.formatDate(row.lastDemandDate)} | Последняя продажа |
${row.allDemandsQuantity} | Количество продаж |
${row.allDemandsSum/100} | Сумма продаж |
${formatter.printIfElse(row.averageReceipt >= 0, row.averageReceipt/100, "—")} | Средний чек |
${row.returnsQuantity} | Количество возвратов |
${row.returnsSum/100} | Сумма возвратов |
${row.discountsSum/100} | Сумма скидок |
${row.balance/100} | Баланс |
${row.profit/100} | Прибыль |
События
Формула | Значение |
${formatter.formatDate(row.lastEventDate)} | Дата последнее события |
${row.lastEventText} | Текст последнего события |
${formatter.formatDate(row.updated)} | Дата последнего изменения |