Can't edit newly added work item field - templates

I am trying to add a new string field (IterationCompleted) to the bug work item in tfs2010. Using the TFS 2010 power tools I edited the work item adding the new field. This results in the following XML
<FieldDefinition reportable="dimension" refname="DevX.IterationCompleted" name="Iteration Completed" type="String">
<ALLOWEDVALUES>
<GLOBALLIST name="Iterations" />
</ALLOWEDVALUES>
<ALLOWEXISTINGVALUE />
<DEFAULT from="value" value="∞" />
</FieldDefinition>
I added it to the form next to some related fields. Here is the relevant XML
<Group Label="Classification">
<Column PercentWidth="100">
<Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="&Area:" LabelPosition="Left" />
<Control FieldName="System.IterationPath" Type="WorkItemClassificationControl" Label="Ite&ration Found:" LabelPosition="Left" />
<Control FieldName="DevX.IterationCompleted" Type="FieldControl" Label="Iteration Resolved:" LabelPosition="Left" Name="IterationCompleted" />
<Control FieldName="DevX.Customer" Type="FieldControl" Label="Customer:" LabelPosition="Left" />
<Control FieldName="DevX.ReleaseNotes" Type="FieldControl" Label="Include in Release Notes:" LabelPosition="Left" />
<Control FieldName="DevX.Billable" Type="FieldControl" Label="Billable:" LabelPosition="Left" Name="Billable" />
</Column>
</Group>
It is not involved in the workflow at all.
The problem I'm having is in the form. For new bugs, the field appears as expected and is editable (Iteration Resolved):
For old bugs however, the field is not editable. In fact there is no control at all there to input anything:
I found a similar question with an accepted answer to make sure the field is String and that on the Form the type is set to FieldControl. As you can see I have done that and still get the results I am seeing above. I have successfully added fields in the past and never encountered this problem. Does anyone know what I can do to get this field editable in old bugs?

I came across the same behaviour... Or at least similar...
I had to add default values for all the lists..
When I did not have a default value, any WIT's which had already been created could not have there values set, as it was not a ALLOWEDVAULES LISTITEM...
(Note: This code/XML changes the value of a list depending on the state of the WIT)
Sample:
<FIELD reportable="dimension" refname="GovDept.ActionRequiredTFS" name="Action Reqd TFS" type="String">
<WHEN field="System.State" value="Proposed">
<ALLOWEDVALUES>
<LISTITEM value="Assess" />
<LISTITEM value="Prioritize" />
</ALLOWEDVALUES>
<DEFAULT from="value" value="Assess" />
</WHEN>
<WHEN field="System.State" value="Active">
<ALLOWEDVALUES>
<LISTITEM value="IA Complete" />
<LISTITEM value="Impact" />
<LISTITEM value="Implement" />
<LISTITEM value="Migrate" />
<LISTITEM value="Unit Test" />
<LISTITEM value="Fix Fail" />
</ALLOWEDVALUES>
<DEFAULT from="value" value="Impact" />
</WHEN>
<WHEN field="System.State" value="Resolved">
<ALLOWEDVALUES>
<LISTITEM value="Test" />
<LISTITEM value="Fix Fail" />
</ALLOWEDVALUES>
<DEFAULT from="value" value="Test" />
</WHEN>
<ALLOWEXISTINGVALUE />
</FIELD>
End of Sample

I just had this problem in TFS 2010 using VS2012.
Steps to reproduce:
Create custom field type:String
Add field to layout, ensure it is a FieldControl
Preview Form: Works fine
Go to a query and double click and existing work item of the type you are editing
(for me it was a Backlog Item.)
Observe no proper way to edit field, even if cursor shows in field. Appears to be read only.
After verifying the field was not read only (Property false in layout), I restarted Visual Studio after saving the edits.
That cleared the issue and the edit control started working normally. I can reproduce this over and over.

Dustin,
We have never heard of this behavior. If you want Microsoft to take a look at this issue, you can file a bug at https://connect.microsoft.com/visualstudio
Ewald Hofman
TFS Program Manager

Related

Import failure using the Vendor invoice V2 composite data entity (VendInvoiceV2Entity) in Dynamics 365 (D365) for Finance & Operations

