quiero saber si esta instruccionn es correcta no se mucho de programacion

137 views
Skip to first unread message

ardie...@gmail.com

unread,
Sep 19, 2025, 11:56:51 AM (5 days ago) Sep 19
to Comunidad de Visual Foxpro en Español
ldDesde = IIF(EMPTY(thisform.dtpDesde.Value), , thisform.dtpDesde.Value)

o en que parte esta mi error

Antonio Meza

unread,
Sep 19, 2025, 12:28:58 PM (5 days ago) Sep 19
to Comunidad de Visual Foxpro en Español
Te hace falta indicar que valor quieres devolver si esta vacio el Value del objeto dtpDesde

IIF( condicion, valor1, valor2 )

ldDesde = IIF( EMPTY(thisform.dtpDesde.Value), "Esta vacio" , thisform.dtpDesde.Value)

saludos

Oscar Bonet

unread,
Sep 19, 2025, 4:17:18 PM (5 days ago) Sep 19
to Comunidad de Visual Foxpro en Español
primero es necesario conocer el mensaje de error te arroja el sistema.
Tambien cabe la posibilidad que el objeto al cual haces referencia no exista o que el contenido de la variable a evaluar no se la esperada.

Juan Gonzalez

unread,
Sep 19, 2025, 4:19:34 PM (5 days ago) Sep 19
to publice...@googlegroups.com
ldDesde = IIF(EMPTY(thisform.dtpDesde.Value), .NULL., thisform.dtpDesde.Value)

  O si prefieres dejarlo como una fecha mínima o una fecha por defecto, podrías hacer:

ldDesde = IIF(EMPTY(thisform.dtpDesde.Value), {^1900-01-01}, thisform.dtpDesde.Value)  

Libre de virus.www.avast.com


PBX: (+57) 601 4187884 
Móvil: (+57) 3156497484, 3182932952 y 3182954688



Para recepción de facturas electrónicas de proveedores enviar al correo electrónicoe-fac...@cialta.com
Para el envío de notificaciones de aceptación o rechazos de facturas emitidas por Cialta, enviar al correo electrónico: facturas...@cialta.com 


INFORMACION IMPORTANTE PARA CLIENTES Y PROVEEDORES - GRANDES CONTRIBUYENTE DISTRITALES:
LA COMPAÑIA INTERNACIONAL DE ALIMENTOS AGROPECUARIOS CIALTA S.A.S. con Nit.830046757-6 informamos que según la resolución No.DDI-023769 del 29 de noviembre del 2021 que hemos sido calificados como GRANDES CONTRIBUYENTES DISTRITALES a partir del 1 de enero de 2022. 

FACTURACION ELECTRONICA:
De conformidad con el decreto 2242 de Noviembre de 2015, nuestra Compañía implementó la Facturación Electrónica y según comunicado 100202211-410 del 29 de Junio de 2018 emitido por la DIAN, inició a partir del 1 de diciembre de 2018 para la emisión de la factura electrónica; en consecuencia, hemos destinado la cuenta de correo electrónico: e-fac...@cialta.com para recepción y emisión de facturas electrónicas.


HABEAS DATA - PROTECCION DE DATOS PERSONALES
Habeas Data: La Compañía Internacional de Alimentos Agropecuarios CIALTA S.A.S. cumple con los requerimientos de la Superintendencia de Industria y Comercio de Colombia sobre el manejo de información de datos personales, lo cual implica tener políticas claras de tratamiento de Base de Datos que usted puede consultar haciendo clic en: Políticas Habeas Data
Si desea tener más información sobre el particular, puede escribirnos al correo habea...@cialta.com


--
Blog de la Comunidad Visual FoxPro en Español http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver este debate, visita https://groups.google.com/d/msgid/publicesvfoxpro/0a794215-61ec-4037-bc4b-939e6018b91en%40googlegroups.com.

INTERNATIONAL SOFTWARE SYSTEMS - INSYSOFT

unread,
Sep 19, 2025, 4:40:57 PM (5 days ago) Sep 19
to publice...@googlegroups.com
Verifique dejando una sola i al if, osea no IIF sino solo IF


iamrdb

unread,
Sep 19, 2025, 4:49:17 PM (5 days ago) Sep 19
to publicesvfoxpro

Victor Espina

unread,
Sep 19, 2025, 5:22:24 PM (5 days ago) Sep 19
to Comunidad de Visual Foxpro en Español
El error esta en que el IIF se espera que devuelva un valor tipo fecha en cualquier caso.  En tu codigo, si THISFORM.dtpDesde.Value esta vacio el IIF devolvera un valor boolean (.F.), ya que cuando no se indica un valor a devolver en alguna parte del IIF, se asume .F..   La forma correcta seria:

ldDesde = IIF(EMPTY(thisform.dtpDesde.Value), {//} , thisform.dtpDesde.Value)

Ahora, dado que no estas aplicando ninguna transformacion al valor de dtpDesde.Value se asume que contiene un valor tipo fecha, incluso si esta vacio por lo que, en realidad, tu linea deberia ser simplemente:

ldDesde = THISFORM.dtpDesde.Value


Saludos

Victor Espina

Comunidad de Visual Foxpro en Español

unread,
Sep 21, 2025, 8:18:51 PM (3 days ago) Sep 21
to Comunidad de Visual Foxpro en Español
Puede ser que el control se base en que si la Fecha Desde está vacia o no se cargó, tome por defecto el 1er día del mes actual:

ldDesde = IIF(EMPTY(thisform.dtpDesde.Value), DATE(YEAR(DATE()), MONTH(DATE()), 1) , thisform.dtpDesde.Value)

o 1er día del año actual:

ldDesde = IIF(EMPTY(thisform.dtpDesde.Value), DATE(YEAR(DATE()), 1, 1) , thisform.dtpDesde.Value)

 --

Luis María Guayán
YB (TUC) Argentina
_______________________________


Comunidad Visual FoxPro en Español
http://comunidadvfp.blogspot.com

Reply all
Reply to author
Forward
0 new messages