Presupuestos de cliente: Generación en formato Word del informe.

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@250 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
David Arranz 2008-02-06 14:28:09 +00:00
parent 17619a4863
commit 0a963e0c06
34 changed files with 4712 additions and 1720 deletions

View File

@ -53,56 +53,56 @@
<DelphiCompile Include="Base.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\Modulos\Albaranes de cliente\adortl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\cxExportD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\cxExtEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\cxGridD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\cxIntl6D11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\cxIntlPrintSys3D11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\cxPageControlD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\dclIndyCore.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\designide.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\dsnap.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\dxPSCoreD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\GUISDK_D11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\IndyCore.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\IndyProtocols.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\IndySystem.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Jcl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JclVcl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JSDialog100.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JvCmpD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JvCoreD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JvDlgsD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JvMMD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JvNetD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JvPageCompsD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\JvSystemD11R.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\pckMD5.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\pckUCDataConnector.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\pckUserControl_RT.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\rtl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\TB2k_D10.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\tbx_d10.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\vcl.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\vcldb.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\VclSmp.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\vclx.dcp" />
<DCCReference Include="..\Modulos\Albaranes de cliente\xmlrtl.dcp" />
<DCCReference Include="adortl.dcp" />
<DCCReference Include="cxDataD11.dcp" />
<DCCReference Include="cxEditorsD11.dcp" />
<DCCReference Include="cxExportD11.dcp" />
<DCCReference Include="cxExtEditorsD11.dcp" />
<DCCReference Include="cxGridD11.dcp" />
<DCCReference Include="cxIntl6D11.dcp" />
<DCCReference Include="cxIntlPrintSys3D11.dcp" />
<DCCReference Include="cxLibraryD11.dcp" />
<DCCReference Include="cxPageControlD11.dcp" />
<DCCReference Include="DataAbstract_Core_D11.dcp" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dclIndyCore.dcp" />
<DCCReference Include="designide.dcp" />
<DCCReference Include="dsnap.dcp" />
<DCCReference Include="dxGDIPlusD11.dcp" />
<DCCReference Include="dxPSCoreD11.dcp" />
<DCCReference Include="dxThemeD11.dcp" />
<DCCReference Include="GUISDK_D11.dcp" />
<DCCReference Include="IndyCore.dcp" />
<DCCReference Include="IndyProtocols.dcp" />
<DCCReference Include="IndySystem.dcp" />
<DCCReference Include="Jcl.dcp" />
<DCCReference Include="JclVcl.dcp" />
<DCCReference Include="JSDialog100.dcp" />
<DCCReference Include="JvCmpD11R.dcp" />
<DCCReference Include="JvCoreD11R.dcp" />
<DCCReference Include="JvCtrlsD11R.dcp" />
<DCCReference Include="JvDlgsD11R.dcp" />
<DCCReference Include="JvMMD11R.dcp" />
<DCCReference Include="JvNetD11R.dcp" />
<DCCReference Include="JvPageCompsD11R.dcp" />
<DCCReference Include="JvStdCtrlsD11R.dcp" />
<DCCReference Include="JvSystemD11R.dcp" />
<DCCReference Include="pckMD5.dcp" />
<DCCReference Include="pckUCDataConnector.dcp" />
<DCCReference Include="pckUserControl_RT.dcp" />
<DCCReference Include="PngComponentsD10.dcp" />
<DCCReference Include="PNG_D10.dcp" />
<DCCReference Include="RemObjects_Core_D11.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="TB2k_D10.dcp" />
<DCCReference Include="tbx_d10.dcp" />
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vclactnband.dcp" />
<DCCReference Include="vcldb.dcp" />
<DCCReference Include="vcljpg.dcp" />
<DCCReference Include="VclSmp.dcp" />
<DCCReference Include="vclx.dcp" />
<DCCReference Include="xmlrtl.dcp" />
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="Conexion\uConfigurarConexion.pas">
<Form>fConfigurarConexion</Form>
@ -127,10 +127,53 @@
<Form>dmBase</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="Utiles\adortl.dcp" />
<DCCReference Include="Utiles\ClassRegistry\uClassRegistryUtils.pas" />
<DCCReference Include="Utiles\ClassRegistry\uEditorRegistryUtils.pas" />
<DCCReference Include="Utiles\ClassRegistry\uInformeRegistryUtils.pas" />
<DCCReference Include="Utiles\ClassRegistry\uViewRegistryUtils.pas" />
<DCCReference Include="Utiles\cxDataD11.dcp" />
<DCCReference Include="Utiles\cxEditorsD11.dcp" />
<DCCReference Include="Utiles\cxExportD11.dcp" />
<DCCReference Include="Utiles\cxExtEditorsD11.dcp" />
<DCCReference Include="Utiles\cxGridD11.dcp" />
<DCCReference Include="Utiles\cxIntl6D11.dcp" />
<DCCReference Include="Utiles\cxIntlPrintSys3D11.dcp" />
<DCCReference Include="Utiles\cxLibraryD11.dcp" />
<DCCReference Include="Utiles\cxPageControlD11.dcp" />
<DCCReference Include="Utiles\DataAbstract_Core_D11.dcp" />
<DCCReference Include="Utiles\dbrtl.dcp" />
<DCCReference Include="Utiles\dclIndyCore.dcp" />
<DCCReference Include="Utiles\designide.dcp" />
<DCCReference Include="Utiles\dsnap.dcp" />
<DCCReference Include="Utiles\dxGDIPlusD11.dcp" />
<DCCReference Include="Utiles\dxPSCoreD11.dcp" />
<DCCReference Include="Utiles\dxThemeD11.dcp" />
<DCCReference Include="Utiles\GUISDK_D11.dcp" />
<DCCReference Include="Utiles\IndyCore.dcp" />
<DCCReference Include="Utiles\IndyProtocols.dcp" />
<DCCReference Include="Utiles\IndySystem.dcp" />
<DCCReference Include="Utiles\Jcl.dcp" />
<DCCReference Include="Utiles\JclVcl.dcp" />
<DCCReference Include="Utiles\JSDialog100.dcp" />
<DCCReference Include="Utiles\JvCmpD11R.dcp" />
<DCCReference Include="Utiles\JvCoreD11R.dcp" />
<DCCReference Include="Utiles\JvCtrlsD11R.dcp" />
<DCCReference Include="Utiles\JvDlgsD11R.dcp" />
<DCCReference Include="Utiles\JvMMD11R.dcp" />
<DCCReference Include="Utiles\JvNetD11R.dcp" />
<DCCReference Include="Utiles\JvPageCompsD11R.dcp" />
<DCCReference Include="Utiles\JvStdCtrlsD11R.dcp" />
<DCCReference Include="Utiles\JvSystemD11R.dcp" />
<DCCReference Include="Utiles\pckMD5.dcp" />
<DCCReference Include="Utiles\pckUCDataConnector.dcp" />
<DCCReference Include="Utiles\pckUserControl_RT.dcp" />
<DCCReference Include="Utiles\PngComponentsD10.dcp" />
<DCCReference Include="Utiles\PNG_D10.dcp" />
<DCCReference Include="Utiles\RemObjects_Core_D11.dcp" />
<DCCReference Include="Utiles\rtl.dcp" />
<DCCReference Include="Utiles\TB2k_D10.dcp" />
<DCCReference Include="Utiles\tbx_d10.dcp" />
<DCCReference Include="Utiles\uCalculosUtils.pas" />
<DCCReference Include="Utiles\uDataTableUtils.pas" />
<DCCReference Include="Utiles\uDateUtils.pas" />
@ -146,486 +189,3 @@
<DCCReference Include="Utiles\uStringsUtils.pas" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6011
Activate=0
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=60
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=2
Errors Number=32
Errors Terminate=3
Email Address=
Email Object=
Email Send Options=0
Output Path=
Encrypt Password=
AutoCloseDialogSecs=0
WebSendMode=0
SupportULR=
HTMLLayout Count=15
HTMLLine0="%3Chtml%3E"
HTMLLine1=" %3Chead%3E"
HTMLLine2=" %3C/head%3E"
HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E"
HTMLLine4=" %3Ctable width="100%%" border="0"%3E"
HTMLLine5=" %3Ctr%3E"
HTMLLine6=" %3Ctd nowrap%3E"
HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E"
HTMLLine8=" %3C%%HTML_TAG%%%3E"
HTMLLine9=" %3C/font%3E"
HTMLLine10=" %3C/td%3E"
HTMLLine11=" %3C/tr%3E"
HTMLLine12=" %3C/table%3E"
HTMLLine13=" %3C/body%3E"
HTMLLine14="%3C/html%3E"
AutoCrashOperation=2
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
ProxyURL=
ProxyUser=
ProxyPassword=
ProxyPort=8080
TrakerUser=
TrakerPassword=
TrakerAssignTo=
TrakerProject=
TrakerCategory=
TrakerTrialID=
ZipPassword=
PreBuildEvent=
PostSuccessfulBuildEvent=
PostFailureBuildEvent=
ExceptionDialogType=2
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesAndProcessesSections=1
loSaveAssemblerAndCPUSections=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soAppUpTime=1
soExcDate=1
soExcAddress=1
soExcModuleName=1
soExcModuleVersion=1
soExcType=1
soExcMessage=1
soExcID=1
soExcCount=1
soExcStatus=1
soExcNote=1
soUserID=1
soUserName=1
soUserEmail=1
soUserPrivileges=1
soUserCompany=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soCmpDisplayDPI=1
soCmpVideoCard=1
soCmpPrinter=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soOSCharset=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
soCustomData=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=1
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=0
edoShowSendErrorReportOption=1
edoShowAttachScreenshotOption=1
edoShowCustomButton=0
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoDoNotStoreProcNames=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
boHandleSafeCallExceptions=1
boCallRTLExceptionEvent=0
boCatchHandledExceptions=0
loCatchLeaks=0
loGroupsSonLeaks=1
loHideBorlandLeaks=1
loFreeAllLeaks=1
loCatchLeaksExceptions=1
cfoReduceFileSize=1
cfoCheckFileCorruption=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtErrorMsgCaption=1
mtErrorMsgCaption0="Error."
Count mtDialog_Caption=1
mtDialog_Caption0="Error occurred"
Count mtDialog_ErrorMsgCaption=2
mtDialog_ErrorMsgCaption0="An error has occurred during program execution."
mtDialog_ErrorMsgCaption1="Please read the following information for further details."
Count mtDialog_GeneralCaption=1
mtDialog_GeneralCaption0="General"
Count mtDialog_GeneralHeader=1
mtDialog_GeneralHeader0="General Information"
Count mtDialog_CallStackCaption=1
mtDialog_CallStackCaption0="Call Stack"
Count mtDialog_CallStackHeader=1
mtDialog_CallStackHeader0="Call Stack Information"
Count mtDialog_ModulesCaption=1
mtDialog_ModulesCaption0="Modules"
Count mtDialog_ModulesHeader=1
mtDialog_ModulesHeader0="Modules Information"
Count mtDialog_ProcessesCaption=1
mtDialog_ProcessesCaption0="Processes"
Count mtDialog_ProcessesHeader=1
mtDialog_ProcessesHeader0="Processes Information"
Count mtDialog_AsmCaption=1
mtDialog_AsmCaption0="Assembler"
Count mtDialog_AsmHeader=1
mtDialog_AsmHeader0="Assembler Information"
Count mtDialog_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_OKButtonCaption=1
mtDialog_OKButtonCaption0="%26OK"
Count mtDialog_TerminateButtonCaption=1
mtDialog_TerminateButtonCaption0="%26Terminate"
Count mtDialog_RestartButtonCaption=1
mtDialog_RestartButtonCaption0="%26Restart"
Count mtDialog_DetailsButtonCaption=1
mtDialog_DetailsButtonCaption0="%26Details"
Count mtDialog_CustomButtonCaption=1
mtDialog_CustomButtonCaption0="%26Help"
Count mtDialog_SendMessage=1
mtDialog_SendMessage0="%26Send this error via Internet"
Count mtDialog_ScreenshotMessage=1
mtDialog_ScreenshotMessage0="%26Attach a Screenshot image"
Count mtDialog_CopyMessage=1
mtDialog_CopyMessage0="%26Copy to Clipboard"
Count mtDialog_SupportMessage=1
mtDialog_SupportMessage0="Go to the Support Page"
Count mtMSDialog_ErrorMsgCaption=1
mtMSDialog_ErrorMsgCaption0="The application has encountered a problem. We are sorry for the inconvenience."
Count mtMSDialog_RestartCaption=1
mtMSDialog_RestartCaption0="Restart application."
Count mtMSDialog_TerminateCaption=1
mtMSDialog_TerminateCaption0="Terminate application."
Count mtMSDialog_PleaseCaption=1
mtMSDialog_PleaseCaption0="Please tell us about this problem."
Count mtMSDialog_DescriptionCaption=1
mtMSDialog_DescriptionCaption0="We have created an error report that you can send to us. We will treat this report as confidential and anonymous."
Count mtMSDialog_SeeDetailsCaption=1
mtMSDialog_SeeDetailsCaption0="To see what data the error report contains,"
Count mtMSDialog_SeeClickCaption=1
mtMSDialog_SeeClickCaption0="click here."
Count mtMSDialog_HowToReproduceCaption=1
mtMSDialog_HowToReproduceCaption0="What were you doing when the problem happended (optional)?"
Count mtMSDialog_EmailCaption=1
mtMSDialog_EmailCaption0="Email address (optional):"
Count mtMSDialog_SendButtonCaption=1
mtMSDialog_SendButtonCaption0="%26Send Error Report"
Count mtMSDialog_NoSendButtonCaption=1
mtMSDialog_NoSendButtonCaption0="%26Don't Send"
Count mtLog_AppHeader=1
mtLog_AppHeader0="Application"
Count mtLog_AppStartDate=1
mtLog_AppStartDate0="Start Date"
Count mtLog_AppName=1
mtLog_AppName0="Name/Description"
Count mtLog_AppVersionNumber=1
mtLog_AppVersionNumber0="Version Number"
Count mtLog_AppParameters=1
mtLog_AppParameters0="Parameters"
Count mtLog_AppCompilationDate=1
mtLog_AppCompilationDate0="Compilation Date"
Count mtLog_AppUpTime=1
mtLog_AppUpTime0="Up Time"
Count mtLog_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModuleName=1
mtLog_ExcModuleName0="Module Name"
Count mtLog_ExcModuleVersion=1
mtLog_ExcModuleVersion0="Module Version"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
Count mtLog_ExcID=1
mtLog_ExcID0="ID"
Count mtLog_ExcCount=1
mtLog_ExcCount0="Count"
Count mtLog_ExcStatus=1
mtLog_ExcStatus0="Status"
Count mtLog_ExcNote=1
mtLog_ExcNote0="Note"
Count mtLog_UserHeader=1
mtLog_UserHeader0="User"
Count mtLog_UserID=1
mtLog_UserID0="ID"
Count mtLog_UserName=1
mtLog_UserName0="Name"
Count mtLog_UserEmail=1
mtLog_UserEmail0="Email"
Count mtLog_UserCompany=1
mtLog_UserCompany0="Company"
Count mtLog_UserPrivileges=1
mtLog_UserPrivileges0="Privileges"
Count mtLog_ActCtrlsHeader=1
mtLog_ActCtrlsHeader0="Active Controls"
Count mtLog_ActCtrlsFormClass=1
mtLog_ActCtrlsFormClass0="Form Class"
Count mtLog_ActCtrlsFormText=1
mtLog_ActCtrlsFormText0="Form Text"
Count mtLog_ActCtrlsControlClass=1
mtLog_ActCtrlsControlClass0="Control Class"
Count mtLog_ActCtrlsControlText=1
mtLog_ActCtrlsControlText0="Control Text"
Count mtLog_CmpHeader=1
mtLog_CmpHeader0="Computer"
Count mtLog_CmpName=1
mtLog_CmpName0="Name"
Count mtLog_CmpTotalMemory=1
mtLog_CmpTotalMemory0="Total Memory"
Count mtLog_CmpFreeMemory=1
mtLog_CmpFreeMemory0="Free Memory"
Count mtLog_CmpTotalDisk=1
mtLog_CmpTotalDisk0="Total Disk"
Count mtLog_CmpFreeDisk=1
mtLog_CmpFreeDisk0="Free Disk"
Count mtLog_CmpSystemUpTime=1
mtLog_CmpSystemUpTime0="System Up Time"
Count mtLog_CmpProcessor=1
mtLog_CmpProcessor0="Processor"
Count mtLog_CmpDisplayMode=1
mtLog_CmpDisplayMode0="Display Mode"
Count mtLog_CmpDisplayDPI=1
mtLog_CmpDisplayDPI0="Display DPI"
Count mtLog_CmpVideoCard=1
mtLog_CmpVideoCard0="Video Card"
Count mtLog_CmpPrinter=1
mtLog_CmpPrinter0="Printer"
Count mtLog_OSHeader=1
mtLog_OSHeader0="Operating System"
Count mtLog_OSType=1
mtLog_OSType0="Type"
Count mtLog_OSBuildN=1
mtLog_OSBuildN0="Build #"
Count mtLog_OSUpdate=1
mtLog_OSUpdate0="Update"
Count mtLog_OSLanguage=1
mtLog_OSLanguage0="Language"
Count mtLog_OSCharset=1
mtLog_OSCharset0="Charset"
Count mtLog_NetHeader=1
mtLog_NetHeader0="Network"
Count mtLog_NetIP=1
mtLog_NetIP0="IP Address"
Count mtLog_NetSubmask=1
mtLog_NetSubmask0="Submask"
Count mtLog_NetGateway=1
mtLog_NetGateway0="Gateway"
Count mtLog_NetDNS1=1
mtLog_NetDNS10="DNS 1"
Count mtLog_NetDNS2=1
mtLog_NetDNS20="DNS 2"
Count mtLog_NetDHCP=1
mtLog_NetDHCP0="DHCP"
Count mtLog_CustInfoHeader=1
mtLog_CustInfoHeader0="Custom Information"
Count mtCallStack_Address=1
mtCallStack_Address0="Address"
Count mtCallStack_Name=1
mtCallStack_Name0="Module"
Count mtCallStack_Unit=1
mtCallStack_Unit0="Unit"
Count mtCallStack_Class=1
mtCallStack_Class0="Class"
Count mtCallStack_Procedure=1
mtCallStack_Procedure0="Procedure/Method"
Count mtCallStack_Line=1
mtCallStack_Line0="Line"
Count mtCallStack_MainThread=1
mtCallStack_MainThread0="Main"
Count mtCallStack_ExceptionThread=1
mtCallStack_ExceptionThread0="Exception Thread"
Count mtCallStack_RunningThread=1
mtCallStack_RunningThread0="Running Thread"
Count mtCallStack_CallingThread=1
mtCallStack_CallingThread0="Calling Thread"
Count mtCallStack_ThreadID=1
mtCallStack_ThreadID0="ID"
Count mtCallStack_ThreadPriority=1
mtCallStack_ThreadPriority0="Priority"
Count mtCallStack_ThreadClass=1
mtCallStack_ThreadClass0="Class"
Count mtCallStack_LeakCaption=1
mtCallStack_LeakCaption0="Memory Leak"
Count mtCallStack_LeakData=1
mtCallStack_LeakData0="Data"
Count mtCallStack_LeakType=1
mtCallStack_LeakType0="Type"
Count mtCallStack_LeakSize=1
mtCallStack_LeakSize0="Total size"
Count mtCallStack_LeakCount=1
mtCallStack_LeakCount0="Count"
Count mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
Count mtSendDialog_Login=1
mtSendDialog_Login0="Login..."
Count mtSendDialog_Connecting=1
mtSendDialog_Connecting0="Connecting with server..."
Count mtSendDialog_Connected=1
mtSendDialog_Connected0="Connected with server."
Count mtSendDialog_Sending=1
mtSendDialog_Sending0="Sending message..."
Count mtSendDialog_Sent=1
mtSendDialog_Sent0="Message sent."
Count mtSendDialog_SelectProject=1
mtSendDialog_SelectProject0="Select project..."
Count mtSendDialog_Searching=1
mtSendDialog_Searching0="Searching..."
Count mtSendDialog_Modifying=1
mtSendDialog_Modifying0="Modifying..."
Count mtSendDialog_Disconnecting=1
mtSendDialog_Disconnecting0="Disconnecting..."
Count mtSendDialog_Disconnected=1
mtSendDialog_Disconnected0="Disconnected."
Count mtReproduceDialog_Caption=1
mtReproduceDialog_Caption0="Request"
Count mtReproduceDialog_Request=1
mtReproduceDialog_Request0="Please describe the steps to reproduce the error:"
Count mtReproduceDialog_OKButtonCaption=1
mtReproduceDialog_OKButtonCaption0="%26OK"
Count mtModules_Handle=1
mtModules_Handle0="Handle"
Count mtModules_Name=1
mtModules_Name0="Name"
Count mtModules_Description=1
mtModules_Description0="Description"
Count mtModules_Version=1
mtModules_Version0="Version"
Count mtModules_Size=1
mtModules_Size0="Size"
Count mtModules_LastModified=1
mtModules_LastModified0="Modified"
Count mtModules_Path=1
mtModules_Path0="Path"
Count mtProcesses_ID=1
mtProcesses_ID0="ID"
Count mtProcesses_Name=1
mtProcesses_Name0="Name"
Count mtProcesses_Description=1
mtProcesses_Description0="Description"
Count mtProcesses_Version=1
mtProcesses_Version0="Version"
Count mtProcesses_Memory=1
mtProcesses_Memory0="Memory"
Count mtProcesses_Priority=1
mtProcesses_Priority0="Priority"
Count mtProcesses_Threads=1
mtProcesses_Threads0="Threads"
Count mtProcesses_Path=1
mtProcesses_Path0="Path"
Count mtCPU_Registers=1
mtCPU_Registers0="Registers"
Count mtCPU_Stack=1
mtCPU_Stack0="Stack"
Count mtCPU_MemoryDump=1
mtCPU_MemoryDump0="Memory Dump"
Count mtSend_SuccessMsg=1
mtSend_SuccessMsg0="The message was sent successfully."
Count mtSend_FailureMsg=1
mtSend_FailureMsg0="Sorry, sending the message didn't work."
Count mtSend_BugClosedMsg=2
mtSend_BugClosedMsg0="These BUG is just closed."
mtSend_BugClosedMsg1="Contact the program support to obtain an update."
Count mtSend_UnknownErrorMsg=1
mtSend_UnknownErrorMsg0="Unknown error."
Count mtSend_InvalidLoginMsg=1
mtSend_InvalidLoginMsg0="Invalid login request."
Count mtSend_InvalidSearchMsg=1
mtSend_InvalidSearchMsg0="Invalid search request."
Count mtSend_InvalidSelectionMsg=1
mtSend_InvalidSelectionMsg0="Invalid selection request."
Count mtSend_InvalidInsertMsg=1
mtSend_InvalidInsertMsg0="Invalid insert request."
Count mtSend_InvalidModifyMsg=1
mtSend_InvalidModifyMsg0="Invalid modify request."
Count mtFileCrackedMsg=2
mtFileCrackedMsg0="This file is cracked."
mtFileCrackedMsg1="The application will be closed."
Count mtException_LeakMultiFree=1
mtException_LeakMultiFree0="Multi Free memory leak."
Count mtException_LeakMemoryOverrun=1
mtException_LeakMemoryOverrun0="Memory Overrun leak."
Count mtException_AntiFreeze=1
mtException_AntiFreeze0="The application seems to be frozen."
Count mtInvalidEmailMsg=1
mtInvalidEmailMsg0="Invalid email."
TextsCollection=
EurekaLog Last Line -->