I am trying to import vendor invoice using the composite data entity "Vendor invoice V2" data entity (VendInvoiceV2Entity), but I am getting the following error:
Package execution failed please check event log in DMF service box
'0' 'Vendor invoice V2' record(s) inserted in staging
I am using the following file for import:
<?xml version="1.0" encoding="utf-8"?>
<Document>
<VENDORINVOICEHEADERENTITY>
<HEADERREFERENCE>VT01-002123</HEADERREFERENCE>
<APPROVEPOSTINGWITHMATCHINGDISCREPANCIES>0</APPROVEPOSTINGWITHMATCHINGDISCREPANCIES>
<APPROVERPERSONNELNUMBER>000001</APPROVERPERSONNELNUMBER>
<BANKACCOUNT />
<BUSINESSDOCUMENTSUBMISSIONID_W>00000000-0000-0000-0000-000000000000</BUSINESSDOCUMENTSUBMISSIONID_W>
<CASHDISCOUNT>0.000000</CASHDISCOUNT>
<CASHDISCOUNTCODE />
<CASHDISCOUNTDATE>1900-01-01T00:00:00+00:00</CASHDISCOUNTDATE>
<CHARGESGROUP />
<COMMENT_ />
<CURRENCY>USD</CURRENCY>
<DATE>2022-06-02T00:00:00+00:00</DATE>
<DELIVERYNAME>New address created from PO</DELIVERYNAME>
<DIMENSIONDISPLAYVALUE />
<DISCOUNTPERCENTAGE>0.000000</DISCOUNTPERCENTAGE>
<DOCUMENTNUMBER />
<DUEDATE>2022-07-02T00:00:00+00:00</DUEDATE>
<ENDDATETIME>1900-01-01T00:00:00+00:00</ENDDATETIME>
<EXCHANGERATE>100.0000000000000000</EXCHANGERATE>
<FIXEDRATE>0</FIXEDRATE>
<HEADERONLYIMPORT>0</HEADERONLYIMPORT>
<IGNORECALCULATEDSALESTAX>0</IGNORECALCULATEDSALESTAX>
<IMPORTEDAMOUNT>0.000000</IMPORTEDAMOUNT>
<IMPORTEDSALESTAX>0.000000</IMPORTEDSALESTAX>
<INVOICEACCOUNT>000509</INVOICEACCOUNT>
<INVOICEDATE>1900-01-01T00:00:00+00:00</INVOICEDATE>
<INVOICEDESCRIPTION />
<INVOICEGROUP />
<INVOICENUMBER />
<INVOICEPAYMENTRELEASEDATE>1900-01-01T00:00:00+00:00</INVOICEPAYMENTRELEASEDATE>
<INVOICERECEIVEDDATE>2022-06-02T00:00:00+00:00</INVOICERECEIVEDDATE>
<INVOICEROUNDOFF>0.000000</INVOICEROUNDOFF>
<ISAPPROVED>1</ISAPPROVED>
<ISBATCH>1</ISBATCH>
<ISONHOLD>0</ISONHOLD>
<ISPRICESINCLUDESALESTAX>0</ISPRICESINCLUDESALESTAX>
<LOG />
<METHODOFPAYMENT />
<NUMBERSEQUENCEGROUP />
<OVERRIDESALESTAX>0</OVERRIDESALESTAX>
<PACKINGSLIPRANGE />
<PAYMENTGROUPCODE />
<PAYMENTID />
<PAYMENTSCHEDULE />
<PAYMENTSPECIFICATION />
<PORT />
<POSTINGPROFILE />
<PSNBANKACCOUNTID />
<PSNCARDHOLDERNAME />
<PSNCARDNUMBERDIGITS />
<PSNPOSTINGDEFINITIONCODE />
<PSNPURCHASINGCARDTRANSACTIONTYPE>0</PSNPURCHASINGCARDTRANSACTIONTYPE>
<PSNREFERENCEINVOICENUMBER />
<PSNVENDORACCOUNTFORBALANCEPAYOFF />
<PURCHIDRANGE />
<RECALCULATION>1</RECALCULATION>
<RELEASEDATECOMMENT />
<REPORTINGCURRENCYEXCHANGERATE>100.0000000000000000</REPORTINGCURRENCYEXCHANGERATE>
<SALESTAXGROUP />
<SALESTAXROUNDING>0.000000</SALESTAXROUNDING>
<SECONDARYEXCHANGERATE>0.0000000000000000</SECONDARYEXCHANGERATE>
<SETTLEVOUCHER>0</SETTLEVOUCHER>
<SITE />
<STARTDATETIME>1900-01-01T00:00:00+00:00</STARTDATETIME>
<STATISTICSPROCEDURE />
<TAXEXEMPTNUMBER />
<TERMSOFPAYMENT />
<TOTALDISCOUNT>0.000000</TOTALDISCOUNT>
<TRANSACTIONCODE />
<TRANSPORT />
<TRIANGULATION>0</TRIANGULATION>
<VARIANCEAPPROVEDDATETIME>1900-01-01T00:00:00+00:00</VARIANCEAPPROVEDDATETIME>
<VARIANCEPERSONNELNUMBER>000001</VARIANCEPERSONNELNUMBER>
<VENDORACCOUNT>000509</VENDORACCOUNT>
<VENDORINVOICEREVIEWSTATUS>0</VENDORINVOICEREVIEWSTATUS>
<VENDORINVOICETYPE>0</VENDORINVOICETYPE>
<VENDORNAME>MY XYZ VENDOR</VENDORNAME>
<VENDORREQUESTEDWORKEREMAIL>shakir.shabbir52#gmail.com</VENDORREQUESTEDWORKEREMAIL>
<WAREHOUSE />
<VENDORINVOICELINEENTITY>
<HEADERREFERENCE>VT01-002123</HEADERREFERENCE>
<INVOICELINENUMBER>1.0000000000000000</INVOICELINENUMBER>
<ACCOUNTINGDISTRIBUTIONTEMPLATEID />
<AMOUNT>0.000000</AMOUNT>
<BUDGETRESERVATIONDOCUMENTNUMBER />
<BUDGETRESERVATIONLINENUMBER>0</BUDGETRESERVATIONLINENUMBER>
<CHANGEQUANTITYMANUALLY>0</CHANGEQUANTITYMANUALLY>
<CHARGESONPURCHASES>0.000000</CHARGESONPURCHASES>
<CLOSEFORRECEIPT>0</CLOSEFORRECEIPT>
<COMMODITY />
<CURRENCY>USD</CURRENCY>
<CWDELIVERYREMAINDER>0.000000</CWDELIVERYREMAINDER>
<CWREMAININGQUANTITY>0.000000</CWREMAININGQUANTITY>
<CWUPDATE>0.000000</CWUPDATE>
<DATAAREACOMPANY />
<DELIVERYNAME>New address created from PO</DELIVERYNAME>
<DELIVERYSTATE />
<DIMENSIONDISPLAYVALUE />
<DIMENSIONNUMBER>#00000001500031DB</DIMENSIONNUMBER>
<DISCOUNT>0.000000</DISCOUNT>
<DISCOUNTPERCENT>0.000000</DISCOUNTPERCENT>
<INVENTNOW>3000.000000</INVENTNOW>
<INVENTORYSITEID>1001</INVENTORYSITEID>
<INVENTORYWAREHOUSEID>1001.255</INVENTORYWAREHOUSEID>
<INVOICEACCOUNT>000509</INVOICEACCOUNT>
<ISTAX1099GTRADEORBUSINESSINCOME>0</ISTAX1099GTRADEORBUSINESSINCOME>
<ISTAX1099SPROPERTYORSERVICES>0</ISTAX1099SPROPERTYORSERVICES>
<ITEMBATCHNUMBER />
<ITEMNAME>My Item name</ITEMNAME>
<ITEMNUMBER>100018</ITEMNUMBER>
<ITEMSALESTAX />
<LINEDESCRIPTION />
<LINENUMBER>1.0000000000000000</LINENUMBER>
<LINETYPE>0</LINETYPE>
<MAINACCOUNTDISPLAYVALUE />
<MULTILINEDISCOUNT>0.000000</MULTILINEDISCOUNT>
<MULTILINEDISCOUNTPERCENTAGE>0.000000</MULTILINEDISCOUNTPERCENTAGE>
<NETAMOUNT>65.610000</NETAMOUNT>
<ORDEREDINVENTORYSTATUSID />
<ORIGCOUNTRYREGIONID />
<ORIGINALDELIVERREMAINDER>3000.000000</ORIGINALDELIVERREMAINDER>
<OVERRIDESALESTAX>0</OVERRIDESALESTAX>
<PARTYID />
<PERCENTAGE>0.000000</PERCENTAGE>
<PORT />
<PRICEUNIT>1.000000000000</PRICEUNIT>
<PROCUREMENTCATEGORYHIERARCHYNAME>Main</PROCUREMENTCATEGORYHIERARCHYNAME>
<PROCUREMENTCATEGORYNAME>Lab Supplies</PROCUREMENTCATEGORYNAME>
<PRODUCTCOLORID />
<PRODUCTCONFIGURATIONID />
<PRODUCTSIZEID />
<PRODUCTSTYLEID />
<PURCHASEORDER>VT01-000741</PURCHASEORDER>
<PURCHLINENUMBER>1</PURCHLINENUMBER>
<RECEIVENOW>3.000000</RECEIVENOW>
<RELEASEALLRETAINEDAMOUNT>0</RELEASEALLRETAINEDAMOUNT>
<REMAINAFTER>0.000000</REMAINAFTER>
<REMAINAFTERINVENT>0.000000</REMAINAFTERINVENT>
<REMAINBEFOREINVENT>3000.000000</REMAINBEFOREINVENT>
<RETAINAGEAMOUNT>0.000000</RETAINAGEAMOUNT>
<RETAINPERCENTAGE>0.000000</RETAINPERCENTAGE>
<SALESTAXGROUP />
<STATEOFORIGIN />
<STATISTICSPROCEDURE />
<TAX1099AMOUNT>0.000000</TAX1099AMOUNT>
<TAX1099BOX />
<TAX1099GSTATETAXWITHHELDAMOUNT>0.000000</TAX1099GSTATETAXWITHHELDAMOUNT>
<TAX1099GTAXYEAR>0</TAX1099GTAXYEAR>
<TAX1099GVENDORSTATEID />
<TAX1099GVENDORSTATETAXID />
<TAX1099SADDRESSORLEGALDESCRIPTION />
<TAX1099SBUYERPARTOFREALESTATETAXAMOUNT>0.000000</TAX1099SBUYERPARTOFREALESTATETAXAMOUNT>
<TAX1099STATEAMOUNT>0.000000</TAX1099STATEAMOUNT>
<TAX1099TYPE>0</TAX1099TYPE>
<TAXWITHHOLDGROUP />
<TAXWITHHOLDITEMGROUPNAME />
<TRANSACTIONCODE />
<TRANSPORT />
<UNIT />
<UNITPRICE>21.870000</UNITPRICE>
<VENDORACCOUNT>000509</VENDORACCOUNT>
<VENDORINVOICELINEREVIEWSTATUS>0</VENDORINVOICELINEREVIEWSTATUS>
<WITHHOLDINGTAXGROUP />
</VENDORINVOICELINEENTITY>
</VENDORINVOICEHEADERENTITY>
</Document>
I checked the "Event log" as well, but did not get any useful information
TLDR;
The issue of the question is probably caused by a data issue and not by a bug in the import/export framework logic. Without having access to an environment with that data, there is probably little that can be provided in terms of an answer to the specific issue of the question. But here are some general pointers on how to further analyze the issue.
Creating a working baseline
In general, when setting up an import for a complex entity like Vendor Invoice V2, I recommend the following process:
First, manually create a few data samples in the system (in this case, a pending vendor invoice). The samples should be entered with the same data that you expect from the import.
Second, create an export project and export the data samples. This will give you a template file that you can use for the import.
Third, create the import project with the template file.
Check that the import works with the template file. You should delete the sample data first to make sure the import creates new records instead of updating them.
Modify a copy of the template file to include additional import data. Import that modified copy.
Steps 1-4 are important to establish a working base line. The bulk of the work will probably be step 5. Usually, at this step, numerous issues with the import data are uncovered.
Working Contoso sample and additional ideas
Following this process, I was able to set up a working import on a 10.0.28 environment with Contoso demo data in the USMF legal entity. See below for the xml data that I used.
While testing this and when comparing my xml data with the one from the question, I noticed the following issues that may be worth investigating:
During setup of the import project, the mapping was first shown with a red x symbol. This was due to the unmapped field COMMENT_, which only seems to be supported for export, but not import. I removed it from the mapping and the red x was gone.
The xml data in the question has a field PURCHASEORDER in the line data, but the field is missing in the header data.
A couple of fields in my xml data have values, while the xml data of the question does not, and vice versa. Nothing obvious was jumping out at me for causing issues. But I recommend reviewing the import data carefully for any issues.
Working sample data:
<?xml version="1.0" encoding="utf-8"?>
<Document>
<VENDORINVOICEHEADERENTITY>
<HEADERREFERENCE>012222</HEADERREFERENCE>
<APPROVEPOSTINGWITHMATCHINGDISCREPANCIES>0</APPROVEPOSTINGWITHMATCHINGDISCREPANCIES>
<APPROVERPERSONNELNUMBER>000020</APPROVERPERSONNELNUMBER>
<BANKACCOUNT />
<BUSINESSDOCUMENTSUBMISSIONID_W>00000000-0000-0000-0000-000000000000</BUSINESSDOCUMENTSUBMISSIONID_W>
<CASHDISCOUNT>0.000000</CASHDISCOUNT>
<CASHDISCOUNTCODE>0.5%D10</CASHDISCOUNTCODE>
<CASHDISCOUNTDATE>1900-01-01T00:00:00+01:00</CASHDISCOUNTDATE>
<CHARGESGROUP />
<COMMENT_ />
<CURRENCY>USD</CURRENCY>
<DATE>2022-06-15T00:00:00+02:00</DATE>
<DELIVERYNAME>Contoso Entertainment System USA</DELIVERYNAME>
<DIMENSIONDISPLAYVALUE>001--</DIMENSIONDISPLAYVALUE>
<DISCOUNTPERCENTAGE>0.500000</DISCOUNTPERCENTAGE>
<DOCUMENTNUMBER />
<DUEDATE>2022-07-15T00:00:00+02:00</DUEDATE>
<ENDDATETIME>1900-01-01T00:00:00+01:00</ENDDATETIME>
<EXCHANGERATE>100.0000000000000000</EXCHANGERATE>
<FIXEDRATE>0</FIXEDRATE>
<HEADERONLYIMPORT>0</HEADERONLYIMPORT>
<IGNORECALCULATEDSALESTAX>0</IGNORECALCULATEDSALESTAX>
<IMPORTEDAMOUNT>0.000000</IMPORTEDAMOUNT>
<IMPORTEDSALESTAX>0.000000</IMPORTEDSALESTAX>
<INVOICEACCOUNT>1001</INVOICEACCOUNT>
<INVOICEDATE>1900-01-01T00:00:00+01:00</INVOICEDATE>
<INVOICEDESCRIPTION />
<INVOICEGROUP />
<INVOICENUMBER>4711</INVOICENUMBER>
<INVOICEPAYMENTRELEASEDATE>1900-01-01T00:00:00+01:00</INVOICEPAYMENTRELEASEDATE>
<INVOICERECEIVEDDATE>1900-01-01T00:00:00+01:00</INVOICERECEIVEDDATE>
<INVOICEROUNDOFF>0.000000</INVOICEROUNDOFF>
<ISAPPROVED>1</ISAPPROVED>
<ISBATCH>0</ISBATCH>
<ISONHOLD>0</ISONHOLD>
<ISPRICESINCLUDESALESTAX>0</ISPRICESINCLUDESALESTAX>
<LOG />
<METHODOFPAYMENT>CHECK</METHODOFPAYMENT>
<NUMBERSEQUENCEGROUP />
<OVERRIDESALESTAX>0</OVERRIDESALESTAX>
<PACKINGSLIPRANGE />
<PAYMENTGROUPCODE />
<PAYMENTID />
<PAYMENTSCHEDULE />
<PAYMENTSPECIFICATION />
<PORT />
<POSTINGPROFILE>GEN</POSTINGPROFILE>
<PSNBANKACCOUNTID />
<PSNCARDHOLDERNAME />
<PSNCARDNUMBERDIGITS />
<PSNPOSTINGDEFINITIONCODE />
<PSNPURCHASINGCARDTRANSACTIONTYPE>0</PSNPURCHASINGCARDTRANSACTIONTYPE>
<PSNREFERENCEINVOICENUMBER />
<PSNVENDORACCOUNTFORBALANCEPAYOFF />
<PURCHASEORDERNUMBER />
<PURCHIDRANGE />
<RECALCULATION>1</RECALCULATION>
<RELEASEDATECOMMENT />
<REPORTINGCURRENCYEXCHANGERATE>100.0000000000000000</REPORTINGCURRENCYEXCHANGERATE>
<SALESTAXGROUP />
<SALESTAXROUNDING>0.000000</SALESTAXROUNDING>
<SECONDARYEXCHANGERATE>0.0000000000000000</SECONDARYEXCHANGERATE>
<SETTLEVOUCHER>0</SETTLEVOUCHER>
<SITE />
<STARTDATETIME>1900-01-01T00:00:00+01:00</STARTDATETIME>
<STATISTICSPROCEDURE />
<TAXEXEMPTNUMBER />
<TERMSOFPAYMENT>Net30</TERMSOFPAYMENT>
<TOTALDISCOUNT>0.000000</TOTALDISCOUNT>
<TRANSACTIONCODE />
<TRANSPORT />
<TRIANGULATION>0</TRIANGULATION>
<VARIANCEAPPROVEDDATETIME>1900-01-01T00:00:00+01:00</VARIANCEAPPROVEDDATETIME>
<VARIANCEPERSONNELNUMBER>000020</VARIANCEPERSONNELNUMBER>
<VENDORACCOUNT>1001</VENDORACCOUNT>
<VENDORINVOICEREVIEWSTATUS>0</VENDORINVOICEREVIEWSTATUS>
<VENDORINVOICETYPE>0</VENDORINVOICETYPE>
<VENDORNAME>Acme Office Supplies</VENDORNAME>
<VENDORREQUESTEDWORKEREMAIL>julia#contoso.com</VENDORREQUESTEDWORKEREMAIL>
<WAREHOUSE />
<VENDORINVOICELINEENTITY>
<HEADERREFERENCE>012222</HEADERREFERENCE>
<INVOICELINENUMBER>1.0000000000000000</INVOICELINENUMBER>
<ACCOUNTINGDISTRIBUTIONTEMPLATEID />
<ADJUSTEDUNITPRICE>0.000000</ADJUSTEDUNITPRICE>
<AMOUNT>0.000000</AMOUNT>
<BUDGETRESERVATIONDOCUMENTNUMBER />
<BUDGETRESERVATIONLINENUMBER>0</BUDGETRESERVATIONLINENUMBER>
<CHANGEQUANTITYMANUALLY>0</CHANGEQUANTITYMANUALLY>
<CHARGESONPURCHASES>0.000000</CHARGESONPURCHASES>
<CLOSEFORRECEIPT>0</CLOSEFORRECEIPT>
<COMMODITY />
<CURRENCY>USD</CURRENCY>
<CWDELIVERYREMAINDER>0.000000</CWDELIVERYREMAINDER>
<CWREMAININGQUANTITY>0.000000</CWREMAININGQUANTITY>
<CWUPDATE>0.000000</CWUPDATE>
<DATAAREACOMPANY />
<DELIVERYNAME>Site 1</DELIVERYNAME>
<DELIVERYSTATE />
<DIMENSIONDISPLAYVALUE>001--</DIMENSIONDISPLAYVALUE>
<DIMENSIONNUMBER>000252</DIMENSIONNUMBER>
<DISCOUNT>0.000000</DISCOUNT>
<DISCOUNTPERCENT>0.000000</DISCOUNTPERCENT>
<INVENTNOW>0.000000</INVENTNOW>
<INVENTORYSITEID>1</INVENTORYSITEID>
<INVENTORYWAREHOUSEID>13</INVENTORYWAREHOUSEID>
<INVOICEACCOUNT>1001</INVOICEACCOUNT>
<ISTAX1099GTRADEORBUSINESSINCOME>0</ISTAX1099GTRADEORBUSINESSINCOME>
<ISTAX1099SPROPERTYORSERVICES>0</ISTAX1099SPROPERTYORSERVICES>
<ITEMBATCHNUMBER />
<ITEMNAME>Microsoft Natural Keyboard Elite / Microsoft Natural Keyboard Elite</ITEMNAME>
<ITEMNUMBER>C0001</ITEMNUMBER>
<ITEMSALESTAX>ALL</ITEMSALESTAX>
<LINEDESCRIPTION>Microsoft Natural Keyboard Elite</LINEDESCRIPTION>
<LINENUMBER>0.0000000000000000</LINENUMBER>
<LINETYPE>0</LINETYPE>
<MAINACCOUNTDISPLAYVALUE />
<MULTILINEDISCOUNT>0.000000</MULTILINEDISCOUNT>
<MULTILINEDISCOUNTPERCENTAGE>0.000000</MULTILINEDISCOUNTPERCENTAGE>
<NETAMOUNT>39.950000</NETAMOUNT>
<ORDEREDINVENTORYSTATUSID />
<ORIGCOUNTRYREGIONID />
<ORIGINALDELIVERREMAINDER>0.000000</ORIGINALDELIVERREMAINDER>
<OVERRIDESALESTAX>0</OVERRIDESALESTAX>
<PARTYID />
<PDSCALCULATIONID />
<PERCENTAGE>0.000000</PERCENTAGE>
<PORT />
<PRICEUNIT>1.000000000000</PRICEUNIT>
<PROCUREMENTCATEGORYHIERARCHYNAME>Procurement - Office Supplies</PROCUREMENTCATEGORYHIERARCHYNAME>
<PROCUREMENTCATEGORYNAME>Computers</PROCUREMENTCATEGORYNAME>
<PRODUCTCOLORID>Black</PRODUCTCOLORID>
<PRODUCTCONFIGURATIONID />
<PRODUCTSIZEID />
<PRODUCTSTYLEID />
<PURCHASEORDER />
<PURCHLINENUMBER>0</PURCHLINENUMBER>
<RECEIVENOW>1.000000</RECEIVENOW>
<RELEASEALLRETAINEDAMOUNT>0</RELEASEALLRETAINEDAMOUNT>
<REMAINAFTER>0.000000</REMAINAFTER>
<REMAINAFTERINVENT>0.000000</REMAINAFTERINVENT>
<REMAINBEFORE>0.000000</REMAINBEFORE>
<REMAINBEFOREINVENT>0.000000</REMAINBEFOREINVENT>
<RETAINAGEAMOUNT>0.000000</RETAINAGEAMOUNT>
<RETAINPERCENTAGE>0.000000</RETAINPERCENTAGE>
<SALESTAXGROUP />
<STATEOFORIGIN />
<STATISTICSPROCEDURE />
<TAX1099AMOUNT>0.000000</TAX1099AMOUNT>
<TAX1099BOX />
<TAX1099GSTATETAXWITHHELDAMOUNT>0.000000</TAX1099GSTATETAXWITHHELDAMOUNT>
<TAX1099GTAXYEAR>0</TAX1099GTAXYEAR>
<TAX1099GVENDORSTATEID />
<TAX1099GVENDORSTATETAXID />
<TAX1099SADDRESSORLEGALDESCRIPTION />
<TAX1099SBUYERPARTOFREALESTATETAXAMOUNT>0.000000</TAX1099SBUYERPARTOFREALESTATETAXAMOUNT>
<TAX1099STATEAMOUNT>0.000000</TAX1099STATEAMOUNT>
<TAX1099TYPE>0</TAX1099TYPE>
<TAXWITHHOLDGROUP />
<TAXWITHHOLDITEMGROUPNAME />
<TOTALRETAINEDAMOUNT>0.000000</TOTALRETAINEDAMOUNT>
<TRANSACTIONCODE />
<TRANSPORT />
<UNIT>ea</UNIT>
<UNITPRICE>39.950000</UNITPRICE>
<VENDORACCOUNT>1001</VENDORACCOUNT>
<VENDORINVOICELINEREVIEWSTATUS>0</VENDORINVOICELINEREVIEWSTATUS>
<WITHHOLDINGTAXGROUP />
</VENDORINVOICELINEENTITY>
</VENDORINVOICEHEADERENTITY>
</Document>

