Почему возникает ошибка "TypeError: print.ejs" при выводе печатной формы?

При установленных в настройках компании шаблонах УПД (Универсальный передаточный документ) или УКД (Универсальный корректировочный документ) может возникнуть ошибка при выводе акта на печать:

Причина ошибки — отсутствие договоров у клиента.

Варианты решения:

  • Смените шаблон акта УПД или УКД в разделе ПровайдерКомпании → выберите компанию → кнопка Изменитьблок Настройки печати документов → поле Шаблон акта
  •  Оставьте шаблон УПД или УКД, но создайте договор для клиента в разделе КлиентыДоговоры → кнопка Создать

Как изменить типовую печатную форму акта?

Вы можете внести изменения в шаблон акта, отобразив все переменные шаблонизатора и скорректировав значения.

Чтобы отобразить все переменные, которые использует шаблонизатор для формы акта выполненных работ, замените в строке браузера вывод функции печати документа в формат XML:

  1. Откройте раздел ФинансыАкты выполненных работ.
  2. Выберите акт, нажмите Печать вверху страницы.
  3. Откроется новая вкладка со ссылкой вида:

    https://домен.рф:1500/billmgr?func=invoice.print&elid=18&plid=&out=doc_print
    CODE

     out=doc_print — формат вывода документа

  4.  Замените out=doc_print на xml:

    https://домен.рф:1500/billmgr?func=invoice.print&elid=18&plid=&out=xml
    CODE

Вы получите отображение всех переменных, которые нужны для обработки шаблонизатором. 

Ниже приведён пример вставки номера договора в шаблон "Русский акт":

<% if (invoice.contracts.contract.length > 0 && invoice.contracts.contract ) { %>
<% for (var i = 0; i < invoice.contracts.contract.length; i++) { %>
договор <%= invoice.contracts.contract[i].number %> от <% rusdate(invoice.contracts.contract[i].signdate) %>

<% if (invoice.contracts.contract.length > 1) { %><%
if (i < invoice.contracts.contract.length) { %>, <% }
%><% } %>
<% } %>
<% } else { %>
-
<% } %>
CODE

Обновление пакетов платформы может затронуть внесённые изменения и потребуется повторно внести правки в шаблон по умолчанию.

Почему не все расходы попали в акт?

Убедитесь, что расходы, которые не попали в акт, соответствуют:

  • типу генерации акта в настройках плательщика. Для проверки перейдите в раздел Клиенты → Плательщики → выберите плательщика → кнопка Изменить → поле Тип генерации актов. Например, если в настройках плательщика указан тип генерации по расходам после оплаты, в акт не попадут не оплаченные расходы;

    Если для плательщика индивидуально не указан тип генерации акта, учитывайте тип генерации для всех плательщиков в разделе ПровайдерГлобальные настройки → блок Работа с плательщиками.

  • полю Акт по расходам. Для проверки перейдите в раздел Провайдер → Глобальные настройки → блок Основное → поле Акт по расходам. Например, если указан Акт по расходам с учётом даты оказания услуги, акт выполненных работ будет учитывать дату оказания услуг, а не дату списания средств. Если дата списания — декабрь, а дата оказания услуги — январь, расход будет закрыт актом за январь.

    Поле Акт по расходам доступно с версии 6.66. Если в вашей версии отсутствует это поле, акты по умолчанию формируются по дате оказания услуги.

Подробнее см. в статье Почему не формируется акт.

Почему сумма расходов и сумма в акте отличаются на десятые или сотые доли?

Такая ситуация возникает при создании расходов с сотыми долями, а также при оплате одного расхода несколькими платежами. BILLmanager автоматически проводит округление "копеек" при формировании актов выполненных работ и начисляет значения, накопленные после округлений. То есть система компенсирует "копейки" из  актов, где округление произошло в меньшую сторону в следующие акты, чтобы сбалансировать общую стоимость платежей и расходов.

Чтобы скорректировать сумму, измените общую сумму акта одним из способов:

  • скорректируйте стоимость одной из позиций акта. Для этого:
    1. Перейдите в раздел ФинансыАкты выполненных работ → выберите акт → кнопка Подробно.
    2. Выделите позицию и нажмите Изменить.
    3. Измените стоимость в поле Сумма на необходимое для выравнивания суммы акта значение.
  • скорректируйте общую сумму акта. Для этого:
    1. Перейдите в раздел ФинансыАкты выполненных работ → выберите акт → кнопка Изменить.
    2. Измените стоимость в поле Сумма на необходимое для выравнивания суммы акта значение.

Как удалить акт?

Эта инструкция связана с удалением элементов. При некорректном удалении последствия могут быть необратимы.

Удаление акта доступно, если после него не было создано других актов для плательщика. Это обусловлено логикой работы биллинга: с актом связано много зависимостей в платформе, их нарушение повлечет за собой некорректную работу системы. Если у плательщика есть акт с ID больше, чем у удаляемого, при удалении появится ошибка: "Не удалось удалить 1 элемент(-а,-ов). Для получения подробностей наведите курсор на значок ошибки в строке таблицы". Чтобы удалить такой акт, удалите все акты плательщика, созданные после него.

Как сменить тип генерации актов для всех плательщиков?

Для глобальной смены доступно только два типа генерации актов:

  • по расходам после оплаты;
  • автоматически по авансовым платежам.

Установить эти типы генерации можно в разделе Провайдер → Глобальные настройки → блок Работа с плательщиками → поле Тип генерации актов.

Индивидуально для каждого плательщика доступно больше типов генерации, но для глобальной смены подходят не все. Чтобы установить тип генерации индивидуально для плательщика, перейдите в раздел Клиенты → Плательщики → кнопка Изменить → поле Тип генерации актов.

Приоритетный тип генерации

Тип генерации актов, указанный индивидуально для плательщика, будет приоритетным при формировании акта. Массово для всех плательщиков нельзя сменить тип генерации, установленный индивидуально в блоке Работа с плательщиками.

Например, если глобально вы установили тип генерации автоматически по авансовым платежам, а индивидуально для плательщика указан тип генерации по расходам после оплаты, акт для этого плательщика сформируется по расходам после оплаты.