# This script performs notes (pop-up notes) of different types: info, error, conf # It uses the .note() function of the appuifw module # appuifw.note(label, type) # import the application user interface framework module import appuifw # info: appuifw.note(u"Hello", "info") # error: appuifw.note(u"file not found", "error") # conf: appuifw.note(u"upload done", "conf")
Tag Cloud
CRM 2011
(161)
CRM 4.0
(144)
C#
(116)
JScript
(109)
Plugin
(92)
Registry
(90)
Techpedia
(77)
PyS60
(68)
WScript
(43)
Plugin Message
(31)
Exploit
(27)
ShellCode
(26)
FAQ
(22)
JavaScript
(21)
Killer Codes
(21)
Hax
(18)
VB 6.0
(17)
Commands
(16)
VBScript
(16)
Quotes
(15)
Turbo C++
(13)
WMI
(13)
Security
(11)
1337
(10)
Tutorials
(10)
Asp.Net
(9)
Safe Boot
(9)
Python
(8)
Interview Questions
(6)
video
(6)
Ajax
(5)
VC++
(5)
WebService
(5)
Workflow
(5)
Bat
(4)
Dorks
(4)
Sql Server
(4)
Aptitude
(3)
Picklist
(3)
Tweak
(3)
WCF
(3)
regex
(3)
Config
(2)
LINQ
(2)
PHP
(2)
Shell
(2)
Silverlight
(2)
TSql
(2)
flowchart
(2)
serialize
(2)
ASHX
(1)
CRM 4.0 Videos
(1)
Debug
(1)
FetchXml
(1)
GAC
(1)
General
(1)
Generics
(1)
HttpWebRequest
(1)
InputParameters
(1)
Lookup
(1)
Offline Plug-ins
(1)
OutputParameters
(1)
Plug-in Constructor
(1)
Protocol
(1)
RIA
(1)
Sharepoint
(1)
Walkthrough
(1)
Web.config
(1)
design patterns
(1)
generic
(1)
iframe
(1)
secure config
(1)
unsecure config
(1)
url
(1)
Pages
Wednesday, January 02, 2013
Pop-up Notes
Labels:
PyS60
Query with Single Field Dialog
# This script performs a query with a single-field dialog, each with a # different input type. # It uses the .query() function of the appuifw module # import the application user interface framework module import appuifw # text: # create a single-field dialog (text input field): appuifw.query(label, type) data = appuifw.query(u"Type a word:", "text") print data # number: # create a single-field dialog (number input field): appuifw.query(label, type) data = appuifw.query(u"Type a number:", "number") print data # date: # create a single-field dialog (date input field): appuifw.query(label, type) data = appuifw.query(u"Type a date:", "date") print data # time: # create a single-field dialog (time input field): appuifw.query(label, type) data = appuifw.query(u"Type a time:", "time") print data # code: # create a single-field dialog (code input field): appuifw.query(label, type) data = appuifw.query(u"Type a code:", "code") print data # query: # create a single-field dialog (question): appuifw.query(label, type) if appuifw.query(u"Are you ok:", "query") == True: print "you pressed ok" else: print "you pressed cancel"
Labels:
PyS60
Tent Input Example
# This script performs a query with a single-field dialog (text input field) # and displays the users input as a pop-up note # 1. import the application user interface framework module import appuifw # 2. , 3. create a text input field: appuifw.query(label, type) and variable data = appuifw.query(u"Type a word:", "text") # 4. create a pop-up note: appuifw.note(label, type) appuifw.note(u"The typed word was: " + data, "info") """ detailed description: 1. we import the "appuifw" module to handle UI widgets like text input fields and pop-up notes etc. 2. we create a single-field dialog (text input field) using the .query() function of the appuifw module. we include in the brackets 2 parameters: - label: as label we put the text u"Type a word:" (the u must be there because the phone understands only text declared as unicode, the high commas must be there because label must be given as a string) - type: as type we put "text". It declares the input field as text type (other possible types: "number", "date", "time", "query", "code") -> separate the the two parameters with a comma. 3. We create a variable called data, and by putting data = appui... we write the result of the text input field into this variable (after user has typed something when he/she runs the script) 4. We create a pop-up note using the .note() function of the appuifw module. we include in the brackets the 2 parameters: - label: as label we put the text u"The typed word was: " + data This is the text that will appear in the pop-up note. Again the text must be given as a string in highcommas. But our pop-up note shall also inculde the result that the user has typed in, therefore we add the content of our variable data to our label string by writing + data (adding the content of a variable to a string) - type: as type we put "info". It declares the pop-up note as info. This puts an exclamationmark in the pop-up note (other possible types: "error","conf") -> again, separate the the two parameters with a comma. """
Labels:
PyS60
Send SMS to two users @ same time
# this script lets you send an sms to 2 users at the same time import appuifw import messaging data = appuifw.query(u"Type your name:", "text") nbr1 = "123456" # change the mobile number here nbr2 = "234567" # change the mobile number here txt = u"Greetings from:" +data if appuifw.query(u"Send message to your 2 friends","query") == True: messaging.sms_send(nbr1, txt) messaging.sms_send(nbr2, txt) appuifw.note(u"Messages sent", "info") else: appuifw.note(u"Well, your Messages are not sent then", "info")
Labels:
PyS60
Send SMS 2 users (description)
# this script lets you send an sms to 2 users at the same time. # import the messaging module import appuifw import messaging # create text input field data = appuifw.query(u"Type your name:", "text") # define the mobile numbers here nbr1 = "123456" nbr2 = "234567" # define the text that the sms shall contain txt = u"Greetings from:" +data # create a query with type: "query" -> appuifw.query(label, type) # by using an if statement one can check whether the user has pressed "ok" -> True or "cancel" -> False if appuifw.query(u"Send message to your 2 friends","query") == True: # send out the sms; include the mobile number and the text to be sent messaging.sms_send(nbr1, txt) messaging.sms_send(nbr2, txt) # confirm with a pop-up note that the sms has been sent out appuifw.note(u"Messages sent", "info") else: # in case the user had pressed "cancel", send a pop-up note that the messages have not been sent out appuifw.note(u"Well, your Messages are not sent then", "info")
Labels:
PyS60
Tuesday, January 01, 2013
RemoveRelated Message
Removes the relationship between two entity instances as defined by the target classes listed below. For example, remove the relationship between an invoice and a contact.
Remarks
To use this message, pass an instance of the RemoveRelatedRequest class as the request parameter in the Execute method.
To perform this action, the caller must have access rights on the entity instance specified in the request class. For a list of required privileges, see RemoveRelated Privileges.
The RemoveRelated and SetRelated messages support all types of relationships, including one-to-many and many-to-many.RemoveRelated and SetRelated can also be used with custom entities.
//# The following code example shows how to use the RemoveRelated message.
// Set up the CRM service.
CrmAuthenticationToken token = new CrmAuthenticationToken();
// You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.
token.AuthenticationType = 0;
token.OrganizationName = "AdventureWorksCycle";
CrmService service = new CrmService();
service.Url = "http://: /mscrmservices/2007/crmservice.asmx";
service.CrmAuthenticationTokenValue = token;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Create the target object for the request.
TargetRelatedLeadToAccount target = new TargetRelatedLeadToAccount();
// AccountId is the GUID of the account to be related to the lead.
target.AccountId = new Guid("D3652E9C-D328-4CA1-B284-1215C441AD94");
// LeadId is the GUID of the lead to be related to the account.
target.LeadId = new Guid("9DAEE309-A3D6-470C-80E2-DDC657BAFC16");
// Create the request object.
RemoveRelatedRequest remove = new RemoveRelatedRequest();
// Set the properties of the request object.
remove.Target = target;
// Execute the request.
RemoveRelatedResponse related = (RemoveRelatedResponse)service.Execute(remove);
Labels:
CRM 4.0,
Plugin,
Plugin Message
Convert a Dynamic Entity to a System Entity
//# Convert a Dynamic Entity to a System Entity
using System;
using System.Reflection;
using CrmSdk;
using Microsoft.Crm.Sdk.Utility;
namespace Microsoft.Crm.Sdk.HowTo
{
public class ConvertDynamicToCore
{
static void Main(string[] args)
{
// TODO: Change the server URL and organization to match your Microsoft
// Dynamics CRM Server and Microsoft Dynamics CRM organization.
ConvertDynamicToCore.Run("http://localhost:5555", "CRM_SDK");
}
public static bool Run(string crmServerUrl, string orgName)
{
// Create an account dynamic entity.
DynamicEntity accountDynamicEntity = new DynamicEntity();
//Set a few account properties.
StringProperty name = new StringProperty();
name.Name = "name";
name.Value = "Fabrikam Inc.";
StringProperty accountnumber = new StringProperty();
accountnumber.Name = "accountnumber";
accountnumber.Value = "AZ1200";
Picklist plist = new Picklist();
plist.name = "UPS";
plist.Value = 2;
PicklistProperty shippingmethodcode = new PicklistProperty();
shippingmethodcode.Name = "address1_shippingmethodcode";
shippingmethodcode.Value = plist;
accountDynamicEntity.Properties = new Property[] { name, accountnumber, shippingmethodcode };
accountDynamicEntity.Name = EntityName.account.ToString();
//Create a strongly typed account entity to copy the dynamic entity into.
account coreAccount = new account();
//Convert the dynamic entity to a strongly typed business entity.
coreAccount = (account)Convert(accountDynamicEntity);
Console.WriteLine("\n|Core Account Attributes\n|=======================");
Console.WriteLine("|name: {0}", coreAccount.name);
Console.WriteLine("|accountnumber: {0}", coreAccount.accountnumber);
Console.WriteLine("|address1_shipmethodcode: {0}", coreAccount.address1_shippingmethodcode.Value);
return true;
}
///
/// Convert a dynamic entity into a strongly typed business entity.
///
public static BusinessEntity Convert(DynamicEntity entity)
{
string coreEntityName = entity.Name;
Type entType = (new account()).GetType();
ConstructorInfo init = entType.GetConstructor(new Type[] { });
object ent = init.Invoke(new object[] { });
foreach (Property p in entity.Properties)
{
PropertyInfo entProp = entType.GetProperty(p.Name);
if (null == entProp)
{
Console.WriteLine("Could not find attribute {0} on entity {1}.", p.Name, coreEntityName);
}
else
{
entProp.SetValue(ent, GetAttribute(entity, p.Name), null);
}
}
return (BusinessEntity)ent;
}
///
/// This method returns the value of a dynamic entity attribute.
///
public static object GetAttribute(BusinessEntity entity, string attribute)
{
if (entity.GetType() == typeof(DynamicEntity))
{
DynamicEntity de = (DynamicEntity)entity;
foreach (Property prop in de.Properties)
{
if (prop.Name == attribute)
{
PropertyInfo propInfo = prop.GetType().GetProperty("Value");
return propInfo.GetValue(prop, null);
}
}
return null;
}
else
{
PropertyInfo propInfo = entity.GetType().GetProperty(attribute);
return propInfo.GetValue(entity, null);
}
}
}
}
Subscribe to:
Posts (Atom)