How to define Decison table in DMN

How to define a Decision table in DMN designer such that,
This is one of the standard decisions : If claim amount is >10000 then hradmin approval =Y otherwise hradmin approval=N
In DMN,
a Decision table in DMN designer such that [...] If claim amount is >10000 then hradmin approval =Y otherwise hradmin approval=N
can be modeled as the following DRG for 1 InputData named claim amount and 1 Decision for the table named hradmin approval:
The hradmin approval decision table can be defined as follows:
The screenshot also shows sample data, matching your original requirements.
You can download the .dmn example here: https://kiegroup.github.io/kogito-online/?file=https://gist.githubusercontent.com/tarilabs/f9655e2f8a2c4253e66ce661e5c79879/raw/so69764028.dmn#/editor/dmn
You can save the xml to a text file, upload it, try it out and modify it here: https://consulting.camunda.com/dmn-simulator/
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" xmlns:dmndi="https://www.omg.org/spec/DMN/20191111/DMNDI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" xmlns:camunda="http://camunda.org/schema/1.0/dmn" id="dinnerDecisions" name="HR Approval Decision" namespace="http://camunda.org/schema/1.0/dmn" exporter="Camunda Modeler" exporterVersion="4.0.0">
<decision id="beverages" name="HR Approval">
<informationRequirement id="InformationRequirement_1xvojck">
<requiredInput href="#InputData_0pgvdj9" />
</informationRequirement>
<decisionTable id="DecisionTable_07q05jb">
<input id="InputClause_0bo3uen" label="Amount" camunda:inputVariable="">
<inputExpression id="LiteralExpression_0d6l79o" typeRef="integer">
<text>amount</text>
</inputExpression>
</input>
<output id="OuputClause_99999" label="HR Approval" name="hrApproval" typeRef="boolean" />
<rule id="row-506282952-7">
<description></description>
<inputEntry id="UnaryTests_0jb8hau">
<text>>10000</text>
</inputEntry>
<outputEntry id="LiteralExpression_1kr45vj">
<text>true</text>
</outputEntry>
</rule>
<rule id="DecisionRule_05oqdbw">
<description></description>
<inputEntry id="UnaryTests_1vcdz6c">
<text><=10000</text>
</inputEntry>
<outputEntry id="LiteralExpression_0g5cscd">
<text>false</text>
</outputEntry>
</rule>
</decisionTable>
</decision>
<inputData id="InputData_0pgvdj9" name="Amount" />
<dmndi:DMNDI>
<dmndi:DMNDiagram id="DMNDiagram_0i21c0s">
<dmndi:DMNShape id="DMNShape_0a1lk6d" dmnElementRef="beverages">
<dc:Bounds height="80" width="180" x="430" y="130" />
</dmndi:DMNShape>
<dmndi:DMNEdge id="DMNEdge_1czaglz" dmnElementRef="InformationRequirement_1xvojck">
<di:waypoint x="500" y="287" />
<di:waypoint x="520" y="230" />
<di:waypoint x="520" y="210" />
</dmndi:DMNEdge>
<dmndi:DMNShape id="DMNShape_0aea4xy" dmnElementRef="InputData_0pgvdj9">
<dc:Bounds height="45" width="125" x="437" y="287" />
</dmndi:DMNShape>
</dmndi:DMNDiagram>
</dmndi:DMNDI>
</definitions>

