Como passar dados do flex para o progress?

Discussão em 'WebSpeed' iniciado por Rudy, Setembro 17, 2011.

  1. baltazar

    baltazar Membro Participativo

    Exemplo a seguir. É isto que tem que fazer.

    Código:
    <s:HTTPService
    			id="srv"
    			showBusyCursor="true" useProxy="false" 
    			url="{LinkSEARA}" method="POST"
    												
    			result="srvSEARA_resultHandler(event)"
    			fault="srvSEARA_faultHandler(event)">
    			
    			<s:request xmlns="">
    				<codigo>
    					{uidURL_Decoded}
    				</codigo>
    				<estado>
    					{_DescricaoArtigo}
    				</estado>
    								
    			</s:request>
    			
    		</s:HTTPService>
    
  2. Rudy

    Rudy Membro Participativo

    Ai esta.
    Código:
    <fx:Script>
    		<![CDATA[
    			private function preencherDataGrid():void{
    				funcionario.dataProvider = 
    					catFunc.lastResult.customers.customer;
    			}
    		]]>
    	</fx:Script> 
    	<fx:Declarations>
    		<!-- Place non-visual elements (e.g., services, value objects) here -->	
    		<mx:HTTPService id="catCust" url="http://localhost/scripts/cgiip.exe/WService=wsbroker1/customers.p" 
    						result="preencherDataGrid()"/>
    	</fx:Declarations>
    
  3. baltazar

    baltazar Membro Participativo

    Veja o exemplo em cima. Espero que lhe ajude.
  4. Rudy

    Rudy Membro Participativo

    Deu uma olha no seu exemplo e tentei testa-lo;
    Código flex.
    Código:
    <fx:Script>
    		<![CDATA[
    			private function preencherComboBox():void{
    				customer.dataProvider = 
    					catCust.lastResult.customers.customer;
    			}
    		]]>
    	</fx:Script> 
    	<fx:Declarations>
    		<!-- Place non-visual elements (e.g., services, value objects) here -->			
    		<mx:HTTPService
    		id="catCust"			
    		showBusyCursor="true" useProxy="false" 			
    		url="http://localhost/scripts/cgiip.exe/WService=wsbroker1/customer.p" 
    		method="POST"
    		result="preencherComboBox()"			
    		fault="preencherComboBox()" >		
    			<s:request xmlns="">				
    			<codigo>					
    				{cod_cust}					
    			</codigo>	
    			</s:request>			
    		</mx:HTTPService>		
    	</fx:Declarations>
    
    <!-- evento no data grid que aciona catCust  -->
    <mx:DataGrid x="10" y="10" width="295" id="customer" height="191" click="catCust.send();" >
    				<mx:columns>
    					<mx:DataGridColumn id="cod_cust" headerText="Código" width="60" dataField="@cust_num" />
    				</mx:columns>
    			</mx:DataGrid>
    
    Código progress;
    Código:
    DEFINE INPUT  PARAMETER codigo AS CHARACTER  NO-UNDO.
    
    OUTPUT TO c:\teste.csv .
        FOR EACH customer: 
            EXPORT DELIMITER ";" cust-num name credit-limit.
        END.
    OUTPUT CLOSE.
    
    Quando eu tiro o trecho DEFINE INPUT PARAMETER codigo AS CHARACTER NO-UNDO, o código funciona, mas quando mantenho o input parameter ele não gera o arquivo teste.csv, provavelmente por que não estou conseguindo passar o parâmetro pela requisição. Alguém pode me ajudar, o que estou fazendo de errado neste código?
  5. baltazar

    baltazar Membro Participativo

    Use o httpservice com o <s:httpservice> em vez do <mx:httpservice>. (Se estiver a usar o flex 4.5)
  6. Rudy

    Rudy Membro Participativo

    Mesmo utilizando o <s:httpservice> não adiantou.

    Fiz o teste, enviando os dados para um arquivo.php e no arquivo php com um simples var_dump($_POST) consegui pegar os parametros, acho que estou fazendo algo de errado no progress. O parametro enviado é recebido mesmo pelo DEFINE INPUT PARAMETER cod_cust AS CHARACTER NO-UNDO?

    Chamo a requisição pela ação do click na linha de meu grid
    Código:
    <!-- evento no data grid que aciona catCust  -->
    <mx:DataGrid x="10" y="10" width="295" id="customer" height="191" click="catCust.send();" >
    				<mx:columns>
    					<mx:DataGridColumn id="cod_cust" headerText="Código" width="60" dataField="@cust_num" />
    				</mx:columns>
    			</mx:DataGrid>
    
    Como eu to perdido com isso, já não sei como fazer essa chamada

Compartilhe esta Página