Перейти к содержанию
Форум поддержки пользователей VamShop

Печать бланков наложенного платежа, описи вложения и н


Рекомендуемые сообщения

Печать бланков наложенного платежа, описи вложения и наклеек куда/кому/ценность.

В файле \admin\orders.php ищем строку:

<a class="button" href="Javascript:void()" onclick="window.open('<?php echo vam_href_link(FILENAME_PRINT_ORDER,'oID='.$_GET['oID']); ?>', 'popup', 'toolbar=0, width=640, height=600')"><?php echo BUTTON_INVOICE; ?></a>
Если не находим, то просто ищем FILENAME_PRINT_ORDER и выше этого тэга <a> вставляем код:
<script language='VBScript'>
Dim Xcl
Sub StartExcel()
Set Xcl = CreateObject("Excel.Application")
Xcl.Visible = false
Set newBook = Xcl.Workbooks.Open("C:\PostRussia.xlt")
newBook.Worksheets(1).Cells(23,10).value="<?php echo $order->delivery['state'] ; ?>"
newBook.Worksheets(1).Cells(25,3).value="<?php echo $order->delivery['city'] ; ?>"
newBook.Worksheets(1).Cells(26,3).value="<?php echo $order->delivery['street_address'] ; ?>"
newBook.Worksheets(1).Cells(27,4).value="<?php echo $order->delivery['name'] ; ?>"

newBook.Worksheets(1).Cells(23,4).value="<?php echo $order->delivery['postcode'][0] ; ?>"
newBook.Worksheets(1).Cells(23,5).value="<?php echo $order->delivery['postcode'][1] ; ?>"
newBook.Worksheets(1).Cells(23,6).value="<?php echo $order->delivery['postcode'][2] ; ?>"
newBook.Worksheets(1).Cells(23,7).value="<?php echo $order->delivery['postcode'][3] ; ?>"
newBook.Worksheets(1).Cells(23,8).value="<?php echo $order->delivery['postcode'][4] ; ?>"
newBook.Worksheets(1).Cells(23,9).value="<?php echo $order->delivery['postcode'][5] ; ?>"
newBook.Worksheets(1).Cells(21,12).value="0"
Xcl.Visible = true
//newBook.SaveDialog("<?php echo $order->delivery['name'] ; ?>.xls")
//Xcl.SaveDialog("<?php echo $order->delivery['name'] ; ?>.xls")
//Xcl.SaveDialog()

Set Xcl = nothing
end Sub
</script>
<a class="button" onclick="StartExcel()">Print Excel</a>[/code]

Прикрепленный к этому сообщению файл [b]PostRussia.xlt[/b] кладем в корень диска С: (потом расположение можно будет поменять в скрипте).

В Админке, в карточке заказа рядом с кнопкой "Счёт" появляется новая кнопка [b]"Print Excel"[/b]. При нажатии вызывается лежащий на диске С:\ шаблон Excel и заполняются необходимые поля. [u]Присутствует "сумма прописью"[/u]. Автоматически сумма заказа не подставляется так как: 1) у меня не получилось вычипить в коде общую сумму заказа. 2) очень часто конечная сумма заказа может не совпадать с текущей (нет нужного товара в наличии или несколько заказов объединяются в один), 3) длинная сумма прописью может не влезать в ячейку, и нужно руками уменьшать шрифт.

[color=red][b]Данный скрипт работает только из Internet Explorer! В настройках безопасности необходимо разрешить/предлагать запуск ActiveX-содержимого или занести адрес магазина в доверенную зону.[/b][/color]

[color=red][b]Скрипт вообще не сработает или может вывалить ошибку, если в адресе у клиента будут кавычки. Надо все кавычки заменять специальным html-тэгом еще при регистрации клиента - это разработчику на заметку.[/b][/color]

Ничего - для рутинной печати почтовых бланков и адресных липучек можно иногда заходить через IE.

P.S. Правильно говорят, что лень это двигатель прогресса. Мне надоело часами делать copy/paste данных заказа из броузера в Excel и я начал искать решение. Некоторые скептики говорили что это не возможно или нужно запускать что-то дополнительное на стороне сервера.

PostRussia.zip

Ссылка на сообщение
Поделиться на другие сайты

Патамучто...

Диск Цэ есть у всех, а про остальные ваши диски я не знаю, я не телепат.

В скрипте можно указать любой путь, если на русском, то в кодировке UTF-8.

Ссылка на сообщение
Поделиться на другие сайты

А зачем с любой машины? Этот бланк печатает тот, кто упаковыват заказы в бандероли/посылки, несет их на почту и отправляет наложенным платежом.

Я как раз старался уйти от серверных частей - зачем качать с сервера лишние 100 килобайт шаблона, если можно локально открывать. Сколько времени будет занимать печать 30 бланков при закачке каждого через сервер?

Ссылка на сообщение
Поделиться на другие сайты

Мда... 100кб афигительный размер... :D По скорости что локально что с сервера 100кб туда сюда гонять не играет роли... если конечно не на модеме сидишь....

Ссылка на сообщение
Поделиться на другие сайты

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

А настраивать координаты для вывода текста и потом гонять с сервера здоровый PDF еще более накладно.

Ссылка на сообщение
Поделиться на другие сайты

[:|||||||:]

Спасибо огромное за готовое решение, сегодня обязательно попробую.

Думаю, что будет очень полезно автоматизировать заполнение всех этих бланков для почты.

Ссылка на сообщение
Поделиться на другие сайты

Сумму заказа чисто числом я не нашел, поэтому в ячейку ставлю ноль. Там в массиве хранится сумма вида "200 руб." - можно "руб." просто выкусывать и уже потом вставлять в Excel. Меня смутило, что эта сумма заказа не всегда в одном и том же месте массива получается (если добавляются накрутки на доставку, скидки и т.п). Но она в массиве вроде последняя всегда, т.е. можно циклом пройтись, получить последнюю и выкусить "руб.".

Меня это не устроило, т.к. всё равно сумму руками уже в Экселе ставлю:

1) очень часто конечная сумма заказа может не совпадать с текущей (нет нужного товара в наличии или несколько заказов объединяются в один), 2) длинная сумма прописью может не влезать в ячейку, и нужно руками уменьшать шрифт.

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

Ссылка на сообщение
Поделиться на другие сайты

Как я понял в темплейте используеться макрос и поменять форму бланка будет довольно проблематично не специалисту. так?

Ссылка на сообщение
Поделиться на другие сайты

"не специалист" должен знать что такое координата ячейки в Экселе и указать эту координату в скрипте.

Ссылка на сообщение
Поделиться на другие сайты

В шаблоне, который я прикрепил, из "извращений" это только макрос для вывода суммы прописью. Остальное это обычный лист Excel, переименованый в шаблон .xlt. Открой в Экселе или ОпенОфисе и сам посмотри.

Ссылка на сообщение
Поделиться на другие сайты
  • 4 years later...
×
×
  • Создать...