Cannot Create MultiValueControl in TFS 2017

I am updating existing Workitem Template to have a new field that should be "MultiLineControl". Below is what all i did.
1) Changed WorkItem template as
<FIELD name="IssueOwner" refname="test.IssueOwner" type="String" reportable="dimension" >
<HELPTEXT>Issue Owner</HELPTEXT>
<SUGGESTEDVALUES expanditems="true">
<LISTITEM value="test1" />
<LISTITEM value="test2" />
<LISTITEM value="test3" />
</SUGGESTEDVALUES>
</FIELD>
<Control FieldName="test.IssueOwner" Type="FieldControl" PreferredType="MultiValueControl" Label="Issue Owner" LabelPosition="Left" />
2) Installed extension First i tried from below location under "Install control on Web Access"
https://devblogs.microsoft.com/devops/multivaluelist-control-in-tfs-work-item-tracking/
But then the extension is deprecated for TFS 2017
So then I installed
https://marketplace.visualstudio.com/items?itemName=ms-devlabs.vsts-extensions-multivalue-control
But still my field is Simple dropdown. Not sure what i am missing. Can someone plz help
Update 1) I also tried stuff from Entension but it doesn't effect any change. in my Work Item export I have two section in FORM. Layout and WebLayout. The link talks abt changing WebLayout. But how to change Layout as thats what my TFS load when i use it on explorer?
Tested on TFS 2017 (Version 15.117.27414.0), everything works as expected.
Please follow below steps to do that:
Install Multivalue control extension.
Export the specific WIT with witadmin tool (you can also use the TFS Process Template Editorif you are using Visual Studio 2015 or 2017, reference this thread for details. ) :
witadmin exportwitd /collection:CollectionURL /p:Project /n:TypeName /f:FileName
Open the exported xml file with text editor and add an Extensiontag to make the control available to the work item form.
<Extensions>
<Extension Id="ms-devlabs.vsts-extensions-multivalue-control" />
</Extensions>
Add your customized field:
<FIELD name="IssueOwner" refname="test.IssueOwner" type="String" reportable="dimension" >
<HELPTEXT>Issue Owner</HELPTEXT>
<SUGGESTEDVALUES expanditems="true">
<LISTITEM value="test1" />
<LISTITEM value="test2" />
<LISTITEM value="test3" />
</SUGGESTEDVALUES>
</FIELD>
Add the ControlContribution tag for your Multivalue control. This
example adds it to the "Status" group.
<Group Label="Status">
<Control Label="Reason" Type="FieldControl" FieldName="System.Reason" />
<ControlContribution Label="IssueOwner" Id="ms-devlabs.vsts-extensions-multivalue-control.multivalue-form-control">
<Inputs>
<Input Id="FieldName" Value="test.IssueOwner" />
</Inputs>
</ControlContribution>
</Group>
Import the modified xml file to your project:
witadmin importwitd /collection:CollectionURL /p:Project /n:TypeName /f:FileName
Check the result:

TFS Adjust process Bug Tempate - Sevirty

I am trying to adjust the Bug forms "Severity" to have a new custom field value on creation of "new" (currently it shows 3 of a 1 to 5 choice) however I cant find any specific examples of how to do this , e.g. https://learn.microsoft.com/en-us/vsts/work/customize/add-modify-wit does not go into detail We want to explicitly show that the severity has not explicitly been set yet.
=> Tips or Urls please ?
Below is the default content from a "witadmin exportprocessconfig" command. I am on TFs 2017 up3
<BugWorkItems category="Microsoft.BugCategory" pluralName="Bugs" singularName="Bug">
<States>
<State type="Proposed" value="New" />
<State type="Proposed" value="Approved" />
<State type="InProgress" value="Committed" />
<State type="Complete" value="Done" />
</States>
You need to modify the Bug.xml file to add a new LISTITEM in Severity field rule. Check the example below:
<FieldDefinition name=" refname="Microsoft.VSTS.Common.Severity" type="String" reportable="dimension">
<DEFAULT from="value" value="3 - Medium" />
<ALLOWEDVALUES expanditems="true">
<LISTITEM value="1 - Critical" />
<LISTITEM value="2 - High" />
<LISTITEM value="3 - Medium" />
<LISTITEM value="4 - Low" />
<LISTITEM value="5 - NewCustom" />
</ALLOWEDVALUES>
</FieldDefinition>

