News:

Support the VirtueMart project and become a member

Main Menu

DHL Shipping and printing shipping labels

Started by durian, January 04, 2006, 18:10:59 PM

Previous topic - Next topic

durian

If <img> is working for you, then go ahead and use it.  That the nice thing about having the source, you can make adjustments.  Like I said before, I've forgotten the issues involved that forced me to use <object> instead of <img>, but they did exist.  If you really want to dig into this, try viewing with different browsers and see how they respond.  Try a mozilla based browser and a khtml based browser.  Check both the label image and the signature tracking image.

As for printing, you can print on anything.  Print on a sticky label or even plain paper and then tape to
a box.

mike

mizanation

Just to confirm, I changed the code to use <img> instead of <object> and it is working fine on all browsers and platforms.

I also shipped my first package yesterday and everything went smoothly.  So, it looks like <img> tag works fine.


Also, I found a problem when shipping products that are bought by someone who is part of a shopping group.  When I checkout with a user that is part of a group that receives a 10% discount, it complains about the price being "non-numerical."

I am assuming that a number is getting turned into a character string somewhere during the discount process.

I will look for the fix to this and post it.

mizanation

one more question.


Does the recipient see the tracking number at any point?

For instance, is it in their Orders section?


Or do I have to send it to them "manually".

Thanks,

Miz

durian

No, the tracking number doesn't appear in anything the customer receives.  That would be a nice addition though.

There is a field in the HDL XML shipping request where you specify the receiver's email address.  In theory, they should receive an email with the shipping information, but I'm not sure it really works in practice.

mike

mizanation

hi mike,

what i will do is on the order details screen, i will automatically populate a tracking number message in the comments section.  something like, "Hi Buddy, your package has been shipped.  Your tracking number is XXXXXXXXXXX."

that way, i don't need to worry about writing code that sends the email.  the info will already be there when i am sending the shipment confirmation.  this should be pretty easy, i think i'll put in the code this weekend and post it here.


BTW, on three of my shipments, when the user had received the items, the status changed from "shipped" to "confirmed."  is this a feature or am i going crazy?  so, the shipping module is smart enough to change the status when the shipment arrives???

holsum

I am trying to update the DHL.1.0.6 to DHL.1.0.7 and I have run into two snags.

1. When I click on the print view icon in the Order List I recieve an error.
2. When I click on the print label button I recieve this error:

Shipment not generated. [code 102]
A shipment date must fall between today and 9 days from now. [code 4100]

here is the order.order_printdetail.php file if anyone wants to take a look at it and help figure out why this is happening.
<?php
defined
'_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); 
/**
*
* @version $Id: order.order_printdetails.php,v 1.5.2.2 2006/03/10 15:55:15 soeren_nb Exp $
* @package VirtueMart
* @subpackage html
* @copyright Copyright (C) 2004-2005 Soeren Eberhardt. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* VirtueMart is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
*
* http://virtuemart.net
*/
mm_showMyFileName__FILE__ );

require_once(
CLASSPATH.'ps_checkout.php');
require_once(
CLASSPATH.'ps_product.php');
$ps_product= new ps_product;

$order_id mosgetparam$_REQUEST'order_id'null);
$dbc = new ps_DB;
if (!
is_numeric($order_id))
    die ('Please provide a valid Order ID!');

$q "SELECT * FROM #__{vm}_orders WHERE order_id='$order_id' and vendor_id = $ps_vendor_id"
$db->query($q);
$db->next_record();
// if ($db->next_record()) {
?>


<table width="100%" align="center" border="0" cellspacing="0" cellpadding="2">
  <tr>
    <td valign="top">
     <h2><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_PO_LBL ?></h2>
     <p><?php
        
echo $vendor_name "<br />";
        echo $vendor_address "<br />";
        echo $vendor_city ", ";
        echo $vendor_state " ";
        echo $vendor_zip?>
</p>
    </td>
    <td valign="top" width="10%" align="right"><?php echo $vendor_image?></td>
  </tr>
