Шаблон, который создан для печати из раздела Контрагенты — Договоры, не предназначен для печати из раздела Продажи — Заказ покупателя / Счет покупателю и наоборот. Для каждого из этих разделов свой шаблон договора.
Если в договоре предполагается Спецификация (вывод наименований товаров и услуг), то такой договор может быть реализован только для печати из Заказа или Счета.
Контрагенты — Договор
Поля документа
Формула |
Значение |
${o.name} |
Номер договора |
${formatter.format("%1$td.%1$tm.%1$tY", formatter.getExcelDate(o.moment))} |
Дата договора |
${o.sum.sum / 100} |
Сумма договора |
${formatter.printAmount(o.sum.sum)} |
Сумма прописью |
${formatter.printIfElse(empty(o.ownCompany.requisite.legalTitle), o.ownCompany.name, o.ownCompany.requisite.legalTitle)} |
Организация |
${formatter.printIfElse(empty(o.agent.requisite.legalTitle), o.agent.name, o.agent.requisite.legalTitle)} |
Контрагент |
Реквизиты Организации
Формула |
Значение |
${o.ownCompany.name} |
Наименование краткое |
${o.ownCompany.contact.phones} |
Телефон |
${o.ownCompany.contact.faxes} |
Факс |
${o.ownCompany.contact.email} |
E-mail |
${o.ownCompany.requisite.legalTitle} |
Наименование полное |
${o.ownCompany.requisite.actualAddress} |
Фактический адрес |
${o.ownCompany.requisite.legalAddress} |
Юридический адрес |
${o.ownCompany.requisite.INN} |
ИНН |
${o.ownCompany.requisite.KPP} |
КПП |
${o.ownCompany.requisite.ogrn} |
ОГРН |
${o.ownCompany.requisite.ogrnip} |
ОГРНИП |
${o.ownCompany.requisite.nomerSvidetelstva} |
Номер свидетельства |
${o.ownCompany.requisite.dataSvidetelstva} |
Дата свидетельства |
${o.ownCompany.requisite.agent.directorPosition} |
Должность |
${o.ownCompany.requisite.agent.director} |
ФИО руководителя |
Банковские реквизиты
Основной счет:
Формула |
Значение |
${o.ownCompany.requisite.account.BIC} |
БИК |
${o.ownCompany.requisite.account.bankName} |
Банк |
${o.ownCompany.requisite.account.bankLocation} |
Адрес |
${o.ownCompany.requisite.account.correspondentAccount} |
Корр. Счёт |
${o.ownCompany.requisite.account.accountNumber} |
Расчётный счет |
Счет по документу:
Формула |
Значение |
${o.sourceAccount.BIC} |
БИК |
${o.sourceAccount.bankName} |
Банк |
${o.sourceAccount.bankLocation} |
Адрес |
${o.sourceAccount.correspondentAccount} |
Корр. Счёт |
${o.sourceAccount.accountNumber} |
Расчётный счет |
Печать и подпись организации
Формула |
Значение |
${formatter.image(formatter.loadAgent(o.ownCompany.requisite.agent.id).stamp, true, false)} |
Печать |
${formatter.image(formatter.loadAgent(o.ownCompany.requisite.agent.id).directorSign, true, false)} |
Подпись руководителя |
${formatter.image(formatter.loadAgent(o.ownCompany.requisite.agent.id).chiefAccountantSign, true, false)} |
Подпись бухгалтера |
${formatter.image(formatter.loadAgent(o.ownCompany.requisite.agent.id).logo, true, false)} |
Логотип |
Реквизиты Контрагента
Формула |
Значение |
${o.agent.name} |
Наименование краткое |
${o.agent.contact.phones} |
Телефон |
${o.agent.contact.faxes} |
Факс |
${o.agent.contact.email} |
E-mail |
${o.agent.requisite.legalTitle} |
Наименование полное |
${o.agent.requisite.actualAddress} |
Фактический адрес |
${o.agent.requisite.legalAddress} |
Юридический адрес |
${o.agent.requisite.INN} |
ИНН |
${o.agent.requisite.KPP} |
КПП |
${o.agent.requisite.ogrn} |
ОГРН |
${o.agent.requisite.ogrnip} |
ОГРНИП |
Банковские реквизиты
Основной счет:
Формула |
Значение |
${o.agent.requisite.account.BIC} |
БИК |
${o.agent.requisite.account.bankName} |
Банк |
${o.agent.requisite.account.bankLocation} |
Адрес |
${o.agent.requisite.account.correspondentAccount} |
Корр. Счёт |
${o.agent.requisite.account.accountNumber} |
Расчётный счет |
Счет по документу:
Формула |
Значение |
${o.targetAccount.BIC} |
БИК |
${o.targetAccount.bankName} |
Банк |
${o.targetAccount.bankLocation} |
Адрес |
${o.targetAccount.correspondentAccount} |
Корр. Счёт |
${o.targetAccount.accountNumber} |
Расчётный счет |
Контактные лица:
Формула |
Значение |
${o.agent.getContactPersons().get(0).name} |
ФИО |
${o.agent.getContactPersons().get(0).position} |
Должность |
${o.agent.getContactPersons().get(0).phone} |
Телефон |
${o.agent.getContactPersons().get(0).email} |
E-mail |
${o.agent.getContactPersons().get(0).description} |
Комментарий |
Если необходим вывод второй по счету карточки контактного лица, то в формуле изменяется значение на get(1)
Продажи — Заказ покупателя
Основные поля документа
Формула |
Значение |
${o.name} |
Номер заказа |
${formatter.format("%1$td.%1$tm.%1$tY", formatter.getExcelDate(o.moment))} |
Дата заказа |
${o.sum.sum / 100} |
Сумма заказа |
${formatter.printAmount(o.sum.sum)} |
Сумма прописью |
${o.tail.payedSum / 100} |
Оплаченная сумма |
${formatter.printAmount(o.tail.payedSum)} |
Оплаченная сумма прописью |
${(o.sum.sum - o.tail.payedSum) / 100} |
Осталось оплатить |
${formatter.printAmount(o.sum.sum - o.tail.payedSum)} |
Осталось оплатить прописью |
${formatter.calcVat(o.getPositions())} |
Сумма НДС |
${formatter.printAmount(formatter.calcVat(o.getPositions())*100)} |
Сумма НДС прописью |
${o.contract.name} |
Номер договора |
${formatter.format("%1$td.%1$tm.%1$tY", formatter.getExcelDate(o.contract.moment))} |
Дата договора |
${formatter.printIfElse(empty(o.targetAgentRequisite.legalTitle), o.targetAgentRequisite.agent.name, o.targetAgentRequisite.legalTitle)} |
Организация |
${formatter.printIfElse(empty(o.sourceAgentRequisite.legalTitle), o.sourceAgentRequisite.agent.name, o.sourceAgentRequisite.legalTitle)} |
Контрагент |
Другие формулы, которые могут использоваться, по ссылке: https://support.moysklad.ru/hc/ru/articles/115012171007
Полезные методы при использовании формул по ссылке: https://support.moysklad.ru/hc/ru/articles/19601903775506
Реквизиты Организации
Формула |
Значение |
${o.targetAgent.name} |
Наименование краткое |
${o.targetAgentRequisite.agent.contact.phones} |
Телефон |
${o.targetAgentRequisite.agent.contact.faxes} |
Факс |
${o.targetAgentRequisite.agent.contact.email} |
E-mail |
${o.targetAgentRequisite.legalTitle} |
Наименование полное |
${o.targetAgentRequisite.actualAddress} |
Фактический адрес |
${o.targetAgentRequisite.legalAddress} |
Юридический адрес |
${o.targetAgentRequisite.INN} |
ИНН |
${o.targetAgentRequisite.KPP} |
КПП |
${o.targetAgentRequisite.ogrn} |
ОГРН |
${o.targetAgentRequisite.ogrnip} |
ОГРНИП |
${o.targetAgentRequisite.nomerSvidetelstva} |
Номер свидетельства |
${o.targetAgentRequisite.dataSvidetelstva} |
Дата свидетельства |
${o.targetAgentRequisite.agent.directorPosition} |
Должность |
${o.targetAgentRequisite.agent.director} |
ФИО руководителя |
Банковские реквизиты
Основной счет:
Формула |
Значение |
${o.targetAgentRequisite.account.BIC} |
БИК |
${o.targetAgentRequisite.account.bankName} |
Банк |
${o.targetAgentRequisite.account.bankLocation} |
Адрес |
${o.targetAgentRequisite.account.correspondentAccount} |
Корр. Счёт |
${o.targetAgentRequisite.account.accountNumber} |
Расчётный счет |
Счет по документу:
Формула |
Значение |
${o.targetAccount.BIC} |
БИК |
${o.targetAccount.bankName} |
Банк |
${o.targetAccount.bankLocation} |
Адрес |
${o.targetAccount.correspondentAccount} |
Корр. Счёт |
${o.targetAccount.accountNumber} |
Расчётный счет |
Печать и подпись организации
Формула |
Значение |
${formatter.image(formatter.loadAgent(o.targetAgentRequisite.agent.id).stamp, true, false)} |
Печать |
${formatter.image(formatter.loadAgent(o.targetAgentRequisite.agent.id).directorSign, true, false)} |
Подпись руководителя |
${formatter.image(formatter.loadAgent(o.targetAgentRequisite.agent.id).chiefAccountantSign, true, false)} |
Подпись бухгалтера |
${formatter.image(formatter.loadAgent(o.targetAgentRequisite.agent.id).logo, true, false)} |
Логотип |
Реквизиты Контрагента
Формула |
Значение |
${o.sourceAgent.name} |
Наименование краткое |
${o.sourceAgentRequisite.agent.contact.phones} |
Телефон |
${o.sourceAgentRequisite.agent.contact.faxes} |
Факс |
${o.sourceAgentRequisite.agent.contact.email} |
E-mail |
${o.sourceAgentRequisite.legalTitle} |
Наименование полное |
${o.sourceAgentRequisite.actualAddress} |
Фактический адрес |
${o.sourceAgentRequisite.legalAddress} |
Юридический адрес |
${o.sourceAgentRequisite.INN} |
ИНН |
${o.sourceAgentRequisite.KPP} |
КПП |
${o.sourceAgentRequisite.ogrn} |
ОГРН |
${o.sourceAgentRequisite.ogrnip} |
ОГРНИП |
Банковские реквизиты
Основной счет:
Формула |
Значение |
${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)
Продажи — Счет покупателю
Основные поля документа
Формула |
Значение |
${o.name} |
Номер счета |
${formatter.format("%1$td.%1$tm.%1$tY", formatter.getExcelDate(o.moment))} |
Дата счета |
${o.sum.sum / 100} |
Сумма счета |
${formatter.printAmount(o.sum.sum)} |
Сумма прописью |
${o.tail.payedSum / 100} |
Оплаченная сумма |
${formatter.printAmount(o.tail.payedSum)} |
Оплаченная сумма прописью |
${(o.sum.sum - o.tail.payedSum) / 100} |
Осталось оплатить |
${formatter.printAmount(o.sum.sum - o.tail.payedSum)} |
Осталось оплатить прописью |
${formatter.calcVat(o.getPositions())} |
Сумма НДС |
${formatter.printAmount(formatter.calcVat(o.getPositions())*100)} |
Сумма НДС прописью |
${o.contract.name} |
Номер договора |
${formatter.format("%1$td.%1$tm.%1$tY", formatter.getExcelDate(o.contract.moment))} |
Дата договора |
${formatter.printIfElse(empty(o.sourceAgentRequisite.legalTitle), o.sourceAgentRequisite.agent.name, o.sourceAgentRequisite.legalTitle)} |
Организация |
${formatter.printIfElse(empty(o.targetAgentRequisite.legalTitle), o.targetAgentRequisite.agent.name, o.targetAgentRequisite.legalTitle)} |
Контрагент |
Другие формулы, которые могут использоваться, по ссылке: https://support.moysklad.ru/hc/ru/articles/115012171007
Полезные методы при использовании формул по ссылке: https://support.moysklad.ru/hc/ru/articles/19601903775506
Реквизиты Организации
Формула |
Значение |
${o.sourceAgent.name} |
Наименование краткое |
${o.sourceAgentRequisite.agent.contact.phones} |
Телефон |
${o.sourceAgentRequisite.agent.contact.faxes} |
Факс |
${o.sourceAgentRequisite.agent.contact.email} |
E-mail |
${o.sourceAgentRequisite.legalTitle} |
Наименование полное |
${o.sourceAgentRequisite.actualAddress} |
Фактический адрес |
${o.sourceAgentRequisite.legalAddress} |
Юридический адрес |
${o.sourceAgentRequisite.INN} |
ИНН |
${o.sourceAgentRequisite.KPP} |
КПП |
${o.sourceAgentRequisite.ogrn} |
ОГРН |
${o.sourceAgentRequisite.ogrnip} |
ОГРНИП |
${o.sourceAgentRequisite.nomerSvidetelstva} |
Номер свидетельства |
${o.sourceAgentRequisite.dataSvidetelstva} |
Дата свидетельства |
${o.sourceAgentRequisite.agent.directorPosition} |
Должность |
${o.sourceAgentRequisite.agent.director} |
ФИО руководителя |
Банковские реквизиты
Основной счет:
Формула |
Значение |
${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} |
Расчётный счет |
Печать и подпись организации
Формула |
Значение |
${formatter.image(formatter.loadAgent(o.sourceAgentRequisite.agent.id).stamp, true, false)} |
Печать |
${formatter.image(formatter.loadAgent(o.sourceAgentRequisite.agent.id).directorSign, true, false)} |
Подпись руководителя |
${formatter.image(formatter.loadAgent(o.sourceAgentRequisite.agent.id).chiefAccountantSign, true, false)} |
Подпись бухгалтера |
${formatter.image(formatter.loadAgent(o.sourceAgentRequisite.agent.id).logo, true, false)} |
Логотип |
Реквизиты Контрагента
Формула |
Значение |
${o.targetAgent.name} |
Наименование краткое |
${o.targetAgentRequisite.agent.contact.phones} |
Телефон |
${o.targetAgentRequisite.agent.contact.faxes} |
Факс |
${o.targetAgentRequisite.agent.contact.email} |
E-mail |
${o.targetAgentRequisite.legalTitle} |
Наименование полное |
${o.targetAgentRequisite.actualAddress} |
Фактический адрес |
${o.targetAgentRequisite.legalAddress} |
Юридический адрес |
${o.targetAgentRequisite.INN} |
ИНН |
${o.targetAgentRequisite.KPP} |
КПП |
${o.targetAgentRequisite.ogrn} |
ОГРН |
${o.targetAgentRequisite.ogrnip} |
ОГРНИП |
Банковские реквизиты
Основной счет:
Формула |
Значение |
${o.targetAgentRequisite.account.BIC} |
БИК |
${o.targetAgentRequisite.account.bankName} |
Банк |
${o.targetAgentRequisite.account.bankLocation} |
Адрес |
${o.targetAgentRequisite.account.correspondentAccount} |
Корр. Счёт |
${o.targetAgentRequisite.account.accountNumber} |
Расчётный счет |
Счет по документу:
Формула |
Значение |
${o.targetAccount.BIC} |
БИК |
${o.targetAccount.bankName} |
Банк |
${o.targetAccount.bankLocation} |
Адрес |
${o.targetAccount.correspondentAccount} |
Корр. Счёт |
${o.targetAccount.accountNumber} |
Расчётный счет |
Контактные лица:
Формула |
Значение |
${o.targetAgent.getContactPersons().get(0).name} |
ФИО |
${o.targetAgent.getContactPersons().get(0).position} |
Должность |
${o.targetAgent.getContactPersons().get(0).phone} |
Телефон |
${o.targetAgent.getContactPersons().get(0).email} |
E-mail |
${o.targetAgent.getContactPersons().get(0).description} |
Комментарий |
Если необходим вывод второй по счету карточки контактного лица, то в формуле изменяется значение на get(1)
Дополнительные поля в договоре
Базовых полей не всегда хватает, чтобы полностью заполнить договор. Например, может не хватать паспортных данных покупателя или ФИО ответственного лица (в т.ч. в определенном падеже).
Для этих целей, как для покупателя, так и для вашей организации можно создать доп. поля, которые затем вынести формулами в шаблон договора.
Что такое дополнительные поля по ссылке https://support.moysklad.ru/hc/ru/articles/204653178
Контрагенты — Договор
Поля Организации
Формула |
Тип поля |
${formatter.findAttribute(o.ownCompany, "Наименование поля").valueText} |
Текст |
${formatter.findAttribute(o.ownCompany, "Наименование поля").valueString} |
Строка |
${formatter.findAttribute(o.ownCompany, "Наименование поля").value} |
Ссылка |
${formatter.findAttribute(o.ownCompany, "Наименование поля").longValue} |
Число целое |
${formatter.findAttribute(o.ownCompany, "Наименование поля").doubleValue} |
Число дробное |
${formatter.findAttribute(o.ownCompany, "Наименование поля").timeValue} |
Дата |
${formatter.findAttribute(o.ownCompany, "Наименование поля").entityValue.name} |
Наименование из дополнительного справочника |
${formatter.findAttribute(o.ownCompany, "Наименование поля").employeeValue.name} |
Наименование из справочника сотрудников |
${formatter.findAttribute(o.ownCompany, "Наименование поля").agentValue.name} |
Наименование из справочника контрагентов |
Поля Контрагента
Формула |
Тип поля |
${formatter.findAttribute(o.agent, "Наименование поля").valueText}
|
Текст |
${formatter.findAttribute(o.agent, "Наименование поля").valueString} |
Строка |
${formatter.findAttribute(o.agent, "Наименование поля").value} |
Ссылка |
${formatter.findAttribute(o.agent, "Наименование поля").longValue} |
Число целое |
${formatter.findAttribute(o.agent, "Наименование поля").doubleValue} |
Число дробное |
${formatter.findAttribute(o.agent, "Наименование поля").timeValue} |
Дата |
${formatter.findAttribute(o.agent, "Наименование поля").entityValue.name} |
Наименование из дополнительного справочника |
${formatter.findAttribute(o.agent, "Наименование поля").employeeValue.name} |
Наименование из справочника сотрудников |
${formatter.findAttribute(o.agent, "Наименование поля").agentValue.name} |
Наименование из справочника контрагентов |
Продажи — Заказ покупателя
Поля Организации
Формула |
Тип поля |
${formatter.findAttribute(o.targetAgent, "Наименование поля").valueText} |
Текст |
${formatter.findAttribute(o.targetAgent, "Наименование поля").valueString} |
Строка |
${formatter.findAttribute(o.targetAgent, "Наименование поля").value} |
Ссылка |
${formatter.findAttribute(o.targetAgent, "Наименование поля").longValue} |
Число целое |
${formatter.findAttribute(o.targetAgent, "Наименование поля").doubleValue} |
Число дробное |
${formatter.findAttribute(o.targetAgent, "Наименование поля").timeValue} |
Дата |
${formatter.findAttribute(o.targetAgent, "Наименование поля").entityValue.name} |
Наименование из дополнительного справочника |
${formatter.findAttribute(o.targetAgent, "Наименование поля").employeeValue.name} |
Наименование из справочника сотрудников |
${formatter.findAttribute(o.targetAgent, "Наименование поля").agentValue.name} |
Наименование из справочника контрагентов |
Поля Контрагента
Формула |
Тип поля |
${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} |
Наименование из справочника контрагентов |
Продажи — Счет покупателю
Поля Контрагента
Формула |
Тип поля |
${formatter.findAttribute(o.targetAgent, "Наименование поля").valueText} |
Текст |
${formatter.findAttribute(o.targetAgent, "Наименование поля").valueString} |
Строка |
${formatter.findAttribute(o.targetAgent, "Наименование поля").value} |
Ссылка |
${formatter.findAttribute(o.targetAgent, "Наименование поля").longValue} |
Число целое |
${formatter.findAttribute(o.targetAgent, "Наименование поля").doubleValue} |
Число дробное |
${formatter.findAttribute(o.targetAgent, "Наименование поля").timeValue} |
Дата |
${formatter.findAttribute(o.targetAgent, "Наименование поля").entityValue.name} |
Наименование из дополнительного справочника |
${formatter.findAttribute(o.targetAgent, "Наименование поля").employeeValue.name} |
Наименование из справочника сотрудников |
${formatter.findAttribute(o.targetAgent, "Наименование поля").agentValue.name} |
Наименование из справочника контрагентов |
Поля Организации
Формула |
Тип поля |
${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} |
Наименование из справочника контрагентов |