View File

@ -32,7 +32,7 @@ function DarFicheroTemporal : String;
function DarFicheroJPGTemporal : String;
function DarFicheroBMPTemporal : String;
function DarFicheroTIFFTemporal : String;
function DarFicheroExportar (var Fichero : String) : Boolean;
function DarFicheroWordExportar (var Fichero : String) : Boolean;
function DarVersionFichero (Executable : String) : String;
function DarFechaFichero (Executable : String) : String;
procedure CopiarFichero(const Origen, Destino: string);
@ -127,7 +127,7 @@ begin
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'jpg';
end;
function DarFicheroExportar (var Fichero : String) : Boolean;
function DarFicheroWordExportar (var Fichero : String) : Boolean;
var
DialogoSalvar : TSaveDialog;
begin

View File

@ -7,10 +7,16 @@ uses
procedure StringToStrings(Source:string; Delimiter:char; Target:TStrings);
function StringsToString(Source:TStrings; Delimiter:char):string;
function EsCadenaVacia(const S: AnsiString): Boolean; overload;
function EsCadenaVacia(const S: Variant): Boolean; overload;
function EsNumerico(Cadena: String) : Boolean;
implementation
uses
Variants, SysUtils;
{ Convierte una cadena con items separados con un delimitador en un TString }
procedure StringToStrings(Source:string; Delimiter:char; Target:TStrings);
var i: integer;
@ -30,4 +36,27 @@ begin
if Result<>'' then Delete(Result, 1, 1)
end;
function EsCadenaVacia(const S: AnsiString): Boolean;
begin
Result := (Length(Trim(S)) = 0)
end;
function EsCadenaVacia(const S: Variant): Boolean; overload;
begin
Result := True;
if VarIsNull(S) then
Exit;
Result := EsCadenaVacia(VarToStr(S));
end;
function EsNumerico(Cadena: String) : Boolean;
var
Codigo: Integer;
Valor: Double;
begin
Val(Cadena, Valor, Codigo);
Result := (Codigo = 0)
end;
end.

View File

@ -58,22 +58,22 @@
<DelphiCompile Include="GUIBase.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\Modulos\Contactos\Base.dcp" />
<DCCReference Include="..\Modulos\Contactos\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Contactos\dxBarD11.dcp" />
<DCCReference Include="..\Modulos\Contactos\dxBarExtItemsD11.dcp" />
<DCCReference Include="..\Modulos\Contactos\dxLayoutControlD11.dcp" />
<DCCReference Include="..\Modulos\Contactos\dxPScxCommonD11.dcp" />
<DCCReference Include="..\Modulos\Contactos\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="..\Modulos\Contactos\dxPsPrVwAdvD11.dcp" />
<DCCReference Include="..\Modulos\Contactos\frx11.dcp" />
<DCCReference Include="..\Modulos\Contactos\frxe11.dcp" />
<DCCReference Include="..\Modulos\Contactos\fs11.dcp" />
<DCCReference Include="..\Modulos\Contactos\JvAppFrmD11R.dcp" />
<DCCReference Include="..\Modulos\Contactos\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Contactos\rtl.dcp" />
<DCCReference Include="..\Modulos\Contactos\vcl.dcp" />
<DCCReference Include="..\Modulos\Contactos\vcldb.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dbrtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxBarD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxBarExtItemsD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxLayoutControlD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxPScxCommonD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\dxPsPrVwAdvD11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\frx11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\frxe11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\fs11.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvAppFrmD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\JvCtrlsD11R.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\rtl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcl.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\vcldb.dcp" />
<DCCReference Include="uDialogBase.pas">
<Form>fDialogBase</Form>
</DCCReference>

View File

@ -6,7 +6,7 @@ inherited fEditorPreview: TfEditorPreview
OnDestroy = FormDestroy
OnResize = FormResize
ExplicitWidth = 803
ExplicitHeight = 492
ExplicitHeight = 485
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader

View File

@ -11,7 +11,7 @@ uses
pngimage, frxExportImage, frxExportPDF, frxDCtrl, frxDMPExport,
frxGradient, frxChBox, frxCross, frxRich, frxOLE, frxBarcode,
ExtCtrls, JvComponentBase, TBXStatusBars, JvExComCtrls, JvStatusBar,
frxExportMail, frxExportXLS, frxExportText, frxExportRTF;
frxExportMail, frxExportXLS, frxExportText, frxExportRTF, uControllerBase;
type
IEditorPreview = interface(IEditorBase)
@ -28,6 +28,15 @@ type
procedure Print;
procedure Preview;
function GetController : IControllerBase;
procedure SetController (const Value : IControllerBase);
property Controller : IControllerBase read GetController
write SetController;
function GetListaID : String;
procedure SetListaID (const Value : String);
property ListaID : String read GetListaID
write SetListaID;
end;
TfEditorPreview = class(TfEditorBase, IEditorPreview)
@ -133,14 +142,26 @@ type
procedure actExportarTextoExecute(Sender: TObject);
private
FPreview : TfrViewPreview;
FTitle : TCaption;
FController : IControllerBase;
FListaID : String;
procedure OnPageChanged(Sender: TfrxPreview; PageNo: Integer);
procedure UpdateZoom;
protected
function GetReport: TfrxReport; virtual;
procedure SetTitle(const Value: string);
function GetTitle: string;
procedure PonerTitulos(const ATitulo: String = ''); override;
function GetController : IControllerBase;
procedure SetController (const Value : IControllerBase);
procedure SetListaID (const Value : String);
function GetListaID : String;
public
constructor Create(AOwner: TComponent); override;
property ListaID : String read GetListaID
write SetListaID;
property Controller : IControllerBase read GetController
write SetController;
property Title: string read GetTitle write SetTitle;
property Report: TfrxReport read GetReport;
procedure Print;
@ -160,6 +181,16 @@ uses
{ TfEditorBase1 }
function TfEditorPreview.GetController: IControllerBase;
begin
Result := FController;
end;
function TfEditorPreview.GetListaID: String;
begin
Result := FListaID;
end;
function TfEditorPreview.GetReport: TfrxReport;
begin
Result := frxReport1;
@ -168,7 +199,7 @@ end;
function TfEditorPreview.GetTitle: string;
begin
Result := Self.Caption;
Result := FTitle;
end;
procedure TfEditorPreview.FormShow(Sender: TObject);
@ -389,6 +420,21 @@ begin
FPreview.Preview.OnPageChanged := OnPageChanged;
end;
procedure TfEditorPreview.PonerTitulos(const ATitulo: String);
var
AText : String;
begin
AText := 'Previsualizar';
if (Length(ATitulo) > 0) then
AText := AText + ' - ' + ATitulo
else
AText := AText + ' - ' + FTitle;
JvNavPanelHeader.Caption := AText;
Caption := AText;
end;
procedure TfEditorPreview.Preview;
begin
Self.ShowModal;
@ -403,9 +449,20 @@ begin
Enabled := True;
end;
procedure TfEditorPreview.SetController(const Value: IControllerBase);
begin
FController := Value;
end;
procedure TfEditorPreview.SetListaID(const Value: String);
begin
FListaID := Value;
end;
procedure TfEditorPreview.SetTitle(const Value: string);
begin
Self.Caption := 'Previsualizar - ' + Value;
FTitle := Value;
PonerTitulos(FTitle);
end;
function TfEditorPreview.ExportToFile: String;

Binary file not shown.

View File

@ -770,13 +770,12 @@ procedure TPresupuestosClienteController.Print(APresupuesto: IBizPresupuestoClie
var
AReportController : IPresupuestosClienteReportController;
ID_Presupuestos: TStringList;
begin
AReportController := TPresupuestosClienteReportController.Create;
try
ID_Presupuestos := TStringList.Create;
//Si deseamos previsualizar todos los items del objeto presupuesto
//Si deseamos imprimimos todos los items del objeto presupuesto
if AllItems then
begin
with APresupuesto.DataTable do
@ -789,7 +788,7 @@ begin
end;
end;
end
//Solo previsualizamos el item seleccionado
//Solo imprimimos el item seleccionado
else
ID_Presupuestos.Add(IntToStr(APresupuesto.ID));

View File

@ -8,13 +8,14 @@ uses
uBizPresupuestosCliente;
type
IPresupuestosClienteReportController = interface
IPresupuestosClienteReportController = interface(IControllerBase)
['{D0686358-251C-43C4-9927-6112F2F4D3B8}']
procedure Preview(const AID : String);
procedure Print(const AID : String);
procedure Preview(const AListaID : String);
procedure Print(const AListaID : String);
function ExportToWord(const AID: Integer; const AFileName : String = ''): Boolean;
end;
TPresupuestosClienteReportController = class(TInterfacedObject, IPresupuestosClienteReportController)
TPresupuestosClienteReportController = class(TControllerBase, IPresupuestosClienteReportController)
private
FDataModule : IDataModulePresupuestosClienteReport;
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
@ -22,8 +23,9 @@ type
constructor Create;
destructor Destroy; override;
procedure Preview(const AID : String);
procedure Print(const AID : String);
procedure Preview(const AListaID : String);
procedure Print(const AListaID : String);
function ExportToWord(const AID: Integer; const AFileName : String = ''): Boolean;
end;
@ -32,7 +34,7 @@ implementation
uses
uROTypes, uEditorRegistryUtils, uIEditorPresupuestosClientePreview,
uEditorPreview, uDataModulePresupuestosCliente, uEditorBase,
cxControls, uFactuGES_App;
cxControls, uFactuGES_App, uStringsUtils, uSistemaFunc;
{ TPresupuestosClienteReportController }
@ -54,7 +56,30 @@ begin
inherited;
end;
procedure TPresupuestosClienteReportController.Preview(const AID : String);
function TPresupuestosClienteReportController.ExportToWord(const AID: Integer; const AFileName : String) : Boolean;
var
AStream: Binary;
AFile : String;
begin
AFile := AFileName;
if EsCadenaVacia(AFile) and (not DarFicheroWordExportar(AFile)) then
Exit;
ShowHourglassCursor;
try
AStream := FDataModule.GetRptWordPresupuesto(AID);
try
AStream.SaveToFile(AFile);
Result := True;
finally
FreeAndNil(AStream);
end;
finally
HideHourglassCursor;
end;
end;
procedure TPresupuestosClienteReportController.Preview(const AListaID : String);
var
AStream: Binary;
AEditor : IEditorPresupuestosClientePreview;
@ -62,12 +87,14 @@ begin
AEditor := NIL;
ShowHourglassCursor;
try
AStream := FDataModule.GetReport(AID);
AStream := FDataModule.GetRptPresupuestos(AListaID);
try
CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor);
if Assigned(AEditor) then
with AEditor do
begin
AEditor.Controller := Self;
AEditor.ListaID := AListaID;
Title := 'Presupuesto - ' + AppFactuGES.EmpresaActiva.NOMBRE;
LoadFromStream(AStream);
Preview;
@ -82,7 +109,7 @@ begin
end;
end;
procedure TPresupuestosClienteReportController.Print(const AID : String);
procedure TPresupuestosClienteReportController.Print(const AListaID : String);
var
AStream: Binary;
AEditor : IEditorPresupuestosClientePreview;
@ -90,12 +117,14 @@ begin
AEditor := NIL;
ShowHourglassCursor;
try
AStream := FDataModule.GetReport(AID);
AStream := FDataModule.GetRptPresupuestos(AListaID);
try
CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor);
if Assigned(AEditor) then
with AEditor do
begin
AEditor.Controller := Self;
AEditor.ListaID := AListaID;
AEditor.LoadFromStream(AStream);
AEditor.Print;
AEditor.Release;

View File

@ -36,7 +36,8 @@ type
function NewItem : IBizPresupuestoCliente;
// Report
function GetReport(const AID: String): Binary;
function GetRptPresupuestos(const AListaID: String): Binary;
function GetRptWordPresupuesto(const AID: Integer): Binary;
end;
implementation
@ -60,9 +61,15 @@ begin
RORemoteService.Message := dmConexion.Message;
end;
function TDataModulePresupuestosCliente.GetReport(const AID: String): Binary;
function TDataModulePresupuestosCliente.GetRptPresupuestos(const AListaID: String): Binary;
begin
Result := (RORemoteService as IsrvPresupuestosCliente).GenerateReport(AID)
Result := (RORemoteService as IsrvPresupuestosCliente).GenerateReport(AListaID)
end;
function TDataModulePresupuestosCliente.GetRptWordPresupuesto(
const AID: Integer): Binary;
begin
Result := (RORemoteService as IsrvPresupuestosCliente).GenerateReportEnWord(AID)
end;
function TDataModulePresupuestosCliente.NewItem: IBizPresupuestoCliente;

View File

@ -8,7 +8,8 @@ uses
type
IDataModulePresupuestosClienteReport = interface
['{70CEBB06-376F-4363-B80F-DDA4324E0F85}']
function GetReport(const AID: String): Binary;
function GetRptPresupuestos(const AListaID: String): Binary;
function GetRptWordPresupuesto(const AID: Integer): Binary;
end;
implementation

View File

@ -25,9 +25,12 @@ package PresupuestosCliente_plugin;
{$IMPLICITBUILD ON}
requires
PluginSDK_D10R,
PresupuestosCliente_controller,
PresupuestosCliente_view;
Base,
GUIBase,
ApplicationBase,
Contactos_view,
Articulos_view,
PresupuestosCliente_controller;
contains
uPluginPresupuestosCliente in 'uPluginPresupuestosCliente.pas' {PluginPresupuestosCliente};

View File

@ -42,8 +42,32 @@
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">PresupuestosCliente_plugin.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
@ -51,9 +75,29 @@
<DelphiCompile Include="PresupuestosCliente_plugin.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="PluginSDK_D10R.dcp" />
<DCCReference Include="PresupuestosCliente_controller.dcp" />
<DCCReference Include="PresupuestosCliente_view.dcp" />
<DCCReference Include="..\Views\ApplicationBase.dcp" />
<DCCReference Include="..\Views\APresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\ArPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\ArticPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\ArticuloPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\ArticulosPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\Articulos_PresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\Articulos_viePresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\Articulos_viewPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\Articulos_viPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\Articulos_vPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\ArticulPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\ArticuPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\ArtiPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\ArtisPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\ArtisuPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\ArtPresupuestosCliente_controller.dcp" />
<DCCReference Include="..\Views\Base.dcp" />
<DCCReference Include="..\Views\ContactosView.dcp" />
<DCCReference Include="..\Views\Contactos_view.dcp" />
<DCCReference Include="..\Views\Contactos_vView.dcp" />
<DCCReference Include="..\Views\GUIBase.dcp" />
<DCCReference Include="..\Views\PresupuestosCliente_controller.dcp" />
<DCCReference Include="uPluginPresupuestosCliente.pas">
<Form>PluginPresupuestosCliente</Form>
</DCCReference>
@ -61,7 +105,7 @@
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
EurekaLog Version=6011
Activate=1
Activate Handle=1
Save Log File=1

View File

@ -0,0 +1,408 @@
{
===============================================================================
Copyright (©) 2002. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versión: 09-04-2003
Versión actual: 1.0.0
Fecha versión actual: 09-04-2003
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit Literales;
interface
resourcestring
////////////////////////////////////////////////////////////////////////////////
// Comunes
////////////////////////////////////////////////////////////////////////////////
msgDeseaSalir = '¿Desea salir de FactuGES?';
msgUsuarioInc = 'El usuario no tiene privilegios para la empresa seleccionada.';
msgFacSitDistinta = 'Todas las facturas seleccionadas deben tener la misma situación.';
msgIntervaloObligatorio = 'Debe seleccionar un intervalo.';
msgIntervaloIniMenor = 'Debe seleccionar un intervalo válido.';
msgIntervaloNombre = 'desde el nombre %s hasta el %s';
msgFaltaNombreFichero = 'Debe introducir un nombre de fichero';
msgSinProvincia = 'Antes de poder elegir una población debe indicar a qué provincia pertenece.';
msgListaProvincias = 'Lista de provincias';
msgListaPoblaciones = 'Lista de poblaciones de %s.';
msgFechaIniMayor = 'La fecha inicial tiene que ser anterior a la fecha final.';
msgCantidadNoValida = 'La cantidad introducida no es un valor correcto.';
msgPrecioNoValido = 'El precio unidad introducido no es un valor correcto.';
msgDtoNoValido = 'El descuento introducido no es un valor correcto.';
msgIVANoValido = '%s no es un valor para el IVA válido.';
msgFaltaFormaPago = 'Es necesario indicar la forma de pago.';
msgIrInicio = 'Se ha llegado al final de la lista, ¿desea ir al inicio?';
msgNoParametros = 'Debe introducir algún valor para poder realizar la búsqueda.';
msgDeseaBorrar = '¿Desea eliminar este concepto?';
msgDeseaBorrarConceptos = '¿Desea eliminar estos conceptos?';
msgDeseaBorrarTodo = '¿Desea eliminar todos los conceptos?';
msgGuardarCambios = '¿Desea guardar los cambios?';
////////////////////////////////////////////////////////////////////////////////
// Datos
////////////////////////////////////////////////////////////////////////////////
msgFabPagFaltaDes = 'Es necesario que introduzca el nombre del fabricante, o en su defecto que elimine la fila.';
msgFabPagTablaBloq = 'Los fabricantes están siendo modificados por otro usuario, intentelo más tarde.';
msgFabExisteenArt = 'El fabricante tiene asignados artículos, por lo que no puede ser eliminado.';
msgDatBancoRepetido = 'Ya existe el banco %s. Cambie el banco por otro que no exista.';
msgDatBancoFaltaDes = 'Es necesario que introduzca los datos de la cuenta bancaria, o en su defecto que elimine la fila.';
msgDatBancoTablaBloq = 'Los bancos están siendo modificados por otro usuario, intentelo más tarde.';
msgForPagRepetida = 'Ya existe la forma de pago %s. Cambie la forma de pago por otra que no exista.';
msgForPagFaltaDes = 'Es necesario que introduzca el nombre de la forma de pago, o en su defecto que elimine la fila.';
msgForPagTablaBloq = 'Las formas de pago están siendo modificadas por otro usuario, intentelo más tarde.';
msgFamRepetida = 'Ya existe la familia %s. Cambie la familia por otra que no exista.';
msgFamFaltaDes = 'Es necesario que introduzca el nombre de la familia, o en su defecto que elimine la fila.';
msgFamTablaBloq = 'Las familias están siendo modificadas por otro usuario, intentelo más tarde.';
msgUniMedRepetida = 'Ya existe la unidad de medida %s. Cambie la unidad de medida por otra que no exista.';
msgUniMedFaltaDes = 'Es necesario que introduzca el nombre de la unidad de medida, o en su defecto que elimine la fila.';
msgUniMedTablaBloq = 'Las unidades de medida están siendo modificadas por otro usuario, intentelo más tarde.';
msgTipCliFaltaDes = 'Es necesario que introduzca el nombre del tipo de cliente, o en su defecto que elimine la fila.';
msgTipCliTablaBloq = 'Los tipos de cliente están siendo modificados por otro usuario, intentelo más tarde.';
////////////////////////////////////////////////////////////////////////////////
// Cartas
////////////////////////////////////////////////////////////////////////////////
msgCarFirma = '¿Desea firmar la carta?';
msgCarFaltaProv = 'Falta indicar el proveedor al que va dirigida la carta.';
msgCarFaltaCli = 'Falta indicar el cliente al que va dirigida la carta.';
msgCarFaltaDir = 'Falta indicar la dirección a la que va dirigida la carta';
msgCarFaltaPob = 'Falta indicar la población a la que va dirigida la carta';
msgCarFaltaCP = 'Falta indicar el código postal al que va dirigida la carta';
msgCarFaltaCarta = 'Debe escribir algo en la carta';
////////////////////////////////////////////////////////////////////////////////
// Articulos
////////////////////////////////////////////////////////////////////////////////
msgArtCodArtNoExiste = 'No existe el artículo %s. Introduzca un codigo de artículo que sí exista.';
msgArtCodArtIncorrecto = '%s no es un código de artículo correcto. Cambie el codigo del artículo por otro e inténtelo de nuevo.';
msgArtCodArtRepetido = 'Ya existe el artículo %s. Cambie el código del artículo por otro que no exista.';
msgArtExisteArtEnAlm = 'El artículo a eliminar existe en algún almacén, por lo tanto no puede ser eliminado.';
msgArtExisteArtEnPed = 'El artículo a eliminar existe en algún pedido de proveedor pendiente de recibir, por lo que no puede ser eliminado.';
msgArtNoExisteArt = 'El artículo %s no existe.';
msgArtBloqueado = 'El artículo %s está siendo modificado por otro usuario.';
msgArtFaltaDesArt = 'Es obligatorio introducir la descripción del artículo.';
msgArtTieneExistencias = 'El artículo a eliminar tiene todavía existencias, por lo tanto no puede ser eliminado.';
msgArtNoExisteArtAlm = 'El artículo %s no existe en el almacén.';
msgArtNoHayArt = 'No hay articulos dados de alta, por lo tanto no es posible seleccionar.';
msgArtNoHayArtAlm = 'No hay articulos en el almacén, por lo tanto no es posible seleccionar';
////////////////////////////////////////////////////////////////////////////////
// Instaladores
////////////////////////////////////////////////////////////////////////////////
msgInsFaltaCodigo = 'Debe introducir un código de instalador para poder realizar el listado.';
msgInsCodInsNoExiste = 'No existe el instalador %s. Cambie el codigo del instalador por otro que sí exista.';
msgInsCodInsIncorrecto = '%s no es un código de instalador correcto. Cambie el codigo del instalador por otro e inténtelo de nuevo.';
msgInsCodInsRepetido = 'Ya existe el instalador %s. Cambie el codigo del instalador por otro que no exista.';
msgInsFaltaNombre = 'Es obligatorio introducir el nombre del instalador.';
msgInsNoExiste = 'El instalador %s no existe.';
msgInsBloqueado = 'El instalador %s está siendo modificado por otro usuario.';
msgInsNoHayInstaladores = 'No hay instaladores dados de alta, por lo tanto no es posible seleccionar.';
////////////////////////////////////////////////////////////////////////////////
// Proveedores
////////////////////////////////////////////////////////////////////////////////
msgProFaltaCodigo = 'Debe introducir un código de proveedor para poder realizar el listado.';
msgProCodProvNoExiste = 'No existe el proveedor %s. Cambie el codigo del proveedor por otro que sí exista.';
msgProCodProvIncorrecto = '%s no es un código de proveedor correcto. Cambie el codigo del proveedor por otro e inténtelo de nuevo.';
msgProCodProvRepetido = 'Ya existe el proveedor %s. Cambie el codigo del proveedor por otro que no exista.';
msgProFaltaNombreProv = 'Es obligatorio introducir el nombre del proveedor.';
msgProvNoExisteProv = 'El proveedor %s no existe.';
msgProvBloqueado = 'El proveedor %s está siendo modificado por otro usuario.';
////////////////////////////////////////////////////////////////////////////////
// Pedidos de proveedor
////////////////////////////////////////////////////////////////////////////////
msgPedYaFacturado = 'El pedido %s ya está facturado.';
msgPedidoYaRecibido = 'El movimiento no se ha podido realizar, asegúrese que el pedido no esté ya totalmente recibido.';
msgPedidoNoModificar = 'Este pedido no se puede modificar porque está %s.';
msgPedidoNoEliminar = 'Este pedido no se puede eliminar porque está %s.';
msgPedidoNoEmitir = 'Este pedido no se puede emitir porque está %s.';
msgPedidoNoRecibir = 'Este pedido no se puede recibir porque está %s.';
msgPedidoNoDevolver = 'Este pedido no se puede devolver porque está %s.';
msgPedidoNoCancelar = 'Este pedido no se puede cancelar porque está %s.';
msgPedidoNoFacturar = 'Este pedido no se puede facturar porque está %s.';
msgCancelarPedido = '¿Desea cancelar el pedido %s?';
msgPedCodPedRepetido = 'Ya existe el pedido %s. Cambie el codigo del pedido por otro que no exista.';
msgPedCodPedIncorrecto = '%s no es un código correcto para un pedido a proveedor. Cambie el codigo del pedido por otro e inténtelo de nuevo.';
msgPedPedProvNoExiste = 'El pedido a proveedor %s no existe. Cambie el codigo del pedido por otro que sí exista.';
msgPedFaltaNombreProv = 'Es obligatorio introducir los datos del proveedor al que va dirigido este pedido.';
msgPedFaltaFecAlta = 'Debe indicar la fecha de alta del pedido a proveedor.';
msgPedFaltaFecRecepcion = 'Es obligatorio indicar la fecha de recepción del pedido.';
msgPedFaltaFecEmision = 'Para poder emitir el pedido, debe indicar la fecha de emisión del pedido.';
msgPedFaltaAlmDes = 'Es obligatorio introducir el código del almacén destino.';
msgPedProvBloqueado = 'El pedido a proveedor %s está siendo modificado por otro usuario.';
msgPedFaltaArticulos = 'Es obligatorio introducir al menos un artículo al pedido.';
msgPedProvNotaPorDef = 'FECHA DE ENTREGA: INMEDIATA.';
msgPedProvCodCliFinalIncorrecto = '%s no es un código de obra correcto. Cambie el codigo de la obra para el cliente final.';
msgPedProvCodCliFinalNoExiste = 'No existe la obra %s. Introduzca un codigo de obra que sí exista.';
////////////////////////////////////////////////////////////////////////////////
// Facturas de proveedor
////////////////////////////////////////////////////////////////////////////////
mFacturaNoModificar = 'Esta factura no se puede modificar porque ya ha sido pagada.';
mFacturaNoEliminar = 'Esta factura no se puede eliminar porque ya ha sido pagada.';
msgFacProCodFacRepetido = 'Ya existe la factura de proveedor %s. Cambie el codigo de la factura por otro que no exista.';
msgFacProCodFacIncorrecto = '%s no es un código correcto para una factura de proveedor. Cambie el codigo de la factura por otro e inténtelo de nuevo.';
msgFacProFaltaNombreProv = 'Es obligatorio introducir los datos del proveedor al que pertenece esta factura.';
msgFacProNoExiste = 'La factura de proveedor %s no existe. Cambie el codigo de la factura por otra que sí exista';
msgFacProBloqueada = 'La factura de proveedor %s está siendo modificada por otro usuario.';
msgFacProPedNoPro = 'El pedido %s no pertenece al proveedor de la factura.';
msgFacProCodPedRepetido = 'El código de pedido %s ya existe en la lista de pedidos de la factura.';
msgFacProFaltaFecha = 'La factura de proveedor debe tener fecha de alta.';
msgFacProFaltaFechaVto = 'La factura de proveedor debe tener fecha de vencimiento.';
msgFacProFechaVtoAnterior = 'La fecha de vencimiento no puede ser anterior a la fecha de alta de la factura.';
msgFacProFaltanDetalles = 'Es necesario introducir al menos un pedido en la factura de proveedor.';
msgFacProBorrarFacPed = 'Si elimina esta factura, los pedidos que contiene dejarán de estar facturados. ¿Desea continuar?';
msgFacProSitPedInc = 'No se puede añadir el pedido %s porque está %s y la factura es %s.';
msgFacProErrorFacPed = 'Error. No se ha podido añadir el pedido %s a la factura.';
////////////////////////////////////////////////////////////////////////////////
// Clientes
////////////////////////////////////////////////////////////////////////////////
msgCliFaltaNombreCli = 'Es obligatorio introducir el nombre del cliente.';
msgCliFaltaCodigo = 'Debe introducir un código de cliente para poder realizar el listado.';
msgCliCodCliNoExiste = 'No existe el cliente %s. Cambie el codigo del cliente por otro que sí exista.';
msgCliCodCliIncorrecto = '%s no es un código de cliente correcto. Cambie el codigo del cliente por otro e inténtelo de nuevo.';
msgCliCodCliRepetido = 'Ya existe el cliente %s. Cambie el codigo del cliente por otro que no exista.';
msgCliFaltaCalle = 'Es obligatorio introducir la dirección principal del cliente.';
msgCliNoExiste = 'El cliente %s no existe.';
msgCliBloqueado = 'El cliente %s está siendo modificado por otro usuario.';
msgCliConAlmAso = 'El cliente %s tiene almacenes u obras asociadas. No se puede eliminar el cliente.';
////////////////////////////////////////////////////////////////////////////////
// Presupuestos de cliente
////////////////////////////////////////////////////////////////////////////////
msgPreYaFacturado = 'El presupuesto %s ya está facturado.';
msgPreYaAceptado = 'El presupuesto %s ya ha sido aceptado.';
msgPreYaAnulado = 'El presupuesto %s ya ha sido anulado.';
msgCambiarAAceptar = 'El presupuesto %s está anulado. ¿Desea aceptarlo?';
msgCambiarAAnular = 'El presupuesto %s está aceptado. ¿Desea anularlo?';
msgPreNoSePuedeFacturar = 'El presupuesto %s no se puede facturar porque no está aceptado.';
msgPreNoModificar = 'Este presupuesto no se puede modificar porque está %s.';
msgPreNoEliminar = 'Este presupuesto no se puede eliminar porque está %s.';
msgPreNoExistePre = 'No existe el presupuesto %s. Cambie el codigo del presupuesto por otro que sí exista.';
msgPreCodPreIncorrecto = '%s no es un código correcto para un presupuesto de cliente. Cambie el codigo del presupuesto por otro e inténtelo de nuevo.';
msgPreCodPreRepetido = 'Ya existe el presupuesto %s. Cambie el codigo del presupuesto por otro que no exista.';
msgPreFaltaNombreCli = 'Es obligatorio introducir los datos del cliente al que pertenece este presupuesto.';
msgPreFaltaFecAlta = 'Debe indicar la fecha de alta del presupuesto.';
msgPreFaltaFecDecision = 'Para poder aceptar o anular el presupuesto, debe indicar la fecha de decisión del presupuesto.';
msgPreSobraFecDecision = 'El presupuesto está pendiente de decisión por lo que todavía no puede tener fecha de decisión. Por favor, borre la fecha de decisión o modifique la situación del presupuesto.';
msgPreFaltaArticulos = 'Es obligatorio introducir al menos un concepto en el presupuesto.';
msgPreBloqueado = 'El presupuesto %s está siendo modificado por otro usuario.';
msgPreNotaPorDefecto = '16% IVA NO INCLUIDO.' + #13 + 'FORMA DE PAGO:';
msgPreNoEliminarEnObra = 'Este presupuesto no se puede eliminar porque está asociado a una obra.';
msgPreFaltasDatosBoni = 'Si el presupuesto tiene bonificación, es obligatorio la descripción e importe de la misma.';
////////////////////////////////////////////////////////////////////////////////
// Albaranes de cliente
////////////////////////////////////////////////////////////////////////////////
msgAlbCodAlbRepetido = 'Ya existe el albarán de cliente %s. Cambie el codigo del albarán por otro que no exista.';
msgAlbCodAlbIncorrecto = '%s no es un código correcto para un albarán de cliente. Cambie el codigo del albarán por otro e inténtelo de nuevo.';
msgAlbYaFacturado = 'El albarán %s ya está facturado.';
msgAlbNoModificar = 'Este albarán no se puede modificar porque está facturado.';
msgAlbNoEliminar = 'Este albarán no se puede eliminar porque está facturado.';
msgAlbFaltaNombreCli = 'Es obligatorio introducir los datos del cliente al que pertenece este albarán.';
msgAlbFaltaArticulos = 'Es obligatorio introducir al menos un concepto en el albarán.';
msgAlbFaltaFechaAlta = 'Debe indicar la fecha de alta del albarán.';
msgAlbNoExisteAlb = 'El albarán de cliente %s no existe. Cambie el codigo del albarán por otro que sí exista.';
msgAlbBloqueado = 'El albarán de cliente %s está siendo modificado por otro usuario.';
////////////////////////////////////////////////////////////////////////////////
// Facturas de cliente
////////////////////////////////////////////////////////////////////////////////
msgClaseFacDistinta = 'Sólo se pueden abonar facturas de cargo. La factura elegida es un abono.';
msgFacTotalmenteAbonada = 'La factura de cargo ya está abonada totalmente. No se pueden hacer más abonos.';
msgFacCliCodFacRepetido = 'Ya existe la factura de cliente %s. Cambie el codigo de la factura por otro que no exista.';
msgFacCliCodFacIncorrecto = '%s no es un código correcto para una factura de cliente. Cambie el codigo de la factura por otro e inténtelo de nuevo.';
msgFacCliCodPreAlbInvalido = 'No se puede determinar el tipo de factura (libre, presupuesto, albaran o abono). Datos erróneos.';
msgFacCliCodFacCargoNoExiste = 'No existe la factura de cargo %s. Cambie el codigo de la factura por otro que sí exista.';
msgFacCliCodFacCargoIncorrecto = '%s no es un código correcto para una factura de cargo. Cambie el codigo de la factura por otro e inténtelo de nuevo.';
msgFacCliFacConAbonos = 'Esta factura tiene al menos un abono. No se puede eliminar.';
msgFacCliImpAbonoSuperior = 'El importe de este abono es superior al importe de la factura de cargo.';
msgFacCliImpAbonadoSuperior = 'El importe de todos los abonos es superior al importe de la factura de cargo.';
msgFacCliNoExisteFac = 'La factura de cliente %s no existe.';
msgFacCliBloqueado = 'La factura de cliente %s está siendo modificada por otro usuario.';
msgFacCliCopiarConPre = '¿Desea copiar todos los conceptos del presupuesto %s a la factura?';
msgFacCliFaltaFechaAlta = 'Debe indicar la fecha de alta de la factura de cliente.';
msgFacCliDesFacPre = 'Importe de factura por trabajos realizados según indicaciones de nuestro presupuesto %s con fecha %s.';
msgFacCliBorrarFacPre = 'Si elimina esta factura, el presupuesto %s dejará de estar facturado. ¿Desea continuar?';
msgFacCliBorrarFacAlb = 'Si elimina esta factura, el albarán %s dejará de estar facturado. ¿Desea continuar?';
msgFacCliFaltaArticulos = 'Es obligatorio introducir al menos un concepto en la factura de cliente.';
msgFacCliFaltaFecVto = 'La factura de cliente debe tener fecha de vencimiento.';
msgFacCliFecVtoMenorFecAlta = 'La fecha de vencimiento tiene que ser posterior a la fecha de alta de la factura de cliente.';
msgFacCliClaseFacDistinta = 'Sólo se pueden abonar facturas de cargo. La factura %s es un abono.';
msgFacCliImpDebeSerNeg = 'El importe de este abono debe ser negativo.';
////////////////////////////////////////////////////////////////////////////////
// Almacenes
////////////////////////////////////////////////////////////////////////////////
msgAlmCodAlmRepetido = 'Ya existe el almacén %s. Cambie el codigo del almacén por otro que no exista.';
msgAlmCodAlmIncorrecto = '%s no es un código de almacén correcto. Cambie el codigo del almacén por otro e inténtelo de nuevo.';
msgAlmTieneExis = 'El almacén a eliminar tiene existencias por lo que no puede ser eliminado.';
msgAlmFaltaNombre = 'Es obligatorio introducir el nombre del almacén.';
msgAlmNoExisteAlm = 'El almacén %s no existe.';
msgAlmBloqueado = 'El almacén %s está siendo modificado por otro usuario.';
msgAlmCodAlmTienePedido = 'El pedido %s en situación de %s tiene este almacén como almacén destino y en caso de devolución será almacén origen, por lo que no puede ser eliminado.';
msgAlmCodAlmTienePedidoPendiente = 'El pedido %s en situación de %s tiene este almacén como almacén destino, por lo que no puede ser eliminado.';
msgAlmNoHayAlm = 'No hay almacenes dados de alta, por lo tanto no es posible seleccionar';
msgAlmCodAlmNoExiste = 'No existe el almacén %s. Introduzca un codigo de almacén que sí exista.';
msgAlmDeseaFinObra = 'Al finalizar una obra, todos los materiales existentes en la misma serán borrados, ¿esta seguro de querer finalizar la obra " %s "?';
msgAlmDeseaRellCli = '¿Desea asignar los datos del cliente al almacén u obra?';
////////////////////////////////////////////////////////////////////////////////
// Movimientos
////////////////////////////////////////////////////////////////////////////////
msgMovNoExiste = 'El movimiento no existe.';
msgMovMismoAlmacen = 'El almacén origen y el almacén destino deben de ser distintos';
msgMovStockNoValido = 'El stock introducido no es un valor correcto.';
msgMovNoArticulos = 'Debe haber algún artículo en la lista para poder hacer el movimiento.';
msgMovNoExistencias = 'No hay suficientes existencias';
msgMovNoExistePedido = 'El pedido %s ya no existe.';
msgMovCodArtAlmNoExiste = 'El artículo con código %s y nombre %s no existe en el almacen %s. Introduzca un código de artículo que sí exista.';
msgMovFaltaAlmacenOrigen = 'Es necesario que introduzca un almacén origen existente en la aplicación.';
msgMovFaltaAlmacenDestino = 'Es necesario que introduzca un almacén destino existente en la aplicación.';
msgMovCantMayorCero = 'La cantidad de unidades de Entrada/Salida debe de ser siempre positiva';
msgMovStockMayorCero = 'El stock máximo y mínimo debe de ser siempre positivo';
msgMovCantRecibidaMayor = 'La cantidad recibida debe ser menor o igual a la cantidad pedida, en este caso restan por recibir %s unidades';
msgMovPedidoRecibido = 'El pedido %s ya ha sido recibido totalmente';
msgMovPedidoDevuelto = 'El pedido %s ya ha sido devuelto';
msgMovNoRealizado = 'El movimiento no se ha podido realizar, compruebe que el almacén y los materiales existan';
msgMovArtAlmIncorrecto = 'Este árticulo no se añadirá a la lista ya que pertenece a un almacen distinto que el establecido como origen';
msgMovNoExisteArtExistencias = 'Asegurese que todos los artículos del movimiento existen en el almacén seleccionado, y que las cantidades no sean mayores que las existencias';
msgMovNoExisteArticulo = 'El artículo %s ya no existe en la aplicación, y por tanto no se realizará el movimiento.';
msgMovNoExisteAlmacen = 'El almacén %s ya no existe en la aplicación, y por tanto no se realizará el movimiento.';
etiMovEntrada = 'Entrada';
etiMovSalida = 'Salida';
etiMovTraslado = 'Traslado';
etiMovPedido = 'Pedido';
etiMovDevolucion = 'Devolucion';
etiMovEntradaSalida = 'Entrada/Salida';
etiMovEntSalTraslado = 'Entrada/Salida por traslado';
etiMovRegularizacion = 'Regularización';
etiMovEntRegularizacion = 'Entrada por regularizacion';
etiMovEntradaPedido = 'Entrada por pedido a proveedor ';
etiMovSalidaRegularizacion = 'Salida por regularizacion';
etiMovSalidaDevolucion = 'Salida por devolucion a proveedor ';
etiMovCodigoAlmObrDestino ='Cód. de almacén/obra destino:';
etiMovNombreAlmObrDestino = 'Nombre del almacén/obra destino:';
etiMovCodigoAlmObrOrigen = 'Cód. de almacén/obra origen:';
etiMovNombreAlmObrOrigen = 'Nombre del almacén/obra origen:';
etiMovIniTrasladoEnt = 'Entrada por traslado desde el almacén con código "';
etiMovIniTrasladoSal = 'Salida por traslado al almacén con código "';
etiMovMedTraslado = '" y nombre "';
etiMovFinTraslado = '"';
////////////////////////////////////////////////////////////////////////////////
// Historicos
////////////////////////////////////////////////////////////////////////////////
msgHisYaExisteObraHistorica = 'Ya existe una obra historica con el mismo nombre y misma fecha de finalización';
////////////////////////////////////////////////////////////////////////////////
// Empresas
////////////////////////////////////////////////////////////////////////////////
msgEmpBorrarEmp = '¿Esta seguro de desear eliminar eliminar la empresa?, a su vez se eliminará toda la informacion relacionada con dicha empresa';
msgEmpBorrarAb = 'No se puede eliminar una empresa si está abierta';
msgEmpCodEmpRepetido = 'Ya existe la empresa %s.';
msgEmpEmpBloqueado = 'La empresa ''%s'' está siendo modificada por otro usuario.';
msgEmpNoExisteEmp = 'No exista la empresa %s.';
msgEmpFaltaAlgo = 'Es obligatorio introducir %s de la empresa.';
msgEmpNombre = 'el nombre';
////////////////////////////////////////////////////////////////////////////////
// Informes
////////////////////////////////////////////////////////////////////////////////
msgInfDeseaImportes = '¿Desea imprimir los importes?';
msgInfArticuloIniMayor = 'La descripción del artículo inicial debe ser alfabéticamente anterior al artículo final.';
msgInfFamiliaIniMayor = 'La familia inicial debe ser alfabéticamente anterior a la familia final.';
msgInfClienteIniMayor = 'El cliente inicial debe ser alfabéticamente anterior al cliente final.';
msgInfProveedorIniMayor = 'El proveedor inicial debe ser alfabéticamente anterior al proveedor final.';
msgInfFaltaAlmacen = 'Falta indicar el almacén que se utilizará para el listado.';
msgInfTextoListarFacturasCli = 'Introduzca la fecha de vencimiento que desea utilizar para generar el listado de facturas de cliente pendientes.';
msgInfTextoListarFacturasCliIVA = 'Introduzca la fecha de vencimiento que desea utilizar para generar el listado de IVA de las facturas de cliente.';
msgInfTextoListarFacturasProv = 'Introduzca la fecha de vencimiento que desea utilizar para generar el listado de facturas de proveedores pendientes.';
msgInfTextoListarFacturasProvIVA = 'Introduzca la fecha de vencimiento que desea utilizar para generar el listado de IVA de las facturas de proveedor.';
msgInfIntervaloTodosArt = 'Todos los artículos';
msgInfIntervaloTodosCli = 'Todos los clientes.';
msgInfIntervaloTodosPro = 'Todos los proveedores';
msgInfIntervaloTodosMov = 'Todos los movimientos';
msgInfIntervaloDesArt = 'Desde el material ''%s'' hasta el ''%s''';
msgInfIntervaloFam = 'Desde la familia ''%s'' hasta ''%s''';
msgInfIntervaloCod = 'Desde el código %s hasta el %s';
msgInfIntervaloCli = 'Desde el cliente ''%s'' hasta el cliente ''%s''.';
msgInfIntervaloFec = 'Desde el %s hasta el %s.';
msgInfIntervaloPro = 'Desde el proveedor ''%s'' hasta el proveedor ''%s''.';
msgInfFaltaCodPre = 'Falta indicar el código del presupuesto a generar.';
msgInfFaltaCodAlb = 'Falta indicar el código del albarán de cliente a generar.';
msgInfFaltaCodFac = 'Falta indicar el código de la factura de cliente a generar.';
msgInfFaltaCodPed = 'Falta indicar el código del pedido a proveedor a generar.';
msgInfFaltaFicheroListado = 'Falta indicar el fichero donde se exportará el listado.';
msgInfFalloRellenarCabecera = 'Se producido un error al generar la cabecera del informe en MS Word.';
msgInfFalloRellenarInforme = 'Se producido un error al generar el informe en MS Word.';
msgInfFalloRellenarPortada = 'Se producido un error al generar la portada del informe en MS Word.';
msgInfFalloRellenarResumen = 'Se producido un error al generar el resumen en MS Word.';
//Estadisticas
msgInfEstPreGeneral = 'Informe de presupuestos';
msgInfEstPreResumen1 = 'Clientes con mayor capital en presupuestos';
msgInfEstPreResumen2 = 'Clientes con más presupuestos aceptados';
msgInfEstPreResumen3 = 'Clientes con más presupuestos anulados';
msgInfEstFacCliGeneral = 'Informe de facturación anual';
msgInfEstFacCliResumen1 = 'Clientes con mayor capital facturado';
msgInfEstFacCliResumen2 = 'Clientes con más descuento aplicado';
msgInfEstFacProGeneral = 'Informe de facturación anual';
msgInfEstFacProResumen1 = 'Proveedores con mayor capital facturado';
msgInfEstFacProResumen2 = 'Proveedores con más descuento aplicado';
msgInfEstBeneficios = 'Informe de beneficios';
msgInfEstTit31 = 'Comparativa del año ';
msgInfEstTit32 = ' respecto al año ';
////////////////////////////////////////////////////////////////////////////////
// Opciones
////////////////////////////////////////////////////////////////////////////////
// CONTADORES
msgOpcTablaContBloqueada = 'Los valores de los contadores están siendo modificados por otro usuario. Inténtelo más tarde.';
msgOpcContadoresInc = 'Todos los contadores deben de ser números enteros.';
////////////////////////////////////////////////////////////////////////////////
// Excepciones
////////////////////////////////////////////////////////////////////////////////
msgExcIBGeneral = 'SQLCode: %d'+ #10#13 + 'IBNumber: %d' + #10#13 + '%s';
msgExcIBEspecifico = '%s' + #10#13 + #10#13 + 'SQLCode: %d'+ #10#13 + 'IBNumber: %d' + #10#13 + '%s';
msgExcErrorConexion = 'No se puede establecer conexión con el servidor.';
msgExcLoginIncorrecto = 'No se puede iniciar la sesión. Compruebe que su nombre de usuario y su contraseña con correctos y repita la operacion.';
msgExcBDSoloLectura = 'Esta base de datos es sólo de lectura. No se puede realizar ninguna modificación en los datos.';
msgExcFichBDSoloLectura = 'No se puede iniciar la sesión. El fichero de la base de datos tiene activado el atributo de sólo lectura.';
msgExcClavePrimaria = 'Ya existe otro registro con el mismo código.';
msgFunRangoNoValido = '%s no es un valor válido. Debe estar en el rango de 0 a 100.';
implementation
end.

View File

@ -1,624 +0,0 @@
object RptPresupuestosCliente: TRptPresupuestosCliente
OldCreateOrder = True
OnCreate = DataModuleCreate
Height = 405
Width = 447
object DADataCabecera: TDADataSource
DataSet = tbl_Cabecera.Dataset
DataTable = tbl_Cabecera
Left = 264
Top = 72
end
object DADataDetalles: TDADataSource
DataSet = tbl_Detalles.Dataset
DataTable = tbl_Detalles
Left = 344
Top = 72
end
object frxRichObject1: TfrxRichObject
Left = 48
Top = 296
end
object frxBarCodeObject1: TfrxBarCodeObject
Left = 144
Top = 296
end
object frxOLEObject1: TfrxOLEObject
Left = 48
Top = 344
end
object frxCrossObject1: TfrxCrossObject
Left = 144
Top = 344
end
object frxCheckBoxObject1: TfrxCheckBoxObject
Left = 256
Top = 296
end
object frxGradientObject1: TfrxGradientObject
Left = 360
Top = 296
end
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
Params = <
item
Name = 'ID'
DataType = datInteger
Value = '15'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'PEDIDOS_CLIENTE'
SQL =
'SELECT'#10' V_PEDIDOS_CLIENTE.ID,'#10' V_PEDIDOS_CLIENTE.ID_EMPRESA,'#10' ' +
' V_PEDIDOS_CLIENTE.ID_CLIENTE,'#10' V_PEDIDOS_CLIENTE.NOMBRE,'#10' V_C' +
'LIENTES.NOMBRE_COMERCIAL,'#10' V_PEDIDOS_CLIENTE.REFERENCIA,'#10' V_PE' +
'DIDOS_CLIENTE.REFERENCIA_CLIENTE,'#10' V_PEDIDOS_CLIENTE.SITUACION,' +
#10' V_PEDIDOS_CLIENTE.FECHA_PEDIDO,'#10' V_PEDIDOS_CLIENTE.CALLE,'#10' ' +
'V_PEDIDOS_CLIENTE.CODIGO_POSTAL,'#10' V_PEDIDOS_CLIENTE.POBLACION,'#10 +
' V_PEDIDOS_CLIENTE.PROVINCIA,'#10' V_PEDIDOS_CLIENTE.PERSONA_CONTA' +
'CTO,'#10' V_PEDIDOS_CLIENTE.TELEFONO,'#10' V_PEDIDOS_CLIENTE.OBSERVACI' +
'ONES,'#10' V_PEDIDOS_CLIENTE.INCIDENCIAS,'#10' V_PEDIDOS_CLIENTE.INCID' +
'ENCIAS_ACTIVAS,'#10' V_PEDIDOS_CLIENTE.FECHA_ALTA,'#10' V_PEDIDOS_CLIE' +
'NTE.FECHA_MODIFICACION,'#10' V_PEDIDOS_CLIENTE.USUARIO,'#10' V_PEDIDOS' +
'_CLIENTE.IMPORTE_NETO,'#10' V_PEDIDOS_CLIENTE.IMPORTE_PORTE,'#10' V_PE' +
'DIDOS_CLIENTE.DESCUENTO,'#10' V_PEDIDOS_CLIENTE.IMPORTE_DESCUENTO,'#10 +
' V_PEDIDOS_CLIENTE.BASE_IMPONIBLE,'#10' V_PEDIDOS_CLIENTE.IVA,'#10' V' +
'_PEDIDOS_CLIENTE.IMPORTE_IVA,'#10' V_PEDIDOS_CLIENTE.IMPORTE_TOTAL,' +
#10' V_PEDIDOS_CLIENTE.ID_FORMA_PAGO,'#10' EMPRESAS.NOMBRE AS NOMBRE_' +
'EMPRESA,'#10' EMPRESAS.TELEFONO_1 as TELEFONO_1_EMPRESA,'#10' EMPRESAS' +
'.FAX as FAX_EMPRESA'#10'FROM'#10' V_PEDIDOS_CLIENTE'#10' LEFT OUTER JOIN E' +
'MPRESAS ON (V_PEDIDOS_CLIENTE.ID_EMPRESA = EMPRESAS.ID)'#10' LEFT O' +
'UTER JOIN V_CLIENTES ON (V_CLIENTES.ID = V_PEDIDOS_CLIENTE.ID_CL' +
'IENTE)'#10'WHERE'#10' V_PEDIDOS_CLIENTE.ID = :ID'
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'OBSERVACIONES'
TableField = 'OBSERVACIONES'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'CALLE'
TableField = 'CALLE'
end
item
DatasetField = 'POBLACION'
TableField = 'POBLACION'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'CODIGO_POSTAL'
TableField = 'CODIGO_POSTAL'
end
item
DatasetField = 'FECHA_PEDIDO'
TableField = 'FECHA_PEDIDO'
end
item
DatasetField = 'PROVINCIA'
TableField = 'PROVINCIA'
end
item
DatasetField = 'PERSONA_CONTACTO'
TableField = 'PERSONA_CONTACTO'
end
item
DatasetField = 'TELEFONO'
TableField = 'TELEFONO'
end
item
DatasetField = 'ID_CLIENTE'
TableField = 'ID_CLIENTE'
end
item
DatasetField = 'SITUACION'
TableField = 'SITUACION'
end
item
DatasetField = 'INCIDENCIAS'
TableField = 'INCIDENCIAS'
end
item
DatasetField = 'INCIDENCIAS_ACTIVAS'
TableField = 'INCIDENCIAS_ACTIVAS'
end
item
DatasetField = 'FECHA_ALTA'
TableField = 'FECHA_ALTA'
end
item
DatasetField = 'FECHA_MODIFICACION'
TableField = 'FECHA_MODIFICACION'
end
item
DatasetField = 'USUARIO'
TableField = 'USUARIO'
end
item
DatasetField = 'IMPORTE_NETO'
TableField = 'IMPORTE_NETO'
end
item
DatasetField = 'IMPORTE_PORTE'
TableField = 'IMPORTE_PORTE'
end
item
DatasetField = 'DESCUENTO'
TableField = 'DESCUENTO'
end
item
DatasetField = 'IMPORTE_DESCUENTO'
TableField = 'IMPORTE_DESCUENTO'
end
item
DatasetField = 'BASE_IMPONIBLE'
TableField = 'BASE_IMPONIBLE'
end
item
DatasetField = 'IVA'
TableField = 'IVA'
end
item
DatasetField = 'IMPORTE_IVA'
TableField = 'IMPORTE_IVA'
end
item
DatasetField = 'ID_FORMA_PAGO'
TableField = 'ID_FORMA_PAGO'
end
item
DatasetField = 'NOMBRE_EMPRESA'
TableField = 'NOMBRE_EMPRESA'
end
item
DatasetField = 'TELEFONO_1_EMPRESA'
TableField = 'TELEFONO_1_EMPRESA'
end
item
DatasetField = 'FAX_EMPRESA'
TableField = 'FAX_EMPRESA'
end
item
DatasetField = 'NOMBRE_COMERCIAL'
TableField = 'NOMBRE_COMERCIAL'
end
item
DatasetField = 'REFERENCIA_CLIENTE'
TableField = 'REFERENCIA_CLIENTE'
end>
end>
Name = 'Informe_Cabecera'
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'NOMBRE_COMERCIAL'
DataType = datString
Size = 255
end
item
Name = 'FECHA_PEDIDO'
DataType = datDateTime
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'SITUACION'
DataType = datString
Size = 9
end
item
Name = 'IMPORTE_TOTAL'
DataType = datFloat
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'TELEFONO'
DataType = datString
Size = 25
end
item
Name = 'INCIDENCIAS'
DataType = datMemo
end
item
Name = 'INCIDENCIAS_ACTIVAS'
DataType = datInteger
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end
item
Name = 'USUARIO'
DataType = datString
Size = 20
end
item
Name = 'IMPORTE_NETO'
DataType = datFloat
end
item
Name = 'IMPORTE_PORTE'
DataType = datFloat
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datFloat
end
item
Name = 'BASE_IMPONIBLE'
DataType = datFloat
end
item
Name = 'IVA'
DataType = datFloat
end
item
Name = 'IMPORTE_IVA'
DataType = datFloat
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
end
item
Name = 'NOMBRE_EMPRESA'
DataType = datString
Size = 255
end
item
Name = 'TELEFONO_1_EMPRESA'
DataType = datString
Size = 25
end
item
Name = 'FAX_EMPRESA'
DataType = datString
Size = 25
end>
end
item
Params = <
item
Name = 'ID_PEDIDO'
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
TargetTable = 'PEDIDOS_CLIENTE_DETALLES'
SQL =
'SELECT PEDIDOS_CLIENTE_DETALLES.ID, PEDIDOS_CLIENTE_DETALLES.ID_' +
'PEDIDO,'#10' PEDIDOS_CLIENTE_DETALLES.POSICION, PEDIDOS_CLIENT' +
'E_DETALLES.TIPO_DETALLE,'#10' PEDIDOS_CLIENTE_DETALLES.CONCEPT' +
'O, PEDIDOS_CLIENTE_DETALLES.CANTIDAD,'#10' PEDIDOS_CLIENTE_DET' +
'ALLES.IMPORTE_UNIDAD, PEDIDOS_CLIENTE_DETALLES.IMPORTE_TOTAL,'#10' ' +
' ARTICULOS.REFERENCIA, ARTICULOS.FAMILIA, ARTICULOS.REFERENC' +
'IA_PROV as REFERENCIA_PROVEEDOR'#10#10'FROM PEDIDOS_CLIENTE_DETALLES'#10'L' +
'EFT JOIN ARTICULOS ON (PEDIDOS_CLIENTE_DETALLES.ID_ARTICULO = AR' +
'TICULOS.ID)'#10'WHERE ID_PEDIDO = :ID_PEDIDO'#10'ORDER BY POSICION'
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
end
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'TIPO_DETALLE'
TableField = 'TIPO_DETALLE'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'IMPORTE_UNIDAD'
TableField = 'IMPORTE_UNIDAD'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'ID_PEDIDO'
TableField = 'ID_PEDIDO'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'FAMILIA'
TableField = 'FAMILIA'
end
item
DatasetField = 'REFERENCIA_PROVEEDOR'
TableField = 'REFERENCIA_PROVEEDOR'
end>
end>
Name = 'Informe_Detalles'
Fields = <
item
Name = 'ID'
DataType = datInteger
end
item
Name = 'ID_PEDIDO'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 10
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datInteger
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datFloat
end
item
Name = 'IMPORTE_TOTAL'
DataType = datFloat
end
item
Name = 'FAMILIA'
DataType = datString
Size = 255
end
item
Name = 'REFERENCIA_PROVEEDOR'
DataType = datString
Size = 255
end>
end>
JoinDataTables = <>
UnionDataTables = <>
Commands = <>
RelationShips = <>
UpdateRules = <>
Version = 0
Left = 48
Top = 16
end
object DataDictionary: TDADataDictionary
Fields = <>
Left = 46
Top = 142
end
object frxReport: TfrxReport
Version = '3.23.7'
DotMatrixReport = False
EngineOptions.DoublePass = True
IniFile = '\Software\Fast Reports'
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick]
PreviewOptions.Zoom = 1.000000000000000000
PrintOptions.Printer = 'Por defecto'
ReportOptions.CreateDate = 39065.872423495400000000
ReportOptions.LastChange = 39255.590290254630000000
ScriptLanguage = 'PascalScript'
ScriptText.Strings = (
''
'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);'
'var'
' Cadena: String;'
'begin'
' DatosEmpresa.Lines.Clear;'
' if (<frxDBCabecera."TELEFONO_1_EMPRESA"> <> '#39#39') then'
' Cadena := '#39'TLF: '#39' + <frxDBCabecera."TELEFONO_1_EMPRESA">;'
' if (<frxDBCabecera."FAX_EMPRESA"> <> '#39#39') then'
' Cadena := Cadena + '#39' FAX: '#39' + <frxDBCabecera."FAX_EMPRESA' +
'">;'
' DatosEmpresa.Lines.Add(Cadena);'
'end;'
''
'procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);'
'begin'
' NombreEmpresa.Lines.Clear;'
' NombreEmpresa.Lines.Add(<frxDBCabecera."NOMBRE_EMPRESA">);'
'end;'
''
'procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);'
'var'
' ACadena : String;'
'begin'
' ACadena := '#39#39';'
' DireccionEnvio.Lines.Clear;'
' if (<frxDBCabecera."REFERENCIA_CLIENTE"> <> '#39#39') then'
' ACadena := <frxDBCabecera."REFERENCIA_CLIENTE">;'
''
' if (<frxDBCabecera."PERSONA_CONTACTO"> <> '#39#39') then'
' ACadena := ACadena + '#39' '#39' + <frxDBCabecera."PERSONA_CONTACT' +
'O">;'
''
' DireccionEnvio.Lines.Add(ACadena);'
' ACadena := '#39#39';'
' DireccionEnvio.Lines.Add(<frxDBCabecera."CALLE">);'
' if (<frxDBCabecera."CODIGO_POSTAL"> <> '#39#39') then'
' ACadena := <frxDBCabecera."CODIGO_POSTAL"> + '#39' '#39';'
' if (<frxDBCabecera."POBLACION"> <> '#39#39') then'
' ACadena := ACadena + <frxDBCabecera."CODIGO_POSTAL">;'
''
' if (ACadena <> '#39#39') then'
' DireccionEnvio.Lines.Add(ACadena);'
''
' if (<frxDBCabecera."PROVINCIA"> <> '#39#39') then'
' DireccionEnvio.Lines.Add(<frxDBCabecera."PROVINCIA">);'
''
' if (<frxDBCabecera."TELEFONO"> <> '#39#39') then'
' DireccionEnvio.Lines.Add(<frxDBCabecera."TELEFONO">);'
'end;'
''
'begin'
''
'end.')
ShowProgress = False
StoreInDFM = False
Left = 169
Top = 16
Datasets = <
item
DataSet = frxDBCabecera
DataSetName = 'frxDBCabecera'
end
item
DataSet = frxDBDetalles
DataSetName = 'frxDBDetalles'
end>
Variables = <>
Style = <>
end
object frxDBCabecera: TfrxDBDataset
UserName = 'frxDBCabecera'
CloseDataSource = False
DataSource = DADataCabecera
Left = 264
Top = 16
end
object frxDBDetalles: TfrxDBDataset
UserName = 'frxDBDetalles'
CloseDataSource = False
DataSource = DADataDetalles
Left = 344
Top = 16
end
object Bin2DataStreamer: TDABin2DataStreamer
Left = 48
Top = 80
end
object tbl_Cabecera: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
IndexDefs = <>
Left = 264
Top = 128
end
object tbl_Detalles: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
IndexDefs = <>
Left = 344
Top = 128
end
end

View File

@ -1,118 +0,0 @@
unit uRptPedidosCliente_Server;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, frxClass, frxDBSet, uDAScriptingProvider,
uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient,
frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes,
uDAInterfaces, uDAMemDataTable, uDADataStreamer, uDABin2DataStreamer;
type
TRptPresupuestosCliente = class(TDataModule)
DADataCabecera: TDADataSource;
DADataDetalles: TDADataSource;
frxRichObject1: TfrxRichObject;
frxBarCodeObject1: TfrxBarCodeObject;
frxOLEObject1: TfrxOLEObject;
frxCrossObject1: TfrxCrossObject;
frxCheckBoxObject1: TfrxCheckBoxObject;
frxGradientObject1: TfrxGradientObject;
frxChartObject1: TfrxChartObject;
frxDBCabecera: TfrxDBDataset;
frxDBDetalles: TfrxDBDataset;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
frxReport: TfrxReport;
Bin2DataStreamer: TDABin2DataStreamer;
tbl_Cabecera: TDAMemDataTable;
tbl_Detalles: TDAMemDataTable;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
procedure GenerarPedido(const AID : Integer); overload;
public
function GenerarPedido(const AID : String): Binary; overload;
end;
implementation
{$R *.dfm}
uses
uDataModuleServer, schPedidosClienteClient_Intf;
const
rptInforme = 'InfPedidoCliente.fr3';
{ Dataset names for schReport }
ds_InformeCabecera = 'Informe_Cabecera';
ds_InformeDetalles = 'Informe_Detalles';
{ TRptPedidosProveedor }
procedure TRptPresupuestosCliente.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
frxReport.EngineOptions.NewSilentMode := simReThrow;
end;
function TRptPresupuestosCliente.GenerarPedido(const AID: String): Binary;
var
ID_Pedidos: TStringList;
i: Integer;
begin
Result := Binary.Create;
FConnection.BeginTransaction;
try
ID_Pedidos := TStringList.Create;
ID_Pedidos.CommaText := AID;
//Vamos generando todos y cada uno de los albaranes recibidos
for i := 0 to ID_Pedidos.Count - 1 do
GenerarPedido(StrToInt(ID_Pedidos.Strings[i]));
frxReport.PreviewPages.SaveToStream(Result);
finally
FConnection.RollbackTransaction;
end;
end;
procedure TRptPresupuestosCliente.GenerarPedido(const AID: Integer);
var
AStream: TMemoryStream;
dsMaster: IDADataset;
dsDetail: IDADataset;
begin
AStream := TMemoryStream.Create;
try
dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [AID]);
dsDetail := schReport.NewDataset(FConnection, ds_InformeDetalles, ['ID_PEDIDO'], [AID], False);
AStream.Clear;
DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE);
AStream.Clear;
DABINAdapter.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1);
DABINAdapter.ReadDataset(AStream, tbl_Detalles, TRUE, '', TRUE, TRUE);
frxReport.LoadFromFile(DarRutaInformes + rptInforme, True);
frxReport.PrepareReport(False);
finally
AStream.Free;
dsMaster := Nil;
dsDetail := Nil;
end;
end;
end.

View File

@ -80,9 +80,9 @@ type
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
procedure GenerarPresupuesto(const AID : Integer); overload;
procedure _GenerarPresupuesto(const AID : Integer);
public
function GenerarPresupuesto(const AID : String): Binary; overload;
function GenerarPresupuesto(const ListaID : String): Binary; overload;
end;
implementation
@ -95,10 +95,6 @@ uses
const
rptInforme = 'InfPresupuestoCliente.fr3';
{ Dataset names for schReport }
ds_InformeCabecera = 'Informe_Cabecera';
ds_InformeCapitulos = 'Informe_Capitulos';
{ TRptPresupuestosProveedor }
@ -110,7 +106,7 @@ begin
frxReport.EngineOptions.NewSilentMode := simReThrow;
end;
function TRptPresupuestosCliente.GenerarPresupuesto(const AID: String): Binary;
function TRptPresupuestosCliente.GenerarPresupuesto(const ListaID: String): Binary;
var
ID_Presupuestos: TStringList;
i: Integer;
@ -121,11 +117,11 @@ begin
try
ID_Presupuestos := TStringList.Create;
ID_Presupuestos.CommaText := AID;
ID_Presupuestos.CommaText := ListaID;
//Vamos generando todos y cada uno de los presupuestos recibidos
for i := 0 to ID_Presupuestos.Count - 1 do
GenerarPresupuesto(StrToInt(ID_Presupuestos.Strings[i]));
_GenerarPresupuesto(StrToInt(ID_Presupuestos.Strings[i]));
frxReport.PreviewPages.SaveToStream(Result);
@ -134,64 +130,25 @@ begin
end;
end;
procedure TRptPresupuestosCliente.GenerarPresupuesto(const AID: Integer);
var
AStream: TMemoryStream;
dsCabecera: IDADataset;
dsCapitulos: IDADataset;
I: Integer;
procedure TRptPresupuestosCliente._GenerarPresupuesto(const AID: Integer);
begin
//AStream := TMemoryStream.Create;
frxDBCabecera.DataSource := DADSCabecera;
frxDBCapitulos.DataSource := DADSCapitulos;
frxDBDetalles.DataSource := DADSDetalles;
frxDBResumen.DataSource := DADSResumen;
try
{ dsCabecera := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [AID]);
dsCapitulos := schReport.NewDataset(FConnection, ds_InformeCapitulos, ['ID_PRESUPUESTO'], [AID], False);
tbl_Cabecera.ParamByName('ID').AsInteger := AID;
tbl_Capitulos.ParamByName('ID_PRESUPUESTO').AsInteger := AID;
tbl_Detalles.ParamByName('ID_PRESUPUESTO').AsInteger := AID;
tbl_Resumen.ParamByName('ID_PRESUPUESTO').AsInteger := AID;
AStream.Clear;
DABin2DataStreamer1.WriteDataset(AStream, dsCabecera, [woRows, woSchema]);
DABin2DataStreamer1.ReadDataset(AStream, DAMemDataTable1, True, ds_InformeCabecera, True, True);
AStream.Clear;
DABin2DataStreamer1.WriteDataset(AStream, dsCapitulos, [woRows, woSchema]);
DABin2DataStreamer1.ReadDataset(AStream, DAMemDataTable2, True, ds_InformeCapitulos, True, True);
tbl_Cabecera.Active := True;
tbl_Capitulos.Active := True;
tbl_Detalles.Active := True;
tbl_Resumen.Active := True;
DADSCabecera.DataTable := DAMemDataTable1;
frxDBCabecera.DataSource := DADSCabecera;
DADSCapitulos.DataTable := DAMemDataTable2;
frxDBCapitulos.DataSource := DADSCapitulos;}
{ DAMemDataTable1.Active := True;
for I := 0 to DAMemDataTable1.RecordCount - 1 do
ShowMessage(DAMemDataTable1.Fields[2].AsString);}
{ AStream.Clear;
Bin2DataStreamer.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1);
Bin2DataStreamer.ReadDataset(AStream, tbl_Detalles, TRUE, '', TRUE, TRUE);}
frxDBCabecera.DataSource := DADSCabecera;
frxDBCapitulos.DataSource := DADSCapitulos;
frxDBDetalles.DataSource := DADSDetalles;
frxDBResumen.DataSource := DADSResumen;
tbl_Cabecera.ParamByName('ID').AsInteger := AID;
tbl_Capitulos.ParamByName('ID_PRESUPUESTO').AsInteger := AID;
tbl_Detalles.ParamByName('ID_PRESUPUESTO').AsInteger := AID;
tbl_Resumen.ParamByName('ID_PRESUPUESTO').AsInteger := AID;
tbl_Cabecera.Active := True;
tbl_Capitulos.Active := True;
tbl_Detalles.Active := True;
tbl_Resumen.Active := True;
frxReport.LoadFromFile(DarRutaInformes + rptInforme, True);
frxReport.PrepareReport(False);
finally
//AStream.Free;
dsCabecera := Nil;
dsCapitulos := Nil;
end;
frxReport.LoadFromFile(DarRutaInformes + rptInforme, True);
frxReport.PrepareReport(False);
end;
end.

View File

@ -0,0 +1,646 @@
object RptWordPresupuestosCliente: TRptWordPresupuestosCliente
OldCreateOrder = False
OnCreate = DataModuleCreate
Height = 262
Width = 374
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
Params = <
item
Name = 'ID'
Value = '31'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
SQL =
'SELECT'#10' V_PRESUPUESTOS_CLIENTE.ID, V_PRESUPUESTOS_CLIENTE.ID_' +
'EMPRESA,'#10' V_PRESUPUESTOS_CLIENTE.FECHA_PRESUPUESTO,'#10' V_PRE' +
'SUPUESTOS_CLIENTE.REFERENCIA,'#10' V_PRESUPUESTOS_CLIENTE.PORTADA' +
','#10' V_PRESUPUESTOS_CLIENTE.MEMORIA, V_PRESUPUESTOS_CLIENTE.OBS' +
'ERVACIONES,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_NETO, V_PRESUPUES' +
'TOS_CLIENTE.IMPORTE_PORTE,'#10' V_PRESUPUESTOS_CLIENTE.DESCUENTO,' +
' V_PRESUPUESTOS_CLIENTE.IMPORTE_DESCUENTO,'#10' V_PRESUPUESTOS_CL' +
'IENTE.BASE_IMPONIBLE, V_PRESUPUESTOS_CLIENTE.IVA,'#10' V_PRESUPUE' +
'STOS_CLIENTE.ID_CLIENTE,'#10' V_PRESUPUESTOS_CLIENTE.REFERENCIA_C' +
'LIENTE,'#10' V_PRESUPUESTOS_CLIENTE.CLIENTE_FINAL,'#10' V_CLIENTES' +
'.NIF_CIF, V_CLIENTES.NOMBRE,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_' +
'IVA, V_PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL,'#10' V_CLIENTES.PERSON' +
'A_CONTACTO, V_CLIENTES.CALLE, V_CLIENTES.POBLACION,'#10' V_CLIENT' +
'ES.PROVINCIA, V_CLIENTES.CODIGO_POSTAL'#10'FROM'#10' V_PRESUPUESTOS_C' +
'LIENTE INNER JOIN V_CLIENTES ON'#10' (V_PRESUPUESTOS_CLIENTE.' +
'ID_CLIENTE = V_CLIENTES.ID)'#10' WHERE V_PRESUPUESTOS_CLIENTE.ID = ' +
':ID'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'FECHA_PRESUPUESTO'
TableField = 'FECHA_PRESUPUESTO'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'PORTADA'
TableField = 'PORTADA'
end
item
DatasetField = 'MEMORIA'
TableField = 'MEMORIA'
end
item
DatasetField = 'OBSERVACIONES'
TableField = 'OBSERVACIONES'
end
item
DatasetField = 'IMPORTE_NETO'
TableField = 'IMPORTE_NETO'
end
item
DatasetField = 'IMPORTE_PORTE'
TableField = 'IMPORTE_PORTE'
end
item
DatasetField = 'DESCUENTO'
TableField = 'DESCUENTO'
end
item
DatasetField = 'IMPORTE_DESCUENTO'
TableField = 'IMPORTE_DESCUENTO'
end
item
DatasetField = 'BASE_IMPONIBLE'
TableField = 'BASE_IMPONIBLE'
end
item
DatasetField = 'IVA'
TableField = 'IVA'
end
item
DatasetField = 'ID_CLIENTE'
TableField = 'ID_CLIENTE'
end
item
DatasetField = 'REFERENCIA_CLIENTE'
TableField = 'REFERENCIA_CLIENTE'
end
item
DatasetField = 'CLIENTE_FINAL'
TableField = 'CLIENTE_FINAL'
end
item
DatasetField = 'NIF_CIF'
TableField = 'NIF_CIF'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'IMPORTE_IVA'
TableField = 'IMPORTE_IVA'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'PERSONA_CONTACTO'
TableField = 'PERSONA_CONTACTO'
end
item
DatasetField = 'CALLE'
TableField = 'CALLE'
end
item
DatasetField = 'POBLACION'
TableField = 'POBLACION'
end
item
DatasetField = 'PROVINCIA'
TableField = 'PROVINCIA'
end
item
DatasetField = 'CODIGO_POSTAL'
TableField = 'CODIGO_POSTAL'
end>
end>
Name = 'Informe_Cabecera'
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'PORTADA'
DataType = datMemo
end
item
Name = 'MEMORIA'
DataType = datMemo
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
end
item
Name = 'IVA'
DataType = datFloat
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'CLIENTE_FINAL'
DataType = datString
Size = 255
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end>
ReadOnly = True
end
item
Params = <
item
Name = 'ID_PRESUPUESTO'
Value = '2'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
SQL =
'SELECT '#10' ID, ID_PRESUPUESTO, POSICION, TIPO_DETALLE, ID_ARTIC' +
'ULO, '#10' F_RTFTOTEXT(F_RTFTOTEXT(CONCEPTO)) as CONCEPTO, CONCEP' +
'TO as CONCEPTO_RTF, CANTIDAD,'#10' IMPORTE_UNIDAD, DESCUENTO, IMP' +
'ORTE_PORTE,'#10' IMPORTE_TOTAL, VISIBLE, FECHA_ALTA, FECHA_MODIFI' +
'CACION'#10' FROM'#10' PRESUPUESTOS_CLIENTE_DETALLES'#10' WHERE {Where}'#10 +
' AND (VISIBLE) <> 0'#10' AND (ID_PRESUPUESTO = :ID_PRESUPUESTO' +
')'#10' ORDER BY ID_PRESUPUESTO, POSICION'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_PRESUPUESTO'
TableField = 'ID_PRESUPUESTO'
end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
end
item
DatasetField = 'TIPO_DETALLE'
TableField = 'TIPO_DETALLE'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'VISIBLE'
TableField = 'VISIBLE'
end
item
DatasetField = 'ID_ARTICULO'
TableField = 'ID_ARTICULO'
end
item
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
item
DatasetField = 'IMPORTE_UNIDAD'
TableField = 'IMPORTE_UNIDAD'
end
item
DatasetField = 'DESCUENTO'
TableField = 'DESCUENTO'
end
item
DatasetField = 'IMPORTE_PORTE'
TableField = 'IMPORTE_PORTE'
end
item
DatasetField = 'FECHA_ALTA'
TableField = 'FECHA_ALTA'
end
item
DatasetField = 'FECHA_MODIFICACION'
TableField = 'FECHA_MODIFICACION'
end
item
DatasetField = 'CONCEPTO_RTF'
TableField = 'CONCEPTO_RTF'
end>
end>
Name = 'Informe_Detalles'
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 10
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end
item
Name = 'CONCEPTO_RTF'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datInteger
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'VISIBLE'
DataType = datSmallInt
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end>
ReadOnly = True
end>
JoinDataTables = <>
UnionDataTables = <>
Commands = <>
RelationShips = <>
UpdateRules = <>
Version = 0
Left = 48
Top = 16
end
object DataDictionary: TDADataDictionary
Fields = <>
Left = 46
Top = 142
end
object DABin2DataStreamer: TDABin2DataStreamer
Left = 48
Top = 80
end
object tbl_Cabecera: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'PORTADA'
DataType = datMemo
end
item
Name = 'MEMORIA'
DataType = datMemo
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
end
item
Name = 'IVA'
DataType = datFloat
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'CLIENTE_FINAL'
DataType = datString
Size = 255
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end>
Params = <
item
Name = 'ID'
Value = '31'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Informe_Cabecera'
IndexDefs = <>
Left = 168
Top = 16
end
object tbl_Detalles: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 10
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end
item
Name = 'CONCEPTO_RTF'
DataType = datString
Size = 254
end
item
Name = 'CANTIDAD'
DataType = datInteger
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'VISIBLE'
DataType = datSmallInt
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end>
Params = <
item
Name = 'ID_PRESUPUESTO'
Value = '2'
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_PRESUPUESTO=ID_PRESUPUESTO')
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'Informe_Detalles'
IndexDefs = <>
Left = 264
Top = 16
end
end

View File

@ -0,0 +1,634 @@
unit uRptWordPresupuestoCliente;
interface
uses
SysUtils, Classes, AHWord97, IB, IBCustomDataSet, IBDatabase,
Word2000,
uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAClasses,
uDAScriptingProvider, uDADataTable, uDAMemDataTable;
type
TCapitulo = record
Tipo : string;
Nombre : string;
Total : double;
end;
TRptWordPresupuestosCliente = class(TDataModule)
DABin2DataStreamer: TDABin2DataStreamer;
tbl_Cabecera: TDAMemDataTable;
tbl_Detalles: TDAMemDataTable;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
FImportes : Boolean;
FDesBonificacion : Variant;
FImpBonificacion : Double;
FPlantilla : string;
FWordApp : TWordApp;
FDocumento : TWordDoc;
FNumCapitulos : Integer;
FNumCapOpc : Integer;
FContadorCap : Integer;
FCodigoPresupuesto : string;
FNombreFichero : String;
ListaCapitulos : array[1..1000] of TCapitulo;
procedure InsertarConceptos(Tabla : Table);
function Generar : Boolean;
function RellenarPortada : boolean; virtual;
function RellenarCabecera : boolean; virtual;
function RellenarInforme : boolean; virtual;
function RellenarResumen : boolean; virtual;
procedure _GenerarPresupuesto(const AID : String);
public
constructor Create (AOwner : TComponent); override;
destructor Destroy; override;
function Exportar(Codigo, Fichero : String): Boolean;
end;
implementation
{$R *.dfm}
uses
Windows, Variants, Dialogs, uDataModuleServer, Literales;
const
rptInforme = 'Presupuesto.rdx';
DISPLAY_EUROS2 = '#,0.00 €';
type
TCharSet = set of Char;
procedure VerMensaje(const A : String);
begin
ShowMessage(A);
end;
function DarRutaTemporal: String;
var
nBufferLength : DWORD; // size, in characters, of the buffer
lpBuffer : PChar; // address of buffer for temp. path
begin
nBufferLength := MAX_PATH + 1; // initialize
GetMem( lpBuffer, nBufferLength );
try
if GetTempPath( nBufferLength, lpBuffer ) <> 0 then
Result := StrPas( lpBuffer )
else
Result := '';
finally
FreeMem( lpBuffer );
end;
end;
function DarFicheroTemporal : String;
var
Buf: array [0..MAX_PATH] of Char;
RutaTmp : string;
begin
RutaTmp := DarRutaTemporal;
if GetTempFileName(PChar(RutaTmp), 'tmp', 0, Buf) <> 0 then
SetString(Result, Buf, StrLen(Buf))
else
Result := '';
end;
function DarFicheroBMPTemporal : String;
var
Cadena : String;
begin
Cadena := DarFicheroTemporal;
Result := Copy(Cadena, 0, (Length(Cadena)-3)) + 'bmp';
end;
function DarFicheroExportar (var Fichero : String) : Boolean;
var
DialogoSalvar : TSaveDialog;
begin
Result := False;
DialogoSalvar := TSaveDialog.Create(NIL);
try
with DialogoSalvar do
begin
DefaultExt := 'doc';
Filter := 'Documento de Word (*.doc)|*.doc';
FilterIndex := 0;
Options := [ofOverwritePrompt, ofHideReadOnly, ofPathMustExist, ofEnableSizing];
end;
Result := DialogoSalvar.Execute;
if Result then
Fichero := DialogoSalvar.FileName;
finally
DialogoSalvar.Free;
end;
end;
procedure EscribirEnFichero (NombreFichero, Texto : string);
var
FicheroAux : TextFile;
begin
SysUtils.DeleteFile(NombreFichero);
AssignFile(FicheroAux, NombreFichero);
Rewrite(FicheroAux);
WriteLn(FicheroAux, Texto);
CloseFile(FicheroAux);
end;
function EsCadenaVacia(const S: AnsiString): Boolean; overload;
begin
Result := (Length(Trim(S)) = 0)
end;
function EsCadenaVacia(const S: Variant): Boolean; overload;
begin
Result := True;
if VarIsNull(S) then
Exit;
Result := EsCadenaVacia(VarToStr(S));
end;
function EsCadenaVacia(const S: AnsiString; const EmptyChars: TCharSet): Boolean; overload;
var
I, SLen: Integer;
begin
SLen := Length(S);
I := 1;
while I <= SLen do begin
if not (S[I] in EmptyChars) then begin
Result := False;
Exit;
end
else Inc(I);
end;
Result := True;
end;
constructor TRptWordPresupuestosCliente.Create(AOwner: TComponent);
begin
inherited;
FDocumento := NIL;
FImportes := True;
FNumCapitulos := 0;
FPlantilla := DarRutaInformes + rptInforme;
end;
procedure TRptWordPresupuestosCliente.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
end;
destructor TRptWordPresupuestosCliente.Destroy;
begin
if FDocumento <> NIL then
FDocumento.Free;
FDocumento := NIL;
inherited;
end;
function TRptWordPresupuestosCliente.Exportar(Codigo, Fichero: String): Boolean;
begin
if EsCadenaVacia(Fichero) then
begin
Result := False;
raise Exception.Create(msgInfFaltaFicheroListado);
end;
FNombreFichero := Fichero;
FCodigoPresupuesto := Codigo;
_GenerarPresupuesto(Codigo);
Result := True;
end;
function TRptWordPresupuestosCliente.Generar : Boolean;
var
Aux : OleVariant;
begin
FWordApp := TWordApp.Create (False, False);
with FWordApp do
begin
Visible := False;
ScreenUpdating := False;
end;
FDocumento := TWordDoc.CreateNewDoc(FWordApp, FPlantilla);
FWordApp.ScreenUpdating := False;
try
if not RellenarPortada then
begin
VerMensaje(msgInfFalloRellenarPortada);
Exit;
end;
if not RellenarCabecera then
begin
VerMensaje(msgInfFalloRellenarCabecera);
Exit;
end;
if not RellenarInforme then
begin
VerMensaje(msgInfFalloRellenarInforme);
Exit;
end;
if (FNumCapitulos <> 0) and (FNumCapOpc < FNumCapitulos) then
begin
if not RellenarResumen then
begin
VerMensaje(msgInfFalloRellenarResumen);
Exit;
end;
end
else begin
FDocumento.Document.Tables.Item(FDocumento.Document.Tables.Count-1).Delete;
end;
FDocumento.SaveAs(FNombreFichero);
FWordApp.CloseApp(wdDoNotSaveChanges);
Result := True;
finally
FDocumento := NIL;
FWordApp := NIL;
end;
end;
procedure TRptWordPresupuestosCliente.InsertarConceptos(Tabla : Table);
var
numRows, numCols, mergeSplit, shiftCells : OleVariant;
iContador : Integer;
TotalConceptos : Double;
begin
numRows := 2;
numCols := 1;
mergeSplit := False;
shiftCells := False;
iContador := 2; // Empezar en la 2ª fila de celdas. La primera es la
// cabecera de la tabla.
with Tabla, tbl_Detalles do
begin
while not EOF do
begin
if FieldByName('TIPO_DETALLE').AsString <> 'Concepto' then
Break;
// Partir la celda actual en 2 filas de 1 columna.
Rows.Item(iContador).Cells.Split (numRows, numCols, mergesplit);
Cell(iContador, 1).Range.Text := FieldByName('CONCEPTO').AsString;
Cell(iContador, 2).Range.Text := FieldByName('CANTIDAD').AsString; {------- PENDIENTE + ' ' +
FieldByName('UNIDADESMEDIDA').AsString; ------}
if FImportes then
Cell(iContador, 3).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_UNIDAD').AsFloat)
else
Cell(iContador, 3).Range.Text := '';
if FImportes then
Cell(iContador, 4).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_TOTAL').AsFloat)
else
Cell(iContador, 4).Range.Text := '';
TotalConceptos := TotalConceptos + FieldByName('IMPORTE_TOTAL').AsFloat;
Next;
Inc (iContador);
end;
ListaCapitulos[FContadorCap].Total := TotalConceptos;
// Borrar la fila vacía que sobra
Rows.Item(iContador).Cells.Delete(shiftCells);
if FImportes
then Cell(iContador, 1).Range.Text := 'Total: ' + FormatFloat(DISPLAY_EUROS2, TotalConceptos)
else Cell(iContador, 1).Range.Text := '';
AutoFitBehavior(wdAutoFitWindow);
end;
end;
function TRptWordPresupuestosCliente.RellenarCabecera: boolean;
var
NombreFichero,
Texto,
FicheroTemporal : String;
LinkToFile, SaveWithDocument, _Range : OleVariant;
Imagen : InlineShape;
What, Which, Count, Name : OleVariant;
ovBookMarkName : OleVariant;
TempRange : Word2000.Range;
ovRange : OleVariant;
begin
//PARA DIBUJAR EL LOGOTIPO MULTIEMPRESA
{ --------------------- PENDIENTE
if (EmpresaActiva.Logotipo <> Nil) then
begin
//Activamos cabecera segunda
What:=wdGoToSection;
Which:=wdGoToFirst;
Count:=2;
Name:='';
FWordApp.Application.ActiveWindow.ActivePane.Selection.GoTo_ (What, Which, Count, Name);
FWordApp.Application.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
LinkToFile := False;
SaveWithDocument := True;
_Range := EmptyParam;
FicheroTemporal := DarFicheroTemporal;
EmpresaActiva.Logotipo.SaveToFile (FicheroTemporal);
Imagen := FWordApp.Application.ActiveWindow.ActivePane.Selection.InlineShapes.AddPicture(FicheroTemporal, LinkToFile, SaveWithDocument, _Range);
//Formateamos imagen
if ((Imagen.Get_Width > ANCHO_LOGO_INF)) then
begin
Imagen.Set_Height(((ANCHO_LOGO_INF * Imagen.Get_Height) /Imagen.Get_Width));
Imagen.Set_Width(ANCHO_LOGO_INF);
end;
end;
-------------------------------------- }
with FDocumento, tbl_Cabecera do
begin
{ ----------------------- PENDIENTE
FDesBonificacion := FieldByName('DESBONIFICACION').AsVariant;
FImpBonificacion := FieldByName('IMPBONIFICACION').AsFloat;
----------------------- }
ReplaceBookmark('CodigoPresupuestoCab', FieldByName('REFERENCIA').AsString);
ReplaceBookmark('FechaPresupuestoCab', FieldByName('FECHA_PRESUPUESTO').AsString);
ReplaceBookmark('NombreClienteCab', FieldByName('NOMBRE').AsString);
ReplaceBookmark('DireccionClienteCab', FieldByName('CALLE').AsString);
ReplaceBookmark('PoblacionClienteCab',
FieldByName('CODIGO_POSTAL').AsString + ' ' +
FieldByName('POBLACION').AsString + ' ' + FieldByName('PROVINCIA').AsString);
ReplaceBookmark('ContactoClienteCab', FieldByName('PERSONA_CONTACTO').AsString);
ReplaceBookmark('NombreClienteFirma', FieldByName('NOMBRE').AsString);
if not EsCadenaVacia(FieldByName('MEMORIA').AsString) then
begin
Texto := FieldByName('MEMORIA').AsString;
NombreFichero := DarFicheroTemporal;
EscribirEnFichero(NombreFichero, Texto);
FWordApp.InsertFile(NombreFichero, 'TextoPresupuesto');
SysUtils.DeleteFile(NombreFichero);
end
else begin
ovBookMarkName := 'TextoPresupuesto';
TempRange := FWordApp.Application.ActiveDocument.Bookmarks.Item (ovBookMarkName).Range;
What := wdCharacter;
Count := 3;
TempRange.Delete(What, Count);
end;
Texto := FieldByName('OBSERVACIONES').AsString;
NombreFichero := DarFicheroTemporal;
EscribirEnFichero(NombreFichero, Texto);
FWordApp.InsertFile(NombreFichero, 'Notas');
SysUtils.DeleteFile(NombreFichero);
{ ----------------------------------------- pendiente
ReplaceBookmark('NombreEmpresaPortada', EmpresaActiva.Nombre);
ReplaceBookmark('DireccionEmpresaPortada',
Format('%s, %s. %s %s', [EmpresaActiva.Calle, EmpresaActiva.Numero,
EmpresaActiva.CodigoPostal, EmpresaActiva.Poblacion]));
ReplaceBookmark('TelefonoEmpresaPortada', EmpresaActiva.Telefono);
ReplaceBookmark('FaxEmpresaPortada', EmpresaActiva.Fax);
ReplaceBookmark('CorreoEmpresaPortada', EmpresaActiva.Correo);
ReplaceBookmark('NombreEmpresa', EmpresaActiva.Nombre);
ReplaceBookmark('CifEmpresa', EmpresaActiva.NifCif);
ReplaceBookmark('DireccionEmpresa',
Format('%s, %s. %s %s', [EmpresaActiva.Calle, EmpresaActiva.Numero,
EmpresaActiva.CodigoPostal, EmpresaActiva.Poblacion]));
ReplaceBookmark('TelefonoEmpresa', EmpresaActiva.Telefono);
ReplaceBookmark('FaxEmpresa', EmpresaActiva.Fax);
ReplaceBookmark('CorreoEmpresa', EmpresaActiva.Correo);
ReplaceBookmark('NombreEmpresaFirma', EmpresaActiva.Nombre);
--------------------------------------------- }
end;
Result := True;
end;
function TRptWordPresupuestosCliente.RellenarInforme: boolean;
var
NombreCapitulo : String;
Estilo : OleVariant;
begin
FContadorCap := 0;
FNumCapOpc := 0;
with FDocumento, tbl_Detalles do
begin
First;
FieldByName('IMPORTE_UNIDAD').DisplayFormat := DISPLAY_EUROS2;
FieldByName('IMPORTE_TOTAL').DisplayFormat := DISPLAY_EUROS2;
GoToSection(3);
{ Copiar la tabla de conceptos al portapapeles }
Document.Tables.Item(2).Select;
FWordApp.Application.Selection.Cut;
while not Eof do
begin
if (FieldByName('TIPO_DETALLE').AsString = 'Subtotal') then
begin
Next;
Continue;
end;
if (FieldByName('TIPO_DETALLE').AsString = 'Titulo') or
(FieldByName('TIPO_DETALLE').AsString = 'Opcional') then
begin
NombreCapitulo := '';
Estilo := 'TituloCapitulo';
FWordApp.Application.Selection.Set_Style(Estilo);
if (FieldByName('TIPO_DETALLE').AsString = 'Titulo') then
NombreCapitulo := 'Capítulo ' + IntToStr(FContadorCap + 1) + '. ' + FieldByName('CONCEPTO').AsString
else begin
NombreCapitulo := 'Capítulo opcional. ' + FieldByName('CONCEPTO').AsString;
Inc(FNumCapOpc);
end;
FWordApp.InsertText(NombreCapitulo);
FWordApp.InsertText(#13);
Inc(FContadorCap);
ListaCapitulos[FContadorCap].Tipo := FieldByName('TIPO_DETALLE').AsString;
ListaCapitulos[FContadorCap].Nombre := NombreCapitulo;
{ Pegar una tabla para rellenarla }
FWordApp.Application.Selection.Paste;
Next;
end
else begin
if FContadorCap = 0 then
begin
Inc(FContadorCap); // Se considera el conjunto de conceptos sueltos como un capítulo.
{ Pegar una tabla para rellenarla }
FWordApp.Application.Selection.Paste;
InsertarConceptos(Document.Tables.Item(Document.Tables.Count - 2));
end
else
InsertarConceptos(Document.Tables.Item(Document.Tables.Count - 2));
end;
end;
FNumCapitulos := FContadorCap;
end;
Result := True;
end;
function TRptWordPresupuestosCliente.RellenarPortada: boolean;
var
NombreFichero,
Texto,
FicheroTemporal : string;
LinkToFile, SaveWithDocument, _Range : OleVariant;
Imagen : InlineShape;
begin
//PARA DIBUJAR EL LOGOTIPO MULTIEMPRESA
{--------------------------- PENDIENTE
if (EmpresaActiva.Logotipo <> Nil) then
begin
FWordApp.GotoBookmark ('LogotipoEmpresa');
LinkToFile := False;
SaveWithDocument := True;
_Range := EmptyParam;
FicheroTemporal := DarFicheroTemporal;
EmpresaActiva.Logotipo.SaveToFile (FicheroTemporal);
Imagen := FWordApp.Application.ActiveWindow.ActivePane.Selection.InlineShapes.AddPicture(FicheroTemporal, LinkToFile, SaveWithDocument, _Range);
//Formateamos imagen
if ((Imagen.Get_Width > ANCHO_LOGO_INF_PRE)) then
begin
Imagen.Set_Height(((ANCHO_LOGO_INF_PRE * Imagen.Get_Height) /Imagen.Get_Width));
Imagen.Set_Width(ANCHO_LOGO_INF_PRE);
end;
end;
---------------------------- }
with FDocumento, tbl_Cabecera do
begin
ReplaceBookmark('CodigoPresupuestoPortada', FieldByName('REFERENCIA').AsString);
ReplaceBookmark('FechaPresupuestoPortada', FieldByName('FECHA_PRESUPUESTO').AsString);
ReplaceBookmark('NombreClientePortada', FieldByName('NOMBRE').AsString);
if not EsCadenaVacia(FieldByName('PERSONA_CONTACTO').AsString) then
ReplaceBookmark('PersonaContactoClientePortada', 'A la atención de: ' + FieldByName('PERSONA_CONTACTO').AsString);
Texto := FieldByName('PORTADA').AsString;
NombreFichero := DarFicheroTemporal;
EscribirEnFichero(NombreFichero, Texto);
FWordApp.InsertFile(NombreFichero, 'TextoPortada');
SysUtils.DeleteFile(NombreFichero);
end;
Result := True;
end;
function TRptWordPresupuestosCliente.RellenarResumen : boolean;
var
numRows, numCols, mergeSplit, shiftCells : OleVariant;
iAux : Integer;
iContador : Integer;
TotalConceptos : Double;
Tabla : Table;
Estilo : OleVariant;
begin
numRows := 2;
numCols := 1;
mergeSplit := False;
shiftCells := False;
iContador := 2; // Empezar en la 2ª fila de celdas. La primera es la
// cabecera de la tabla.
Estilo := 'TituloCapitulo';
FWordApp.Application.Selection.Set_Style(Estilo);
FWordApp.InsertText('RESUMEN');
Tabla := FDocumento.Document.Tables.Item(FDocumento.Document.Tables.Count-1);
with Tabla do
begin
for iAux := 1 to FNumCapitulos do
begin
if (ListaCapitulos[iAux].Tipo = 'Opcional') then
continue; // No sumamos los capítulos opcionales.
// Partir la celda actual en en 2 filas de 1 columna.
Rows.Item(iContador).Cells.Split (numRows, numCols, mergesplit);
if EsCadenaVacia(ListaCapitulos[iAux].Nombre) then
Cell(iContador, 1).Range.Text := 'General'
else
Cell(iContador, 1).Range.Text := ListaCapitulos[iAux].Nombre;
if FImportes
then Cell(iContador, 2).Range.Text := FormatFloat(DISPLAY_EUROS2, ListaCapitulos[iAux].Total)
else Cell(iContador, 2).Range.Text := '';
TotalConceptos := TotalConceptos + ListaCapitulos[iAux].Total;
Inc (iContador);
end;
// Borrar la fila vacía que sobra
Rows.Item(iContador).Cells.Delete(shiftCells);
if FImportes then
begin
//Comprobamos si el presupuesto tiene bonificación
if VarIsNull(FDesBonificacion) then
begin
Cell(iContador, 1).Range.Text := 'Total: ' + FormatFloat(DISPLAY_EUROS2, TotalConceptos);
// Borrar filas de bonificación
inc(iContador);
Rows.Item(iContador).Cells.Delete(shiftCells);
Rows.Item(iContador).Cells.Delete(shiftCells);
Rows.Item(iContador).Cells.Delete(shiftCells);
end
else
begin
//Elimino la ultima fila para enlazar la tabla las tres filas de bonificación
Rows.Item(iContador).Cells.Delete(shiftCells);
with FDocumento do
begin
ReplaceBookmark('DescripcionImpTotal', 'Total');
ReplaceBookmark('ImporteTotal', FormatFloat(DISPLAY_EUROS2, TotalConceptos));
ReplaceBookmark('DescripcionBonificacion', FDesBonificacion);
ReplaceBookmark('ImporteBonificacion', FormatFloat(DISPLAY_EUROS2, ((-1)*FImpBonificacion)));
ReplaceBookmark('DescripcionImpFinal', 'Importe final');
ReplaceBookmark('ImpFinal', FormatFloat(DISPLAY_EUROS2, TotalConceptos - FImpBonificacion));
end;
end;
end
else
begin
Cell(iContador, 1).Range.Text := '';
// Borrar filas de bonificación
inc(iContador);
Rows.Item(iContador).Cells.Delete(shiftCells);
Rows.Item(iContador).Cells.Delete(shiftCells);
Rows.Item(iContador).Cells.Delete(shiftCells);
end;
AutoFitBehavior(wdAutoFitWindow);
end;
Result := True;
end;
procedure TRptWordPresupuestosCliente._GenerarPresupuesto(const AID: String);
begin
tbl_Cabecera.ParamByName('ID').AsString := AID;
tbl_Detalles.ParamByName('ID_PRESUPUESTO').AsString := AID;
tbl_Cabecera.Active := True;
tbl_Detalles.Active := True;
FCodigoPresupuesto := AID;
Generar;
end;
end.

View File

@ -33,18 +33,19 @@ type
procedure DARemoteServiceCreate(Sender: TObject);
protected
{ IsrvPresupuestosCliente methods }
function GenerateReport(const ID: String): Binary;
function GenerateReport(const ListaID: String): Binary;
function GenerateReportEnWord(const ID: Integer): Binary;
end;
implementation
{$R *.dfm}
uses
Dialogs,
Dialogs, uSistemaFunc,
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils,
schPresupuestosClienteClient_Intf, uRestriccionesUsuarioUtils,
uRptPresupuestosCliente_Server,
uBizPresupuestosClienteServer;
uBizPresupuestosClienteServer, uRptWordPresupuestoCliente;
procedure Create_srvPresupuestosCliente(out anInstance : IUnknown);
begin
@ -77,13 +78,32 @@ begin
ConnectionName := dmServer.ConnectionName;
end;
function TsrvPresupuestosCliente.GenerateReport(const ID: String): Binary;
function TsrvPresupuestosCliente.GenerateReport(const ListaID: String): Binary;
var
AReportGenerator : TRptPresupuestosCliente;
begin
AReportGenerator := TRptPresupuestosCliente.Create(nil);
try
Result := AReportGenerator.GenerarPresupuesto(ID);
Result := AReportGenerator.GenerarPresupuesto(ListaID);
finally
FreeAndNIL(AReportGenerator);
end;
end;
function TsrvPresupuestosCliente.GenerateReportEnWord(const ID: Integer): Binary;
var
AReportGenerator : TRptWordPresupuestosCliente;
AFicheroTMP : TFileName;
begin
Result := NIL;
AFicheroTMP := DarFicheroTemporal;
AReportGenerator := TRptWordPresupuestosCliente.Create(nil);
try
if AReportGenerator.Exportar(IntToStr(ID), AFicheroTMP) then
begin
Result := Binary.Create;
Result.LoadFromFile(AFicheroTMP);
end;
finally
FreeAndNIL(AReportGenerator);
end;

View File

@ -47,8 +47,6 @@
<Excluded_Packages Name="c:\archivos de programa\borland\delphi10\Bin\dclIntraweb_80_100.bpl">Intraweb 8.0 Design Package for Borland Development Studio 2006</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">PresupuestosCliente_view.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
@ -57,11 +55,11 @@
<DelphiCompile Include="PresupuestosCliente_view.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\Articulos_view.dcp" />
<DCCReference Include="..\Base.dcp" />
<DCCReference Include="..\GUIBase.dcp" />
<DCCReference Include="..\PresupuestosCliente_controller.dcp" />
<DCCReference Include="..\PresupuestosCliente_model.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Articulos_view.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\Base.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\GUIBase.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PresupuestosCliente_controller.dcp" />
<DCCReference Include="C:\Documents and Settings\Usuario\PresupuestosCliente_model.dcp" />
<DCCReference Include="uEditorElegirArticulosPresupuestoCliente.pas">
<Form>fEditorElegirArticulosPresupuestoCliente</Form>
<DesignClass>TfEditorElegirArticulosPedidoCliente</DesignClass>

View File

@ -161,6 +161,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
object pagContenido: TTabSheet
Caption = 'Contenido'
ImageIndex = 1
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
inline frViewDetallesPresupuestoCliente1: TfrViewDetallesPresupuestoCliente
Left = 0
Top = 0
@ -177,95 +181,111 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
ParentFont = False
TabOrder = 0
ReadOnly = False
ExplicitWidth = 735
ExplicitHeight = 386
inherited ToolBar1: TToolBar
Width = 735
Height = 51
Height = 78
ExplicitWidth = 735
ExplicitHeight = 51
inherited ToolButton14: TToolButton
ExplicitHeight = 78
inherited ToolButton4: TToolButton [1]
Left = 109
Top = 0
ExplicitLeft = 109
ExplicitTop = 0
end
inherited ToolButton14: TToolButton [2]
Left = 165
Top = 0
ExplicitLeft = 165
end
inherited FontName: TJvFontComboBox [3]
Left = 230
Top = 0
ExplicitLeft = 230
ExplicitTop = 0
end
inherited FontSize: TEdit [4]
Left = 375
Top = 0
ExplicitLeft = 375
ExplicitTop = 0
end
inherited UpDown1: TUpDown [5]
Left = 417
Top = 0
ExplicitLeft = 417
ExplicitTop = 0
end
inherited ToolButton13: TToolButton [6]
end
inherited ToolButton2: TToolButton [7]
end
inherited ToolButton6: TToolButton [8]
Left = 114
Top = 27
Wrap = False
ExplicitLeft = 114
ExplicitTop = 27
end
inherited FontName: TJvFontComboBox
Left = 399
Top = 0
ExplicitLeft = 399
ExplicitTop = 0
inherited ToolButton7: TToolButton [9]
Left = 180
Top = 27
Wrap = False
ExplicitLeft = 180
ExplicitTop = 27
end
inherited FontSize: TEdit
Left = 544
Top = 0
ExplicitLeft = 544
ExplicitTop = 0
inherited ToolButton8: TToolButton [10]
Left = 247
Top = 27
ExplicitLeft = 247
ExplicitTop = 27
end
inherited ToolButton13: TToolButton [7]
inherited ToolButton12: TToolButton [11]
Left = 0
Top = 0
Top = 27
Wrap = True
ExplicitLeft = 0
ExplicitTop = 0
ExplicitTop = 27
ExplicitHeight = 27
end
inherited UpDown1: TUpDown [8]
inherited ToolButton9: TToolButton [12]
Left = 0
Top = 27
Top = 54
ExplicitLeft = 0
ExplicitTop = 27
ExplicitTop = 54
end
inherited ToolButton6: TToolButton
Left = 17
Top = 27
ExplicitLeft = 17
ExplicitTop = 27
inherited ToolButton10: TToolButton [13]
Left = 145
Top = 54
ExplicitLeft = 145
ExplicitTop = 54
end
inherited ToolButton7: TToolButton
Left = 83
Top = 27
ExplicitLeft = 83
ExplicitTop = 27
inherited ToolButton3: TToolButton [14]
Left = 270
Top = 54
ExplicitLeft = 270
end
inherited ToolButton8: TToolButton
Left = 150
Top = 27
ExplicitLeft = 150
ExplicitTop = 27
end
inherited ToolButton12: TToolButton
Left = 233
Top = 27
Wrap = False
ExplicitLeft = 233
ExplicitTop = 27
ExplicitHeight = 22
end
inherited ToolButton9: TToolButton
Left = 241
Top = 27
ExplicitLeft = 241
ExplicitTop = 27
end
inherited ToolButton10: TToolButton
Left = 386
Top = 27
ExplicitLeft = 386
ExplicitTop = 27
end
inherited ToolButton11: TToolButton
Left = 511
Top = 27
ExplicitLeft = 511
ExplicitTop = 27
inherited ToolButton11: TToolButton [15]
Left = 325
Top = 54
ExplicitLeft = 325
ExplicitTop = 54
end
end
inherited cxGrid: TcxGrid
Top = 77
Top = 104
Width = 735
Height = 309
ExplicitTop = 99
ExplicitHeight = 205
Height = 282
ExplicitTop = 77
ExplicitWidth = 735
ExplicitHeight = 309
end
inherited TBXDock1: TTBXDock
Top = 51
Top = 78
Width = 735
ExplicitTop = 51
ExplicitWidth = 735
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 702
end
@ -275,6 +295,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
object pagPortada: TTabSheet
Caption = 'Portada'
ImageIndex = 3
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object Panel1: TPanel
Left = 0
Top = 0
@ -406,6 +430,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
object pagMemoria: TTabSheet
Caption = 'Memoria'
ImageIndex = 4
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
object Panel2: TPanel
Left = 0
Top = 0
@ -708,6 +736,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
object pagInicidencias: TTabSheet
Caption = 'Incidencias'
ImageIndex = 2
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
inline frViewIncidenciasCli: TfrViewIncidencias
Left = 0
Top = 0

View File

@ -1,22 +1,20 @@
inherited fEditorPresupuestosClientePreview: TfEditorPresupuestosClientePreview
Caption = 'Previsualizar el pedidos proveedor'
ExplicitWidth = 803
ExplicitHeight = 485
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
ExplicitWidth = 795
inherited Image1: TImage
Left = 768
ExplicitLeft = 768
end
end
inherited StatusBar: TJvStatusBar
ExplicitWidth = 795
end
inherited frxReport1: TfrxReport
Datasets = <>
Variables = <>
Style = <>
inherited TBXDock: TTBXDock
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 540
object TBXItem58: TTBXItem [1]
Action = actExportarRTF
DisplayMode = nbdmTextOnlyInMenus
Images = SmallImages
end
end
end
end

View File

@ -10,14 +10,41 @@ uses
JvComponentBase, uEditorPreview, frxExportImage, frxExportPDF, frxDCtrl,
frxClass, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList,
ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar,
pngimage;
pngimage, frxExportText, frxExportRTF, frxExportMail, frxExportXLS;
type
TfEditorPresupuestosClientePreview = class(TfEditorPreview, IEditorPresupuestosClientePreview)
TBXItem58: TTBXItem;
procedure actExportarRTFExecute(Sender: TObject);
end;
implementation
{$R *.dfm}
uses
uPresupuestosClienteReportController;
procedure TfEditorPresupuestosClientePreview.actExportarRTFExecute(
Sender: TObject);
var
AListaID : TStringList;
I: Integer;
begin
// inherited; <- No llamar al padre
if Assigned(Controller) then
begin
AListaID := TStringList.Create;
try
AListaID.CommaText := Self.ListaID;
for I := 0 to AListaID.Count - 1 do
(Controller as IPresupuestosClienteReportController).ExportToWord(StrToInt(AListaID[I]));
finally
FreeAndNIL(AListaID);
end;
end;
end;
end.

View File

@ -267,10 +267,18 @@
<Interface Name="Default" UID="{8A06D5A7-8461-4F6E-8A8B-EC49C84C45D1}">
<Operations>
<Operation Name="GenerateReport" UID="{4B11FE7D-44AE-4674-9DA7-6FB6B63FC620}">
<Documentation><![CDATA[]]></Documentation><Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
</Parameter>
<Parameter Name="ListaID" DataType="String" Flag="In" >
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerateReportEnWord" UID="{7C3C767B-41AC-42EC-925D-ECAE03BD8F58}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
</Parameter>
<Parameter Name="ID" DataType="String" Flag="In" >
<Parameter Name="ID" DataType="Integer" Flag="In" >
</Parameter>
</Parameters>
</Operation>

View File

@ -490,7 +490,8 @@ type
{ IsrvPresupuestosCliente }
IsrvPresupuestosCliente = interface(IDataAbstractService)
['{8A06D5A7-8461-4F6E-8A8B-EC49C84C45D1}']
function GenerateReport(const ID: String): Binary;
function GenerateReport(const ListaID: String): Binary;
function GenerateReportEnWord(const ID: Integer): Binary;
end;
{ CosrvPresupuestosCliente }
@ -503,7 +504,8 @@ type
protected
function __GetInterfaceName:string; override;
function GenerateReport(const ID: String): Binary;
function GenerateReport(const ListaID: String): Binary;
function GenerateReportEnWord(const ID: Integer): Binary;
end;
{ IsrvPedidosProveedor }
@ -1358,12 +1360,29 @@ begin
result := 'srvPresupuestosCliente';
end;
function TsrvPresupuestosCliente_Proxy.GenerateReport(const ID: String): Binary;
function TsrvPresupuestosCliente_Proxy.GenerateReport(const ListaID: String): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport');
__Message.Write('ID', TypeInfo(String), ID, []);
__Message.Write('ListaID', TypeInfo(String), ListaID, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.UnsetAttributes(__TransportChannel);
__Message.FreeStream;
end
end;
function TsrvPresupuestosCliente_Proxy.GenerateReportEnWord(const ID: Integer): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReportEnWord');
__Message.Write('ID', TypeInfo(Integer), ID, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);

View File

@ -147,6 +147,7 @@ type
protected
published
procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerateReportEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
TsrvPedidosProveedor_Invoker = class(TDataAbstractService_Invoker)
@ -553,17 +554,17 @@ end;
{ TsrvPresupuestosCliente_Invoker }
procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReport(const ID: String): Binary; }
{ function GenerateReport(const ListaID: String): Binary; }
var
ID: String;
ListaID: String;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
lResult := nil;
try
__Message.Read('ID', TypeInfo(String), ID, []);
__Message.Read('ListaID', TypeInfo(String), ListaID, []);
lResult := (__Instance as IsrvPresupuestosCliente).GenerateReport(ID);
lResult := (__Instance as IsrvPresupuestosCliente).GenerateReport(ListaID);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerateReportResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
@ -580,6 +581,34 @@ begin
end;
end;
procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerateReportEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerateReportEnWord(const ID: Integer): Binary; }
var
ID: Integer;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
lResult := nil;
try
__Message.Read('ID', TypeInfo(Integer), ID, []);
lResult := (__Instance as IsrvPresupuestosCliente).GenerateReportEnWord(ID);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerateReportEnWordResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
__Message.Finalize;
__Message.UnsetAttributes(__Transport);
finally
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
try
__lObjectDisposer.Add(lResult);
finally
__lObjectDisposer.Free();
end;
end;
end;
{ TsrvPedidosProveedor_Invoker }
procedure TsrvPedidosProveedor_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);

Binary file not shown.

Binary file not shown.

View File

@ -12,8 +12,6 @@ uses
uConfiguracion in 'Configuracion\uConfiguracion.pas' {fConfiguracion: TForm},
uFrameConfiguracion in 'Configuracion\uFrameConfiguracion.pas' {FrameConfiguracion: TFrame},
uDataModuleServer in 'uDataModuleServer.pas' {dmServer: TDataModule},
FactuGES_Intf in '..\Servicios\FactuGES_Intf.pas',
FactuGES_Invk in '..\Servicios\FactuGES_Invk.pas',
srvContactos_Impl in '..\Modulos\Contactos\Servidor\srvContactos_Impl.pas' {srvContactos: TDARemoteService},
srvLogin_Impl in 'srvLogin_Impl.pas' {srvLogin: TDARemoteService},
srvEmpresas_Impl in '..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas' {srvEmpresas: TDARemoteService},
@ -103,6 +101,13 @@ uses
schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas',
schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas',
uStringsUtils in '..\Base\Utiles\uStringsUtils.pas',
FactuGES_Intf in '..\Servicios\FactuGES_Intf.pas',
FactuGES_Invk in '..\Servicios\FactuGES_Invk.pas',
uRptWordPresupuestoCliente in '..\Modulos\Presupuestos de cliente\Reports\uRptWordPresupuestoCliente.pas' {RptWordPresupuestosCliente: TDataModule},
Literales in '..\Modulos\Presupuestos de cliente\Reports\Literales.pas',
AHWord97 in 'Utiles\AHWord97.pas',
uSistemaFunc in '..\Base\Utiles\uSistemaFunc.pas',
uStringsUtils in '..\Base\Utiles\uStringsUtils.pas',
schArticulosClient_Intf in '..\Modulos\Articulos\Model\schArticulosClient_Intf.pas',
schArticulosServer_Intf in '..\Modulos\Articulos\Model\schArticulosServer_Intf.pas';

View File

@ -1,237 +1,244 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
<MainSource>FactuGES_Server.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName>
<DCC_UsePackage>vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dsnapcon;teeUI;teedb;tee;adortl;vclib;ibxpress;dbxcds;dbexpress;DbxCommonDriver;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;webdsnap;xmlrtl;inet;inetdbbde;inetdbxpress;RemObjects_BPDX_D11;RemObjects_RODX_D11;RemObjects_Indy_D11;RemObjects_Synapse_D11;RemObjects_WebBroker_D11;DataAbstract_Core_D11;DataAbstract_DBXDriver_D11;DataAbstract_IDE_D11;DataAbstract_Scripting_D11;DataAbstract_SDACDriver_D11;sdac105;dac105;DataAbstract_SQLiteDriver_D11;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;dxPScxCommonD10;dxPSLnksD10;vclshlctrls;dxPScxExtCommonD10;dxPScxGridLnkD10;dxPScxPCProdD10;dxPScxScheduler2LnkD10;dxPScxTLLnkD10;dxPSdxLCLnkD10;dxPsPrVwAdvD10;pckMD5;pckUCDataConnector;pckUserControl_RT;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;JclVcl;Jcl;JvXPCtrlsD11R;JvCoreD11R;JvSystemD11R;JvStdCtrlsD11R;JvAppFrmD11R;JvBandsD11R;JvDBD11R;JvDlgsD11R;JvBDED11R;JvCmpD11R;JvCryptD11R;JvCtrlsD11R;JvCustomD11R;JvDockingD11R;JvDotNetCtrlsD11R;JvEDID11R;JvGlobusD11R;JvHMID11R;JvInterpreterD11R;JvJansD11R;JvManagedThreadsD11R;JvMMD11R;JvNetD11R;JvPageCompsD11R;JvPluginD11R;JvPrintPreviewD11R;JvRuntimeDesignD11R;JvTimeFrameworkD11R;JvUIBD11R;JvValidatorsD11R;JvWizardD11R;pckUCADOConn;pckUCBDEConn;pckUCIBXConn;pckUCMidasConn;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;GUISDK_D11;ccpackD11;JSDialog100;fsTee11;fs11;frx11;frxADO11;frxBDE11;frxDB11;frxDBX11;frxe11;frxIBX11;frxTee11;fsADO11;fsBDE11;fsDB11;fsIBX11;websnap;soaprtl;IntrawebDB_90_100;Intraweb_90_100</DCC_UsePackage>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput>
<DCC_Define>DEBUG;</DCC_Define>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
<DCC_DebugVN>True</DCC_DebugVN>
<DCC_UnitSearchPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_UnitSearchPath>
<DCC_ResourcePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_ResourcePath>
<DCC_ObjPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_ObjPath>
<DCC_IncludePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_IncludePath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType/>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion"></VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPSCoreD10.bpl">ExpressPrinting System by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets"/>
<ItemGroup>
<DelphiCompile Include="FactuGES_Server.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<Form>srvEmpresas</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas"/>
<DCCReference Include="..\Base\schBase_Intf.pas"/>
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas">
<Form>RptAlbaranesCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<Form>srvAlbaranesCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<Form>srvAlbaranesProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
<Form>srvAlmacenes</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizEmpleadosServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
<Form>srvContactos</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<Form>RptFacturasCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas">
<Form>srvFacturasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas">
<Form>srvFacturasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvUnidadesMedida_Impl.pas"/>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
<Form>srvHistoricoMovimientos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
<Form>srvInventario</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas">
<Form>srvPedidosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<Form>RptPresupuestosCliente</Form>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas">
<Form>srvPresupuestosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas">
<Form>srvRecibosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas">
<Form>srvRecibosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<Form>srvRemesasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<Form>srvRemesasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas"/>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<Form>srvUnidadesMedida</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas"/>
<DCCReference Include="..\Servicios\FactuGES_Invk.pas"/>
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<Form>srvConfiguracion</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConexionBD.pas">
<Form>frConexionBD</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfGeneral.pas">
<Form>frConfGeneral</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfiguracion.pas">
<Form>fConfiguracion</Form>
<DesignClass>TForm</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uFrameConfiguracion.pas">
<Form>FrameConfiguracion</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="srvLogin_Impl.pas">
<Form>srvLogin</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="srvReferencias_Impl.pas">
<Form>srvReferencias</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="uAcercaDe.pas">
<Form>fAcercaDe</Form>
</DCCReference>
<DCCReference Include="uDataModuleServer.pas">
<Form>dmServer</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="uServerMainForm.pas">
<Form>fServerForm</Form>
</DCCReference>
<DCCReference Include="Utiles\RegExpr.pas"/>
<DCCReference Include="Utiles\uBusinessUtils.pas"/>
<DCCReference Include="Utiles\uDatabaseUtils.pas"/>
<DCCReference Include="Utiles\uReferenciasUtils.pas"/>
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas"/>
<DCCReference Include="Utiles\uSchemaUtilsServer.pas"/>
<DCCReference Include="Utiles\uServerAppUtils.pas"/>
<DCCReference Include="Utiles\uSesionesUtils.pas"/>
</ItemGroup>
<PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
<MainSource>FactuGES_Server.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName>
<DCC_UsePackage>vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dsnapcon;teeUI;teedb;tee;adortl;vclib;ibxpress;dbxcds;dbexpress;DbxCommonDriver;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;webdsnap;xmlrtl;inet;inetdbbde;inetdbxpress;RemObjects_BPDX_D11;RemObjects_RODX_D11;RemObjects_Indy_D11;RemObjects_Synapse_D11;RemObjects_WebBroker_D11;DataAbstract_Core_D11;DataAbstract_DBXDriver_D11;DataAbstract_IDE_D11;DataAbstract_Scripting_D11;DataAbstract_SDACDriver_D11;sdac105;dac105;DataAbstract_SQLiteDriver_D11;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;dxPScxCommonD10;dxPSLnksD10;vclshlctrls;dxPScxExtCommonD10;dxPScxGridLnkD10;dxPScxPCProdD10;dxPScxScheduler2LnkD10;dxPScxTLLnkD10;dxPSdxLCLnkD10;dxPsPrVwAdvD10;pckMD5;pckUCDataConnector;pckUserControl_RT;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;JclVcl;Jcl;JvXPCtrlsD11R;JvCoreD11R;JvSystemD11R;JvStdCtrlsD11R;JvAppFrmD11R;JvBandsD11R;JvDBD11R;JvDlgsD11R;JvBDED11R;JvCmpD11R;JvCryptD11R;JvCtrlsD11R;JvCustomD11R;JvDockingD11R;JvDotNetCtrlsD11R;JvEDID11R;JvGlobusD11R;JvHMID11R;JvInterpreterD11R;JvJansD11R;JvManagedThreadsD11R;JvMMD11R;JvNetD11R;JvPageCompsD11R;JvPluginD11R;JvPrintPreviewD11R;JvRuntimeDesignD11R;JvTimeFrameworkD11R;JvUIBD11R;JvValidatorsD11R;JvWizardD11R;pckUCADOConn;pckUCBDEConn;pckUCIBXConn;pckUCMidasConn;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;GUISDK_D11;ccpackD11;JSDialog100;fsTee11;fs11;frx11;frxADO11;frxBDE11;frxDB11;frxDBX11;frxe11;frxIBX11;frxTee11;fsADO11;fsBDE11;fsDB11;fsIBX11;websnap;soaprtl;IntrawebDB_90_100;Intraweb_90_100</DCC_UsePackage>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput>
<DCC_Define>DEBUG;</DCC_Define>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
<DCC_DebugVN>True</DCC_DebugVN>
<DCC_UnitSearchPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_UnitSearchPath>
<DCC_ResourcePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_ResourcePath>
<DCC_ObjPath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_ObjPath>
<DCC_IncludePath>$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_IncludePath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType />
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion"></VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPSCoreD10.bpl">ExpressPrinting System by Developer Express Inc.</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="FactuGES_Server.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<Form>srvEmpresas</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas" />
<DCCReference Include="..\Base\schBase_Intf.pas" />
<DCCReference Include="..\Base\Utiles\uSistemaFunc.pas" />
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas">
<Form>RptAlbaranesCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<Form>srvAlbaranesCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<Form>srvAlbaranesProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas" />
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
<Form>srvAlmacenes</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizEmpleadosServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
<Form>srvContactos</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<Form>RptFacturasCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas">
<Form>srvFacturasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas">
<Form>srvFacturasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas" />
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvUnidadesMedida_Impl.pas" />
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
<Form>srvHistoricoMovimientos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas" />
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas" />
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
<Form>srvInventario</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas">
<Form>srvPedidosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\Literales.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<Form>RptPresupuestosCliente</Form>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptWordPresupuestoCliente.pas">
<Form>RptWordPresupuestosCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas">
<Form>srvPresupuestosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas">
<Form>srvRecibosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas">
<Form>srvRecibosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<Form>srvRemesasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<Form>srvRemesasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas" />
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas" />
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<Form>srvUnidadesMedida</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="..\Servicios\FactuGES_Invk.pas" />
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<Form>srvConfiguracion</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConexionBD.pas">
<Form>frConexionBD</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfGeneral.pas">
<Form>frConfGeneral</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfiguracion.pas">
<Form>fConfiguracion</Form>
<DesignClass>TForm</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uFrameConfiguracion.pas">
<Form>FrameConfiguracion</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="srvLogin_Impl.pas">
<Form>srvLogin</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="srvReferencias_Impl.pas">
<Form>srvReferencias</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="uAcercaDe.pas">
<Form>fAcercaDe</Form>
</DCCReference>
<DCCReference Include="uDataModuleServer.pas">
<Form>dmServer</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="uServerMainForm.pas">
<Form>fServerForm</Form>
</DCCReference>
<DCCReference Include="Utiles\AHWord97.pas" />
<DCCReference Include="Utiles\RegExpr.pas" />
<DCCReference Include="Utiles\uBusinessUtils.pas" />
<DCCReference Include="Utiles\uDatabaseUtils.pas" />
<DCCReference Include="Utiles\uReferenciasUtils.pas" />
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas" />
<DCCReference Include="Utiles\uSchemaUtilsServer.pas" />
<DCCReference Include="Utiles\uServerAppUtils.pas" />
<DCCReference Include="Utiles\uSesionesUtils.pas" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]

File diff suppressed because it is too large Load Diff