</table>

<table border="0" cellspacing="0" cellpadding="2" width="100%">
  <!-- begin customer information -->
  <tr class="sectiontableheader">
    <th align="left" colspan="2"><?php echo $VM_LANG->_PHPSHOP_ACC_ORDER_INFO ?></th>
  </tr>
  <tr>
    <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_PO_NUMBER?>:</td>
    <td><?php printf("%08d"$db->f("order_id")); ?></td>
  </tr>

  <tr>
    <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_PO_DATE ?>:</td>
    <td><?php echo date("d-M-Y H:i"$db->f("cdate")); ?></td>
  </tr>
  <tr>
    <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_PO_STATUS ?>:</td>
    <td><?php
         $q 
"SELECT order_status_name FROM #__{vm}_order_status WHERE ";
         $q .= "order_status_code = '" $db->f("order_status") . "'";
         $dbos = new ps_DB;
         $dbos->query($q);
         $dbos->next_record();
         echo $dbos->f("order_status_name");
         ?>


</td>
  </tr>
  <!-- End Customer Information -->
  <!-- Begin 2 column bill-ship to -->
  <tr class="sectiontableheader">
    <th align="left" colspan="2"><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_CUST_INFO_LBL ?></th>
  </tr>
  <tr valign="top">
    <td width="50%"> <!-- Begin BillTo --><?php
    
