fernandolk_1992 Posted May 10, 2024 Topic Count: 19 Topics Per Day: 0.02 Content Count: 52 Content Per Day: 0.05 Reputation: 5 Achievement Points: 425 Solved Content: 0 Days Won: 3 Status: Offline Device: Windows Report Posted May 10, 2024 Bom dia. Pessoal, preciso identificar o movimento criado no momento que estou gerando um adiantamento de contrato no TCOP. Preciso disso para alimentar 2 campos de forma automática após a liberação acontecer. Estou usando o processo padrão nesses casos que é executar a atividade de Ler Parametros do Processo, transformar o registro em XML e depois a atividade de exceção. Porem ao consultar o XML não existe o ID do movimento criado. XML Retornado: <Parametros> <xs:schema id="Parametros" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="Parametros" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="Parametros"> <xs:complexType> <xs:sequence> <xs:element name="OBJECTID" msdata:AutoIncrement="true" type="xs:int" /> <xs:element name="CodColigada" type="xs:int" minOccurs="0" /> <xs:element name="IdPrj" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Parametros.ListaIdAdiantamento"> <xs:complexType> <xs:sequence> <xs:element name="OBJECTID" msdata:AutoIncrement="true" type="xs:int" /> <xs:element name="PARENTOBJECTID" type="xs:int" minOccurs="0" /> <xs:element name="VALOR" type="xs:int" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Parametros.IdCnt"> <xs:complexType> <xs:sequence> <xs:element name="OBJECTID" msdata:AutoIncrement="true" type="xs:int" /> <xs:element name="PARENTOBJECTID" type="xs:int" minOccurs="0" /> <xs:element name="VALOR" msdata:DataType="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" type="xs:anyType" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> <xs:unique name="Constraint1" msdata:PrimaryKey="true"> <xs:selector xpath=".//Parametros" /> <xs:field xpath="OBJECTID" /> </xs:unique> <xs:unique name="Parametros.ListaIdAdiantamento_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true"> <xs:selector xpath=".//Parametros.ListaIdAdiantamento" /> <xs:field xpath="OBJECTID" /> </xs:unique> <xs:unique name="Parametros.IdCnt_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true"> <xs:selector xpath=".//Parametros.IdCnt" /> <xs:field xpath="OBJECTID" /> </xs:unique> <xs:keyref name="Parametros_Parametros.IdCnt" refer="Constraint1"> <xs:selector xpath=".//Parametros.IdCnt" /> <xs:field xpath="PARENTOBJECTID" /> </xs:keyref> <xs:keyref name="Parametros_Parametros.ListaIdAdiantamento" refer="Constraint1"> <xs:selector xpath=".//Parametros.ListaIdAdiantamento" /> <xs:field xpath="PARENTOBJECTID" /> </xs:keyref> </xs:element> </xs:schema> <Parametros> <OBJECTID>0</OBJECTID> <CodColigada>1</CodColigada> <IdPrj>149</IdPrj> </Parametros> <Parametros.ListaIdAdiantamento> <OBJECTID>0</OBJECTID> <PARENTOBJECTID>0</PARENTOBJECTID> <VALOR>34</VALOR> </Parametros.ListaIdAdiantamento> <Parametros.IdCnt> <OBJECTID>0</OBJECTID> <PARENTOBJECTID>0</PARENTOBJECTID> <VALOR xsi:type="xs:int" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">1058 </VALOR> </Parametros.IdCnt> </Parametros> É possível descobrir o ID do movimento criado através de uma Formula Visual. Quote
caiiomonteiro Posted May 20, 2024 Topic Count: 11 Topics Per Day: 0.00 Content Count: 158 Content Per Day: 0.06 Reputation: 57 Achievement Points: 1,028 Solved Content: 0 Days Won: 25 Status: Offline Age: 27 Device: Windows Report Posted May 20, 2024 Bom dia @fernandolk_1992 Desconheço uma forma "simples" do processo retornar o IDMOV gerado Sempre que preciso desse tipo de retorno utilizo uma consulta SQL passando alguns parâmetros do próprio processo e busco o último IDMOV criado, filtrando alguns campos "chave" funciona perfeitamente Quote
fernandolk_1992 Posted May 21, 2024 Topic Count: 19 Topics Per Day: 0.02 Content Count: 52 Content Per Day: 0.05 Reputation: 5 Achievement Points: 425 Solved Content: 0 Days Won: 3 Status: Offline Device: Windows Author Report Posted May 21, 2024 Em 20/05/2024 at 09:11, caiiomonteiro disse: Bom dia @fernandolk_1992 Desconheço uma forma "simples" do processo retornar o IDMOV gerado Sempre que preciso desse tipo de retorno utilizo uma consulta SQL passando alguns parâmetros do próprio processo e busco o último IDMOV criado, filtrando alguns campos "chave" funciona perfeitamente Eai Caio, tudo certo? Então, até pensei em usar uma consulta, mas ai não haveria margens para erro? E outra, o maior problema que eu vejo é que pelo contexto não está retornando nenhuma informação que posso aproveitar. Seria basicamente buscar o ultimo movimento sem parâmetro algum hehe. Quote
caiiomonteiro Posted May 22, 2024 Topic Count: 11 Topics Per Day: 0.00 Content Count: 158 Content Per Day: 0.06 Reputation: 57 Achievement Points: 1,028 Solved Content: 0 Days Won: 25 Status: Offline Age: 27 Device: Windows Report Posted May 22, 2024 @fernandolk_1992 a margem de erro existe, porém você pode filtrar o usuário do contexto, alguns campos do processo que vão para o movimento (se realmente estiverem indo), data de criação do movimento, etc Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.