Mi acción personalizada de Nintex no se lee en la variable de flujo de trabajo en SingleLineInput

He escrito una acción de flujo de trabajo personalizada que toma varios valores, principalmente usando el control SingleLineInput.

Cuando asigno valores literales, no tengo problemas, pero cuando intento asignar una variable de flujo de trabajo, no obtengo el valor real de la variable, obtengo el texto literal, algo así como {WorkflowVariable:XmlValue}, asumiendo mi variable fue nombres XmlValue.

No estoy seguro de lo que podría estar haciendo mal. ¿Algunas ideas?

Aquí hay fragmentos de código:

El javascript para recuperar el valor de SingleLineInput

function TPAWriteConfig() {
    configXml.selectSingleNode("/NWActionConfig/Parameters/Parameter[@Name='FieldValue']/PrimitiveValue/@Value").text = getRTEValue('<%=fieldValue.ClientID%>');
    SaveErrorHandlingSection();
    return true;

}

El control del servidor:

<Nintex:ConfigurationProperty ID="ConfigurationProperty3" runat="server" FieldTitle="Field Value" RequiredField="True">
    <TemplateControlArea>
        <Nintex:SingleLineInput runat="server" id="fieldValue"></Nintex:SingleLineInput>
    </TemplateControlArea>
</Nintex:ConfigurationProperty>

De mi clase de adaptador:

private const string FieldValueProperty = "FieldValue";


NWActionConfig config = new NWActionConfig(this);
config.Parameters[2] = new ActivityParameter();
config.Parameters[2].Name = FieldValueProperty;
config.Parameters[2].PrimitiveValue = new PrimitiveValue();
config.Parameters[2].PrimitiveValue.Value = string.Empty;
config.Parameters[2].PrimitiveValue.ValueType = SPFieldType.Text.ToString(); 

De la clase de actividad:

public static DependencyProperty FieldValueProperty = DependencyProperty.Register("FieldValue", typeof (string),
                                                                                              typeof (
                                                                                                  WriteOnePdfFieldActivity));



public string FieldValue
{
    get { return (string) GetValue(FieldValueProperty); }
    set { SetValue(FieldValueProperty, value); }
}

preguntado el 03 de mayo de 12 a las 22:05

1 Respuestas

Me siento un poco tonto respondiendo mi propia pregunta, pero por el bien de cualquier otra persona que tenga los mismos problemas. Así es como funciona:

  • Si está poniendo un valor literal en el campo, simplemente use el valor
  • Si está utilizando cualquier otro tipo de asignación, realice una búsqueda basada en el valor.

El siguiente código demuestra:

var fieldValue = FieldValue.StartsWith("{") ? ctx.AddContextDataToString(FieldValue, true) : FieldValue; 

Esto extrae el valor del contexto del flujo de trabajo. Espero que esto ayude.

contestado el 05 de mayo de 12 a las 00:05

¿Dónde tengo que añadir la solución? ¿Tengo que agregarlo en la función js (cuál) en el código c#? - C. Fabiani

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.