...
В вид печатной формы нужно вставлять содержимое файла:
| Блок кода |
|---|
| language | none |
|---|
| theme | Default | language | none |
|---|
|
kp_selection_template.html |
...
Контрольный признак нормальной кодировки:
| Блок кода |
|---|
| language | none |
|---|
| theme | Default |
|---|
| language | none |
|---|
|
Коммерческое предложение
Описание жилых комплексов
Изображение не загружено
Основные параметры |
...
Минимальная структура:
| Блок кода |
|---|
| language | json |
|---|
| theme | Default | language | json |
|---|
|
{
"selection": {
"title": "Коммерческое предложение",
"subtitle": "От застройщика «ПАРТНЕР-СТРОЙ СЗ АО»",
"date": "30.06.2026",
"count": 5
},
"objects": [
{
"title": "Квартира · 38,3 м²",
"subtitle": "Маяк Курган, ГП 6, Парадная 1, кв. №13",
"price": "3 830 000",
"pricePerM2": "100 000 руб./м²",
"planImg": "data:image/png;base64,...",
"params": [
{ "k": "Площадь", "v": "38,3 м²" },
{ "k": "Этаж", "v": "2" }
],
"description": "Краткое описание объекта"
}
],
"titlePage": {
"renderImg": "data:image/png;base64,...",
"renderCaption": "Рендер жилого комплекса",
"blocks": [
{
"title": "ЖК Маяк",
"text": "Описание жилого комплекса"
}
],
"footerLeft": "© 4DEV · Макет подборки",
"footerRight": "Поддержка печати: Ctrl+P / Сохранить как PDF"
}
} |
...
Основной ожидаемый формат:
| Блок кода |
|---|
| language | json |
|---|
| theme | Default | language | json |
|---|
|
"titlePage": {
"blocks": [
{ "title": "ЖК Маяк", "text": "Описание ЖК" }
]
} |
...
Если описание не передано ни в одном поле, в PDF будет диагностический блок:
| Блок кода |
|---|
| language | none |
|---|
| theme | Default | language | none |
|---|
|
Описание ЖК не передано в JSON. Нужно заполнить titlePage.blocks[] или titlePage.description. |
...
Текущий template настроен под A4.
Ожидаемая раскладка:
| Количество объектов | Страницы |
|---|
| 1 | объект + описание ЖК на одной странице |
| 2 | 2 объекта + описание ЖК на одной странице |
| 3 | 3 объекта на первой странице, описание ЖК на второй |
| 4 | 3 объекта на первой странице, 1 объект + описание ЖК на второй |
| 5 | 3 объекта на первой странице, 2 объекта + описание ЖК на второй |
| 6 | 3 объекта на первой странице, 3 объекта на второй, описание ЖК на третьей |
Техническая логика template:
...
Должен быть настроен автотекст количества объектов подборки.
Логика:
| Блок кода |
|---|
| language | none |
|---|
| theme | Default | language | none |
|---|
|
Если КоммерческоеПредложение = Неопределено Тогда
Результат = 1;
Иначе
Результат = КоммерческоеПредложение.ОбъектыНедвижимости.Количество();
КонецЕсли; |
...
HTML ожидает вызов:
| Блок кода |
|---|
| language | none |
|---|
| theme | Default | language | none |
|---|
|
window.v8proxy.call(methodName, payload) |
...
Типовые дефекты и диагностика
| Симптом | Вероятная причина | Что проверить |
|---|
В PDF РљРѕ... вместо русского текста | template сохранен не в UTF-8 | Перезагрузить kp_selection_template.html в UTF-8 |
| Нет описания ЖК | 1С не передала titlePage.blocks[] или fallback-поля | Проверить JSON перед PDF |
Видно Описание ЖК не передано в JSON | Template работает, но данные не заполнены | Настроить автотекст/маппинг описания ЖК |
| PDF уходит на лишнюю страницу | Слишком длинные описания/изображения или измененный CSS | Проверить page-break и размеры блоков |
| PDF не открывается в браузере | Некорректная отдача файла | Проверить Content-Type, Content-Length, завершение записи |
| Дубли объектов | Нет проверки дублей в табличной части | Проверить добавление по ссылке объекта недвижимости |
Актуальный контроль template
Последняя проверка template:
| Блок кода |
|---|
| language | none |
|---|
| theme | Default | language | none |
|---|
|
3 объекта -> 2 страницы
4 объекта -> 2 страницы
5 объектов -> 2 страницы
6 объектов -> 3 страницы |
Кодировка проверена:
| Блок кода |
|---|
| language | json |
|---|
| theme | Default | language | json |
|---|
|
{
"proper": true,
"mojibake": false
} |
| View file |
|---|
| name | CRM4DEV-selection-commercial-offer.zip |
|---|
| height | 250 |
|---|
|