If Choose from list function included after SBO 2004 patch 31?
Hi, there
I know Choose from list function valid in SBO 2005, but I don't know if it is included in SBO 2004, especially after SBO 2004 patch 31?
Thanks.
Hi Indika,
You are right - the Choose from list is only available from SBO 2005.
Similar Messages
-
"Choose from list" / "giving up after" error
I have the following included in my script:
set whattodolist to {"Tag with iDentify", "Add to iTunes", "Cancel"}
set my_choice to choose from list whattodolist with prompt ("MP4 Detected: " & this_text)
It works as expected with the script. I'd like to add a way for the script to dismiss itself after a set interval if the user doesn't take any action. So, I tried this:
set whattodolist to {"Tag with iDentify", "Add to iTunes", "Cancel"}
set my_choice to choose from list whattodolist with prompt ("MP4 Detected: " & this_text) giving up after 30
Note that I added the "giving up after..." to the end of the prompt. However, it won't compile. I get an error stating "Expected end of line, but found identifier". Any advice?The standard display dialog command actually supports three options, so you might be able to fit your near-term needs with that:
display dialog "MP4 Detected. What would you like to do?" buttons {"Cancel", "Tag with iDentify", "Add to iTunes"} default button 3 giving up after 30
Once you get past three choices your options are limited... -
Choose From List used in UDO (B1 2004)
Hi,
in the presentation "Creating a UDO of document type.pps" (slide 53+55) provided with the SDK 2004 they use the Choose From List to select business partners and/or items in their UDO form when adding a new document. Does anyone know, how this has to be done? The sample, from the presentation is not provided in the sample codes.
Do I have to use an implementation DLL for my UDO to use this functionality?
My problem is, that it takes too long (about 5 times longer than with the system CFL) to get all items in my custom defined matrix.
thanks,
MarkusHi Markus,
You cannot use the built-in CFL in version 2004. It is only exposed from version 2005. The only suggestion is to look at optimizing your matrix. All CFLs in the system uses DB Datasources which makes populating the grid faster than using User data sources.
Hope it helps,
Adele -
Hi all,
I am trying to develop a custom choose from list functionality for my addon. I have created two forms first.srf and second.srf .In the key down event of an edittext in my first form i wrote the code for opening the second form
LoadFromXML("Second.srf")
Private Sub LoadFromXML(ByRef FileName As String)
Dim oXmlDoc As Xml.XmlDocument
oXmlDoc = New Xml.XmlDocument
Dim sPath As String
sPath = System.Windows.Forms.Application.StartupPath()
sPath = sPath.Remove(sPath.Length - 3, 3)
oXmlDoc.Load(sPath & "" & FileName)
B1Connections.theAppl.LoadBatchActions(oXmlDoc.InnerXml)
End Sub
second form is loading very well but my problem is that in the form load event of the second form when i try to access the grid i will get an error message
Item - Invalid Item [66000-3]. Form unique Id "Second", Item Unique Id : "grdItem"
I am using SAP B1 8.8 PL 10, visual Studio 2008 and B1DE 2.1.
Any help
Regards
ArunHi Sebastian,
Thanks for your reply. i used
Dim oForm As SAPbouiCOM.Form = B1Connections.theAppl.Forms.GetForm("FrmSecond", 0)
to get the form also tried
Dim oForm As SAPbouiCOM.Form
oForm = B1Connections.theAppl.Forms.ActiveForm
but not working . second forms unique id and type are set correctly but the object type is not set because this form is not binded to any UDT.
The OForm objects item count is always 0
Thanks in advance
Regards
Arun -
[SBO 2005] Choose from list on User Table
Hi all,
I need an information from the developper that already tried the SDK of BO 2005.
Is it possible to create Choose from List on user tables ?
I looked at the WebEx, there is no restriction about it, but when I tried in the demo, I can't figure out how to do it.
Thanks for your help
SébastienThank for your input Edward:
I do have the sample, but it uses a system table (OCRD, Object Type=2)
It seems that it works for system object or UDO, but not for simple user table. Am I right ?
Sebastien -
Dear All Technical Experts,
I would like to add new field in choose from list window that is run from production order --> issue for production --> click production order button.
I could not find out how to add new information or filter field there. is it possible for me using addon ? The information I need available is remarks (OWOR.remarks). If yes, will it be UI addon or UI/DI ?
I appreciate your answer. TIA
Rgds,Hi,
First create the srf which has two buttons- Choose and Cancel
code for creating the grid :- you have to pass the SQL query as a paramter in the below function .In query you choose as many as fields from the table ,at run time columns will automatically created corresponds to your query.
private bool CreateGrid(string sSQL)
try
SAPbouiCOM.Item oItem;
oItem = oform.Items.Add("Grid", SAPbouiCOM.BoFormItemTypes.it_GRID);
oItem.Left = 7;
oItem.Width = 387;
oItem.Top = 47;
oItem.Height = 188;
oform.DataSources.DataTables.Add("dtLookUpTable");
oDataTable = oform.DataSources.DataTables.Item("dtLookUpTable");
oDataTable.Clear();
oDataTable.ExecuteQuery(sSQL);
oGrid = (SAPbouiCOM.Grid)oItem.Specific;
oGrid.SelectionMode = SAPbouiCOM.BoMatrixSelect.ms_Single ;
oGrid.DataTable = oDataTable;
if(oGrid.Rows.Count > 0)
oGrid.Rows.SelectedRows.Add(0);
for (int iColCounter = 0; iColCounter < oGrid.Columns.Count; iColCounter++)
oGrid.Columns.Item(iColCounter).Width = 50;
oGrid.Columns.Item(iColCounter).Editable = false;
oGrid.AutoResizeColumns();
return true;
catch(Exception ex)
oform.Freeze(false);
throw ex;
choose the value on pressing the button 'Choose'
protected override void ITEMPRESS_AFTERACTION(ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent, SAPbouiCOM.Application oSboApplication, SAPbobsCOM.Company oCompany)
BubbleEvent = true;
if (pVal.ItemUID == "choosebuttonuid")
if (oGrid.Rows.SelectedRows.Count > 0)
SAPbouiCOM.DataTable oReturnTable = null;
oform.DataSources.DataTables.Add("dtReturnTable");
oReturnTable = oform.DataSources.DataTables.Item("dtReturnTable");
oReturnTable.CopyFrom(oDataTable);
for (int iRowIndex = 0; iRowIndex < oReturnTable.Rows.Count; iRowIndex++)
oReturnTable.Rows.Remove(iRowIndex);
int iRow = oGrid.GetDataTableRowIndex(oGrid.Rows.SelectedRows.Item(0, SAPbouiCOM.BoOrderType.ot_RowOrder));
oReturnTable.Rows.Add(1);
//for (int iColIndex = 0; iColIndex < oReturnTable.Columns.Count; iColIndex++)
// oReturnTable.SetValue(iColIndex, 0, oDataTable.GetValue(iColIndex, iRow));
oReturnTable.SetValue(0, 0, oDataTable.GetValue(0, iRow ));
oReturnTable.SetValue(1, 0, oDataTable.GetValue(1, iRow));
SBOAppAddOn.mLookupForms.Remove(oform.UniqueID.ToString());
then u have to send the oReturnTable with parentuid( issue for production) to the baseform.
example-> SendData(oReturnTable, strParentFormUID, oSboApplication, oCompany);
oform.Close();
More:-
You have to include the Doubleclick faclity on the grid
You have to include the find functionality also. -
Change data in existing "Choose from list" matrix
Hi,
in UI GUI->order form . When add a new order, hit "TAB" to select BP from existing list. I want to use my own sql to populate the BP list (currently the GUI defaults to return all customers).
Is there a way? I mean if I just want to change data in the matrix and let B1 continue to make the "Choose from list" form (form "10001") with my own new customer list. Set BubbleEvent = true will just re-read all cards after I query my result.
any help is appriciated!Hello,
I came across the same issue with the Items Choose from List on the Sales Order screen. It is possible to load your own Choose from List form and populate the matrix using recordset objects and userdatasources. The same logic could be applied to the BP Choose from List form. The following code displays the user form and matrix items - separate code is needed to handle the selection process on this form. There maybe a faster way of acheiving this using UDTs etc but it seems to work ok.
'When user presses Tab key in Item No. column.
If pVal.EventType = et_KEY_DOWN Then
If pVal.ItemUID = "38" And pVal.ColUID = "1" And _
pVal.Before_Action = True And pVal.CharPressed = vbKeyTab Then
'Load new Choose from List form.
'This is actually an exported and edited version of the SBO form.
LoadFromXML sIIS_ITEMLIST_XML
'Populate matrix with items returned from SQL query.
'Use recordset, arrays, userdatasources.
Set oRecordSet = oCmp.GetBusinessObject(BoRecordset)
sSql = "Select OITM.ItemCode, OITM.ItemName, OITM.OnHand FROM OITM " & _
"Where Upper(Left(OITM.ItemCode,2)) = 'B1'"
oRecordSet.DoQuery sSql
nRows = oRecordSet.RecordCount
If nRows <> 0 Then
'Array declarations.
Dim ItemCode(), ItemName(), OnHand()
ReDim ItemCode(nRows - 1)
ReDim ItemName(nRows - 1)
ReDim OnHand(nRows - 1)
'Add userdatasources to form.
oForm.DataSources.UserDataSources.Add "ItemCode", dt_LONG_TEXT, 20
oForm.DataSources.UserDataSources.Add "ItemName", dt_LONG_TEXT, 100
oForm.DataSources.UserDataSources.Add "OnHand", dt_LONG_NUMBER
i = 0
'Populate arrays from recordset.
Do While oRecordSet.EOF <> True
ItemCode(i) = oRecordSet.Fields.Item(0).Value
ItemName(i) = oRecordSet.Fields.Item(1).Value
OnHand(i) = oRecordSet.Fields.Item(2).Value
oRecordSet.MoveNext
i = i + 1
Loop
'Bind data fields to form items.
Set oMatrix = oForm.Items.Item("7").Specific
Set oColumn = oMatrix.Columns.Item("ItemCode")
oColumn.DataBind.SetBound True, "", "ItemCode"
Set oMatrix = oForm.Items.Item("7").Specific
Set oColumn = oMatrix.Columns.Item("ItemName")
oColumn.DataBind.SetBound True, "", "ItemName"
Set oMatrix = oForm.Items.Item("7").Specific
Set oColumn = oMatrix.Columns.Item("OnHand")
oColumn.DataBind.SetBound True, "", "OnHand"
'Get data from datasources.
Dim oUItemCode As SAPbouiCOM.UserDataSource
Dim oUItemName As SAPbouiCOM.UserDataSource
Dim oUOnHand As SAPbouiCOM.UserDataSource
Set oUItemCode = oForm.DataSources.UserDataSources.Item("ItemCode")
Set oUItemName = oForm.DataSources.UserDataSources.Item("ItemName")
Set oUOnHand = oForm.DataSources.UserDataSources.Item("OnHand")
oMatrix.Clear
'For each returned record in recordset then
'add row to matrix and populate it from
'userdatasource.
For i = 1 To nRows
oMatrix.AddRow
oUItemCode.Value = ItemCode(i - 1)
oUItemName.Value = ItemName(i - 1)
oUOnHand.Value = OnHand(i - 1)
oMatrix.SetLineData
Next i
End If
'Show form. This also sets focus to edittext field.
oForm.Visible = True
'Don't display standard SBO item list form.
BubbleEvent = False
End If
End If
Regards,
Andrew. -
Choose from list - data display with condition
Hi,
I 've developed a form using screen painter, I ' ve attached a choose from list to fill GRPo Number. In the choose from list the GRPo no. should not display again which once I have selected and saved.
Let me have a good solution please and it would be appreciated.
Thanks & Regards,
Venkatesan G.Hi suresh,
where did you put this code?....In the choose_from_list event handler?..I've tried a similar solution, before reading your post, but it doesn't work because if i dynamically set the condition for the choose from list i got an empty table.
i've tried to put my code when beforeaction=true and i have this kind of problem. The difference is that i need to set the filter starting with the value i've entered on the field connected to the choose from list. I put code here, so it's more clear
If (pVal.Before_Action = True) And (pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST) Then
Dim oCFL As SAPbouiCOM.ChooseFromList
Dim oCons As SAPbouiCOM.Conditions
Dim oCon As SAPbouiCOM.Condition
Dim sItemCode As String
oEditText = oMatrix.Columns.Item("V_ItemCode").Cells.Item(pVal.Row).Specific
sItemCode = oEditText.Value.ToString
oCFL = oForm.ChooseFromLists.Item("CFL_Item")
oCons = oCFL.GetConditions()
oCon = oCons.Add()
oCon.Alias = "ItemCode"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_START
oCon.CondVal = sItemCode
oCFL.SetConditions(oCons)
End If
My situation is that i type something in V_ItemCode column and after that i press the tab key to open the choose from list.
Would be ok if i get the SAP standard beahviour too, that doesn't open the choose from list, but fills the field with the first code starting with what you type.
Thanks in advance -
Hey All,
Has anyone been able to get the choose from list in a matrix text field working in SBO 2005 patch level 6? We have tried the tech demo and it works for new rows but not for existing rows. Also we have written our own code to set the matrix text box on the choose from list event and we get a general failure exception even though the value still gets set properly.
If anyone has this working please post so we can all know how to do this properly.Hi there,
This "Choose from list" thing is new for me, there's a Choose from List example in the new techDemo but i don't understand the code.. too complicated for me.. Is there any simple code/sample for this?
Well i manage to trigger the choose from list .. but don't know how to put the selected value to the cell..
Bruce.. -
Choose from list in AR invoice
Hi all!
Can i create function choose from list in AR invoice. I have UDF on INV1, now i want choose from list for this UDF.
Please give me ideas
Thank you very muchHi,
Y dont u try the FMS functionality?
Vasu Natari. -
Problem in Choose from list.
Hi,
As I tried CFL for a user defined form, when I select an item from CFL and it is displaying in the relevant field. And when I save the data it is perfectly saving with the message of "Operation has been completed successfully". But the data is not saving in the field in which is the CFL is activating.
It would be appreciated, if any one can give the solution please.
The steps I' ve followed as,
1. In the screen painter I' ve added the choose from list thru' the collection folder.
2. Then the choose from list id is attached and give the allias in the item's specific property.
3. Then I' ve written code in the load form function as follows.
Oform.DataSources.UserDataSources.Add("EditDS", SAPbouiCOM.BoDataType.dt_SHORT_TEXT)
txtaccode.DataBind.SetBound(True, "", "EditDS")
4. In the item event
If pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST Then
Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
oCFLEvento = pVal
Dim sCFL_ID As String
sCFL_ID = oCFLEvento.ChooseFromListUID
Dim oForm As SAPbouiCOM.Form
oForm = SBO_Application.Forms.Item(FormUID)
Dim oCFL As SAPbouiCOM.ChooseFromList
oCFL = oForm.ChooseFromLists.Item(sCFL_ID)
If oCFLEvento.BeforeAction = False Then
Dim oDataTable As SAPbouiCOM.DataTable
oDataTable = oCFLEvento.SelectedObjects
Dim val As String
Dim val1 As String
Dim val2 As String
Dim val3 As String
Try
Try
val = oDataTable.GetValue(0, 0)
val1 = oDataTable.GetValue(1, 0)
If (pVal.ItemUID = "txtaccode") Then
oForm.DataSources.UserDataSources.Item("EditDS").ValueEx = val
txtaccode.Value = val
oForm.DataSources.UserDataSources.Item("EditDS1").ValueEx = val1
End If
Catch ex As Exception
Exit Sub 'For Exception raised for Cancel Button
End Try
Catch ex As Exception
SBO_Application.MessageBox(ex.Message)
End Try
End If
End If
End SubChecks if the property TableName in the field is pointed to the table to store de data.
Go to Example: How to binding CFL to a UDO in a customized System Form. and rate it
regards -
Associating a Custome ResultSet with a Choose From List
Hi Experts,
I have to Link the Chose from List with a UDO for accessing the records from the Parent Table /Child Table
How to crack this problem?
Also I have to associate the Results of a custom query in a choose from list so that when I press TAB over a Text Box I get a Choose From List which displays the Results and I could select one of those rows.
Plz Hint me for this ProblemHello,
When you create CFL, just set your UDO type with oCFLCreationParams.ObjectType = "My_UDO", the collumn to be displayed in CFL has been determined by Find Service in your UDO definition.
As per custom query, actually you can set the condition to do so. Direct customed SQL is not supported in CFL. You may refer to the SDK sample for further info after you install SDK component:
<<C:\Program Files\SAP\SAP Business One SDK\Samples\COM UI\VB.NET\17.ChooseFromList>>
Private Sub AddChooseFromList()
Try
Dim oCFLs As SAPbouiCOM.ChooseFromListCollection
Dim oCons As SAPbouiCOM.Conditions
Dim oCon As SAPbouiCOM.Condition
oCFLs = oForm.ChooseFromLists
Dim oCFL As SAPbouiCOM.ChooseFromList
Dim oCFLCreationParams As SAPbouiCOM.ChooseFromListCreationParams
oCFLCreationParams = SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
' Adding 2 CFL, one for the button and one for the edit text.
oCFLCreationParams.MultiSelection = False
'Just Set your UDO type.
oCFLCreationParams.ObjectType = "My_UDO"
oCFLCreationParams.UniqueID = "CFL1"
oCFL = oCFLs.Add(oCFLCreationParams)
' Adding Conditions to CFL1
oCons = oCFL.GetConditions()
oCon = oCons.Add()
oCon.Alias = "CardType"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = "C"
oCFL.SetConditions(oCons)
Catch
MsgBox(Err.Description)
End Try
End Sub
Kind Regards
-Yatsea -
Receipt From production number - Choose From List
Hi all,
How to filter the Receipt from production number only comes in choose from list. now i used object is 59. when i choose all value comes that means goods receipt, and receipt from production document numbers comes. I want only list out the Receipt from production Numbers only how to i restrict this.
Thanks & regards
B.SudhirHello
It is very hard to do the CFL, because the information, that is it a receipt from a production is stored on the line level, not on the head level
you can 2 choices
1. define a query which includes all the DocEntry related to the Receipt documents, and on form constuction you add them into the conditions of the CFL (it takes much time to build up the CFL)
2. Define FMS, and assign to your field. And when the user press the TAB key, you call the FMS.
Regards
János
We always done the 2nd method until the cfl was not implemented. -
BP Choose From List became Blank, All users affected
Dear all:
I hope anyone had the similar problem before. Our BP list became blank and B1 has to be restarted from frozen state whenever any users select this function. All users are affected.
What can be the root cause of this?
Hope somebody could give solution soon.
Thanks in advance,
GordonDear Gordon,
Please check the following :
1 ) whether there are lots of records for the Business Partners?
2) Whether in the form Settings some Grouping is being done which needs time to display.
Chances are for the second option. If you check by restore defaults for the Form Settings in Choose from List, it may work.
Regards,
Jitin Chawla -
How to filter Choose from list object rows?
Hi everyone,
I'd like to show Choose from list window using SBO 2005 PL07, Actually I want to show the Active Account of G/L Account, I set the CFL object to one column as following:
oCFLCreationParams.ObjectType = SAPbouiCOM.BoLinkedObject.lf_GLAccounts
oCFLCreationParams.UniqueID = "CFL"
oCFL = oCFLs.Add(oCFLCreationParams)
Who knows how to set Choose From list object only show Active Account and do not show Title Account.
Thanks for your help!
KathyHi kathy
I have not tried it on the gl accounts. But basicaly you need to add conditions to filter it. The following is an example that you would of used for business partners but only customers.
Dim oCFLs As SAPbouiCOM.ChooseFromListCollection
Dim oCons As SAPbouiCOM.Conditions
Dim oCon As SAPbouiCOM.Condition
oCFLs = oForm.ChooseFromLists
Dim oCFL As SAPbouiCOM.ChooseFromList
Dim oCFLCreationParams As SAPbouiCOM.ChooseFromListCreationParams
oCFLCreationParams = SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
' Adding 2 CFL, one for the button and one for the edit text.
oCFLCreationParams.MultiSelection = False
oCFLCreationParams.ObjectType = "2"
oCFLCreationParams.UniqueID = "CFL1"
oCFL = oCFLs.Add(oCFLCreationParams)
' Adding Conditions to CFL1
oCons = oCFL.GetConditions()
oCon = oCons.Add()
oCon.Alias = "CardType"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = "C"
oCFL.SetConditions(oCons)
oCFLCreationParams.UniqueID = "CFL2"
oCFL = oCFLs.Add(oCFLCreationParams)
The above also compensates for the tab.
Hope it helps
Maybe you are looking for
-
My ical month view is not showing the "coloured " all day , only the text is showing.
ical all day shades missing?
-
Autofill on SMS is very annoying. How can I shut it off?
I have to send a lot of text to my work partner through short code/etc, but the autofill predicts the wrong words and makes me either have to go back and delete, or sends 'interpreted' gibberish. Is there a simple way to switch this unnecessary fucti
-
When I open time machine is says its failed "time machine cannot be mounted" Can anyone help please
-
Whenever I try to download videos, it says it cannot be downloaded at this time.
I click the little cloud with the blue arrow in it, then it starts going around the blue circle, like it's going to work. Then it says "cannot be downloaded at this time" I have tried a number of things. I have restarted and rebooted, typed "8.8.8.8"
-
Why have I lost the ability to cut (or copy) and paste? Rebooting doesn't help. Captivate 6.0, Win 7 64 bit. I have found that I still can copy highlighted text from one caption to another but I can't select the caption as an object and copy and p