shaklov 63 Опубликовано 12 апреля, 2008 Жалоба Share Опубликовано 12 апреля, 2008 Печать бланков наложенного платежа, описи вложения и наклеек куда/кому/ценность. В файле \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 Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 12 апреля, 2008 Жалоба Share Опубликовано 12 апреля, 2008 Заранее спасибо, подождём законченного варианта и попробуем на деле. Ссылка на сообщение Поделиться на другие сайты
one 0 Опубликовано 12 апреля, 2008 Жалоба Share Опубликовано 12 апреля, 2008 А почему на С диске фал должен храниться? Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 12 апреля, 2008 Автор Жалоба Share Опубликовано 12 апреля, 2008 Патамучто... Диск Цэ есть у всех, а про остальные ваши диски я не знаю, я не телепат. В скрипте можно указать любой путь, если на русском, то в кодировке UTF-8. Ссылка на сообщение Поделиться на другие сайты
one 0 Опубликовано 12 апреля, 2008 Жалоба Share Опубликовано 12 апреля, 2008 А как вариант на сервере хранить файл для доступа с любой машины не возможен принципиально чтоль? Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 12 апреля, 2008 Автор Жалоба Share Опубликовано 12 апреля, 2008 А зачем с любой машины? Этот бланк печатает тот, кто упаковыват заказы в бандероли/посылки, несет их на почту и отправляет наложенным платежом. Я как раз старался уйти от серверных частей - зачем качать с сервера лишние 100 килобайт шаблона, если можно локально открывать. Сколько времени будет занимать печать 30 бланков при закачке каждого через сервер? Ссылка на сообщение Поделиться на другие сайты
one 0 Опубликовано 12 апреля, 2008 Жалоба Share Опубликовано 12 апреля, 2008 Мда... 100кб афигительный размер... :D По скорости что локально что с сервера 100кб туда сюда гонять не играет роли... если конечно не на модеме сидишь.... Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 12 апреля, 2008 Автор Жалоба Share Опубликовано 12 апреля, 2008 Ага, через сотовый телефон с ноутбуком на складе в арендованом помещении во сколько выльется такое удовольствие? Не у всех склад находится дома или в оборудованном интернетом помещении. А настраивать координаты для вывода текста и потом гонять с сервера здоровый PDF еще более накладно. Ссылка на сообщение Поделиться на другие сайты
one 0 Опубликовано 12 апреля, 2008 Жалоба Share Опубликовано 12 апреля, 2008 Ну и не все с нотом и мобилой по складам бродят... ;) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 13 апреля, 2008 Жалоба Share Опубликовано 13 апреля, 2008 [:|||||||:] Спасибо огромное за готовое решение, сегодня обязательно попробую. Думаю, что будет очень полезно автоматизировать заполнение всех этих бланков для почты. Ссылка на сообщение Поделиться на другие сайты
buddha 0 Опубликовано 14 апреля, 2008 Жалоба Share Опубликовано 14 апреля, 2008 Да, было бы интересно! Ссылка на сообщение Поделиться на другие сайты
one 0 Опубликовано 14 апреля, 2008 Жалоба Share Опубликовано 14 апреля, 2008 Попробовал, вроде не плохо... Ссылка на сообщение Поделиться на другие сайты
one 0 Опубликовано 14 апреля, 2008 Жалоба Share Опубликовано 14 апреля, 2008 Как я понимаю должен быть активен какой то модуль доставки определенный... Сумма не выводится... Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 14 апреля, 2008 Автор Жалоба Share Опубликовано 14 апреля, 2008 Сумму заказа чисто числом я не нашел, поэтому в ячейку ставлю ноль. Там в массиве хранится сумма вида "200 руб." - можно "руб." просто выкусывать и уже потом вставлять в Excel. Меня смутило, что эта сумма заказа не всегда в одном и том же месте массива получается (если добавляются накрутки на доставку, скидки и т.п). Но она в массиве вроде последняя всегда, т.е. можно циклом пройтись, получить последнюю и выкусить "руб.". Меня это не устроило, т.к. всё равно сумму руками уже в Экселе ставлю: 1) очень часто конечная сумма заказа может не совпадать с текущей (нет нужного товара в наличии или несколько заказов объединяются в один), 2) длинная сумма прописью может не влезать в ячейку, и нужно руками уменьшать шрифт. Скрипт вообще не сработает или может вывалить ошибку, если в адресе у клиента будут кавычки. Надо все кавычки заменять специальным html-тэгом еще при регистрации клиента - это разработчику на заметку. Ссылка на сообщение Поделиться на другие сайты
one 0 Опубликовано 15 апреля, 2008 Жалоба Share Опубликовано 15 апреля, 2008 Как я понял в темплейте используеться макрос и поменять форму бланка будет довольно проблематично не специалисту. так? Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 15 апреля, 2008 Автор Жалоба Share Опубликовано 15 апреля, 2008 "не специалист" должен знать что такое координата ячейки в Экселе и указать эту координату в скрипте. Ссылка на сообщение Поделиться на другие сайты
one 0 Опубликовано 15 апреля, 2008 Жалоба Share Опубликовано 15 апреля, 2008 Хммм... А в самом Экселевском шаблоне ничего не должно быть? Ссылка на сообщение Поделиться на другие сайты
shaklov 63 Опубликовано 15 апреля, 2008 Автор Жалоба Share Опубликовано 15 апреля, 2008 В шаблоне, который я прикрепил, из "извращений" это только макрос для вывода суммы прописью. Остальное это обычный лист Excel, переименованый в шаблон .xlt. Открой в Экселе или ОпенОфисе и сам посмотри. Ссылка на сообщение Поделиться на другие сайты
one 0 Опубликовано 15 апреля, 2008 Жалоба Share Опубликовано 15 апреля, 2008 Ну попробую под свой шаблон что нибудь вынести... Вывод суммы прописью - это самое важное для меня... Ссылка на сообщение Поделиться на другие сайты
Lep 11 Опубликовано 22 ноября, 2012 Жалоба Share Опубликовано 22 ноября, 2012 Прикрепите пожалуйста фаил PostRussia.xlt Пропал куда-то... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 23 ноября, 2012 Жалоба Share Опубликовано 23 ноября, 2012 Такого файла и не было никогда, насколько я помню. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения