<?xml version="1.0" encoding="utf-8"?>
<Application>
	<AppTitle>Untitled Application</AppTitle>
	<AppShortName>MyApp</AppShortName>
	<Author>Author name</Author>
	<Version>1.0</Version>
	<DesignDeviceName>Apple iPhone 6</DesignDeviceName>
	<VariablesScanned>False</VariablesScanned>
	<PageWidth>667</PageWidth>
	<PageHeight>375</PageHeight>
	<AutoSizeWidth>False</AutoSizeWidth>
	<AutoSizeHeight>False</AutoSizeHeight>
	<HideScrollbars>False</HideScrollbars>
	<ResponsiveSize>False</ResponsiveSize>
	<PublishPlatform>WebApp</PublishPlatform>
	<EmptyBuildFolder>False</EmptyBuildFolder>
	<WebBuildTarget>G:\Mi unidad\VisualNeo\VisualNeo Web\Proyectos\NeoAjax\Nueva carpeta</WebBuildTarget>
	<AppIcon>C:\Users\gusta\Documents\VisualNeoWeb\Libraries\img\default-icon.png</AppIcon>
	<LanguageCode>en</LanguageCode>
	<IsPWA>True</IsPWA>
	<DisplayMode>standalone</DisplayMode>
	<ServiceWorker>Offline page</ServiceWorker>
	<ThemeColor>#000000</ThemeColor>
	<PwaScope>/</PwaScope>
	<MobileOSTypes>[AndroidOS,iOS,WindowsPhoneOS]</MobileOSTypes>
	<WindowState>normal</WindowState>
	<TitleBar>True</TitleBar>
	<Sizeable>True</Sizeable>
	<MaximizeBtn>False</MaximizeBtn>
	<MinimizeBtn>True</MinimizeBtn>
	<SystemMenu>True</SystemMenu>
	<ContextMenu>False</ContextMenu>
	<AlwaysOnTop>False</AlwaysOnTop>
	<ShowInTaskbar>True</ShowInTaskbar>
	<SingleInstance>False</SingleInstance>
	<ChromeKioskMode>False</ChromeKioskMode>
	<Components>
		<FunctionList name="Subroutines">
			<Components>
				<Function name="parseData">
					<Code>CreateEmptyObject [weather]
SetVar [weather] [data]
Math &quot;[weather.main.temp]-273&quot; 2 [temperature]
SetObjectHTML &quot;Container1&quot; &quot;&lt;b&gt;Madrid Weather Now:&lt;/b&gt;&lt;br&gt;Temperature: [temperature]ºC&lt;br&gt;Pressure: [weather.main.pressure] mm.&lt;br&gt;Humidity: [weather.main.humidity]&quot;</Code>
					<Params>[data]|STRING|Data loaded</Params>
				</Function>
				<Function name="parseData2">
					<Code>.SetObjectHTML &quot;Container1&quot; &quot;[data]&quot;

ConsoleLog &quot;[data]&quot;
.CreateEmptyArray [arraydata]
.CreateEmptyObject [miobj]
.SetVar [arraydata] [data]
.SetVar [miobj] [data]


ParseJSON &quot;[data]&quot; [arraydata]
.ArrayLen [arraydata] [largo]
.ArrayLen [miobj] [totalRows]
.jsAlert &quot;[totalRows]&quot;
.SetVar [index] 0
.SetVar [myvar2] [arraydata(0)(&apos;TipoComprobante&apos;)]
.SetVar [var] [arraydata.TipoComprobante]
.SetVar [id] [arrayData([index]).id]

SetVar [myvar] [arraydata(0).nro_transaccion]
.ConsoleLog &quot;[myvar]&quot;
SetObjectHTML &quot;Container1&quot; &quot;[myvar]&quot;

.jsAlert &quot;[myvar]&quot;</Code>
					<Params>[data]|STRING|Data from server</Params>
				</Function>
				<Function name="parseData3">
					<Code>ConsoleLog [data]
CreateEmptyObject [users]
SetVar [users] [data]
SetVar [totalusers] [users.length]
SetVar [finalHTML] &quot;Total records: [totalusers]&lt;br&gt;&lt;br&gt;&quot;