Add-Remove Uninstall and msiexec /x not working accordingly for WiX-based installers

I’m facing this strange behavior for some of my WiX-based installers. After installation, if I try to remove via Add Remove Program (Programs and Features in Windows 7) using Right Click Menu and select Uninstall (This default BTW), it only shows a progress dialog which quits immediately and program never uninstalls and stays intact.
The Same behavior is there upon using
msiexec /x {ProductCode}
(or Product.msi)
However, using Right Click Menu, select Change and then from Maintenance Dialog Box, select Remove, uninstalls it perfectly.
Here is the code for InstallUISequence and InstallExecuteSequence:
<InstallUISequence>
<Custom Before="CostFinalize" Action="CheckPreReqs" />
<Show Dialog="MaintenanceWelcomeDlg"
Overridable="yes"
Sequence="1230">Installed And Not RESUME And Not Preselected And Not PATCH</Show>
</InstallUISequence>
<InstallExecuteSequence>
<ScheduleReboot Sequence="6410">ISSCHEDULEREBOOT</ScheduleReboot>
<LaunchConditions Sequence="410">Not Installed</LaunchConditions>
<FindRelatedProducts Sequence="420">NOT ISSETUPDRIVEN</FindRelatedProducts>
<AppSearch Sequence="400" />
<CCPSearch Sequence="500">CCP_TEST</CCPSearch>
<RMCCPSearch Sequence="600">Not CCP_SUCCESS And CCP_TEST</RMCCPSearch>
<ValidateProductID Sequence="700" />
<CostInitialize Sequence="800" />
<FileCost Sequence="900" />
<IsolateComponents Sequence="950" />
<CostFinalize Sequence="1000" />
<SetODBCFolders Sequence="1100" />
<MigrateFeatureStates Sequence="1200" />
<InstallValidate Sequence="1400" />
<InstallInitialize Sequence="1501" />
<AllocateRegistrySpace Sequence="1550">NOT Installed</AllocateRegistrySpace>
<ProcessComponents Sequence="1600" />
<UnpublishComponents Sequence="1700" />
<UnpublishFeatures Sequence="1800" />
<StopServices Sequence="1900">VersionNT</StopServices>
<DeleteServices Sequence="2000">VersionNT</DeleteServices>
<UnregisterComPlus Sequence="2100" />
<SelfUnregModules Sequence="2200" />
<UnregisterTypeLibraries Sequence="2300" />
<RemoveODBC Sequence="2400" />
<UnregisterFonts Sequence="2500" />
<RemoveRegistryValues Sequence="2600" />
<UnregisterClassInfo Sequence="2700" />
<UnregisterExtensionInfo Sequence="2800" />
<UnregisterProgIdInfo Sequence="2900" />
<UnregisterMIMEInfo Sequence="3000" />
<RemoveIniValues Sequence="3100" />
<RemoveShortcuts Sequence="3200" />
<RemoveEnvironmentStrings Sequence="3300" />
<RemoveDuplicateFiles Sequence="3400" />
<RemoveFiles Sequence="3500" />
<RemoveFolders Sequence="3600" />
<CreateFolders Sequence="3700" />
<MoveFiles Sequence="3800" />
<InstallFiles Sequence="4000" />
<DuplicateFiles Sequence="4210" />
<PatchFiles Sequence="4090" />
<BindImage Sequence="4300" />
<CreateShortcuts Sequence="4500" />
<RegisterClassInfo Sequence="4600" />
<RegisterExtensionInfo Sequence="4700" />
<RegisterProgIdInfo Sequence="4800" />
<RegisterMIMEInfo Sequence="4900" />
<WriteRegistryValues Sequence="5000" />
<WriteIniValues Sequence="5100" />
<WriteEnvironmentStrings Sequence="5200" />
<RegisterFonts Sequence="5300" />
<InstallODBC Sequence="5400" />
<RegisterTypeLibraries Sequence="5500" />
<SelfRegModules Sequence="5600" />
<RegisterComPlus Sequence="5700" />
<InstallServices Sequence="5800">VersionNT</InstallServices>
<StartServices Sequence="5900">VersionNT</StartServices>
<RegisterUser Sequence="6000" />
<RegisterProduct Sequence="6100" />
<PublishComponents Sequence="6200" />
<PublishFeatures Sequence="6300" />
<PublishProduct Sequence="6400" />
<InstallFinalize Sequence="6600" />
<RemoveExistingProducts Sequence="1410" />
<MsiPublishAssemblies Sequence="6250" />
<MsiUnpublishAssemblies Sequence="1750" />
</InstallExecuteSequence>
How do I fix this problem?
Chances are that you are attempting to do "stuff" during the InstallUISequence (which doesn't display from ARP or msiexec /x) and you are (incorrectly) requiring a User Interface and performing steps here, as opposed to performing them during the InstallExecuteSequence
If you inspect the two sequences using Orca, you should be able to identify the problematic actions.