Файл docx на основе шаблона при помощи PHP

Довольно часто встречается задача автоматизировать заполнение всяческих заявлений..ну например в бухгалтерию. Это вполне можно сделать и на PHP, позволив пользователю на форме веб страницы заполнить основные данные, а затем отдав ему уже сформированный на основе шаблона файл формата docx (файл docx на основе шаблона).

HTML часть может выглядеть примерно так:

На странице увидим что-то вроде:

файл docx на основе шаблона

На JavaScript создам функцию — обработчик нажатия на кнопку «Сформировать заявление». Функция делает запрос на сервер, а в ответ получает сформированный файл. Браузер автоматически предложит его сохранить.

С клиентской частью (ну которая в браузере) разобрались. Теперь займемся сервером. Чтобы ничего не изобретать, воспользуемся пакетом phpoffice/phpword:

Далее подготовим файл-шаблон. Можно в любом редакторе, который поддерживает расширение docx. В файле , те части которые мы хотим заменить, обрамляем ${имя_переменноя}, чтобы получилось например что-то вроде:

Далее, серверная часть, которая заполняет непосредственно сам шаблон:

В результате мы получили файл docx. Другие статьи по PHP можете почитать здесь

Текущая дата в input

Задача: Необходимо чтобы при отображении на HTML странице поля input с типом дата, автоматически подставлялась определенная дата (заполнение текущей датой поля input). Ну например текущая+14 дней.

Решение: собственно без javascript тут не обойтись (ну если исключить вариант, что html генерируется на сервере, и соответственно заполняется поле value. Но это не наш метод (с)

HTML:

JavaScript:

Что тут интересного? Ну фактически мы пользуемся тем, что value у тега input с типом даты обязательно должно быть в формате гггг-мм-дд, т.е. ISO формат, а в ISO формат мы можем пере конвертировать дату полученную при помощи функции Date. Время нам не нужно, поэтому отсекаем его, разделив дату по разделителю «Т», и взяв первый элемент массива.

заполнение текущей датой поля input

До чего дошел прогресс (с)

Хм..однако. Попробовал новую нейросеть для сочинения музыки и накладывания слов на мотив музыки. И был удивлён. Прогресс очевиден, и музыка и песни получающиеся действительно пригодны для прослушивания.

Вот пример того что получилось:

Попробовать самому можно здесь.

нейросеть для сочинения музыки

SSL certificate problem при клонировании git

При клонировании при помощи git репозитария, возникла ошибка «SSL certificate problem». Обычно это означает что корневой сертификат не является доверенным. В моём случае, всё хорошо, просто тов. Касперский лезет туда куда не нужно бы лезть — а именно для того чтобы перехватывать трафик пропускает весь трафик на порту 433 через себя, подсовывая свой корневой сертификат. Отключить сиё в виду определенных причин я не могу, потоэтому придётся научить git игнорировать ошибки проверки сертификата. Сделать это можно двумя способами: длинным и коротким:

Ну а далее, как обычно:

Git чуть ругнётся, но клон сделает:

SSL certificate problem

Еще кое-что о git можно почитать тут

Динамическая таблица значений на форме

Часто возникают ситуации, что необходимо отобразить данные на форме в виде таблицы (динамическая таблица значений на форме). Классический метод — добавить к документу (справочнику и т.п.) табличную часть — объект. Но из этого возникает значительный минус — при записи данные будут храниться в БД. А если это не нужно, и данные должны подтягиваться динамически из других таблиц? Выход есть — создать таблицу не как объект, а как переменную формы. В этом случае данные в БД сохраняться не будут. Что для этого нужно?

Создать реквизит с типом «Таблица значений»:

динамическая таблица значений на форме

Затем добавить колонки реквизита, указывая для них необходимый тип:

Далее, перетащите получившуюся таблицу на форму:

И остаётся только при событии формы «При создании на сервере», заполнить эту таблицу:

Как результат — получим динамически формируемую таблицу на управляемой форме 1С (динамическая таблица значений). Другие статьи по теме 1С можете найти здесь

1 2 3 4 284