Startsida › Forum › E-handelsforumet › Logistik › Script för packsoft online
- Detta ämne har 43 svar, 20 deltagare, och uppdaterades senast för 6 år, 5 månader sedan av elitasson.
-
FörfattareInlägg
-
22 maj, 2013 kl. 11:19 #164354DavidWiggDeltagare
@Fractronics 65140 wrote:
Posten har ändrat lite i html koden och bytt från ”input” till ”button” på några ställen.
Ändra följande i scriptet:
input[name=”act_LoginActions_Login”]
input[name=”act_ShipmentJobEdit1Actions_Next”]
input[name=”act_ShipmentJobEdit2Actions_Store”]
input[name=”act_ShipmentJobEdit1Actions_Next”]Till button[name=”………..
Sammanlagt 7 ställen att ändra på om jag räknat rätt.
Jag ändrade raderna 45, 46, 47, 49, 58, 68 , 71, 78, 81,
Kanske tog någon för mycket? Men det verkar fungera iaf
Ja man kan kanske kalla det för ”fulhack”. Inget officiellt.
22 maj, 2013 kl. 12:06 #164356Jimmy OstromDeltagareAha då är jag med. Då tar jag av mig hatten och ber om ursäkt.
@Lubic 65145 wrote:
Fast nu är det väl ändå så att det är ett ”fulhack” som slutade fungera för att Pacsoft ändrade i sin kod. Alltså inget API eller liknande? Eller är jag ute och cyklar?
22 maj, 2013 kl. 12:10 #164357StaffanDeltagareAtt scripa direkt mot Pacsoft Online är inte tillåtet.
Vi vet att det görs och vi följer löpande trafik som tyder på scriptning.
Anledningen till att det inte är tillåtet är att vi haft fall där de som kört script inte varit smidiga nog att göra det i rimlig omfattning eller på ett sätt som inte riskerar att drabba systemet, och då har vi varit tvungna att spärra ut den trafiken.När de officiella kommunikationssätten mot Pacsoft Online ändras, så meddelas detta i god tid innan. GUI för användare kommer ändras löpande i flera omgångar under kommande år, så sätter man ett värde på sin egen tid är det inte så dumt att använda de officiella kommunikationssätten.
22 maj, 2013 kl. 13:43 #164364sanmicDeltagareJag tror att dem flesta (små) ehandlare försöker hålla nere kostnaderna så mkt som möjligt och nöjer sig ett fulhack om det kan spara några tusenlappar per år.
23 maj, 2013 kl. 06:27 #164397scalareDeltagareHej, mitt script fungerar fortfarande inte riktigt som tänkt. Jag får felaktigt användarnamn och lösenord när jag kör mot unifaun.
Såhär ser det ut:
// ==UserScript==
// @name Nyttscript
// @namespace Min Sida
// @description Pacsoft
// @include [url]https://www.unifaunonline.se*[/url]
// @include [url]http://www.minsida.se*[/url]
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js
// @version 0.1
// ==/UserScript==
// Base url of page to collect addresses on.
var customer_info_url_base = ”http://www.dipit.se/admin/index.php?route=sale/order/invoice”;
// When object of this class is clicked on the above page addresses are collected
var object_class_to_click = ”.address”;
// Pacsoft online user id
var my_pacsoft_uid = ”00200****”;
// Pacsoft online password
var my_pacsoft_pwd = ”mitt lösen”;
// Name on image next to favorite
var favorite_html_name = ”act_ShipmentJobFavoriteSearchActions_SearchResultEdit_RowId_9425”;
// Senders packsoft customer number
var my_packsoft_customer_nr = ”002001****”;
// Class ofwith customer name etc…
var customer_name_class = ”.customer_name”;
var customer_address1_class = ”.customer_address1”;
var customer_address2_class = ”.customer_address2”;
var customer_postcode_class = ”.customer_postcode”;
var customer_email_class = ”.customer_email”;
var customer_telephone_class = ”.customer_telephone”;
var customer_order_id_class = ”.customer_order_id”;
var customer_names = new Array();
var customer_address1s = new Array();
var customer_address2s = new Array();
var customer_postcodes = new Array();
var customer_emails = new Array();
var customer_telephones = new Array();
var customer_order_ids = new Array();
// Attach the collect_addresses function to a object on the page with addresses
if (window.location.href.indexOf(customer_info_url_base) > -1){
$(object_class_to_click).click(collect_addresses);
}
// The login page of packsoft online
else if (GM_getValue(”trigger”)==”1″ && $(’button[name=”act_LoginActions_Login”]’)[0]) {
$(’button[name=”CompanyLogin”]’).val(my_pacsoft_uid);
$(’button[name=”UserPass”]’).val(my_pacsoft_pwd);
GM_setValue(”trigger”, ”2”);
setTimeout(function() {$(’button[name=”act_LoginActions_Login”]’).trigger(”click”);},100);
}
// Packsoft home screen, go to my favorite named Varubrev
else if (GM_getValue(”trigger”)==”2″ && document.location.href.indexOf(”Action=act_SystemActions_Body”)>-1) {
GM_setValue(”trigger”, ”3”);
GM_setValue(”session_link”, document.location.href.split(”&”)[0].split(”?”)[1]);
document.location = ”webapp?”+GM_getValue(”session_link”)+”&Action=”+favorite_html_name;
}
// Fill the first page of the form press next (do while there is addresses left)
else if (GM_getValue(”trigger”)==”3″ && GM_getValue(”no_of_customers”)>0 && $(’button[name=”act_ShipmentJobEdit1Actions_Next”]’)[0]) {
$(’input[name=”RECEIVERName”]’).val(GM_getValue(”customer_names”).split(”¤”)[GM_getValue(”no_of_customers”)-1]);
$(’input[name=”RECEIVERDeliveryAddress1″]’).val(GM_getValue(”customer_address1s”).split(”¤”)[GM_getValue(”no_of_customers”)-1]);
$(’input[name=”RECEIVERDeliveryAddress2″]’).val(GM_getValue(”customer_address2s”).split(”¤”)[GM_getValue(”no_of_customers”)-1]);
$(’input[name=”RECEIVERDeliveryZipcode”]’).focus();
$(’input[name=”RECEIVERDeliveryZipcode”]’).val(GM_getValue(”customer_postcodes”).split(”¤”)[GM_getValue(”no_of_customers”)-1]);
$(’input[name=”RECEIVERDeliveryZipcode”]’).blur();
$(’input[name=”RECEIVERSms”]’).focus();
$(’input[name=”RECEIVERSms”]’).val(GM_getValue(”customer_telephones”).split(”¤”)[GM_getValue(”no_of_customers”)-1]);
$(’input[name=”RECEIVEREmail”]’).val(GM_getValue(”customer_emails”).split(”¤”)[GM_getValue(”no_of_customers”)-1]);
setTimeout(function() {$(’button[name=”act_ShipmentJobEdit1Actions_Next”]’).trigger(”click”);},100);
}
// Fill the second page of the form click ”lagra” (do while there is addresses left)
else if (GM_getValue(”trigger”)==”3″ && GM_getValue(”no_of_customers”)>0 && $(’button[name=”act_ShipmentJobEdit2Actions_Store”]’)[0]) {
$(’input[name=”ShipmentSndReference”]’).val(GM_getValue(”customer_order_ids”).split(”¤”)[GM_getValue(”no_of_customers”)-1]);
$(’select[name=”SenderCustNo”]’).val(my_packsoft_customer_nr);
$(’input[name=”AddonsNOTSMS”]’).attr(’checked’, true);
GM_setValue(”no_of_customers”, GM_getValue(”no_of_customers”)-1);
if (GM_getValue(”no_of_customers”)==0)
GM_setValue(”trigger”, ”4”);
setTimeout(function() {$(’button[name=”act_ShipmentJobEdit2Actions_Store”]’).trigger(”click”);},100);
}
// Go to ”Lagrade utskrifter”
else if (GM_getValue(”trigger”)==”4″ && $(’button[name=”act_ShipmentJobEdit1Actions_Next”]’)[0]) {
GM_setValue(”trigger”, ”0”);
document.location = ”webapp?”+GM_getValue(”session_link”)+”&Action=act_MenuActions_Item&Target=body&ItemHandler=ShipmentJobSearchActions”;
}
// This function collects addresses stores them and then opens packsoft online
// This function is attached to a object on the page with addresses
// It is triggered when the user clicks the object
function collect_addresses() {
$(customer_name_class).each(function (i, elem) { customer_names=$(elem).text().replace(”¤”,””); });
$(’.customer_address1’).each(function (i, elem) { customer_address1s=$(elem).text().replace(”¤”,””); });
$(’.customer_address2’).each(function (i, elem) { customer_address2s=$(elem).text().replace(”¤”,””); });
$(’.customer_postcode’).each(function (i, elem) { customer_postcodes=$(elem).text().replace(”¤”,””); });
$(’.customer_email’).each(function (i, elem) { customer_emails=$(elem).text().replace(”¤”,””); });
$(’.customer_telephone’).each(function (i, elem) { customer_telephones=$(elem).text().replace(”¤”,””); });
$(’.customer_order_id’).each(function (i, elem) { customer_order_ids=$(elem).text().replace(”¤”,””); });GM_setValue(”customer_names”, customer_names.join(”¤”));
GM_setValue(”customer_address1s”, customer_address1s.join(”¤”));
GM_setValue(”customer_address2s”, customer_address2s.join(”¤”));
GM_setValue(”customer_postcodes”, customer_postcodes.join(”¤”));
GM_setValue(”customer_emails”, customer_emails.join(”¤”));
GM_setValue(”customer_telephones”, customer_telephones.join(”¤”));
GM_setValue(”customer_order_ids”, customer_order_ids.join(”¤”));GM_setValue(”no_of_customers”, customer_names.length);
GM_setValue(”trigger”, ”1”);
alert(”Collected ” + customer_names.length + ” customer addresses.”);
window.open(”https://www.unifaunonline.se/”);
}23 maj, 2013 kl. 19:51 #164443FractronicsDeltagare@scalare 65194 wrote:
Hej, mitt script fungerar fortfarande inte riktigt som tänkt. Jag får felaktigt användarnamn och lösenord när jag kör mot unifaun.
Såhär ser det ut….
}
Med risk att dra på mig Unifauns vrede…
Rad 46 och 47 ska inte ändras. Jag vet inte hur DavidWigg fick det att fungera då
Ändra tillbaka 46 och 47 till input så ska det fungera.
24 maj, 2013 kl. 12:32 #164457KashkanDeltagare@Fractronics 65243 wrote:
Med risk att dra på mig Unifauns vrede…
Rad 46 och 47 ska inte ändras. Jag vet inte hur DavidWigg fick det att fungera då
Ändra tillbaka 46 och 47 till input så ska det fungera.
Låter intressant vill åxå ha ; )
6 januari, 2017 kl. 02:45 #183043PontusAnderssonDeltagareNågon som använder scriptet idag? Jag får de bara att fungera till startsidan i packsoft efter man loggat in.
Gissar att dom ändrat någon url som gör att den inte stämmer med raden:else if (GM_getValue(”trigger”)==”2″ && document.location.href.indexOf(”Action=act_SystemActions_Body”)>-1) {
6 januari, 2017 kl. 12:55 #183044AxelDeltagareHar du ett mellanrum i mitten av ”Action=act_SystemActions_Body” eller är det forumet som spökar med formateringen?
Det ska nog inte vara något mellanrum där, så testa att ta bort det isåfall.
else if (GM_getValue(”trigger”)==”2″ && document.location.href.indexOf(”Action=act_SystemActions_Body”)>-1) {
[/CODE]@PontusAndersson 88993 wrote:
Någon som använder scriptet idag? Jag får de bara att fungera till startsidan i packsoft efter man loggat in.
Gissar att dom ändrat någon url som gör att den inte stämmer med raden:else if (GM_getValue(”trigger”)==”2″ && document.location.href.indexOf(”Action=act_SystemActions_Body”)>-1) {
[CODE]
else if (GM_getValue(”trigger”)==”2″ && document.location.href.indexOf(”Action=act_SystemActions_Body”)>-1) {
[/CODE]@PontusAndersson 88993 wrote:
Någon som använder scriptet idag? Jag får de bara att fungera till startsidan i packsoft efter man loggat in.
Gissar att dom ändrat någon url som gör att den inte stämmer med raden:else if (GM_getValue(”trigger”)==”2″ && document.location.href.indexOf(”Action=act_SystemActions_Body”)>-1) {
6 januari, 2017 kl. 13:20 #183045PontusAnderssonDeltagare@Axel 88994 wrote:
Har du ett mellanrum i mitten av ”Action=act_SystemActions_Body” eller är det forumet som spökar med formateringen?
Det ska nog inte vara något mellanrum där, så testa att ta bort det isåfall.
else if (GM_getValue(”trigger”)==”2″ && document.location.href.indexOf(”Action=act_SystemActions_Body”)>-1) {
[/CODE]De är forumet som spökar, har inte de i den verkliga koden.[CODE]
else if (GM_getValue(”trigger”)==”2″ && document.location.href.indexOf(”Action=act_SystemActions_Body”)>-1) {
[/CODE]De är forumet som spökar, har inte de i den verkliga koden.
-
FörfattareInlägg
- Du måste vara inloggad för att svara på detta ämne.