// Get bill_to information
    $dbbt = new ps_DB;
    $q  "SELECT * FROM #__{vm}_order_user_info WHERE user_id='" $db->f("user_id") . "'  AND order_id='$order_id' AND address_type='BT'"
    $dbbt->query($q);
    $dbbt->next_record(); 
    $user $dbbt->record;
  ?>

      <table width="100%" cellspacing="0" cellpadding="2" border="0">
        <tr>
          <td colspan="2"><strong><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_BILL_TO_LBL ?></strong></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_COMPANY ?> :</td>
          <td><?php $dbbt->p("company"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_SHOPPER_LIST_NAME ?> :</td>
          <td><?php 
                $dbbt
->p("first_name"); 
                echo " ";
                $dbbt->p("middle_name"); 
                echo " ";
                $dbbt->p("last_name"); 
         ?>
</td>
        </tr>
        <tr valign="top">
          <td><?php echo $VM_LANG->_PHPSHOP_ADDRESS ?> :</td>
          <td><?php 
              $dbbt
->p("address_1"); 
              echo "<br />";
              $dbbt->p("address_2");    
         ?>
</td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_CITY ?> :</td>
          <td><?php $dbbt->p("city"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_STATE ?> :</td>
          <td><?php $dbbt->p("state"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_ZIP ?> :</td>
          <td><?php $dbbt->p("zip"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_COUNTRY ?> :</td>
          <td><?php 
$country $dbbt->f("country");
$dbbt->query"SELECT country_name FROM #__{vm}_country WHERE country_3_code = '$country'");
$dbbt->next_record();
$country_name $dbbt->f("country_name");
echo $country_name;
?>
</td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_PHONE ?> :</td>
          <td><?php $dbbt->p("phone_1"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_FAX ?> :</td>
          <td><?php $dbbt->p("fax"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_EMAIL ?> :</td>
          <td><?php $dbbt->p("user_email"); ?></td>
        </tr>
      </table>
      <!-- End BillTo --> </td>
    <td width="50%"> <!-- Begin ShipTo --> <?php
    
// Get ship_to information
    $q  "SELECT * FROM #__{vm}_order_user_info WHERE user_id='" $db->f("user_id") . "'  AND order_id='$order_id' AND address_type='ST'"
    $dbst->query($q);
    $dbst->next_record();  
    ?>

<table width="100%" cellspacing="0" cellpadding="2" border="0">
        <tr>
          <td colspan="2"><strong><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_SHIP_TO_LBL ?></strong></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_COMPANY ?> :</td>
          <td><?php $dbst->p("company"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_SHOPPER_LIST_NAME ?> :</td>
          <td><?php 
         $dbst
->p("first_name"); 
         echo " ";
         $dbst->p("middle_name"); 
         echo " ";
         $dbst->p("last_name"); 
         ?>
</td>
        </tr>
        <tr valign="top">
          <td><?php echo $VM_LANG->_PHPSHOP_ADDRESS ?> :</td>
          <td><?php 
          $dbst
->p("address_1"); 
          echo "<br />";
          $dbst->p("address_2");    
         ?>
</td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_CITY ?> :</td>
          <td><?php $dbst->p("city"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_STATE ?> :</td>
          <td><?php $dbst->p("state"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_ZIP ?> :</td>
          <td><?php $dbst->p("zip"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_COUNTRY ?> :</td>
          <td><?php 
if( $country != $dbst->f("country")) {
$country $dbst->f("country");
$dbst->query"SELECT country_name FROM #__{vm}_country WHERE country_3_code = '$country'");
$dbst->next_record();
$country_name $dbst->f("country_name");
}
echo $country_name;
?>
</td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_PHONE ?> :</td>
          <td><?php $dbst->p("phone_1"); ?></td>
        </tr>
        <tr>
          <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_FAX ?> :</td>
          <td><?php $dbst->p("fax"); ?></td>
        </tr>
      </table>
      <!-- End ShipTo -->
      <!-- End Customer Information -->
    </td>
  </tr>
  <tr>
    <td colspan="2">&nbsp;</td>
  </tr>
  <?php if ($PSHOP_SHIPPING_MODULES[0] != "no_shipping" && $db->f("ship_method_id")) { ?>
  <tr>
    <td colspan="2">
      <table width="100%" border="0" cellspacing="0" cellpadding="1">
       
        <tr class="sectiontableheader">
          <th align="left"><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_CUST_SHIPPING_LBL ?></th>
        </tr>
        <tr>
          <td>
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td><strong><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_SHIPPING_CARRIER_LBL ?></strong></td>
                <td><strong><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_SHIPPING_MODE_LBL ?></strong></td>
                <td><strong><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_PRICE ?>&nbsp;</strong></td>
              </tr>
              <tr>
                <td><?php 
                    $details 
explode"|"$db->f("ship_method_id"));
                    echo $details[1];
                    ?>
&nbsp;
                </td>
                <td><?php 
                    
echo $details[2];
                    ?>

                </td>
                <td><?php 
                    
echo $CURRENCY_DISPLAY->getFullValue($details[3]); 
                    ?>

                </td>
              </tr>
            </table>
          </td>
        </tr>
       
      </table>
    </td>
  </tr><?php
     


  ?>

  <tr>
    <td colspan="2">&nbsp;</td>
  </tr>
  <!-- Begin Order Items Information -->
  <tr class="sectiontableheader">
    <th align="left" colspan="2"><?php echo $VM_LANG->_PHPSHOP_ORDER_ITEM ?></th>
  </tr>
  <tr>
    <td colspan="2">
      <table width="100%" cellspacing="0" cellpadding="2" border="0">
        <tr align="left">
          <th><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_QTY ?></th>
          <th><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_NAME ?></th>
          <th><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_SKU ?></th>
          <th><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_PRICE ?></th>
          <th align="right"><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_TOTAL ?>&nbsp;&nbsp;&nbsp;</th>
        </tr>
        <?php 
      $dbcart 
= new ps_DB;
      $q  "SELECT * FROM #__{vm}_order_item ";
      $q .= "WHERE #__{vm}_order_item.order_id='$order_id' ";
      $dbcart->query($q); 
      $subtotal 0;
      while ($dbcart->next_record()) {
?>

        <tr align="left">
          <td><?php $dbcart->p("product_quantity"); ?></td>
          <td><?php $dbcart->p("order_item_name"); echo " <font size=\"-2\">" $dbcart->f("product_attribute") . "</font>";?></td>
          <td><?php $dbcart->p("order_item_sku"); ?></td>
          <td><?php /*
                $price = $ps_product->get_price($dbcart->f("product_id"));
                $item_price = $price["product_price"]; */
                $item_price $dbcart->f("product_item_price");
               echo $CURRENCY_DISPLAY->getFullValue($item_price);
               
           ?>
</td>
          <td align="right"><?php $total $dbcart->f("product_quantity") * $item_price
                $subtotal += $total;
                echo $CURRENCY_DISPLAY->getFullValue($total);
           ?>
&nbsp;&nbsp;&nbsp;</td>
        </tr><?php
      
}
?>

        <tr>
          <td colspan="4" align="right">&nbsp;&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td colspan="4" align="right"><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_SUBTOTAL ?> :</td>
          <td align="right"><?php echo $CURRENCY_DISPLAY->getFullValue($subtotal?>&nbsp;&nbsp;&nbsp;</td>
        </tr>
<?php 
      
/* COUPON DISCOUNT */
      $coupon_discount $db->f("coupon_discount");
      
      
if( $coupon_discount ) {
        $subtotal -= $coupon_discount;
      ?>

        <tr>
          <td colspan="4" align="right"><?php echo $VM_LANG->_PHPSHOP_COUPON_DISCOUNT ?>:
          </td>
          <td align="right"><?php
            
echo "- ".$CURRENCY_DISPLAY->getFullValue$coupon_discount ); ?>
&nbsp;&nbsp;&nbsp;
          </td>
        </tr>
      <?php
      
}
      if (($db->f("order_discount") != 0) && (PAYMENT_DISCOUNT_BEFORE == '1')) { ?>

        <tr>
            <td colspan="4" align="right"><?php 
              
if( $db->f("order_discount") > 0)
                echo $VM_LANG->_PHPSHOP_PAYMENT_METHOD_LIST_DISCOUNT;
              else
                echo $VM_LANG->_PHPSHOP_FEE;
                ?>
:
            </td>
            <td align="right"><?php
          
if ($db->f("order_discount") > )
               echo "- ".$CURRENCY_DISPLAY->getFullValue(abs($db->f("order_discount")));
          elseif ($db->f("order_discount") < )
               echo "+ ".$CURRENCY_DISPLAY->getFullValue(abs($db->f("order_discount"))); ?>

            &nbsp;&nbsp;&nbsp;</td>
        </tr>
       
        <?php 
      
}
?>

       
        <tr>
          <td colspan="4" align="right"><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_SHIPPING ?> :</td>
          <td align="right"><?php 
            $shipping_total 
$db->f("order_shipping");
            echo $CURRENCY_DISPLAY->getFullValue($shipping_total);
            
            ?>
&nbsp;&nbsp;&nbsp;</td>
        </tr>
        <tr>
          <td colspan="4" align="right"><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_TOTAL_TAX ?> :</td>
          <td align="right"><?php 
            $tax_total 
$db->f("order_tax")+ $db->f("order_shipping_tax");
            echo $CURRENCY_DISPLAY->getFullValue($tax_total);
            
            ?>
&nbsp;&nbsp;&nbsp;</td>
        </tr>
     
        <tr>
          <td colspan="4" align="right">
          <?php if (PAYMENT_DISCOUNT_BEFORE == '1') { ?><strong><?php 
          
          
echo $VM_LANG->_PHPSHOP_CART_TOTAL .":"; if (PAYMENT_DISCOUNT_BEFORE != '1') { ?>
</strong><?php ?></td>
         
          <td align="right"><?php 
          
if (PAYMENT_DISCOUNT_BEFORE == '1') { ?>
<strong><?php  
            $total = $db->f("order_total");
            echo $CURRENCY_DISPLAY->getFullValue($total);
          }
          else {
            $total = $db->f("order_subtotal") + $db->f("order_tax") + $db->f("order_shipping");
            echo $CURRENCY_DISPLAY->getFullValue($total);
          }
          if (PAYMENT_DISCOUNT_BEFORE == '1') { ?>
</strong><?php ?>&nbsp;&nbsp;&nbsp;</td>
        </tr>
        <?php 
        
if ($db->f("order_discount") != 0.00 && PAYMENT_DISCOUNT_BEFORE != '1') { ?>

        <tr>
        <td colspan="4" align="right"><?php 
              
if( $db->f("order_discount") > 0)
                echo $VM_LANG->_PHPSHOP_PAYMENT_METHOD_LIST_DISCOUNT;
              else
                echo $VM_LANG->_PHPSHOP_FEE;
                ?>
:
        </td>
        <td align="right"><?php
          
if ($db->f("order_discount") > )
               echo "- ".$CURRENCY_DISPLAY->getFullValue(abs($db->f("order_discount")));
          elseif ($db->f("order_discount") < )
               echo "+ ".$CURRENCY_DISPLAY->getFullValue(abs($db->f("order_discount")));
               ?>
&nbsp;&nbsp;&nbsp;
        </td>
        </tr>
        <tr>
            <td colspan="4" align="right"><strong><?php echo $VM_LANG->_PHPSHOP_CART_TOTAL ?>: </strong></td>
        <td align="right"><strong><?php echo $CURRENCY_DISPLAY->getFullValue($db->f("order_total")); ?>
        </strong>&nbsp;&nbsp;&nbsp;
          </td>
        </tr>
        <?php
        

        ?>

        <tr>
            <td colspan="4" align="right">&nbsp;</td>
        <td align="right"><strong><?php echo ps_checkout::show_tax_details$db->f('order_tax_details') ); ?>
        </strong>&nbsp;&nbsp;&nbsp;
          </td>
        </tr>           
      </table>
    </td>
  </tr>
  <!-- End Order Items Information -->

<br />

  <!-- Begin Payment Information -->

      <table width="100%">
      <tr class="sectiontableheader">
        <th align="left" colspan="2"><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_PAYINFO_LBL ?></th>
      </tr>
          <?php
          
/** Retrieve Payment Info **/
          $dbpm = new ps_DB;
          $q  "SELECT * FROM #__{vm}_payment_method, #__{vm}_order_payment, #__{vm}_orders ";
          $q .= "WHERE #__{vm}_order_payment.order_id='$order_id' ";
          $q .= "AND #__{vm}_payment_method.payment_method_id=#__{vm}_order_payment.payment_method_id ";
          $q .= "AND #__{vm}_orders.user_id='" $db->f("user_id") . "' ";
          $q .= "AND #__{vm}_orders.order_id='$order_id' ";
          $dbpm->query($q);
          $dbpm->next_record(); ?>

      <tr>
        <td width="20%"><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_PAYMENT_LBL ?> :</td>
        <td><?php $dbpm->p("payment_method_name"); ?> </td>
      </tr>
  <?php
          
require_once(CLASSPATH.'ps_payment_method.php');
          $ps_payment_method = new ps_payment_method;
          $payment $dbpm->f("payment_method_id");
          
          
if ($ps_payment_method->is_creditcard($payment)) { 
          
            
// DECODE Account Number
            $dbaccount = new ps_DB;
            $q "SELECT DECODE(\""$dbpm->f("order_payment_number")."\",\"".ENCODE_KEY."\") as account_number FROM #__{vm}_order_payment WHERE order_id='".$order_id."'";
            $dbaccount->query($q);
            $dbaccount->next_record(); ?>

      <tr>
        <td width="10%"><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_ACCOUNT_NAME ?> :</td>
        <td><?php $dbpm->p("order_payment_name"); ?> </td>
      </tr>
      <tr>
        <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_ACCOUNT_NUMBER ?> :</td>
        <td><?php echo ps_checkout::asterisk_pad($dbaccount->f("account_number"),4);
    ?>
</td>
      </tr>
      <tr>
        <td><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_EXPIRE_DATE ?> :</td>
        <td><?php echo date("M-Y"$dbpm->f("order_payment_expire")); ?> </td>
      </tr>
  <?php ?>
      <!-- end payment information -->
      </table>
</center>
<?php // }
  
  
/** Print out the customer note **/
  if ( $db->f("customer_note") ) {
    ?>

    <table width="100%">
      <tr>
        <td colspan="2">&nbsp;</td>
      </tr>
      <tr class="sectiontableheader">
        <th align="left" colspan="2"><?php echo $VM_LANG->_PHPSHOP_ORDER_PRINT_CUSTOMER_NOTE ?></th>
      </tr>
      <tr>
        <td colspan="2">
         <?php echo nl2br($db->f("customer_note"))."<br />"?>
       </td>
      </tr>
    </table>
    <?php
  
}
  
// } /* End of security check */
?>


durian

mizanation,
No, the shipping module's not smart enough to periodically check the delivery status of all open shipments and adjust status when packages are delivered.  I don't know how to explain what you are seeing.

holsom,
Regarding the shipment date error.  The DHL server is returning that error.  It is saying the shipment date in the XML request is not valid (either in the past or too far in the future).  I recommend uncommenting the debugging line in the dhl.php generate_label function.  It's around line 947.  Then you'll be able to see what is being sent to the DHL server.  Look at the shipment date and see if you can figure out why DHL thinks it is invalid.  The date is in Shipment->ShipmentDetail->ShipDate.

Is it possible the order came in yesterday before the "too late" cut-off time and you are only printing the shipping label today?

mike

holsum

#67
Mike,
   How is it suppose to format the date? 
It currently is displaying like this
<ShipDate>2006-09-21</ShipDate>

Something is strange with the ship to function:  It is using the "Bill to"  as the ship to and in the print invoice window the ship to isn't giving an error now but it is not being populated with any information.  I wonder if both problems are somehow related?

What version of virtuemart are you running?  I want to get these files updated and packaged together so that we can continue to increase the awareness of the DHL module and hopefully get more people involved!

-Holsum

holsum

Mike and everyone else,

    When a customer tries to place an order when DHL is unavailable i.e.- a weekend,  it says that the service is unavialble and that it will ship on (the next date)... but it doesn't let you choose a shipping option.

Is there an option that overides the current availability of DHL?  A customer shouldn't have to wait until "business hours" before making a purchase from our site.  We shouldn't also have to wait until business hours to print a DHL label from the back-end.  Can this be changed?

-Holsum

mizanation

holsum, i think it does let you choose.  it notifies the user that it will ship the next business day, but the user is able to choose the shipping option...

holsum

OK, it appears that everything is working great now!

I will be posting the new dhl.1.0.7 later today or tomorrow.  I just need to update the read me file.

Thanks everyone,

-Holsum

mizanation

Hey guys.

I am getting the same error holsum was getting:

Shipment not generated. [code 102]
A shipment date must fall between today and 9 days from now. [code 4100]


This is because the orders were made last week, but for several reasons, they are to be shipped this week.

Is there a way to "reset" the ship date so that we can print a new label?

Can I just set the ship date to today whenever they click on "Print Label"?

durian

The shipping quotes presented to the customer are based on various information, like speed and delivery date.  This includes the ship date.  This same data is later used when printing the label to ensure the shipping cost accurately matches the quoted price.

If you can't ship on the scheduled date, you can at least generate the shipping labels on that date and then ship the package later.

mike

Ryan Gatewood

Quote from: holsum on September 23, 2006, 18:55:58 PM
OK, it appears that everything is working great now!

I will be posting the new dhl.1.0.7 later today or tomorrow.  I just need to update the read me file.

Thanks everyone,

-Holsum

Just curious if this is ever going to get posted?

Ryan Gatewood

I got everything working with VM 1.0.7 and submitted a new download package with easy to follow instructions. Hopefully I dont offend anyone by doing this, just figured it would help a lot of people.