Формулы вывода данных контрагентов в списке контрагентов
Ознакомьтесь с полным списком формул в статье Основные формулы вывода данных из документа.
Перечисленные ниже формулы выводятся в теле перебора по позициям.
<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)} | Дата последнего изменения |