Loop 0 ([totalusers]-1) [n]
  SetVar [finalHTML] &quot;[finalHTML][users([n])(0).Name]: [users([n])(0).Value]&lt;br&gt;&quot;
  SetVar [finalHTML] &quot;[finalHTML][users([n])(1).Name]: [users([n])(1).Value]&lt;br&gt;&quot;
  SetVar [finalHTML] &quot;[finalHTML][users([n])(2).Name]: [users([n])(2).Value]&lt;br&gt;&lt;br&gt;&quot;
EndLoop
SetObjectHTML &quot;Container1&quot; [finalHTML]</Code>
					<Params>[data]|STRING|Data from server</Params>
				</Function>
				<Function name="error">
					<Code>jsAlert &quot;Error: [data]&quot;</Code>
					<Params>[data]|STRING|Error message</Params>
				</Function>
			</Components>
		</FunctionList>
		<LibraryList name="Libraries"/>
		<PageList name="Main">
			<Components>
				<Page id="NewPage">
					<Components>
						<Container id="Container1">
							<left>208px</left>
							<top>216px</top>
							<width>432px</width>
							<height>136px</height>
							<style>background-color:#fff;border-style:solid;border-width:1px;padding-bottom:10px;padding-left:10px;padding-right:10px;padding-top:10px</style>
							<visible>False</visible>
							<html>[myvar]</html>
						</Container>
						<PushButton id="PushButton388">
							<left>64px</left>
							<top>176px</top>
							<width>104px</width>
							<height>48px</height>
							<caption>NeoAjax</caption>
							<click>.IsVarEmpty [Ventas1Total] [Ventas1Total_Estado]
