"use client" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import type { InfoTributaria } from "@/types/factura" import { useConfiguracionesTributarias } from '@/hooks/useConfiguracionesTributarias' import { Button } from "@/components/ui/button" import { ExternalLink } from 'lucide-react' interface InfoTributariaFormProps { infoTributaria: InfoTributaria onChange: (field: keyof InfoTributaria, value: string) => void } export function InfoTributariaForm({ infoTributaria, onChange }: InfoTributariaFormProps) { const { configuraciones } = useConfiguracionesTributarias() const loadConfiguracion = (config: any) => { onChange('ambiente', config.ambiente) onChange('tipoEmision', config.tipoEmision) onChange('razonSocial', config.razonSocial) onChange('nombreComercial', config.nombreComercial) onChange('ruc', config.ruc) onChange('dirMatriz', config.dirMatriz) onChange('estab', config.estab) onChange('ptoEmi', config.ptoEmi) onChange('secuencial', config.secuencial) // Nota: claveAcceso no se guarda en la base de datos por seguridad } return (
Información Tributaria Datos del emisor de la factura
{configuraciones.length > 0 && (
)}
onChange('ruc', e.target.value)} placeholder="13 dígitos" maxLength={13} />
onChange('razonSocial', e.target.value)} placeholder="Empresa S.A." />
onChange('nombreComercial', e.target.value)} placeholder="Nombre Comercial" />
onChange('claveAcceso', e.target.value)} placeholder="49 dígitos" maxLength={49} />
onChange('estab', e.target.value)} placeholder="001" maxLength={3} />
onChange('ptoEmi', e.target.value)} placeholder="001" maxLength={3} />
onChange('secuencial', e.target.value)} placeholder="000000001" maxLength={9} />
onChange('dirMatriz', e.target.value)} placeholder="Av. Principal 123 y Secundaria" />
) }