.If [Ventas1Total_Estado] == false
   SetVar [Subtotal] 0
   SetVar [Subtotal_Tasa_Minima] 0
   SetVar [Subtotal_Iva_Cero] 0
   SetVar [Subtotal_Iva_Basico] 0
   SetVar [Total_Factura] 48

   SetVar [Tipo_Comprobante] 101
   SetVar [Rut] &quot;&quot;

   .Corrigiendo Fecha, cuando el valor tiene un solo digito
   SetVar [Mes] [NAB.MonthNum]
   StrLen &quot;[Mes]&quot; [mes_largo]
   If [mes_largo] == 1
      StrIns &quot;0&quot; &quot;[Mes]&quot; 0 [MesNuevo]
   else
     SetVar [MesNuevo] [NAB.MonthNum]
   endif

   SetVar [Dia] [NAB.DayNum]
   StrLen &quot;[Dia]&quot; [dia_largo]
   If [dia_largo] == 1
     StrIns &quot;0&quot; &quot;[Dia]&quot; 0 [DiaNuevo]
   else
     SetVar [DiaNuevo] [NAB.DayNum]
   endif
   SetVar [Fecha] &quot;[NAB.Year][MesNuevo][DiaNuevo]&quot;
   SetVar &quot;[Fecha2]&quot; &quot;[NAB.Year]-[MesNuevo]-[DiaNuevo]&quot;

   .Forma de Pago
   .Forma Pago : 1 (Contado)
   .Forma Pago : 2 (Credito)
   SetVar [Forma_Pago] 1

   SetVar [IdEmisor] &quot;1353755&quot;
   SetVar [Usuario] &quot;interfaz&quot;
   SetVar [Pass] &quot;03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4&quot;
   SetVar [Sucursal] 1

   .Tipo de Receptor
   .TipoDocRecep : 2 (RUT)
   .TipoDocRecep : 3 (CEDULA)
   .TipoDocRecep : 4 (OTROS)
   SetVar [TipoDocRecep] 3

   SetVar &quot;[Iva]&quot; &quot;3&quot;
   .Iva : 1 (EXCENTO)
   .Iva : 2 (IVA MINIMO)
   .Iva : 3 (IVA BASICO)


   CreateEmptyObject [mydata]
   SetVar [mydata.urlSoap] &quot;http://******&quot;
   SetVar [mydata.idEmisor] &quot;[IdEmisor]&quot;
   SetVar [mydata.codSucursal] &quot;[Sucursal]&quot;
   SetVar [mydata.tipoComprobante] &quot;[Tipo_Comprobante]&quot;
   SetVar [mydata.serie] &quot;A&quot;
   SetVar [mydata.numero] &quot;?&quot;
   SetVar [mydata.fechaEmision] &quot;[Fecha]&quot;
   SetVar [mydata.formaPago] &quot;[Forma_Pago]&quot;
   SetVar [mydata.usuario] &quot;[Usuario]&quot;
   SetVar [mydata.password] &quot;[Pass]&quot;

   SetVar [Dato] &quot;&lt;CFE&gt;&lt;DatosGenerales&gt;&lt;MntBruto&gt;1&lt;/MntBruto&gt;&lt;/DatosGenerales&gt;&lt;Receptor&gt;&lt;TipoDocRecep&gt;[TipoDocRecep]&lt;/TipoDocRecep&gt;&lt;CodPaisRecep&gt;UY&lt;/CodPaisRecep&gt;&lt;DocRecep&gt;&lt;/DocRecep&gt;&lt;RznSocRecep&gt;&lt;/RznSocRecep&gt;&lt;DirRecep&gt; &lt;/DirRecep&gt;&lt;CiudadRecep&gt;Salto&lt;/CiudadRecep&gt;&lt;DeptoRecep&gt;Salto&lt;/DeptoRecep&gt;&lt;/Receptor&gt;&lt;Detalle&gt;&quot;

   .Enviando Detalle de Articulos
   .Math &quot;[Array_Ventas1_Indice]-1&quot; -1 [Array_Ventas1_Indicee]
   SetVar [cont] 1

   SetVar [Articulo] &quot;Leche Claldy 1L&quot;
   SetVar [Subtotal] 48
   SetVar [Cantidad] 1
   SetVar [Precio_Unitario] 48
   SetVar [Iva_Porcentaje] 22
   .Loop 0 [Array_Ventas1_Indicee] [x]
      .neoTableGetData [ventas1] [x] &quot;articulos&quot; &quot;[Articulo]&quot;
      .neoTableGetData [ventas1] [x] &quot;subtotales&quot; &quot;[Subtotal]&quot;
      .neoTableGetData [ventas1] [x] &quot;cantidades&quot; &quot;[Cantidad]&quot;
      .neoTableGetData [ventas1] [x] &quot;precioscosto&quot; &quot;[Precio_Unitario]&quot;
      .neoTableGetData [ventas1] [x] &quot;ivas&quot; &quot;[Iva_Porcentaje]&quot;

      If [Iva_Porcentaje] == 22
        SetVar [Iva] 3
      endif
      If [Iva_Porcentaje] == 10
        SetVar [Iva] 2
      endif
      If [Iva_Porcentaje] == 0
        SetVar [Iva] 1
      endif
      
      SetVar [Subtotal2] &quot;[Subtotal].00&quot;
      SetVar [Subtotal] &quot;[Subtotal2]&quot;

      .Calculando suma de Ivas tasa Minima
      If [Iva] == 2
         Math &quot;[Subtotal_Tasa_Minima]+[Subtotal]&quot; -1 [Subtotal_Tasa_Minima]
      endif

      .Calculando suma de articulos con Ivas Excento
      If [Iva] == 1
         Math &quot;[Subtotal_Iva_Cero]+[Subtotal]&quot; -1 [Subtotal_Iva_Cero]
      endif

      .Calculando suma de articulos con Iva Basico
      If [Iva] == 3
        Math &quot;[Subtotal_Iva_Basico]+[Subtotal]&quot; -1 [Subtotal_Iva_Basico]
      endif

      StrLen &quot;[Dato]&quot; [Dato_Largo]
      StrIns &quot;&lt;Item&gt;&lt;NroLinDet&gt;[cont]&lt;/NroLinDet&gt;&lt;IndFact&gt;[Iva]&lt;/IndFact&gt;&lt;NomItem&gt;[Articulo]&lt;/NomItem&gt;&lt;DescItem&gt;&lt;/DescItem&gt;&lt;Cantidad&gt;[Cantidad]&lt;/Cantidad&gt;&lt;UniMed&gt;N/A&lt;/UniMed&gt;&lt;PrecioUnitario&gt;[Precio_Unitario]&lt;/PrecioUnitario&gt;&lt;MontoItem&gt;[Subtotal]&lt;/MontoItem&gt;&lt;DescuentoPct&gt;0.00&lt;/DescuentoPct&gt;&lt;DescuentoMonto&gt;0.00&lt;/DescuentoMonto&gt;&lt;RecargoPct&gt;0.00&lt;/RecargoPct&gt;&lt;RecargoMnt&gt;0.00&lt;/RecargoMnt&gt;&lt;/Item&gt;&quot; &quot;[Dato]&quot; [Dato_Largo] [Dato]

      .Math &quot;[cont]+1&quot; -1 [cont]
  .endloop

  StrLen &quot;[Dato]&quot; [Dato_Largo]
  StrIns &quot;&lt;/Detalle&gt;&lt;Totales&gt;&lt;TpoMoneda&gt;UYU&lt;/TpoMoneda&gt;&lt;CantLinDet&gt;1&lt;/CantLinDet&gt;&quot; &quot;[Dato]&quot; [Dato_Largo] [Dato]

  .Guardando MONTO NO GRABADO
  StrLen &quot;[Dato]&quot; [Dato_Largo]
  If [Subtotal_Iva_Cero] &gt; 0
     Math &quot;[Subtotal_Iva_Cero]+0&quot; 2 [Subtotal_Iva_Cero]
     StrIns &quot;&lt;MntNoGrv&gt;[Subtotal_Iva_Cero]&lt;/MntNoGrv&gt;&quot; &quot;[Dato]&quot; [Dato_Largo] [Dato]
  else
     StrIns &quot;&lt;MntNoGrv&gt;0.00&lt;/MntNoGrv&gt;&quot; &quot;[Dato]&quot; [Dato_Largo] [Dato]
  endif

  StrLen &quot;[Dato]&quot; [Dato_Largo]
  StrIns &quot;&lt;MntIvaenSusp&gt;0.00&lt;/MntIvaenSusp&gt;&quot; &quot;[Dato]&quot; [Dato_Largo] [Dato]
  

  .Enviando MONTO NETO TASA MINIMA
  StrLen &quot;[Dato]&quot; [Dato_Largo]
  If [Subtotal_Tasa_Minima] &gt; 0
     .Calcula el valor del articulo sin el IVA
     Math &quot;[Subtotal_Tasa_Minima]/1.10&quot; 2 [Monto_Neto_Iva_Tasa_Minima_2]
     .Calcula el IVA del Articulo
     Math &quot;[Subtotal_Tasa_Minima]-[Monto_Neto_Iva_Tasa_Minima_2]&quot; 2 [Iva_Tasa_Minima]
     StrIns &quot;&lt;MntNetoIvaTasaMin&gt;[Monto_Neto_Iva_Tasa_Minima_2]&lt;/MntNetoIvaTasaMin&gt;&quot; &quot;[Dato]&quot; [Dato_Largo] [Dato]
  else
     StrIns &quot;&lt;MntNetoIvaTasaMin&gt;0.00&lt;/MntNetoIvaTasaMin&gt;&quot; &quot;[Dato]&quot; [Dato_Largo] [Dato]
     SetVar [Iva_Tasa_Minima] &quot;0.00&quot;
  endif


  .Enviando MONTO NETO TASA BASICA
  StrLen &quot;[Dato]&quot; [Dato_Largo]
  If [Subtotal_Iva_Basico] &gt; 0
     .Calcula el Valor del Articulo sin el IVA
     Math &quot;[Subtotal_Iva_Basico]/1.22&quot; 2 [Monto_Neto_Iva_Tasa_Basica_2]
     .Calcula el Iva del Articulo
     Math &quot;[Subtotal_Iva_Basico]-[Monto_Neto_Iva_Tasa_Basica_2]&quot; 2 [Iva_Tasa_Basica]
     StrIns &quot;&lt;MntNetoIvaTasaBasica&gt;[Monto_Neto_Iva_Tasa_Basica_2]&lt;/MntNetoIvaTasaBasica&gt;&quot; &quot;[Dato]&quot; [Dato_Largo] [Dato]
  else
     StrIns &quot;&lt;MntNetoIvaTasaBasica&gt;0.00&lt;/MntNetoIvaTasaBasica&gt;&quot; &quot;[Dato]&quot; [Dato_Largo] [Dato]
     SetVar [Iva_Tasa_Basica] &quot;0.00&quot;
  endif



  Math &quot;[Total_Factura]/1.22&quot; 2 [Monto_Neto_Iva_Tasa_Basica]
  Math &quot;[Total_Factura]-[Monto_Neto_Iva_Tasa_Basica]&quot; 2 [MntIVATasaBasica]

  StrLen &quot;[Dato]&quot; [Dato_Largo]
  StrIns &quot;&lt;IVATasaMin&gt;10&lt;/IVATasaMin&gt;&lt;IVATasaBasica&gt;22&lt;/IVATasaBasica&gt;&lt;MntIVATasaMin&gt;[Iva_Tasa_Minima]&lt;/MntIVATasaMin&gt;&lt;MntIVATasaBasica&gt;[Iva_Tasa_Basica]&lt;/MntIVATasaBasica&gt;&lt;MntTotal&gt;[Total_Factura]&lt;/MntTotal&gt;&lt;MontoNF&gt;0.00&lt;/MontoNF&gt;&lt;MntPagar&gt;[Total_Factura]&lt;/MntPagar&gt;&lt;/Totales&gt;&lt;Adenda&gt;&lt;/Adenda&gt;&lt;/CFE&gt;&quot; &quot;[Dato]&quot; [Dato_Largo] [Dato]


  .SetVar [archivo] &apos;[archivo]]]&gt;\r\n&apos;
  


  SetVar [mydata.xmlData] &quot;[Dato]&quot;
   .SetVar [mydata.xmlData] &quot;&lt;CFE&gt;&lt;DatosGenerales&gt;&lt;MntBruto&gt;1&lt;/MntBruto&gt;&lt;/DatosGenerales&gt;&lt;Receptor&gt;&lt;TipoDocRecep&gt;3&lt;/TipoDocRecep&gt;&lt;CodPaisRecep&gt;UY&lt;/CodPaisRecep&gt;&lt;DocRecep&gt;&lt;/DocRecep&gt;&lt;RznSocRecep&gt;&lt;/RznSocRecep&gt;&lt;DirRecep&gt; &lt;/DirRecep&gt;&lt;CiudadRecep&gt;Salto&lt;/CiudadRecep&gt;&lt;DeptoRecep&gt;Salto&lt;/DeptoRecep&gt;&lt;/Receptor&gt;&lt;Detalle&gt;&lt;Item&gt;&quot;

   neoAjaxSend &quot;https://aplicacionesuy.com/ajax/******&quot; &quot;POST&quot; &quot;[mydata]&quot; &quot;json&quot; &quot;parseData2&quot; &quot;error&quot;
   .neoAjaxSend &quot;http://localhost/******&quot; &quot;POST&quot; &quot;[mydata]&quot; &quot;json&quot; &quot;parseData2&quot; &quot;error&quot;
   VarToLocalFile [Dato] &quot;prueba.txt&quot;
.endif</click>
						</PushButton>
						<Headline id="Headline1">
							<left>256px</left>
							<top>16px</top>
							<width>368px</width>
							<height>168px</height>
							<style>font-size:12pt</style>
							<text>Uso Parse Json con los datos que recibdo de la consulta y luego aplico la siguiente linea para tratar de obtener una de las propiedades:&lt;br&gt;&lt;br&gt;[arraydata(0).nro_transaccion]&quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;</text>
						</Headline>
					</Components>
				</Page>
			</Components>
		</PageList>
		<PageList name="Master">
			<Components>
				<Page id="MasterPage"/>
			</Components>
		</PageList>
		<PageList name="Dialog">
			<Components>
				<Page id="NewDialog">
					<Components>
						<DialogContainer id="DialogContainer1">
							<left>0px</left>
							<top>0px</top>
							<width>667px</width>
							<height>375px</height>
							<close_button>False</close_button>
							<kind>custom</kind>
						</DialogContainer>
					</Components>
				</Page>
			</Components>
		</PageList>
	</Components>
</Application>
