This commit is contained in:
roberto 2007-10-26 18:19:55 +00:00
parent cfa04cc384
commit 35499d2d7c
85 changed files with 25736 additions and 0 deletions

View File

@ -0,0 +1,46 @@
package PresupuestosCliente_controller;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD ON}
requires
GUIBase,
PresupuestosCliente_data,
Contactos_controller,
Articulos_controller,
PresupuestosCliente_model;
contains
uPresupuestosClienteController in 'uPresupuestosClienteController.pas',
uDetallesPresupuestoClienteController in 'uDetallesPresupuestoClienteController.pas',
uIEditorPresupuestosCliente in 'View\uIEditorPresupuestosCliente.pas',
uIEditorPresupuestoCliente in 'View\uIEditorPresupuestoCliente.pas',
uIEditorElegirPresupuestosCliente in 'View\uIEditorElegirPresupuestosCliente.pas',
uArticulosPresupuestoClienteController in 'uArticulosPresupuestoClienteController.pas',
uIEditorElegirArticulosPresupuestosCliente in 'View\uIEditorElegirArticulosPresupuestosCliente.pas',
uIEditorDireccionEntregaPresupuestoCliente in 'View\uIEditorDireccionEntregaPresupuestoCliente.pas',
uPresupuestosClienteReportController in 'uPresupuestosClienteReportController.pas',
uIEditorPresupuestosClientePreview in 'View\uIEditorPresupuestosClientePreview.pas';
end.

View File

@ -0,0 +1,551 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{7ed85635-c723-4c0b-bf1d-f719e0ea33ad}</ProjectGuid>
<MainSource>PresupuestosCliente_controller.dpk</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\PresupuestosCliente_controller.bpl</DCC_DependencyCheckOutputName>
</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_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<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><Source><Source Name="MainSource">PresupuestosCliente_controller.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="PresupuestosCliente_controller.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Lib\Articulos_controller.dcp" />
<DCCReference Include="..\..\Lib\Contactos_controller.dcp" />
<DCCReference Include="..\..\Lib\GUIBase.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_data.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_model.dcp" />
<DCCReference Include="uArticulosPresupuestoClienteController.pas" />
<DCCReference Include="uDetallesPresupuestoClienteController.pas" />
<DCCReference Include="uPresupuestosClienteController.pas" />
<DCCReference Include="uPresupuestosClienteReportController.pas" />
<DCCReference Include="View\uIEditorDireccionEntregaPresupuestoCliente.pas" />
<DCCReference Include="View\uIEditorElegirArticulosPresupuestosCliente.pas" />
<DCCReference Include="View\uIEditorElegirPresupuestosCliente.pas" />
<DCCReference Include="View\uIEditorPresupuestoCliente.pas" />
<DCCReference Include="View\uIEditorPresupuestosCliente.pas" />
<DCCReference Include="View\uIEditorPresupuestosClientePreview.pas" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
Activate=1
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=1
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=1
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=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
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."
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=English
EurekaLog Last Line -->

View File

@ -0,0 +1,16 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Controller\PresupuestosCliente_controller.res */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Controller\PresupuestosCliente_controller.drf */

View File

@ -0,0 +1,22 @@
unit uIEditorDireccionEntregaPresupuestoCliente;
interface
uses
uBizPresupuestosCliente;
type
IEditorDireccionEntregaPresupuestoCliente = interface
['{9CF49F99-92A6-4E08-B518-EDBB3FBF0FB2}']
function GetPedido: IBizPresupuestoCliente;
procedure SetPedido(const Value: IBizPresupuestoCliente);
property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
function ShowModal : Integer;
procedure Release;
end;
implementation
end.

View File

@ -0,0 +1,16 @@
unit uIEditorElegirArticulosPresupuestosCliente;
interface
uses
uIEditorElegirArticulos;
type
IEditorElegirArticulosPresupuestosCliente = interface(IEditorElegirArticulos)
['{549F3B97-46E2-4D40-8080-566065735FA0}']
end;
implementation
end.

View File

@ -0,0 +1,26 @@
unit uIEditorElegirPresupuestosCliente;
interface
uses
uIEditorPresupuestosCliente, uBizPresupuestosCliente, uGUIBase;
type
IEditorElegirPresupuestosCliente = interface(IEditorPresupuestosCliente)
['{FA60C50C-D927-4951-82C8-1C6628CF7BA5}']
function GetPresupuestosClienteSeleccionados: IBizPresupuestoCliente;
property PresupuestosClienteSeleccionados: IBizPresupuestoCliente read GetPresupuestosClienteSeleccionados;
procedure SetMultiSelect (AValue : Boolean);
function GetMultiSelect : Boolean;
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
procedure SetMensaje (const AValue: String);
function GetMensaje: String;
property Mensaje : String read GetMensaje write SetMensaje;
end;
implementation
end.

View File

@ -0,0 +1,23 @@
unit uIEditorPresupuestoCliente;
interface
uses
uEditorDBItem, uBizPresupuestosCliente, uPresupuestosClienteController;
type
IEditorPresupuestoCliente = interface(IEditorDBItem)
['{244C8E63-7BA2-4C8E-A2B8-4ECCEFDB5196}']
function GetController : IPresupuestosClienteController;
procedure SetController (const Value : IPresupuestosClienteController);
property Controller : IPresupuestosClienteController read GetController
write SetController;
function GetPedido: IBizPresupuestoCliente;
procedure SetPedido(const Value: IBizPresupuestoCliente);
property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
end;
implementation
end.

View File

@ -0,0 +1,23 @@
unit uIEditorPresupuestosCliente;
interface
uses
uEditorGridBase, uBizPresupuestosCliente, uPresupuestosClienteController;
type
IEditorPresupuestosCliente = interface(IEditorGridBase)
['{9FBF3D67-D0B1-4C2F-A37F-58BCD2DB0561}']
function GetPedidos: IBizPresupuestoCliente;
procedure SetPedidos(const Value: IBizPresupuestoCliente);
property Pedidos: IBizPresupuestoCliente read GetPedidos write SetPedidos;
function GetController : IPresupuestosClienteController;
procedure SetController (const Value : IPresupuestosClienteController);
property Controller : IPresupuestosClienteController read GetController write SetController;
end;
implementation
end.

View File

@ -0,0 +1,16 @@
unit uIEditorPresupuestosClientePreview;
interface
uses
uEditorPreview;
type
IEditorPresupuestosClientePreview = interface(IEditorPreview)
['{B60B6013-32C0-4694-9676-F582A759CB48}']
end;
implementation
end.

View File

@ -0,0 +1,47 @@
unit uArticulosPresupuestoClienteController;
interface
uses
uDADataTable, uArticulosController, uBizArticulos;
type
IArticulosPresupuestoClienteController = interface(IArticulosController)
['{B334F1FC-65B7-4E77-8D1B-A7CF12F6CF3C}']
end;
TArticulosPresupuestoClienteController = class(TArticulosController, IArticulosPresupuestoClienteController)
public
function ElegirArticulos(AArticulos : IBizArticulo; AMensaje: String; AMultiSelect: Boolean): IBizArticulo; override;
end;
implementation
{ TArticulosPresupuestoClienteController }
uses Controls, uIEditorElegirArticulosPresupuestosCliente, uIEditorElegirArticulos;
function TArticulosPresupuestoClienteController.ElegirArticulos(AArticulos: IBizArticulo; AMensaje: String;
AMultiSelect: Boolean): IBizArticulo;
var
AEditor : IEditorElegirArticulosPresupuestosCliente;
begin
Result := NIL;
CreateEditor('EditorElegirArticulosPresupuestosCliente', IEditorElegirArticulosPresupuestosCliente, AEditor);
try
with AEditor do
begin
Controller := Self;
Articulos := AArticulos;
MultiSelect := AMultiSelect;
Mensaje := AMensaje;
if IsPositiveResult(ShowModal) then
Result := ArticulosSeleccionados;
Release;
end;
finally
AEditor := NIL;
end;
end;
end.

View File

@ -0,0 +1,148 @@
unit uDetallesPresupuestoClienteController;
interface
uses
uDADataTable, uControllerDetallesArticulos, uBizDetallesPresupuestoCliente, uIDataModulePresupuestosCliente,
uBizArticulos, uBizContactos;
type
IDetallesPresupuestoClienteController = interface(IControllerDetallesArticulos)
['{8D1D3559-E695-4962-9999-404B26B50D6C}']
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
end;
TDetallesPresupuestoClienteController = class(TControllerDetallesArticulos, IDetallesPresupuestoClienteController)
private
FDataModule : IDataModulePresupuestosCliente;
protected
procedure AsignarDatos(ADetalles: IDAStronglyTypedDataTable; IDCabecera: Integer); override;
procedure RellenarOtros(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); overload; override;
procedure RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo); override;
procedure AsignarController; override;
//Si sobreescribimos este método podremos tener en cuenta otras columnas para el calculo del importe total de un concepto
function CalcularImporteTotalConcepto(DataTable: TDADataTable): Double; override;
procedure ValidarCampos(DataTable: TDADataTable); override;
procedure DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
function DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
public
procedure AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); reintroduce; overload;
procedure ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente); overload;
constructor Create; override;
destructor Destroy; override;
end;
implementation
uses Dialogs, uDialogUtils, Variants, uControllerDetallesBase, uDataModulePresupuestosCliente, uArticulosPresupuestoClienteController,
uDataTableUtils, uCalculosUtils;
{ TDetallesPresupuestoClienteController }
procedure TDetallesPresupuestoClienteController.ActualizarDetalles(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente);
var
AArticulos : IBizArticulo;
begin
if Assigned(ADetalles) then
begin
try
AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo);
ActualizarDetalles(ADetalles, AArticulos);
ShowInfoMessage('Se han actualizado los descuentos para el cliente seleccionado');
finally
AArticulos := Nil;
end;
end;
end;
procedure TDetallesPresupuestoClienteController.AnadirArticulos(ADetalles: IDAStronglyTypedDataTable; ACliente: IBizCliente);
var
AArticulos: IBizArticulo;
begin
if Assigned(ADetalles) then
begin
try
AArticulos := (FArticulosController.BuscarTodos(ACliente) as IBizArticulo);
AArticulos := (FArticulosController as IArticulosPresupuestoClienteController).ElegirArticulos(AArticulos, 'Elija los artículos que desea añadir a este pedido de cliente', True);
Add(ADetalles, AArticulos);
finally
AArticulos := Nil;
end;
end;
end;
procedure TDetallesPresupuestoClienteController.AsignarController;
begin
FArticulosController := TArticulosPresupuestoClienteController.Create;
end;
procedure TDetallesPresupuestoClienteController.AsignarDatos(ADetalles: IDAStronglyTypedDataTable; IDCabecera: Integer);
begin
inherited;
with (ADetalles as IBizDetallesPresupuestoCliente) do
begin
Edit;
ID := FDataModule.GetNextID(DataTable.LogicalName);
ID_PEDIDO := IDCabecera;
Post
end;
end;
function TDetallesPresupuestoClienteController.CalcularImporteTotalConcepto(DataTable: TDADataTable): Double;
begin
Result := CalcularLineaConcepto(DataTable);
end;
constructor TDetallesPresupuestoClienteController.Create;
begin
inherited;
FDataModule := TDataModulePresupuestosCliente.Create(Nil);
end;
function TDetallesPresupuestoClienteController.DarTotalPorteTotal(ADetalles: IDAStronglyTypedDataTable): Double;
begin
Result := DarTotalPorte(ADetalles);
end;
procedure TDetallesPresupuestoClienteController.DesglosarPorteDetalles(ImportePorte: Currency; ADetalles: IDAStronglyTypedDataTable);
begin
DesglosarPorte(ImportePorte, ADetalles);
ActualizarTotales(ADetalles);
end;
destructor TDetallesPresupuestoClienteController.Destroy;
begin
FDataModule := Nil;
inherited;
end;
procedure TDetallesPresupuestoClienteController.RellenarOtros(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
begin
if Assigned(AArticulos) then
ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := AArticulos.DESCUENTO
else
ADetalles.DataTable.FieldByName(CAMPO_DESCUENTO).AsFloat := 0;
end;
procedure TDetallesPresupuestoClienteController.ValidarCampos(DataTable: TDADataTable);
begin
inherited;
ValidarCamposLineaConcepto(DataTable);
end;
procedure TDetallesPresupuestoClienteController.RellenarImportes(ADetalles: IDAStronglyTypedDataTable; AArticulos: IBizArticulo);
begin
if Assigned(AArticulos) then
ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := AArticulos.PRECIO_COSTE
else
ADetalles.DataTable.FieldByName(CAMPO_IMPORTE_UNIDAD).AsVariant := Null;
end;
end.

View File

@ -0,0 +1,851 @@
unit uPresupuestosClienteController;
interface
uses
SysUtils, uDADataTable, uEditorDBItem,
uControllerBase, uIDataModulePresupuestosCliente, uClientesController,
uDetallesPresupuestoClienteController, uBizPresupuestosCliente, uBizDireccionesContacto,
uBizDetallesPresupuestoCliente;
type
IPresupuestosClienteController = interface(IObservador)
['{21ED0332-F0E0-468D-8D53-8CA362757191}']
function GetClienteController: IClientesController;
procedure SetClienteController(const Value: IClientesController);
property ClienteController: IClientesController read GetClienteController write SetClienteController;
function GetDetallesController: IDetallesPresupuestoClienteController;
procedure SetDetallesController(const Value: IDetallesPresupuestoClienteController);
property DetallesController: IDetallesPresupuestoClienteController read GetDetallesController write SetDetallesController;
procedure RecuperarCliente(APedido : IBizPresupuestoCliente);
function Buscar(const ID: Integer): IBizPresupuestoCliente;
function BuscarTodos: IBizPresupuestoCliente;
function BuscarPendientes : IBizPresupuestoCliente;
function BuscarPendientesPedir(const ID : Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
procedure Ver(APedido : IBizPresupuestoCliente);
procedure VerTodos(APedidos: IBizPresupuestoCliente);
procedure VerDireccionEntrega(APedido : IBizPresupuestoCliente);
function Nuevo : IBizPresupuestoCliente;
function Anadir(APedido : IBizPresupuestoCliente) : Boolean;
function Eliminar(const ID : Integer): Boolean; overload;
function Eliminar(APedido : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; overload;
function Guardar(APedido : IBizPresupuestoCliente): Boolean;
procedure DescartarCambios(APedido : IBizPresupuestoCliente);
function Existe(const ID: Integer) : Boolean;
function Duplicar(APedido: IBizPresupuestoCliente): IBizPresupuestoCliente;
function Localizar(APedidos: IBizPresupuestoCliente; const ID : Integer): Boolean;
function ExtraerSeleccionados(APedido: IBizPresupuestoCliente) : IBizPresupuestoCliente;
function ElegirPedidos(APedido: IBizPresupuestoCliente; AMensaje: String; AMultiSelect: Boolean): IBizPresupuestoCliente;
procedure CopiarDireccionEnvio (const ADireccionEnvio: IBizDireccionesContacto;
APedido: IBizPresupuestoCliente);
procedure QuitarDireccionEnvio(APedido: IBizPresupuestoCliente);
procedure RecalcularImportes(APedido : IBizPresupuestoCliente);
function EsModificable(APedido : IBizPresupuestoCliente): Boolean;
function EsEliminable(APedido : IBizPresupuestoCliente): Boolean;
procedure Preview(APedido : IBizPresupuestoCliente; AllItems: Boolean = false);
procedure Print(APedido : IBizPresupuestoCliente; AllItems: Boolean = false);
function ArticulosPendientes(const ID : Integer): IBizPresupuestoClienteArticulosPend;
end;
TPresupuestosClienteController = class(TObservador, IPresupuestosClienteController)
protected
FDataModule : IDataModulePresupuestosCliente;
FClienteController : IClientesController;
FDetallesController : IDetallesPresupuestoClienteController;
function GetClienteController: IClientesController;
procedure SetClienteController(const Value: IClientesController);
function GetDetallesController: IDetallesPresupuestoClienteController;
procedure SetDetallesController(const Value: IDetallesPresupuestoClienteController);
//Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de
//este controller
procedure AsignarDataModule; virtual;
procedure RecuperarObjetos(APedido: IBizPresupuestoCliente); virtual;
procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override;
procedure AsignarID(APedido: IBizPresupuestoCliente; const IDNuevo : Integer);
function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean;
procedure FiltrarEmpresa(APedido: IBizPresupuestoCliente);
function _Vacio : IBizPresupuestoCliente;
function ValidarPedido(APedido: IBizPresupuestoCliente): Boolean;
public
property ClienteController: IClientesController read GetClienteController write SetClienteController;
property DetallesController: IDetallesPresupuestoClienteController read GetDetallesController write SetDetallesController;
constructor Create; virtual;
destructor Destroy; override;
function Localizar(APedidos: IBizPresupuestoCliente; const ID : Integer): Boolean;
procedure RecuperarCliente(APedido : IBizPresupuestoCliente);
function Eliminar(const ID : Integer): Boolean; overload;
function Eliminar(APedido : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; overload;
function Guardar(APedido : IBizPresupuestoCliente): Boolean;
procedure DescartarCambios(APedido : IBizPresupuestoCliente); virtual;
function Existe(const ID: Integer) : Boolean; virtual;
function Anadir(APedido : IBizPresupuestoCliente) : Boolean;
function Buscar(const ID: Integer): IBizPresupuestoCliente;
function BuscarTodos: IBizPresupuestoCliente;
function BuscarPendientes : IBizPresupuestoCliente;
function BuscarPendientesPedir(const ID : Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
function Nuevo : IBizPresupuestoCliente;
procedure Ver(APedido : IBizPresupuestoCliente);
procedure VerTodos(APedidos: IBizPresupuestoCliente);
procedure VerDireccionEntrega(APedido : IBizPresupuestoCliente);
function Duplicar(APedido: IBizPresupuestoCliente): IBizPresupuestoCliente;
procedure CopiarDireccionEnvio (const ADireccionEnvio: IBizDireccionesContacto;
APedido: IBizPresupuestoCliente);
procedure QuitarDireccionEnvio(APedido: IBizPresupuestoCliente);
function ExtraerSeleccionados(APedido: IBizPresupuestoCliente) : IBizPresupuestoCliente;
function ElegirPedidos(APedido: IBizPresupuestoCliente; AMensaje: String; AMultiSelect: Boolean): IBizPresupuestoCliente;
procedure RecalcularImportes(APedido : IBizPresupuestoCliente);
function EsModificable(APedido : IBizPresupuestoCliente): Boolean;
function EsEliminable(APedido : IBizPresupuestoCliente): Boolean;
procedure Preview(APedido : IBizPresupuestoCliente; AllItems: Boolean = false);
procedure Print(APedido : IBizPresupuestoCliente; AllItems: Boolean = false);
function ArticulosPendientes(const ID : Integer): IBizPresupuestoClienteArticulosPend;
end;
implementation
uses
uROTypes, Controls, cxControls, DB, uEditorRegistryUtils, uEditorPreview, DateUtils,
uIEditorPresupuestosCliente, uDataModulePresupuestosCliente, Variants,
uBizContactos, uDataTableUtils, uDataModuleUsuarios, Classes,
schPedidosClienteClient_Intf, uDAInterfaces, uDateUtils, uIEditorPresupuestoCliente,
uIEditorElegirPresupuestosCliente, uIEditorDireccionEntregaPresupuestoCliente,
schContactosClient_Intf, uPresupuestosClienteReportController;
{ TPresupuestosClienteController }
function TPresupuestosClienteController.Anadir(APedido: IBizPresupuestoCliente): Boolean;
begin
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (Anadir)');
APedido.Insert;
Result := True;
end;
function TPresupuestosClienteController.ArticulosPendientes(
const ID: Integer): IBizPresupuestoClienteArticulosPend;
begin
Result := FDataModule.GetArticulosPendientes(ID);
end;
procedure TPresupuestosClienteController.AsignarDataModule;
begin
FDataModule := TDataModulePresupuestosCliente.Create(Nil);
end;
procedure TPresupuestosClienteController.AsignarID(APedido: IBizPresupuestoCliente; const IDNuevo : Integer);
begin
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado');
if not Assigned(APedido.Detalles) then
raise Exception.Create ('Detalles de pedido no asignados');
if not Assigned(FDetallesController) then
raise Exception.Create ('Controller detalles no asignado');
{ Los detalles siempre hay que comprobarlos }
FDetallesController.AsignarID(APedido.Detalles, IDNuevo, APedido.EsNuevo);
if APedido.EsNuevo then
begin
APedido.Edit;
APedido.ID := IDNuevo;
APedido.Post;
end;
end;
function TPresupuestosClienteController.Buscar(const ID: Integer): IBizPresupuestoCliente;
begin
Result := FDataModule.GetItem(ID);
FiltrarEmpresa(Result);
end;
function TPresupuestosClienteController.BuscarTodos: IBizPresupuestoCliente;
begin
Result := FDataModule.GetItems;
FiltrarEmpresa(Result);
end;
function TPresupuestosClienteController.BuscarPendientes: IBizPresupuestoCliente;
begin
ShowHourglassCursor;
try
Result := BuscarTodos;
with Result.DataTable.Where do
begin
if NotEmpty then
AddOperator(opAND);
OpenBraket;
AddText(fld_PedidosClienteSITUACION + ' <> ''' + SITUACION_PEDIDO_SERVIDO + '''');
CloseBraket;
end;
finally
HideHourglassCursor;
end;
end;
function TPresupuestosClienteController.BuscarPendientesPedir(
const ID: Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
begin
ShowHourglassCursor;
try
Result := FDataModule.GetArticulosPendientesPedirAProv(ID);
finally
HideHourglassCursor;
end;
end;
procedure TPresupuestosClienteController.CopiarDireccionEnvio(
const ADireccionEnvio: IBizDireccionesContacto; APedido: IBizPresupuestoCliente);
var
bEnEdicion : Boolean;
begin
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (CopiarDireccionEnvio)');
if not Assigned(ADireccionEnvio) then
raise Exception.Create ('No se ha indicado la dirección (CopiarDireccionEnvio)');
if APedido.DataTable.Active then
APedido.DataTable.Active := True;
if ADireccionEnvio.DataTable.Active then
ADireccionEnvio.DataTable.Active := True;
bEnEdicion := (APedido.DataTable.State in dsEditModes);
if not bEnEdicion then
APedido.Edit;
ShowHourglassCursor;
APedido.Edit;
try
APedido.CALLE := ADireccionEnvio.CALLE;
APedido.POBLACION := ADireccionEnvio.POBLACION;
APedido.CODIGO_POSTAL := ADireccionEnvio.CODIGO_POSTAL;
APedido.PROVINCIA := ADireccionEnvio.PROVINCIA;
APedido.TELEFONO := ADireccionEnvio.TELEFONO;
APedido.PERSONA_CONTACTO := ADireccionEnvio.PERSONA_CONTACTO;
if not bEnEdicion then
APedido.Post;
finally
HideHourglassCursor;
end;
end;
constructor TPresupuestosClienteController.Create;
begin
AsignarDataModule;
FClienteController := TClientesController.Create;
FDetallesController := TDetallesPresupuestoClienteController.Create;
FDetallesController.addObservador(Self);
end;
function TPresupuestosClienteController.CreateEditor(const AName: String;
const IID: TGUID; out Intf): Boolean;
begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end;
procedure TPresupuestosClienteController.DescartarCambios(APedido: IBizPresupuestoCliente);
begin
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignada');
ShowHourglassCursor;
try
if (APedido.State in dsEditModes) then
APedido.Cancel;
APedido.DataTable.CancelUpdates;
finally
HideHourglassCursor;
end;
end;
destructor TPresupuestosClienteController.Destroy;
begin
FDataModule := Nil;
FClienteController := Nil;
FDetallesController := Nil;
inherited;
end;
function TPresupuestosClienteController.Duplicar(
APedido: IBizPresupuestoCliente): IBizPresupuestoCliente;
begin
Result := Self._Vacio;
ShowHourglassCursor;
try
DuplicarRegistros(APedido.DataTable, Result.DataTable, mdrActual);
DuplicarRegistros(APedido.Detalles.DataTable, Result.Detalles.DataTable, mdrTodos);
// Hay que dejar algunos campos como si fuera un presupuesto nuevo
Result.Edit;
with Result do
begin
// ID_EMPRESA := dmUsuarios.IDEmpresaActual;
// USUARIO := dmUsuarios.LoginInfo.Usuario;
FECHA_PEDIDO := DateOf(Now);
FECHA_PREVISTA_ENVIO := 0;
INCIDENCIAS_ACTIVAS := 0;
// INCIDENCIAS := Nil;
REFERENCIA := '';
// SetFieldNull(DataTable, fld_PedidosClienteREF_TIENDA_WEB);
end;
Result.Post;
finally
HideHourglassCursor;
end;
end;
function TPresupuestosClienteController.ValidarPedido(
APedido: IBizPresupuestoCliente): Boolean;
begin
Result := False;
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado');
if (APedido.DataTable.State in dsEditModes) then
APedido.DataTable.Post;
//Tambien hacemos post de sus tablas hija
if (APedido.Detalles.DataTable.State in dsEditModes) then
APedido.Detalles.DataTable.Post;
// Abrir el cliente para la validación
if Assigned(APedido.Cliente) then
APedido.Cliente.DataTable.Active := True;
if (APedido.ID_Cliente < 0) or
(not Assigned(APedido.Cliente)) or
(APedido.Cliente.IsEmpty) then
raise Exception.Create('Debe indicar el cliente de este pedido');
if (EsFechaVacia(APedido.FECHA_PEDIDO)) then
raise Exception.Create('Debe indicar la fecha de este pedido');
if (not EsFechaVacia(APedido.FECHA_PREVISTA_ENVIO)) then
begin
if (APedido.FECHA_PREVISTA_ENVIO < APedido.FECHA_PEDIDO) then
raise Exception.Create('La fecha prevista de envío no puede ser anterior a la fecha del pedido');
end;
if (APedido.Detalles.DataTable.RecordCount = 0) then
raise Exception.Create('El pedido debe tener en su contenido al menos un concepto');
{ Asegurarse de valores en campos "automáticos" tanto
en MODIFICACIÓN como en INSERCIÓN. }
APedido.Edit;
try
// APedido.USUARIO := dmUsuarios.LoginInfo.Usuario;
if Assigned(APedido.Cliente)
and (APedido.ID_CLIENTE <> APedido.Cliente.ID) then
APedido.ID_CLIENTE := APedido.Cliente.ID;
Result := True;
finally
APedido.Post;
end;
end;
procedure TPresupuestosClienteController.Ver(APedido: IBizPresupuestoCliente);
var
AEditor : IEditorPresupuestoCliente;
begin
AEditor := NIL;
ShowHourglassCursor;
try
RecuperarObjetos(APedido);
CreateEditor('EditorPresupuestoCliente', IEditorPresupuestoCliente, AEditor);
if Assigned(AEditor) then
with AEditor do
begin
Controller := Self; //OJO ORDEN MUY IMPORTANTE
Pedido := APedido;
//MODO CONSULTAR
if not EsModificable(APedido) then
begin
SetDataTableReadOnly(APedido.DataTable, True);
ReadOnly := True;
end;
ShowModal;
//MODO CONSULTAR (Se deja la tabla como estaba)
if ReadOnly then
SetDataTableReadOnly(APedido.DataTable, False);
AEditor.Release;
end;
finally
AEditor := NIL;
HideHourglassCursor;
end;
end;
procedure TPresupuestosClienteController.VerDireccionEntrega(
APedido: IBizPresupuestoCliente);
var
AEditor : IEditorDireccionEntregaPresupuestoCliente;
begin
AEditor := NIL;
ShowHourglassCursor;
try
//RecuperarObjetos(APedido); <- No descomentar. No hace falta
CreateEditor('EditorDireccionEntregaPresupuestoCliente', IEditorDireccionEntregaPresupuestoCliente, AEditor);
with (AEditor as IEditorDireccionEntregaPresupuestoCliente) do
begin
Pedido := APedido;
end;
finally
HideHourglassCursor;
end;
if Assigned(AEditor) then
try
AEditor.ShowModal;
AEditor.Release;
finally
AEditor := NIL;
end;
end;
procedure TPresupuestosClienteController.VerTodos(APedidos: IBizPresupuestoCliente);
var
AEditor : IEditorPresupuestosCliente;
begin
AEditor := NIL;
ShowHourglassCursor;
try
CreateEditor('EditorPresupuestosCliente', IEditorPresupuestosCliente, AEditor);
if Assigned(AEditor) then
with AEditor do
begin
Controller := Self; //OJO ORDEN MUY IMPORTANTE
Pedidos := APedidos;
MultiSelect := True;
ShowEmbedded;
end;
finally
AEditor := NIL;
HideHourglassCursor;
end;
end;
function TPresupuestosClienteController._Vacio: IBizPresupuestoCliente;
begin
Result := Buscar(ID_NULO);
end;
function TPresupuestosClienteController.Eliminar(const ID: Integer): Boolean;
var
APedido : IBizPresupuestoCliente;
begin
APedido := Buscar(ID);
if not Assigned(APedido) then
raise Exception.Create(Format('No se ha encontrado el pedido con ID = %d', [ID]));
Result := Eliminar(APedido);
APedido := NIL;
end;
function TPresupuestosClienteController.ElegirPedidos(APedido: IBizPresupuestoCliente; AMensaje: String; AMultiSelect: Boolean): IBizPresupuestoCliente;
var
AEditor : IEditorElegirPresupuestosCliente;
begin
Result := NIL;
CreateEditor('EditorElegirPresupuestosCliente', IEditorElegirPresupuestosCliente, AEditor);
try
with AEditor do
begin
Controller := Self;
Pedidos := APedido;
MultiSelect := AMultiSelect;
Mensaje := AMensaje;
if IsPositiveResult(ShowModal) then
Result := PresupuestosClienteSeleccionados;
Release;
end;
finally
AEditor := NIL;
end;
end;
function TPresupuestosClienteController.Eliminar(APedido: IBizPresupuestoCliente; AllItems: Boolean = false): Boolean;
//En el caso de eliminar almenos un elemento del conjunto se devuelve true
var
bEliminado: Boolean;
begin
bEliminado := False;
if not Assigned(APedido) then
raise Exception.Create ('APedido no asignado');
ShowHourglassCursor;
try
if not APedido.DataTable.Active then
APedido.DataTable.Active := True;
if (APedido.State in dsEditModes) then
APedido.Cancel;
//Siempre eliminaremos el seleccionado
if EsEliminable(APedido) then
begin
APedido.Delete;
bEliminado := True;
end;
//En el caso de querer eliminar todos los items del objeto AAlbaran
if AllItems then
begin
with APedido.DataTable do
begin
First;
while not EOF do
begin
if EsEliminable(APedido) then
begin
APedido.Delete;
bEliminado := True
end
else Next;
end;
end;
end;
if bEliminado then
begin
APedido.DataTable.ApplyUpdates;
Result := True;
end
else
Result := False;
finally
HideHourglassCursor;
end;
end;
function TPresupuestosClienteController.EsEliminable(APedido: IBizPresupuestoCliente): Boolean;
begin
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado: EsEliminable');
Result := (APedido.SITUACION = SITUACION_PEDIDO_PENDIENTE);
end;
function TPresupuestosClienteController.EsModificable(APedido: IBizPresupuestoCliente): Boolean;
begin
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado: EsModificable');
Result := (APedido.SITUACION <> SITUACION_PEDIDO_SERVIDO);
end;
procedure TPresupuestosClienteController.RecalcularImportes(
APedido: IBizPresupuestoCliente);
var
bEnEdicion : Boolean;
begin
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (RecalcularImportes)');
if APedido.DataTable.Active then
APedido.DataTable.Active := True;
bEnEdicion := (APedido.DataTable.State in dsEditModes);
if not bEnEdicion then
APedido.Edit;
ShowHourglassCursor;
APedido.Edit;
try
APedido.IMPORTE_NETO := FDetallesController.DarTotalImporteTotal(APedido.Detalles);
APedido.IMPORTE_PORTE := FDetallesController.DarTotalPorteTotal(APedido.Detalles);
if not bEnEdicion then
APedido.Post;
finally
HideHourglassCursor;
end;
end;
procedure TPresupuestosClienteController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
var
APedido : IBizPresupuestoCliente;
ADetalles : IBizDetallesPresupuestoCliente;
begin
inherited;
if Supports(ADataTable, IBizDetallesPresupuestoCliente, ADetalles) and
Supports(ADetalles.DataTable.MasterSource.DataTable, IBizPresupuestoCliente, APedido) then
begin
RecalcularImportes(APedido);
end;
end;
procedure TPresupuestosClienteController.RecuperarObjetos(APedido: IBizPresupuestoCliente);
begin
RecuperarCliente(APedido);
end;
procedure TPresupuestosClienteController.RecuperarCliente(
APedido: IBizPresupuestoCliente);
begin
APedido._Cliente := (FClienteController.Buscar(APedido.ID_Cliente) as IBizCliente);
end;
function TPresupuestosClienteController.Existe(const ID: Integer): Boolean;
var
APedido : IBizPresupuestoCliente;
begin
try
APedido := Buscar(ID);
Result := Assigned(APedido) and (APedido.ID = ID);
finally
APedido := NIL;
end;
end;
function TPresupuestosClienteController.ExtraerSeleccionados(APedido: IBizPresupuestoCliente): IBizPresupuestoCliente;
var
ASeleccionados : IBizPresupuestoCliente;
begin
ASeleccionados := (Self.Buscar(ID_NULO) as IBizPresupuestoCliente);
CopyDataTable(APedido.DataTable, ASeleccionados.DataTable, True);
Result := ASeleccionados;
end;
procedure TPresupuestosClienteController.FiltrarEmpresa(
APedido: IBizPresupuestoCliente);
begin
if APedido.DataTable.Active then
APedido.DataTable.Active := False;
// Filtrar los presupuestos actuales por empresa
{ with APedido.DataTable.Where do
begin
if NotEmpty then
AddOperator(opAND);
AddCondition(fld_PedidosClienteID_EMPRESA, cEqual, dmUsuarios.IDEmpresaActual);
end;
}
end;
procedure TPresupuestosClienteController.SetClienteController(const Value: IClientesController);
begin
FClienteController := Value;
end;
procedure TPresupuestosClienteController.SetDetallesController(const Value: IDetallesPresupuestoClienteController);
begin
FDetallesController := Value;
end;
function TPresupuestosClienteController.Guardar(APedido: IBizPresupuestoCliente): Boolean;
var
IDNuevo: Integer;
begin
Result := False;
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignada');
if not Assigned(FDetallesController) then
raise Exception.Create ('Controller detalles no asignado');
if ValidarPedido(APedido) then
begin
ShowHourglassCursor;
// Asegurarnos de que todos los importes están bien.
RecalcularImportes(APedido);
try
if (APedido.EsNuevo) then
IDNuevo := FDataModule.GetNextID(APedido.DataTable.LogicalName)
else
IDNuevo := APedido.ID;
AsignarID(APedido, IDNuevo);
APedido.DataTable.ApplyUpdates;
Result := True;
finally
HideHourglassCursor;
end;
end;
end;
function TPresupuestosClienteController.Localizar(APedidos: IBizPresupuestoCliente;
const ID: Integer): Boolean;
begin
Result := True;
ShowHourglassCursor;
try
with APedidos.DataTable do
begin
DisableControls;
First;
if not Locate(fld_PedidosClienteID, ID, []) then
Result := False;
EnableControls;
end;
finally
HideHourglassCursor;
end;
end;
function TPresupuestosClienteController.Nuevo: IBizPresupuestoCliente;
var
APedido : IBizPresupuestoCliente;
begin
APedido := FDataModule.NewItem;
FiltrarEmpresa(APedido);
APedido.DataTable.Active := True;
APedido.Insert;
Result := APedido;
end;
procedure TPresupuestosClienteController.QuitarDireccionEnvio(
APedido: IBizPresupuestoCliente);
var
bEnEdicion : Boolean;
begin
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (QuitarDireccionEnvio)');
if APedido.DataTable.Active then
APedido.DataTable.Active := True;
bEnEdicion := (APedido.DataTable.State in dsEditModes);
if not bEnEdicion then
APedido.Edit;
ShowHourglassCursor;
APedido.Edit;
try
APedido.DataTable.FieldByName(fld_PedidosClienteCALLE).Clear;
APedido.DataTable.FieldByName(fld_PedidosClientePOBLACION).Clear;
APedido.DataTable.FieldByName(fld_PedidosClienteCODIGO_POSTAL).Clear;
APedido.DataTable.FieldByName(fld_PedidosClientePROVINCIA).Clear;
APedido.DataTable.FieldByName(fld_PedidosClienteTELEFONO).Clear;
APedido.DataTable.FieldByName(fld_PedidosClientePERSONA_CONTACTO).Clear;
if not bEnEdicion then
APedido.Post;
finally
HideHourglassCursor;
end;
end;
procedure TPresupuestosClienteController.Preview(APedido: IBizPresupuestoCliente; AllItems: Boolean = false);
var
AReportController : IPresupuestosClienteReportController;
ID_Pedidos: TStringList;
begin
AReportController := TPresupuestosClienteReportController.Create;
try
ID_Pedidos := TStringList.Create;
//Si deseamos previsualizar todos los items del objeto albaran
if AllItems then
begin
with APedido.DataTable do
begin
First;
while not EOF do
begin
ID_Pedidos.Add(IntToStr(APedido.ID));
Next;
end;
end;
end
//Solo previsualizamos el item seleccionado
else
ID_Pedidos.Add(IntToStr(APedido.ID));
AReportController.Preview(ID_Pedidos.CommaText);
finally
AReportController := NIL;
ID_Pedidos.Free;
end;
end;
procedure TPresupuestosClienteController.Print(APedido: IBizPresupuestoCliente; AllItems: Boolean = false);
var
AReportController : IPresupuestosClienteReportController;
ID_Pedidos: TStringList;
begin
AReportController := TPresupuestosClienteReportController.Create;
try
ID_Pedidos := TStringList.Create;
//Si deseamos previsualizar todos los items del objeto albaran
if AllItems then
begin
with APedido.DataTable do
begin
First;
while not EOF do
begin
ID_Pedidos.Add(IntToStr(APedido.ID));
Next;
end;
end;
end
//Solo previsualizamos el item seleccionado
else
ID_Pedidos.Add(IntToStr(APedido.ID));
AReportController.Print(ID_Pedidos.CommaText);
finally
AReportController := NIL;
ID_Pedidos.Free;
end;
end;
function TPresupuestosClienteController.GetClienteController: IClientesController;
begin
Result := FClienteController;
end;
function TPresupuestosClienteController.GetDetallesController: IDetallesPresupuestoClienteController;
begin
Result := FDetallesController;
end;
end.

View File

@ -0,0 +1,104 @@
unit uPresupuestosClienteReportController;
interface
uses
Classes, SysUtils, uDADataTable, uControllerBase, uIDataModulePresupuestosClienteReport,
uClientesController, uPresupuestosClienteController, uDetallesPresupuestoClienteController,
uBizPresupuestosCliente;
type
IPresupuestosClienteReportController = interface
['{D0686358-251C-43C4-9927-6112F2F4D3B8}']
procedure Preview(const AID : String);
procedure Print(const AID : String);
end;
TPresupuestosClienteReportController = class(TInterfacedObject, IPresupuestosClienteReportController)
private
FDataModule : IDataModulePresupuestosClienteReport;
function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean;
public
constructor Create;
destructor Destroy; override;
procedure Preview(const AID : String);
procedure Print(const AID : String);
end;
implementation
uses
uROTypes, uEditorRegistryUtils, uIEditorPresupuestosClientePreview,
uEditorPreview, uDataModulePresupuestosCliente, uEditorBase, cxControls;
{ TPresupuestosClienteReportController }
constructor TPresupuestosClienteReportController.Create;
begin
FDataModule := TDataModulePresupuestosCliente.Create(Nil);
end;
function TPresupuestosClienteReportController.CreateEditor(const AName: String;
const IID: TGUID; out Intf): Boolean;
begin
Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf);
end;
destructor TPresupuestosClienteReportController.Destroy;
begin
FDataModule := NIL;
inherited;
end;
procedure TPresupuestosClienteReportController.Preview(const AID : String);
var
AStream: Binary;
AEditor : IEditorPresupuestosClientePreview;
begin
AEditor := NIL;
ShowHourglassCursor;
try
AStream := FDataModule.GetReport(AID);
try
CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor);
AEditor.LoadFromStream(AStream);
finally
AStream.Free;
end;
finally
HideHourglassCursor;
end;
if Assigned(AEditor) then
AEditor.Preview;
end;
procedure TPresupuestosClienteReportController.Print(const AID : String);
var
AStream: Binary;
AEditor : IEditorPresupuestosClientePreview;
begin
AEditor := NIL;
ShowHourglassCursor;
try
AStream := FDataModule.GetReport(AID);
try
CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor);
AEditor.LoadFromStream(AStream);
finally
AStream.Free;
end;
finally
HideHourglassCursor;
end;
if Assigned(AEditor) then
AEditor.Print
end;
end.

View File

@ -0,0 +1,33 @@
package PresupuestosCliente_data;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD ON}
requires
PresupuestosCliente_model;
contains
uDataModulePresupuestosCliente in 'uDataModulePresupuestosCliente.pas' {DataModulePresupuestosCliente};
end.

View File

@ -0,0 +1,540 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{38eef566-1895-4bdd-8007-f92f5e32cce6}</ProjectGuid>
<MainSource>PresupuestosCliente_data.dpk</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\PresupuestosCliente_data.bpl</DCC_DependencyCheckOutputName>
</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_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<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><Source><Source Name="MainSource">PresupuestosCliente_data.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="PresupuestosCliente_data.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Articulos\Data\PresupuestosCliente_model.dcp" />
<DCCReference Include="uDataModulePresupuestosCliente.pas">
<Form>DataModulePresupuestosCliente</Form>
</DCCReference>
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
Activate=1
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=1
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=1
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=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
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."
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=English
EurekaLog Last Line -->

View File

@ -0,0 +1,17 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Data\uDataModulePresupuestosCliente.DFM */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Data\PresupuestosCliente_data.res */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Data\PresupuestosCliente_data.drf */

View File

@ -0,0 +1,471 @@
inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente
OnCreate = DAClientDataModuleCreate
Height = 403
Width = 768
object RORemoteService: TRORemoteService
ServiceName = 'srvPedidosCliente'
Left = 40
Top = 56
end
object tbl_PresupuestosCliente: TDACDSDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datAutoInc
DictionaryEntry = 'PedidosCliente_ID'
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
DictionaryEntry = 'PedidosCliente_ID_EMPRESA'
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
DictionaryEntry = 'PedidosCliente_ID_CLIENTE'
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
DisplayLabel = 'Nombre del cliente'
DictionaryEntry = 'PedidosCliente_NOMBRE'
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
DisplayLabel = 'Referencia'
DictionaryEntry = 'PedidosCliente_REFERENCIA'
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
DisplayLabel = 'PedidosCliente_REFERENCIA_CLIENTE'
DictionaryEntry = 'PedidosCliente_REFERENCIA_CLIENTE'
end
item
Name = 'SITUACION'
DataType = datString
Size = 255
DisplayLabel = 'Situaci'#243'n'
DictionaryEntry = 'PedidosCliente_SITUACION'
end
item
Name = 'FECHA_PEDIDO'
DataType = datDateTime
DisplayLabel = 'Fecha pedido'
DictionaryEntry = 'PedidosCliente_FECHA_PEDIDO'
end
item
Name = 'CALLE'
DataType = datString
Size = 255
DisplayLabel = 'Calle'
DictionaryEntry = 'PedidosCliente_CALLE'
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
DisplayLabel = 'C'#243'd. postal'
DictionaryEntry = 'PedidosCliente_CODIGO_POSTAL'
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
DisplayLabel = 'Poblaci'#243'n'
DictionaryEntry = 'PedidosCliente_POBLACION'
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
DisplayLabel = 'Provincia'
DictionaryEntry = 'PedidosCliente_PROVINCIA'
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
DisplayLabel = 'Persona de contacto'
DictionaryEntry = 'PedidosCliente_PERSONA_CONTACTO'
end
item
Name = 'TELEFONO'
DataType = datString
Size = 25
DisplayLabel = 'Tel'#233'fono'
DictionaryEntry = 'PedidosCliente_TELEFONO'
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
DisplayLabel = 'Observaciones'
DictionaryEntry = 'PedidosCliente_OBSERVACIONES'
end
item
Name = 'INCIDENCIAS'
DataType = datMemo
DictionaryEntry = 'PedidosCliente_INCIDENCIAS'
end
item
Name = 'INCIDENCIAS_ACTIVAS'
DataType = datInteger
DictionaryEntry = 'PedidosCliente_INCIDENCIAS_ACTIVAS'
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
DictionaryEntry = 'PedidosCliente_FECHA_ALTA'
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
DictionaryEntry = 'PedidosCliente_FECHA_MODIFICACION'
end
item
Name = 'USUARIO'
DataType = datString
Size = 20
DictionaryEntry = 'PedidosCliente_USUARIO'
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
DisplayLabel = 'Importe neto'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_IMPORTE_NETO'
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
DisplayLabel = 'Importe del porte'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_IMPORTE_PORTE'
end
item
Name = 'DESCUENTO'
DataType = datFloat
DisplayLabel = 'Descuento'
DisplayFormat = ',0.00 %;-,0.00 %'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_DESCUENTO'
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
DisplayLabel = 'Importe dto.'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_IMPORTE_DESCUENTO'
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
DisplayLabel = 'Base imponible'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_BASE_IMPONIBLE'
end
item
Name = 'IVA'
DataType = datFloat
DisplayFormat = ',0.00 %;-,0.00 %'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_IVA'
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
DisplayLabel = 'Importe IVA'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_IMPORTE_IVA'
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
DisplayLabel = 'Importe total'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_IMPORTE_TOTAL'
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
DictionaryEntry = 'PedidosCliente_ID_FORMA_PAGO'
end
item
Name = 'REF_TIENDA_WEB'
DataType = datInteger
DictionaryEntry = 'PedidosCliente_REF_TIENDA_WEB'
end
item
Name = 'FECHA_PREVISTA_ENVIO'
DataType = datDateTime
DisplayLabel = 'Fecha de entrega prevista'
DictionaryEntry = 'PedidosCliente_FECHA_PREVISTA_ENVIO'
end>
Params = <>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_PresupuestosCliente
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'PedidosCliente'
IndexDefs = <>
Left = 208
Top = 104
end
object ds_PedidosCliente: TDADataSource
DataSet = tbl_PresupuestosCliente.Dataset
DataTable = tbl_PresupuestosCliente
Left = 208
Top = 48
end
object tbl_PresupuestosCliente_Detalles: TDACDSDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datAutoInc
Required = True
DictionaryEntry = 'PedidosCliente_Detalles_ID'
InPrimaryKey = True
end
item
Name = 'ID_PEDIDO'
DataType = datInteger
DictionaryEntry = 'PedidosCliente_Detalles_ID_PEDIDO'
end
item
Name = 'POSICION'
DataType = datInteger
DictionaryEntry = 'POSICIONCONCEPTO'
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 10
DictionaryEntry = 'PedidosCliente_Detalles_TIPO_DETALLE'
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
DisplayLabel = 'Referencia'
DictionaryEntry = 'PedidosCliente_Detalles_REFERENCIA'
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
DictionaryEntry = 'PedidosCliente_Detalles_ID_ARTICULO'
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
DictionaryEntry = 'PedidosCliente_Detalles_CONCEPTO'
end
item
Name = 'CANTIDAD'
DataType = datInteger
Alignment = taRightJustify
DictionaryEntry = 'CANTIDAD'
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
DisplayLabel = 'Importe unidad'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_UNIDAD'
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
DisplayLabel = 'Importe total'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_TOTAL'
end
item
Name = 'DESCUENTO'
DataType = datFloat
DisplayLabel = 'Descuento'
DisplayFormat = ',0.00 %;-,0.00 %'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_Detalles_DESCUENTO'
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
DisplayLabel = 'Importe porte'
Alignment = taRightJustify
DictionaryEntry = 'PedidosCliente_Detalles_IMPORTE_PORTE'
end
item
Name = 'VISIBLE'
DataType = datInteger
DictionaryEntry = 'PedidosCliente_Detalles_VISIBLE'
end
item
Name = 'REFERENCIA_PROVEEDOR'
DataType = datString
Size = 255
DisplayLabel = 'Ref. proveedor'
DictionaryEntry = 'PedidosCliente_Detalles_REFERENCIA_PROVEEDOR'
end>
Params = <
item
Name = 'ID_PEDIDO'
DataType = datInteger
Value = ''
ParamType = daptInput
end>
MasterMappingMode = mmWhere
MasterParamsMappings.Strings = (
'ID_PEDIDO=ID')
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_PresupuestosCliente
MasterSource = ds_PedidosCliente
MasterFields = 'ID'
DetailFields = 'ID_PEDIDO'
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'PedidosCliente_Detalles'
IndexDefs = <>
Left = 329
Top = 104
end
object ds_PedidosCliente_Detalles: TDADataSource
DataSet = tbl_PresupuestosCliente_Detalles.Dataset
DataTable = tbl_PresupuestosCliente_Detalles
Left = 329
Top = 48
end
object tbl_PresupuestoCliente_Articulos_Pendientes: TDACDSDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID_ARTICULO'
DataType = datInteger
DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_ID_ARTICULO'
InPrimaryKey = True
end
item
Name = 'CANTIDAD_PED'
DataType = datInteger
DisplayLabel = 'Cantidad en pedido'
Alignment = taRightJustify
DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_PED'
end
item
Name = 'CANTIDAD_ALB'
DataType = datInteger
DisplayLabel = 'Cantidad en albaranes'
Alignment = taRightJustify
DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_ALB'
end
item
Name = 'CANTIDAD_PENDIENTE'
DataType = datLargeInt
DisplayLabel = 'Cantidad pendiente'
Alignment = taRightJustify
DictionaryEntry = 'PedidoCliente_Articulos_Pendientes_CANTIDAD_PENDIENTE'
end>
Params = <
item
Name = 'ID_PEDIDO'
DataType = datInteger
Value = '11'
ParamType = daptInput
end>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_PresupuestosCliente
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'PedidoCliente_Articulos_Pendientes'
IndexDefs = <>
Left = 208
Top = 192
end
object ds_PresupuestoCliente_Articulos_Pendientes: TDADataSource
DataSet = tbl_PresupuestoCliente_Articulos_Pendientes.Dataset
DataTable = tbl_PresupuestoCliente_Articulos_Pendientes
Left = 208
Top = 256
end
object tbl_PresupuestoCliente_ArticulosPendientesPedirAProv: TDACDSDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID_PEDIDO'
DataType = datAutoInc
DictionaryEntry = 'DarArticulosPendientesPedirAProv_ID_PEDIDO'
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
DictionaryEntry = 'DarArticulosPendientesPedirAProv_ID_ARTICULO'
end
item
Name = 'CANT_PEDIDA_CLIENTE'
DataType = datInteger
DisplayLabel = 'Cant. pedida por cliente'
DictionaryEntry = 'DarArticulosPendientesPedirAProv_CANT_PEDIDA_CLIENTE'
end
item
Name = 'ID_PROVEEDOR'
DataType = datInteger
DictionaryEntry = 'DarArticulosPendientesPedirAProv_ID_PROVEEDOR'
end
item
Name = 'CANT_PEDIDA_PROVEEDOR'
DataType = datInteger
DisplayLabel = 'Cant. pedida a proveedor'
DictionaryEntry = 'DarArticulosPendientesPedirAProv_CANT_PEDIDA_PROVEEDOR'
end
item
Name = 'CANT_PENDIENTE_PEDIR'
DataType = datInteger
DisplayLabel = 'Cant. pendiente pedir'
DictionaryEntry = 'DarArticulosPendientesPedirAProv_CANT_PENDIENTE_PEDIR'
end>
Params = <
item
Name = 'ID_PEDIDO'
Value = ''
ParamType = daptInput
end>
MasterMappingMode = mmDataRequest
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_PresupuestosCliente
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
LogicalName = 'PedidoCliente_ArticulosPendientesPedirAProv'
IndexDefs = <>
Left = 440
Top = 192
end
object ds_PresupuestoCliente_ArticulosPendientesPedirAProv: TDADataSource
DataSet = tbl_PresupuestoCliente_ArticulosPendientesPedirAProv.Dataset
DataTable = tbl_PresupuestoCliente_ArticulosPendientesPedirAProv
Left = 440
Top = 256
end
object Bin2DataStreamer: TDABin2DataStreamer
Left = 40
Top = 108
end
object rda_PresupuestosCliente: TDARemoteDataAdapter
GetSchemaCall.RemoteService = RORemoteService
GetDataCall.RemoteService = RORemoteService
UpdateDataCall.RemoteService = RORemoteService
GetScriptsCall.RemoteService = RORemoteService
RemoteService = RORemoteService
DataStreamer = Bin2DataStreamer
Left = 43
Top = 175
end
end

View File

@ -0,0 +1,199 @@
unit uDataModulePresupuestosCliente;
interface
uses
DB, Classes, SysUtils, uDADesigntimeCall, uROServiceComponent,
uRORemoteService, uROClient, uROBinMessage, uDAScriptingProvider,
uDACDSDataTable, uROWinInetHttpChannel, uDADataTable, uDABINAdapter,
uDAClientDataModule, uROTypes,
uIDataModulePresupuestosCliente, uBizPresupuestosCliente, uBizDetallesPresupuestoCliente,
uIDataModulePresupuestosClienteReport, uDataModuleBase, uDAInterfaces,
uRODynamicRequest, uDADataStreamer, uDARemoteDataAdapter, uDABin2DataStreamer;
type
TDataModulePresupuestosCliente = class(TDataModuleBase, IDataModulePresupuestosCliente, IDataModulePresupuestosClienteReport)
RORemoteService: TRORemoteService;
tbl_PresupuestosCliente: TDACDSDataTable;
ds_PedidosCliente: TDADataSource;
tbl_PresupuestosCliente_Detalles: TDACDSDataTable;
ds_PedidosCliente_Detalles: TDADataSource;
tbl_PresupuestoCliente_Articulos_Pendientes: TDACDSDataTable;
ds_PresupuestoCliente_Articulos_Pendientes: TDADataSource;
tbl_PresupuestoCliente_ArticulosPendientesPedirAProv: TDACDSDataTable;
ds_PresupuestoCliente_ArticulosPendientesPedirAProv: TDADataSource;
Bin2DataStreamer: TDABin2DataStreamer;
rda_PresupuestosCliente: TDARemoteDataAdapter;
procedure DAClientDataModuleCreate(Sender: TObject);
private
function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload;
function _GetDetalles : IBizDetallesPresupuestoCliente;
protected
procedure AsignarClaseNegocio(var APedido: TDACDSDataTable); virtual;
public
function GetArticulosPendientesPedirAProv(const IDPedido: Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
function GetArticulosPendientes(const IDPedido: Integer): IBizPresupuestoClienteArticulosPend;
function GetItems : IBizPresupuestoCliente; virtual;
function GetItem(const ID : Integer) : IBizPresupuestoCliente;
function GetNextID(const DataSetName : String) : Integer;
function NewItem : IBizPresupuestoCliente;
// Report
function GetReport(const AID: String): Binary;
end;
implementation
{$R *.DFM}
uses
cxControls, FactuGES_Intf, uDataModuleConexion,
uDataTableUtils, schPedidosClienteClient_Intf, uBizContactos;
{ TdmPedidosCliente }
procedure TDataModulePresupuestosCliente.AsignarClaseNegocio(var APedido: TDACDSDataTable);
begin
APedido.BusinessRulesID := BIZ_CLIENT_PEDIDO_CLIENTE;
end;
procedure TDataModulePresupuestosCliente.DAClientDataModuleCreate(Sender: TObject);
begin
RORemoteService.Channel := dmConexion.Channel;
RORemoteService.Message := dmConexion.Message;
end;
function TDataModulePresupuestosCliente.GetNextID(const DataSetName: String): Integer;
var
aGeneratorName : String;
begin
{
if DataSetName = nme_PedidosCliente then
aGeneratorName := 'GEN_PEDIDOS_CLI_ID';
if DataSetName = nme_PedidosCliente_Detalles then
aGeneratorName := 'GEN_PEDIDOS_CLI_DETALLES_ID';
}
// Result := (RORemoteService as IsrvPresupuestosCliente).GetNextAutoInc(aGeneratorName)
end;
function TDataModulePresupuestosCliente.GetReport(const AID: String): Binary;
begin
Result := (RORemoteService as IsrvPresupuestosCliente).GenerateReport(AID)
end;
function TDataModulePresupuestosCliente.NewItem: IBizPresupuestoCliente;
begin
Result := GetItem(ID_NULO)
end;
function TDataModulePresupuestosCliente._CloneDataTable(const ADataTable : TDACDSDataTable): TDACDSDataTable;
begin
Result := NIL;
if not Assigned(ADataTable) then
raise Exception.Create ('No se ha asignado la tabla de origen (CloneDataTable)');
Result := TDACDSDataTable.Create(NIL);
CloneDataTable(ADataTable, Result);
end;
function TDataModulePresupuestosCliente._GetDetalles: IBizDetallesPresupuestoCliente;
var
ADetalles : TDACDSDataTable;
begin
ShowHourglassCursor;
try
ADetalles := _CloneDataTable(tbl_PresupuestosCliente_Detalles);
with ADetalles do
begin
BusinessRulesID := BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE;
DetailOptions := DetailOptions -
[dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates];
end;
Result := (ADetalles as IBizDetallesPresupuestoCliente);
finally
HideHourglassCursor;
end;
end;
function TDataModulePresupuestosCliente.GetArticulosPendientes(
const IDPedido: Integer): IBizPresupuestoClienteArticulosPend;
var
AArticulos : TDACDSDataTable;
begin
ShowHourglassCursor;
try
AArticulos := _CloneDataTable(tbl_PresupuestoCliente_Articulos_Pendientes);
AArticulos.BusinessRulesID := BIZ_CLIENT_ARTICULOS_PEND_PEDIDO_CLIENTE;
AArticulos.ParamByName('ID_PEDIDO').AsInteger := IDPedido;
Result := (AArticulos as IBizPresupuestoClienteArticulosPend);
finally
HideHourglassCursor;
end;
end;
function TDataModulePresupuestosCliente.GetArticulosPendientesPedirAProv(
const IDPedido: Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
var
AArticulos : TDACDSDataTable;
begin
ShowHourglassCursor;
try
AArticulos := _CloneDataTable(tbl_PresupuestoCliente_ArticulosPendientesPedirAProv);
AArticulos.BusinessRulesID := BIZ_CLIENT_PEDIDO_CLIENTE_ARTICULOS_PENDIENTES_PEDIR_A_PROV;
AArticulos.ParamByName('ID_PEDIDO').AsInteger := IDPedido;
Result := (AArticulos as IBizPresupuestoClienteArticulosPendientesPedirAProv);
finally
HideHourglassCursor;
end;
end;
function TDataModulePresupuestosCliente.GetItem(const ID: Integer): IBizPresupuestoCliente;
begin
ShowHourglassCursor;
try
Result := Self.GetItems;
with Result.DataTable.Where do
begin
if NotEmpty then
AddOperator(opAND);
OpenBraket;
AddText(fld_PedidosClienteID + ' = ' + IntToStr(ID));
CloseBraket;
end;
finally
HideHourglassCursor;
end;
end;
function TDataModulePresupuestosCliente.GetItems: IBizPresupuestoCliente;
var
APedido : TDACDSDataTable;
begin
ShowHourglassCursor;
try
APedido := _CloneDataTable(tbl_PresupuestosCliente);
// EL CAMPO REFERENCIA Y SITUACIÓN TIENEN QUE SER AUTOREFRESH!!!!!
APedido.FieldByName(fld_PedidosClienteREFERENCIA).ServerAutoRefresh := TRUE;
APedido.FieldByName(fld_PedidosClienteSITUACION).ServerAutoRefresh := TRUE;
AsignarClaseNegocio(APedido);
with TBizPresupuestoCliente(APedido.BusinessEventsObj) do
begin
Detalles := _GetDetalles;
end;
Result := (APedido as IBizPresupuestoCliente);
finally
HideHourglassCursor;
end;
end;
end.

View File

@ -0,0 +1,21 @@
unit uIDataModulePresupuestosCliente;
interface
uses
uBizPresupuestosCliente, uBizDetallesPresupuestoCliente;
type
IDataModulePresupuestosCliente = interface
['{F0DDD126-9E62-4FEC-A849-FDCA75718F5B}']
function GetItems: IBizPresupuestoCliente;
function GetItem(const ID : Integer) : IBizPresupuestoCliente;
function GetNextID(const DataSetName : String) : Integer;
function NewItem : IBizPresupuestoCliente;
function GetArticulosPendientes(const IDPedido: Integer): IBizPresupuestoClienteArticulosPend;
function GetArticulosPendientesPedirAProv(const IDPedido: Integer): IBizPresupuestoClienteArticulosPendientesPedirAProv;
end;
implementation
end.

View File

@ -0,0 +1,16 @@
unit uIDataModulePresupuestosClienteReport;
interface
uses
uROTypes;
type
IDataModulePresupuestosClienteReport = interface
['{70CEBB06-376F-4363-B80F-DDA4324E0F85}']
function GetReport(const AID: String): Binary;
end;
implementation
end.

View File

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<TgConfig Version="3" SubLevelDisabled="False" />

View File

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<TgConfig Version="3" SubLevelDisabled="False" />

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<nodeSet version="1.0" />

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<nodeSet version="1.0">
<view uin="uqmtvrnpz0n_v">
<property name="$defaultDiagram" value="true" />
<property name="$metaclass" value="Package Diagram" />
<property name="$name" value="default" />
</view>
</nodeSet>

View File

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<TgConfig Version="3" SubLevelDisabled="False" />

View File

@ -0,0 +1,39 @@
package PresupuestosCliente_model;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD ON}
requires
Base,
Contactos_model;
contains
uIDataModulePresupuestosCliente in 'Data\uIDataModulePresupuestosCliente.pas',
uBizDetallesPresupuestoCliente in 'uBizDetallesPresupuestoCliente.pas',
uBizPresupuestosCliente in 'uBizPresupuestosCliente.pas',
uIDataModulePresupuestosClienteReport in 'Data\uIDataModulePresupuestosClienteReport.pas',
schPedidosClienteClient_Intf in 'schPedidosClienteClient_Intf.pas',
schPedidosClienteServer_Intf in 'schPedidosClienteServer_Intf.pas';
end.

View File

@ -0,0 +1,549 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{a7225a8d-f40d-4878-9a27-c5de0e7cb638}</ProjectGuid>
<MainSource>PresupuestosCliente_model.dpk</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\PresupuestosCliente_model.bpl</DCC_DependencyCheckOutputName>
</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_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<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><Source><Source Name="MainSource">PresupuestosCliente_model.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="PresupuestosCliente_model.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="Base.dcp" />
<DCCReference Include="Contactos_model.dcp" />
<DCCReference Include="Data\uIDataModulePresupuestosCliente.pas" />
<DCCReference Include="Data\uIDataModulePresupuestosClienteReport.pas" />
<DCCReference Include="schPedidosClienteClient_Intf.pas" />
<DCCReference Include="schPedidosClienteServer_Intf.pas" />
<DCCReference Include="uBizDetallesPresupuestoCliente.pas" />
<DCCReference Include="uBizPresupuestosCliente.pas" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
Activate=1
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=1
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=1
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=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
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."
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=English
EurekaLog Last Line -->

View File

@ -0,0 +1,16 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Model\PresupuestosCliente_model.res */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Model\PresupuestosCliente_model.drf */

View File

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<TgConfig Version="3" SubLevelDisabled="False" />

View File

@ -0,0 +1 @@
<TDAConnectionManager><Connections Type="TDAConnectionCollection" IsObject="true" IsCollection="true" Count="1" ItemClass="TDAConnection"><Item0><ConnectionString>IBX?Server=LOCALHOST;Database=E:\Codigo\BD\FACTUGES.FDB;UserID=sysdba;Password=masterkey;Dialect=3;Charset=ISO8859_1;</ConnectionString><Default>True</Default><Description></Description><Name>IBX</Name><Tag>0</Tag></Item0></Connections><DriverManager Type="TDADriverManager" IsObject="true" ByRef="true" RefName="DriverManager" Owner="dmServer"/><MaxPoolSize>10</MaxPoolSize><PoolBehaviour>pbWait</PoolBehaviour><PoolingEnabled>True</PoolingEnabled><PoolTimeoutSeconds>60</PoolTimeoutSeconds><Tag>0</Tag><WaitIntervalSeconds>1</WaitIntervalSeconds></TDAConnectionManager>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,59 @@
unit uBizDetallesPresupuestoCliente;
interface
uses
uDADataTable, schPedidosClienteClient_Intf;
const
BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE = 'Client.PresupuestoCliente.Detalles';
BIZ_CLIENT_ARTICULOS_PEND_PEDIDO_CLIENTE = 'Client.PresupuestoCliente.ArticulosPendientes';
type
IBizDetallesPresupuestoCliente = interface(IPedidosCliente_Detalles)
['{2D7781DC-AD16-4857-9567-5C1620319781}']
end;
IBizPresupuestoClienteArticulosPend = interface(IPedidoCliente_Articulos_Pendientes)
['{DD245879-DD80-4E96-995A-6D3A09D72544}']
end;
TBizDetallesPresupuestoCliente = class(TPedidosCliente_DetallesDataTableRules, IBizDetallesPresupuestoCliente)
private
ContIdAux: Integer;
protected
procedure OnNewRecord(Sender: TDADataTable); override;
public
constructor Create(aDataTable: TDADataTable); override;
end;
TBizPresupuestoClienteArticulosPend = class(TPedidoCliente_Articulos_PendientesDataTableRules, IBizPresupuestoClienteArticulosPend)
end;
implementation
{ TBizDetallesPresupuestoCliente }
uses
uDataTableUtils;
constructor TBizDetallesPresupuestoCliente.Create(aDataTable: TDADataTable);
begin
inherited Create(aDataTable);
ContIdAux := -1;
end;
procedure TBizDetallesPresupuestoCliente.OnNewRecord(Sender: TDADataTable);
begin
inherited;
ID := ContIdAux; // -1, -2, -3...
Dec(ContIdAux);
end;
initialization
RegisterDataTableRules(BIZ_CLIENT_DETALLES_PEDIDO_CLIENTE, TBizDetallesPresupuestoCliente);
RegisterDataTableRules(BIZ_CLIENT_ARTICULOS_PEND_PEDIDO_CLIENTE, TBizPresupuestoClienteArticulosPend);
end.

View File

@ -0,0 +1,319 @@
unit uBizPresupuestosCliente;
interface
uses
Classes, uDADataTable, uDAInterfaces, uROClasses,
schPedidosClienteClient_Intf, uDBSelectionListUtils,
uBizContactos, uBizDetallesPresupuestoCliente;
const
BIZ_CLIENT_PEDIDO_CLIENTE = 'Client.PresupuestoCliente';
BIZ_CLIENT_PEDIDO_CLIENTE_ARTICULOS_PENDIENTES_PEDIR_A_PROV = 'Client.PresupuestoClienteArticulosPendientesPedirAProv';
SITUACION_PEDIDO_PENDIENTE = 'PENDIENTE';
SITUACION_PEDIDO_ENPROCESO = 'EN PROCESO';
SITUACION_PEDIDO_SERVIDO = 'SERVIDO';
type
IBizPresupuestoCliente = interface(IPedidosCliente)
['{86A2FAD7-D125-47C2-B0BA-52A42FDFA6F6}']
procedure SetCliente(AValue : IBizCliente);
function GetCliente : IBizCliente;
property Cliente : IBizCliente read GetCliente write SetCliente;
// Esta propidad es para que el controlador pueda acceder directamente
// a la propiedad Cliente
procedure _SetCliente(AValue : IBizCliente);
function _GetCliente : IBizCliente;
property _Cliente : IBizCliente read _GetCliente write _SetCliente;
function GetDetalles: IBizDetallesPresupuestoCliente;
procedure SetDetalles(Value: IBizDetallesPresupuestoCliente);
property Detalles: IBizDetallesPresupuestoCliente read GetDetalles write SetDetalles;
procedure CalcularImporteTotal;
function EsNuevo : Boolean;
function DarListaSituaciones: TStringList;
end;
IBizPresupuestoClienteArticulosPendientesPedirAProv = interface(IPedidoCliente_ArticulosPendientesPedirAProv)
['{00537EF7-363E-4A50-BA03-1C0B79D17D31}']
end;
TBizPresupuestoCliente = class(TPedidosClienteDataTableRules, IBizPresupuestoCliente, ISeleccionable)
private
procedure CalcularBaseImponible;
procedure CalcularIVA;
protected
FSeleccionableInterface : ISeleccionable;
FCliente : IBizCliente;
FDetalles : IBizDetallesPresupuestoCliente;
FDetallesLink : TDADataSource;
procedure SetCliente(AValue : IBizCliente);
function GetCliente : IBizCliente;
procedure _SetCliente(AValue : IBizCliente);
function _GetCliente : IBizCliente;
function GetDetalles: IBizDetallesPresupuestoCliente;
procedure SetDetalles(Value: IBizDetallesPresupuestoCliente);
procedure SetFECHA_PEDIDOValue(const aValue: TDateTime); override;
procedure SetFECHA_PREVISTA_ENVIOValue(const aValue: DateTime); override;
// procedure SetINCIDENCIASValue(const aValue: IROStrings); override;
procedure SetID_FORMA_PAGOValue(const aValue: Integer); override;
procedure OnNewRecord(Sender: TDADataTable); override;
procedure IniciarValoresPedidoNuevo;
procedure IMPORTE_NETOOnChange(Sender: TDACustomField);
procedure IMPORTE_PORTEOnChange(Sender: TDACustomField);
procedure DESCUENTOOnChange(Sender: TDACustomField);
procedure IVAOnChange(Sender: TDACustomField);
public
function DarListaSituaciones: TStringList;
function EsNuevo : Boolean;
procedure CalcularImporteTotal;
property Cliente : IBizCliente read GetCliente write SetCliente;
property _Cliente : IBizCliente read _GetCliente write _SetCliente;
property Detalles: IBizDetallesPresupuestoCliente read GetDetalles write SetDetalles;
property SeleccionableInterface : ISeleccionable read FSeleccionableInterface
write FSeleccionableInterface implements ISeleccionable;
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
TBizPresupuestoClienteArticulosPendientesPedirAProv = class(TPedidoCliente_ArticulosPendientesPedirAProvDataTableRules, IBizPresupuestoClienteArticulosPendientesPedirAProv)
end;
implementation
uses
SysUtils, Variants, uDataModuleConfiguracion, uDataModuleUsuarios,
uDataTableUtils, DateUtils, uDateUtils, DB;
{ TBizPresupuestoCliente }
procedure TBizPresupuestoCliente.CalcularBaseImponible;
begin
if not Self.DataTable.Editing then
Edit;
IMPORTE_DESCUENTO := IMPORTE_NETO * (DESCUENTO/100);
BASE_IMPONIBLE := IMPORTE_NETO - IMPORTE_DESCUENTO + IMPORTE_PORTE;
end;
procedure TBizPresupuestoCliente.CalcularImporteTotal;
begin
DataTable.DisableControls;
DataTable.Fields.FieldEventsDisabled := True;
try
CalcularBaseImponible;
CalcularIVA;
if not Self.DataTable.Editing then
Edit;
IMPORTE_TOTAL := BASE_IMPONIBLE + IMPORTE_IVA;
finally
DataTable.Fields.FieldEventsDisabled := False;
DataTable.EnableControls;
end;
end;
procedure TBizPresupuestoCliente.CalcularIVA;
begin
if not Self.DataTable.Editing then
Edit;
IMPORTE_IVA := (IVA / 100) * (BASE_IMPONIBLE);
end;
constructor TBizPresupuestoCliente.Create(aDataTable: TDADataTable);
begin
inherited;
FCliente := Nil;
with DataTable do
begin
FieldByName(fld_PedidosClienteIMPORTE_NETO).OnChange := IMPORTE_NETOOnChange;
FieldByName(fld_PedidosClienteIMPORTE_PORTE).OnChange := IMPORTE_PORTEOnChange;
FieldByName(fld_PedidosClienteDESCUENTO).OnChange := DESCUENTOOnChange;
FieldByName(fld_PedidosClienteIVA).OnChange := IVAOnChange;
end;
FDetallesLink := TDADataSource.Create(NIL);
FDetallesLink.DataTable := aDataTable;
FSeleccionableInterface := TSeleccionable.Create(aDataTable);
end;
function TBizPresupuestoCliente.DarListaSituaciones: TStringList;
begin
Result := TStringList.Create;
with Result do
begin
Add(SITUACION_PEDIDO_PENDIENTE);
Add(SITUACION_PEDIDO_ENPROCESO);
Add(SITUACION_PEDIDO_SERVIDO);
end;
end;
procedure TBizPresupuestoCliente.DESCUENTOOnChange(Sender: TDACustomField);
begin
CalcularImporteTotal;
end;
destructor TBizPresupuestoCliente.Destroy;
begin
FCliente := NIL;
FDetalles := NIL;
FDetallesLink.Free;
FSeleccionableInterface := NIL;
inherited;
end;
function TBizPresupuestoCliente.EsNuevo: Boolean;
begin
Result := (ID < 0);
end;
function TBizPresupuestoCliente.GetCliente: IBizCliente;
begin
Result := FCliente;
end;
procedure TBizPresupuestoCliente.IMPORTE_NETOOnChange(Sender: TDACustomField);
begin
CalcularImporteTotal;
end;
procedure TBizPresupuestoCliente.IMPORTE_PORTEOnChange(Sender: TDACustomField);
begin
CalcularImporteTotal;
end;
procedure TBizPresupuestoCliente.IniciarValoresPedidoNuevo;
begin
// ID_EMPRESA := dmUsuarios.IDEmpresaActual;
// USUARIO := dmUsuarios.LoginInfo.Usuario;
FECHA_PEDIDO := DateOf(Date);
FECHA_PREVISTA_ENVIO := 0;
INCIDENCIAS_ACTIVAS := 0;
// INCIDENCIAS := NIL;
REFERENCIA := '';
SetFieldNull(DataTable, fld_PedidosClienteREF_TIENDA_WEB);
SITUACION := SITUACION_PEDIDO_PENDIENTE;
end;
procedure TBizPresupuestoCliente.IVAOnChange(Sender: TDACustomField);
begin
CalcularImporteTotal;
end;
function TBizPresupuestoCliente.GetDetalles: IBizDetallesPresupuestoCliente;
begin
Result := FDetalles;
end;
procedure TBizPresupuestoCliente.OnNewRecord(Sender: TDADataTable);
begin
inherited;
ID := GetRecNo; // -1, -2, -3...
IniciarValoresPedidoNuevo;
end;
procedure TBizPresupuestoCliente.SetCliente(AValue: IBizCliente);
var
bEnEdicion : Boolean;
begin
FCliente := AValue;
if Assigned(FCliente) then
begin
if not FCliente.DataTable.Active then
FCliente.DataTable.Active := True;
if ID_Cliente <> FCliente.ID then
begin
bEnEdicion := (DataTable.State in dsEditModes);
if not bEnEdicion then
DataTable.Edit;
ID_CLIENTE := FCliente.ID;
ID_FORMA_PAGO := FCliente.ID_FORMA_PAGO;
DataTable.Post; //Muy importante ya que es necesario hacer un post de la cabecera antes de añadir detalles
//si se quita el id de la cabecera y los detalles se desincroniza
if bEnEdicion then
DataTable.Edit;
end;
end;
end;
procedure TBizPresupuestoCliente.SetDetalles(Value: IBizDetallesPresupuestoCliente);
begin
FDetalles := Value;
EnlazarMaestroDetalle(FDetallesLink, FDetalles);
end;
procedure TBizPresupuestoCliente.SetFECHA_PEDIDOValue(const aValue: TDateTime);
begin
if EsFechaVacia(aValue) then
SetFieldNull(DataTable, fld_PedidosClienteFECHA_PEDIDO)
else
inherited;
end;
procedure TBizPresupuestoCliente.SetFECHA_PREVISTA_ENVIOValue(
const aValue: DateTime);
begin
if EsFechaVacia(aValue) then
SetFieldNull(DataTable, fld_PedidosClienteFECHA_PREVISTA_ENVIO)
else
inherited;
end;
procedure TBizPresupuestoCliente.SetID_FORMA_PAGOValue(const aValue: Integer);
begin
if (aValue = 0) then
SetFieldNull(DataTable, fld_PedidosClienteID_FORMA_PAGO)
else
inherited;
end;
{
procedure TBizPresupuestoCliente.SetINCIDENCIASValue(const aValue: IROStrings);
begin
if not Assigned(aValue) then
SetFieldNull(DataTable, fld_PedidosClienteINCIDENCIAS)
else
inherited;
end;
}
function TBizPresupuestoCliente._GetCliente: IBizCliente;
begin
Result := FCliente;
end;
procedure TBizPresupuestoCliente._SetCliente(AValue: IBizCliente);
begin
FCliente := AValue;
end;
initialization
RegisterDataTableRules(BIZ_CLIENT_PEDIDO_CLIENTE, TBizPresupuestoCliente);
RegisterDataTableRules(BIZ_CLIENT_PEDIDO_CLIENTE_ARTICULOS_PENDIENTES_PEDIR_A_PROV, TBizPresupuestoClienteArticulosPendientesPedirAProv);
finalization
end.

View File

@ -0,0 +1,134 @@
unit uBizPresupuestosClienteServer;
interface
uses
schPedidosClienteServer_Intf, uDAInterfaces, uDADelta,
uDADataTable, uDABusinessProcessor;
const
BIZ_SERVER_PEDIDOS_CLIENTE = 'Server.PresupuestosCliente';
REF_PEDIDOS_CLIENTE = 'REF_PEDIDOS_CLIENTE';
type
TBizPresupuestosClienteServer = class(TPedidosClienteBusinessProcessorRules)
protected
{
procedure BeforeProcessChange(Sender: TDABusinessProcessor;
aChangeType: TDAChangeType; aChange: TDADeltaChange;
var ProcessChange: Boolean); override;
}
procedure AfterProcessChange(Sender: TDABusinessProcessor;
aChange: TDADeltaChange; Processed: Boolean;
var CanRemoveFromDelta: Boolean); override;
end;
implementation
uses
Dialogs, SysUtils, Variants, uDataModuleServer, uDAClasses, DARemoteService_Impl,
schPedidosClienteClient_Intf, uBusinessUtils, uReferenciasUtils, uROClasses;
{ TBizPresupuestosClienteServer }
procedure TBizPresupuestosClienteServer.AfterProcessChange(
Sender: TDABusinessProcessor; aChange: TDADeltaChange; Processed: Boolean;
var CanRemoveFromDelta: Boolean);
var
ASchema : TDASchema;
ACurrentConn : IDAConnection;
dsData: IDADataset;
Empresa : Variant;
begin
inherited;
case aChange.ChangeType of
ctInsert, ctUpdate: begin
//Si la referencia no ha sido asignada le asignamos una nosotros
if (VarIsNull(aChange.NewValueByName[fld_PedidosClienteREFERENCIA]))
or (VarToStr(aChange.NewValueByName[fld_PedidosClienteREFERENCIA]) = '') then
begin
ASchema := BusinessProcessor.Schema;
ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor);
try
//Siempre va a estar rellena
Empresa := aChange.NewValueByName[fld_PedidosClienteID_EMPRESA];
dsData := ASchema.NewDataset(ACurrentConn, 'DarReferencia', ['CODIGO', 'ID_EMPRESA'], [REF_PEDIDOS_CLIENTE, Empresa]);
except
RaiseError('No existe la tabla REFERENCIAS');
end;
dsData.Active := True;
if dsData.IsEmpty then
RaiseError('NO HAY REFERENCIA ' + REF_PEDIDOS_CLIENTE + ' DECLARADA EN TABLA REFERENCIAS');
REFERENCIA := dsData.FieldByName(fld_DarReferenciaVALOR).AsString;
try
ASchema.NewCommand(ACurrentConn, 'ModificarReferencia', ['CODIGO', 'VALOR', 'ID_EMPRESA'], [REF_PEDIDOS_CLIENTE, DarReferenciaSiguiente(REFERENCIA), Empresa]);
except
RaiseError('Error al asignar la nueva ' + REFERENCIA + ' referencia en tabla');
end;
end;
end;
end;
end;
{
procedure TBizPresupuestosClienteServer.BeforeProcessChange(
Sender: TDABusinessProcessor; aChangeType: TDAChangeType;
aChange: TDADeltaChange; var ProcessChange: Boolean);
var
ASchema : TDASchema;
ACurrentConn : IDAConnection;
dsData: IDADataset;
Empresa : Variant;
begin
inherited;
case aChangeType of
ctInsert, ctUpdate: begin
//Si la referencia no ha sido asignada le asignamos una nosotros
if (VarIsNull(aChange.NewValueByName[fld_PedidosClienteREFERENCIA]))
or (VarToStr(aChange.NewValueByName[fld_PedidosClienteREFERENCIA]) = '') then
begin
ASchema := BusinessProcessor.Schema;
ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor);
try
//Siempre va a estar rellena
Empresa := aChange.NewValueByName[fld_PedidosClienteID_EMPRESA];
dsData := ASchema.NewDataset(ACurrentConn, 'DarReferencia', ['CODIGO', 'ID_EMPRESA'], [REF_PEDIDOS_CLIENTE, Empresa]);
except
RaiseError('No existe la tabla REFERENCIAS');
end;
dsData.Active := True;
if dsData.IsEmpty then
RaiseError('NO HAY REFERENCIA ' + REF_PEDIDOS_CLIENTE + ' DECLARADA EN TABLA REFERENCIAS');
REFERENCIA := dsData.FieldByName(fld_DarReferenciaVALOR).AsString;
try
ASchema.NewCommand(ACurrentConn, 'ModificarReferencia', ['CODIGO', 'VALOR', 'ID_EMPRESA'], [REF_PEDIDOS_CLIENTE, DarReferenciaSiguiente(REFERENCIA), Empresa]);
except
RaiseError('Error al asignar la nueva ' + REFERENCIA + ' referencia en tabla');
end;
end;
end;
end;
end;
}
initialization
RegisterBusinessProcessorRules(BIZ_SERVER_PEDIDOS_CLIENTE, TBizPresupuestosClienteServer);
end.

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<PersonalityInfo>
<Option>
<Option Name="Personality">Default.Personality</Option>
<Option Name="ProjectType"></Option>
<Option Name="Version">1.0</Option>
<Option Name="GUID">{31F77077-B4B9-443C-9AA9-F13B4EB640B4}</Option>
</Option>
</PersonalityInfo>
<Default.Personality> <Projects>
<Projects Name="Base.bpl">..\..\Base\Base.bdsproj</Projects>
<Projects Name="ControllerBase.bpl">..\..\Base\ControllerBase\ControllerBase.bdsproj</Projects>
<Projects Name="GUIBase.bpl">..\..\Base\GUIBase\GUIBase.bdsproj</Projects>
<Projects Name="Articulos_model.bpl">..\Articulos\Model\Articulos_model.bdsproj</Projects>
<Projects Name="Articulos_data.bpl">..\Articulos\Data\Articulos_data.bdsproj</Projects>
<Projects Name="Articulos_controller.bpl">..\Articulos\Controller\Articulos_controller.bdsproj</Projects>
<Projects Name="Articulos_view.bpl">..\Articulos\Views\Articulos_view.bdsproj</Projects>
<Projects Name="PedidosCliente_model.bpl">Model\PedidosCliente_model.bdsproj</Projects>
<Projects Name="PedidosCliente_data.bpl">Data\PedidosCliente_data.bdsproj</Projects>
<Projects Name="PedidosCliente_controller.bpl">Controller\PedidosCliente_controller.bdsproj</Projects>
<Projects Name="PedidosCliente_view.bpl">Views\PedidosCliente_view.bdsproj</Projects>
<Projects Name="PedidosCliente_plugin.bpl">Plugin\PedidosCliente_plugin.bdsproj</Projects>
<Projects Name="Targets">Base.bpl ControllerBase.bpl GUIBase.bpl Articulos_model.bpl Articulos_data.bpl Articulos_controller.bpl Articulos_view.bpl PedidosCliente_model.bpl PedidosCliente_data.bpl PedidosCliente_controller.bpl PedidosCliente_view.bpl PedidosCliente_plugin.bpl</Projects>
</Projects>
<Dependencies/>
</Default.Personality>
</BorlandProject>

View File

@ -0,0 +1,2 @@
<?xml version="1.0"?>
<TgConfig Version="3" SubLevelDisabled="False" />

View File

@ -0,0 +1,35 @@
package PresupuestosCliente_plugin;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD ON}
requires
PluginSDK_D10R,
PresupuestosCliente_controller,
PresupuestosCliente_view;
contains
uPluginPresupuestosCliente in 'uPluginPresupuestosCliente.pas' {PluginPresupuestosCliente};
end.

View File

@ -0,0 +1,637 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{e7d762a1-3a15-46b2-bd5b-3821d13b8347}</ProjectGuid>
<MainSource>PresupuestosCliente_plugin.dpk</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\PresupuestosCliente_plugin.bpl</DCC_DependencyCheckOutputName>
</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_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject xmlns=""> <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>
<Source>
<Source Name="MainSource">PresupuestosCliente_plugin.dpk</Source>
</Source>
</Delphi.Personality> </BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="PresupuestosCliente_plugin.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="Articulos_controller.dcp" />
<DCCReference Include="Articulos_view.dcp" />
<DCCReference Include="PluginSDK_D10R.dcp" />
<DCCReference Include="PresupuestosCliente_controller.dcp" />
<DCCReference Include="PresupuestosClient_controller.dcp" />
<DCCReference Include="PresupuestosClient_view.dcp" />
<DCCReference Include="PresupuestosClien_controller.dcp" />
<DCCReference Include="PresupuestosClien_view.dcp" />
<DCCReference Include="PresupuestosClie_controller.dcp" />
<DCCReference Include="PresupuestosClie_view.dcp" />
<DCCReference Include="PresupuestosCli_controller.dcp" />
<DCCReference Include="PresupuestosCli_view.dcp" />
<DCCReference Include="PresupuestosCl_controller.dcp" />
<DCCReference Include="PresupuestosCl_view.dcp" />
<DCCReference Include="PresupuestosC_controller.dcp" />
<DCCReference Include="PresupuestosC_view.dcp" />
<DCCReference Include="Presupuestos_controller.dcp" />
<DCCReference Include="Presupuestos_view.dcp" />
<DCCReference Include="Presupuesto_controller.dcp" />
<DCCReference Include="Presupuesto_view.dcp" />
<DCCReference Include="Presupuest_controller.dcp" />
<DCCReference Include="Presupuest_view.dcp" />
<DCCReference Include="Presupues_controller.dcp" />
<DCCReference Include="Presupues_view.dcp" />
<DCCReference Include="Presupue_controller.dcp" />
<DCCReference Include="Presupue_view.dcp" />
<DCCReference Include="Presupust_controller.dcp" />
<DCCReference Include="Presupus_controller.dcp" />
<DCCReference Include="Presupu_controller.dcp" />
<DCCReference Include="Presupu_view.dcp" />
<DCCReference Include="Presup_controller.dcp" />
<DCCReference Include="Presup_view.dcp" />
<DCCReference Include="Presu_controller.dcp" />
<DCCReference Include="Presu_view.dcp" />
<DCCReference Include="Pres_controller.dcp" />
<DCCReference Include="Pres_view.dcp" />
<DCCReference Include="Pre_controller.dcp" />
<DCCReference Include="Pre_view.dcp" />
<DCCReference Include="Pr_controller.dcp" />
<DCCReference Include="Pr_view.dcp" />
<DCCReference Include="P_controller.dcp" />
<DCCReference Include="P_view.dcp" />
<DCCReference Include="uPluginPresupuestosCliente.pas">
<Form>PluginPresupuestosCliente</Form>
</DCCReference>
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
Activate=1
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=1
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=1
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=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
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."
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=English
EurekaLog Last Line -->

View File

@ -0,0 +1,17 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Plugin\uPluginPresupuestosCliente.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Plugin\PresupuestosCliente_plugin.res */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Plugin\PresupuestosCliente_plugin.drf */

View File

@ -0,0 +1,392 @@
object PluginPresupuestosCliente: TPluginPresupuestosCliente
OldCreateOrder = True
DefaultAction = actPresupuestosCliente
Description = 'Ventas'
ModuleMenu = MainMenu
ModuleName = 'Presupuestos de cliente'
SmallImages = SmallImages
LargeImages = LargeImages
Author = 'Rodax Software'
Version = '1.0.0'
Height = 252
Width = 401
object LargeImages: TPngImageList
Height = 24
Width = 24
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D
F80000000970485973000017120000171201679FD25200000A4D694343505068
6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
F73EE77CFEFC2FF784F3FB25D29F330000026B4944415478DA63FCFFFF3F032D
0123B2054BB79CA49A6DD13EE68C582D004A906CD8DFBFFF80F83F980601EBC0
7C86733BA6E1B6C073BF2D8A01DB1D0FE3341C59ED2AB33D0C0BD7ED6798B774
137E0B4871B9CF217B0659251686D93B0E30BC8FFCC6B064E341C21660F301BA
18086CB43EC0E07FD48161C7AD2360FE9BB02F0CCBB71CA6CC07FFFF01C31A88
FF005D0F62FFF9F70F1A07FFC0ECD5DB8E92EE036200C8178F03DE336CD87582
380B60DE26053CF07DCBB079EF29E22CC09772B001909E692A1B18B61E384DBC
05B8820A66394C1EA676B2D27A861D87CE50EE8389058E0C5FD9CF3108BFFA84
D7574FBE3A91E60398A56DE5FC0C117EBF1824187F30FCFAC900C13F18187EC2
68203E7982080BB08199898C0CB1A910363EC3F9251818AEDEC5624184A72938
7762F341C0A2230C2C82F823FBCF7B84E158E320D4CD049C3BB1F900D9F520F0
E93DC4C5300CF2C1993390A0B133DCC770E83C161F04391B31049D70C2690148
332100321C04B05AE0E768C01076CA05AB46501021FB0004FEFE0506CB6F0686
DFBF80BEF8CEC070E306420EAB05DE767AF0720556C680CA1E10BDA75E14C502
90A1BF8186FFF90561AF59C3C1A0A6F183818D058F051ED63A580D075528FB9B
C430E2006430C80720BC651B0783943CC402365606861397B158E062A985D570
107DA85502C582B72F1186832CDAB9878341441A62C1953B4E0CCDABF6326258
606FAA0E36ECDF5F44B10CB3F078A734DC029081EF5E210C0705D5BE831C0C7C
E23F181E3C81188E3599DA18A9824B446C80759F27D88299533970A6A077BFAD
18B67E52C75D16F54E598853B33DEF3E061E4669BC4914643808C02C00000530
36AC648583960000000049454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end>
Left = 232
Top = 16
Bitmap = {}
end
object ModuleActionList: TActionList
Images = LargeImages
Left = 40
Top = 72
object actPresupuestosCliente: TAction
Category = 'Ventas'
Caption = 'Presupuestos de cliente'
ImageIndex = 0
OnExecute = actPresupuestosClienteExecute
end
object actInfPresupuestos: TAction
Category = 'Informes'
Caption = 'Informe presupuestos'
OnExecute = actPresupuestosClienteExecute
end
end
object MainMenu: TMainMenu
Images = LargeImages
Left = 40
Top = 16
object Ventas1: TMenuItem
Caption = 'Ventas'
object PresupuestosdeCliente1: TMenuItem
Tag = 103
Action = actPresupuestosCliente
end
end
end
object SmallImages: TPngImageList
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD25200000A4D694343505068
6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
F73EE77CFEFC2FF784F3FB25D29F33000001764944415478DA63FCFFFF3FC394
C53BFE33900172623D1819610600394469FAF3F71FC3EF3F7F19ACFDF319CEED
98866A80CB7E5B14C57B1C0F836964F1CD56FB18E6AEDACB306FE9264C03F081
5FBFFF826D06E1251B0E623700DD05D8C07283ED0C2BB71CC16D00CCD920F00F
28F7E7CF3FB8CD2167DC1816EB6C6558BBE3187E03602ED9667380C1EB8803DC
E6C80B9E0CF33436316CDA7312BF01309B3FDF3ECCF072712C3E1FB96018B0CB
E11083DB013BB0ECA45D0F18941B6A18D8D9D33174FEFC3993615E620B038601
2067C3FCFCAC4D8D41ABFD3158311CFCF801C4DF1966EF326060DE9E8A302023
CA8DC1E3903D8A2D2017A01800D2FCE11DC480534EA806248739836D85857AF4
252F5403609AC106FC64987D2B08D580B8200794284BB8E68B30E0E34484E60F
1F202E7895826A40949F1D5C33DCA0194610031ED62334C3BCF0AB0CD580502F
6B86D5DB8EA28481D3B554702CCC5E258F350E510C00250C74A0CDFB86C18AF5
38CE44602FCFE00200175B62A961F8A2FD0000000049454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end>
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
Left = 308
Top = 16
Bitmap = {}
end
object ExtraImages: TPngImageList
Height = 28
Width = 28
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF
940000000970485973000017120000171201679FD25200000A4D694343505068
6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
F73EE77CFEFC2FF784F3FB25D29F330000032C4944415478DABDD6DB4FD35018
00F06FE3E21213F54103E203181435CA1D1E24721B6C5C34A213048C3E68A2AF
26FE03266AE21F603081446E8E8830C606386EBBC0C66038702A608891C40762
3451891A2330D6634FBB8D6DED693B49FCB693B6A73DFDF5FB4EBB4E861082FF
19B2507060E21DB381FB022D6C9BFE305FFF3AB39FF9228891C7F0027515D932
2268B42DA19AD293FF7CF5147D2E8A42E0F351E0A328286CBC01F3FD5A3268B0
2EA20BCA53506E2BE49CCC5CEA204291C70F9CB6406BAF15DAF45A6960B481C1
E23435AC6C59A163C4093FAFFE820EBD4D1CECB72CA08B65E9C40CF9FAC74AEC
A09E2802CBFBD960DFDA951FA0354C8A837AF35BA429CF909C199E279F0F31CB
D0B9C37DDD430E71B0CFFC065D2ACFE4CD446AE04C3FD77E835E935302384E83
2A160C2D51B4F149F315FA46A6C541DDD86B54ABCE6240A1BB5228F0D8F61383
6018778983BDA31E443FA83B069F1C33C2A0E5A538D833FA0A5DAEC809824273
19B8A0D06302635A8E1AC064738B83CF47E6517D65EE8E337C7C580F638E7909
E0300D56ED1C7C94AC038BD3230E760FCFA186AA3CC192865E48F375194413AB
BF95E1E033931B3556E70B6688E8075B269733D8B59BDCFD9B1BFEB60EB01158
D26DD6C507BE70A3FAEA3CE6A74AA8A49DB713E148EA17C8CA938EED4D04585A
8900BB8666E939CC874A7B31B1A4759D53208BA5E7221E40BE4BBC8C5B6BDB18
670E3158ABCE85B3CE526286A452E24C36FEF897FE86339C9B634B59946D05BB
272243EDA00B695439707EA64C10C4278826308683033E1D984135CA6CD0B855
C4C1B8A47C1906C2E7A3CBE805F06EB2192F2F6FEFE305CF9564F2BF7228F6EF
83E5EE012288112F8D6D6DB2EB3A9D02D28EAF437C2C01EC344EA3EAA24C2286
B727EE25F0829118CED26054404A2A0DC6018372C00E83135516661031BCED78
709003F261B80D99149094CC668851D74204D8DE3F852ACE6410315CEAE98749
612009C3EBA36605EC3FC4828B1F9470BFC7220B03DBF40EA42A4867DE65A488
B3560541210CF75B2715B027611D3EAEB2181E1306B6F6D95193B645F016BFB5
AF8B019B9B14121E0880EFDE8220C601A5C49D8654B49B4A917C7C2886E32FA1
48B9B918B6DCA70000000049454E44AE426082}
Name = 'PngImage0'
Background = clWindow
end>
Left = 232
Top = 80
Bitmap = {}
end
end

View File

@ -0,0 +1,75 @@
unit uPluginPresupuestosCliente;
interface
uses
uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList,
ImgList, Controls, PngImageList;
type
IMCPresupuestosCliente = interface(IInterface)
['{4C4C1C6A-3CA8-4D81-B420-40F068BFF833}']
end;
TPluginPresupuestosCliente = class(TModuleController, IMCPresupuestosCliente)
actPresupuestosCliente: TAction;
ExtraImages: TPngImageList;
LargeImages: TPngImageList;
MainMenu: TMainMenu;
ModuleActionList: TActionList;
SmallImages: TPngImageList;
Ventas1: TMenuItem;
PresupuestosdeCliente1: TMenuItem;
actInfPresupuestos: TAction;
procedure actPresupuestosClienteExecute(Sender: TObject);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
{$R *.dfm}
uses
Forms, Dialogs, SysUtils,
uPresupuestosClienteController, uBizPresupuestosCliente, uPresupuestosClienteViewRegister;
function GetModule : TModuleController;
begin
Result := TPluginPresupuestosCliente.Create(NIL);
end;
exports
GetModule name GET_MODULE_FUNC;
procedure TPluginPresupuestosCliente.actPresupuestosClienteExecute(Sender: TObject);
var
APresupuestosClienteController : IPresupuestosClienteController;
APresupuestosCliente : IBizPresupuestoCliente;
begin
APresupuestosClienteController := TPresupuestosClienteController.Create;
APresupuestosCliente := (APresupuestosClienteController.BuscarTodos as IBizPresupuestoCliente);
APresupuestosClienteController.VerTodos(APresupuestosCliente);
end;
constructor TPluginPresupuestosCliente.Create(AOwner: TComponent);
begin
inherited;
uPresupuestosClienteViewRegister.RegisterViews;
end;
destructor TPluginPresupuestosCliente.Destroy;
begin
uPresupuestosClienteViewRegister.UnregisterViews;
inherited;
end;
initialization
RegisterModuleClass(TPluginPresupuestosCliente);
finalization
UnRegisterModuleClass(TPluginPresupuestosCliente);
end.

View File

@ -0,0 +1,952 @@
object RptPedidosCliente: TRptPedidosCliente
OldCreateOrder = True
OnCreate = DataModuleCreate
Height = 405
Width = 447
object DADataCabecera: TDADataSource
DataTable = tbl_Cabecera
Left = 264
Top = 72
end
object DADataDetalles: TDADataSource
DataTable = tbl_Detalles
Left = 344
Top = 72
end
object tbl_Cabecera: TDACDSDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <>
MasterMappingMode = mmDataRequest
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
SchemaCall.Params = <>
DataRequestCall.Params = <>
DataUpdateCall.Params = <>
ScriptCall.Params = <>
ReadOnly = False
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: TDACDSDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <>
MasterMappingMode = mmDataRequest
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
SchemaCall.Params = <>
DataRequestCall.Params = <>
DataUpdateCall.Params = <>
ScriptCall.Params = <>
ReadOnly = False
DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch]
MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates]
IndexDefs = <>
Left = 344
Top = 128
end
object DABINAdapter: TDABINAdapter
Left = 48
Top = 80
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 frxChartObject1: TfrxChartObject
Left = 256
Top = 344
end
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
Params = <
item
Name = 'ID'
DataType = datInteger
BlobType = dabtUnknown
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
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = True
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'NOMBRE_COMERCIAL'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'FECHA_PEDIDO'
DataType = datDateTime
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'SITUACION'
DataType = datString
Size = 9
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'IMPORTE_TOTAL'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CALLE'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'TELEFONO'
DataType = datString
Size = 25
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'INCIDENCIAS'
DataType = datMemo
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'INCIDENCIAS_ACTIVAS'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'USUARIO'
DataType = datString
Size = 20
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'IMPORTE_NETO'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'IMPORTE_PORTE'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'DESCUENTO'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'BASE_IMPONIBLE'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'IVA'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'IMPORTE_IVA'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'NOMBRE_EMPRESA'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'TELEFONO_1_EMPRESA'
DataType = datString
Size = 25
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'FAX_EMPRESA'
DataType = datString
Size = 25
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end>
BusinessRulesClient.ScriptLanguage = rslPascalScript
BusinessRulesServer.ScriptLanguage = rslPascalScript
end
item
Params = <
item
Name = 'ID_PEDIDO'
BlobType = dabtUnknown
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
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'ID_PEDIDO'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'POSICION'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 10
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'CANTIDAD'
DataType = datInteger
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'IMPORTE_TOTAL'
DataType = datFloat
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'FAMILIA'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end
item
Name = 'REFERENCIA_PROVEEDOR'
DataType = datString
Size = 255
BlobType = dabtUnknown
DisplayWidth = 0
Alignment = taLeftJustify
InPrimaryKey = False
Calculated = False
Lookup = False
LookupCache = False
end>
BusinessRulesClient.ScriptLanguage = rslPascalScript
BusinessRulesServer.ScriptLanguage = rslPascalScript
end>
Commands = <>
RelationShips = <>
UpdateRules = <>
Left = 48
Top = 16
end
object DataDictionary: TDADataDictionary
Fields = <>
Left = 46
Top = 158
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
end

View File

@ -0,0 +1,118 @@
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;
type
TRptPedidosCliente = class(TDataModule)
DADataCabecera: TDADataSource;
DADataDetalles: TDADataSource;
tbl_Cabecera: TDACDSDataTable;
tbl_Detalles: TDACDSDataTable;
DABINAdapter: TDABINAdapter;
frxRichObject1: TfrxRichObject;
frxBarCodeObject1: TfrxBarCodeObject;
frxOLEObject1: TfrxOLEObject;
frxCrossObject1: TfrxCrossObject;
frxCheckBoxObject1: TfrxCheckBoxObject;
frxGradientObject1: TfrxGradientObject;
frxChartObject1: TfrxChartObject;
frxDBCabecera: TfrxDBDataset;
frxDBDetalles: TfrxDBDataset;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
frxReport: TfrxReport;
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 TRptPedidosCliente.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
frxReport.EngineOptions.NewSilentMode := simReThrow;
end;
function TRptPedidosCliente.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 TRptPedidosCliente.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.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,112 @@
unit srvPresupuestosCliente_Impl;
{----------------------------------------------------------------------------}
{ This unit was automatically generated by the RemObjects SDK after reading }
{ the RODL file associated with this project . }
{ }
{ This is where you are supposed to code the implementation of your objects. }
{----------------------------------------------------------------------------}
interface
uses
{vcl:} Classes, SysUtils,
{RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions,
{Ancestor Implementation:} DataAbstractService_Impl,
{Used RODLs:} DataAbstract4_Intf,
{Generated:} FactuGES_Intf, uDADataTable, uDABINAdapter, uDAClasses,
uDAInterfaces, uDAScriptingProvider,
uDABusinessProcessor, uDADataStreamer, uDABin2DataStreamer;
{
uDACDSDataTable, uDAInterfaces, DB,
frxClass, frxDBSet, frxDCtrl, frxDMPExport, frxGradient,
frxChBox, frxCross, frxRich, frxChart, frxOLE, frxBarcode, uDADataStreamer,
uDABin2DataStreamer;
}
type
{ TsrvPedidosProveedor }
TsrvPresupuestosCliente = class(TDataAbstractService, IsrvPresupuestosCliente)
bpPedidosCliente: TDABusinessProcessor;
bpPedidosCliente_Detalles: TDABusinessProcessor;
Bin2DataStreamer: TDABin2DataStreamer;
schPedidosCliente: TDASchema;
DADataDictionary: TDADataDictionary;
procedure DataAbstractServiceBeforeAcquireConnection(aSender: TObject;
var aConnectionName: string);
procedure DARemoteServiceBeforeGetDatasetData(const Dataset: IDADataset;
const IncludeSchema: Boolean; const MaxRecords: Integer);
procedure DARemoteServiceCreate(Sender: TObject);
private
protected
{ IsrvPedidosProveedor methods }
function GetNextAutoInc(const GeneratorName: String): Integer;
function GenerateReport(const ID: String): Binary;
end;
implementation
{$R *.dfm}
uses
Dialogs,
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils,
schPedidosClienteClient_Intf, uRestriccionesUsuarioUtils,
// uRptPedidosCliente_Server,
uBizPresupuestosClienteServer;
procedure Create_srvPresupuestosCliente(out anInstance : IUnknown);
begin
anInstance := TsrvPresupuestosCliente.Create(NIL);
end;
{ srvPedidosProveedor }
procedure TsrvPresupuestosCliente.DARemoteServiceBeforeGetDatasetData(
const Dataset: IDADataset; const IncludeSchema: Boolean;
const MaxRecords: Integer);
begin
if DataSet.Name = nme_PedidosCliente then
begin
{ Aquí se asegura que el usuario sólo accede a pedidos
de las empresas a las que tiene permiso para acceder
filtrando DataSet por ID_EMPRESA. }
FiltrarAccesoUsuario(Session, Connection, schPedidosCliente, DataSet, fld_PedidosClienteID_EMPRESA);
end;
end;
procedure TsrvPresupuestosCliente.DARemoteServiceCreate(Sender: TObject);
begin
SessionManager := dmServer.SessionManager;
bpPedidosCliente.BusinessRulesID := BIZ_SERVER_PEDIDOS_CLIENTE;
end;
procedure TsrvPresupuestosCliente.DataAbstractServiceBeforeAcquireConnection(aSender: TObject; var aConnectionName: string);
begin
ConnectionName := dmServer.ConnectionName;
end;
function TsrvPresupuestosCliente.GenerateReport(const ID: String): Binary;
//var
// AReportGenerator : TRptPedidosCliente;
begin
// AReportGenerator := TRptPedidosCliente.Create(nil);
// try
// Result := AReportGenerator.GenerarPedido(ID);
// finally
// FreeAndNIL(AReportGenerator);
// end;
end;
function TsrvPresupuestosCliente.GetNextAutoInc(const GeneratorName: String): Integer;
begin
Result := uDatabaseUtils.GetNextAutoInc(GeneratorName)
end;
initialization
TROClassFactory.Create('srvPresupuestosCliente', Create_srvPresupuestosCliente, TsrvPresupuestosCliente_Invoker);
finalization
end.

View File

@ -0,0 +1,496 @@
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<PersonalityInfo>
<Option>
<Option Name="Personality">Delphi.Personality</Option>
<Option Name="ProjectType"></Option>
<Option Name="Version">1.0</Option>
<Option Name="GUID">{BCA6CA66-CADE-480B-AB06-006F1F30AD81}</Option>
</Option>
</PersonalityInfo>
<Delphi.Personality>
<Source>
<Source Name="MainSource">Presupuestos_Test.dpr</Source>
</Source>
<FileVersion>
<FileVersion Name="Version">7.0</FileVersion>
</FileVersion>
<Compiler>
<Compiler Name="A">8</Compiler>
<Compiler Name="B">0</Compiler>
<Compiler Name="C">1</Compiler>
<Compiler Name="D">1</Compiler>
<Compiler Name="E">0</Compiler>
<Compiler Name="F">0</Compiler>
<Compiler Name="G">1</Compiler>
<Compiler Name="H">1</Compiler>
<Compiler Name="I">1</Compiler>
<Compiler Name="J">0</Compiler>
<Compiler Name="K">0</Compiler>
<Compiler Name="L">1</Compiler>
<Compiler Name="M">0</Compiler>
<Compiler Name="N">1</Compiler>
<Compiler Name="O">1</Compiler>
<Compiler Name="P">1</Compiler>
<Compiler Name="Q">0</Compiler>
<Compiler Name="R">0</Compiler>
<Compiler Name="S">0</Compiler>
<Compiler Name="T">0</Compiler>
<Compiler Name="U">0</Compiler>
<Compiler Name="V">1</Compiler>
<Compiler Name="W">0</Compiler>
<Compiler Name="X">1</Compiler>
<Compiler Name="Y">1</Compiler>
<Compiler Name="Z">1</Compiler>
<Compiler Name="ShowHints">True</Compiler>
<Compiler Name="ShowWarnings">True</Compiler>
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
<Compiler Name="NamespacePrefix"></Compiler>
<Compiler Name="GenerateDocumentation">False</Compiler>
<Compiler Name="DefaultNamespace"></Compiler>
<Compiler Name="SymbolDeprecated">True</Compiler>
<Compiler Name="SymbolLibrary">True</Compiler>
<Compiler Name="SymbolPlatform">True</Compiler>
<Compiler Name="SymbolExperimental">True</Compiler>
<Compiler Name="UnitLibrary">True</Compiler>
<Compiler Name="UnitPlatform">True</Compiler>
<Compiler Name="UnitDeprecated">True</Compiler>
<Compiler Name="UnitExperimental">True</Compiler>
<Compiler Name="HResultCompat">True</Compiler>
<Compiler Name="HidingMember">True</Compiler>
<Compiler Name="HiddenVirtual">True</Compiler>
<Compiler Name="Garbage">True</Compiler>
<Compiler Name="BoundsError">True</Compiler>
<Compiler Name="ZeroNilCompat">True</Compiler>
<Compiler Name="StringConstTruncated">True</Compiler>
<Compiler Name="ForLoopVarVarPar">True</Compiler>
<Compiler Name="TypedConstVarPar">True</Compiler>
<Compiler Name="AsgToTypedConst">True</Compiler>
<Compiler Name="CaseLabelRange">True</Compiler>
<Compiler Name="ForVariable">True</Compiler>
<Compiler Name="ConstructingAbstract">True</Compiler>
<Compiler Name="ComparisonFalse">True</Compiler>
<Compiler Name="ComparisonTrue">True</Compiler>
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
<Compiler Name="UnsupportedConstruct">True</Compiler>
<Compiler Name="FileOpen">True</Compiler>
<Compiler Name="FileOpenUnitSrc">True</Compiler>
<Compiler Name="BadGlobalSymbol">True</Compiler>
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
<Compiler Name="InvalidDirective">True</Compiler>
<Compiler Name="PackageNoLink">True</Compiler>
<Compiler Name="PackageThreadVar">True</Compiler>
<Compiler Name="ImplicitImport">True</Compiler>
<Compiler Name="HPPEMITIgnored">True</Compiler>
<Compiler Name="NoRetVal">True</Compiler>
<Compiler Name="UseBeforeDef">True</Compiler>
<Compiler Name="ForLoopVarUndef">True</Compiler>
<Compiler Name="UnitNameMismatch">True</Compiler>
<Compiler Name="NoCFGFileFound">True</Compiler>
<Compiler Name="ImplicitVariants">True</Compiler>
<Compiler Name="UnicodeToLocale">True</Compiler>
<Compiler Name="LocaleToUnicode">True</Compiler>
<Compiler Name="ImagebaseMultiple">True</Compiler>
<Compiler Name="SuspiciousTypecast">True</Compiler>
<Compiler Name="PrivatePropAccessor">True</Compiler>
<Compiler Name="UnsafeType">False</Compiler>
<Compiler Name="UnsafeCode">False</Compiler>
<Compiler Name="UnsafeCast">False</Compiler>
<Compiler Name="OptionTruncated">True</Compiler>
<Compiler Name="WideCharReduced">True</Compiler>
<Compiler Name="DuplicatesIgnored">True</Compiler>
<Compiler Name="UnitInitSeq">True</Compiler>
<Compiler Name="LocalPInvoke">True</Compiler>
<Compiler Name="MessageDirective">True</Compiler>
<Compiler Name="CodePage"></Compiler>
</Compiler>
<Linker>
<Linker Name="MapFile">3</Linker>
<Linker Name="OutputObjs">0</Linker>
<Linker Name="GenerateHpps">False</Linker>
<Linker Name="ConsoleApp">1</Linker>
<Linker Name="DebugInfo">False</Linker>
<Linker Name="RemoteSymbols">False</Linker>
<Linker Name="GenerateDRC">False</Linker>
<Linker Name="MinStackSize">16384</Linker>
<Linker Name="MaxStackSize">1048576</Linker>
<Linker Name="ImageBase">4194304</Linker>
<Linker Name="ExeDescription"></Linker>
</Linker>
<Directories>
<Directories Name="OutputDir">..\..\..\Output\Cliente</Directories>
<Directories Name="UnitOutputDir">.\</Directories>
<Directories Name="PackageDLLOutputDir"></Directories>
<Directories Name="PackageDCPOutputDir">..\..\Lib</Directories>
<Directories Name="SearchPath">..\..\..\Lib;..\..\Lib</Directories>
<Directories Name="Packages">DataAbstract_D10;base;GUIBase;ClassRegistry;Empresas_controller;Presupuestos_model;presupuestos_data;presupuestos_controller;presupuestos_view;presupuestos_plugin</Directories>
<Directories Name="Conditionals">_CONSOLE_TESTRUNNER;EUREKALOG;EUREKALOG_VER5</Directories>
<Directories Name="DebugSourceDirs"></Directories>
<Directories Name="UsePackages">True</Directories>
</Directories>
<Parameters>
<Parameters Name="RunParams"></Parameters>
<Parameters Name="HostApplication"></Parameters>
<Parameters Name="Launcher"></Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="DebugCWD"></Parameters>
<Parameters Name="Debug Symbols Search Path"></Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<Language>
<Language Name="ActiveLang"></Language>
<Language Name="ProjectLang">$00000000</Language>
<Language Name="RootDir"></Language>
</Language>
<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">Presupuestos_Test</VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName">Presupuestos_Test</VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
</VersionInfoKeys>
</Delphi.Personality>
<UnitTesting>
<TestFramework>DUnit / Delphi Win32</TestFramework>
<TestRunner>GUI</TestRunner>
</UnitTesting>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=519
Activate=1
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
Freeze Message=The application seems to be frozen.
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
Show TerminateBtn=1
TerminateBtn Operation=1
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=1
AutoCrashNumber=10
AutoCrashMinutes=1
WebURL=
WebUserID=
WebPassword=
WebPort=0
AttachedFiles=
Count=0
EMail Message Line Count=0
loNoDuplicateErrors=0
loAppendReproduceText=0
loDeleteLogAtVersionChange=0
loAddComputerNameInLogFileName=0
loSaveModulesSection=1
loSaveCPUSection=1
soAppStartDate=1
soAppName=1
soAppVersionNumber=1
soAppParameters=1
soAppCompilationDate=1
soExcDate=1
soExcAddress=1
soExcModule=1
soExcType=1
soExcMessage=1
soActCtlsFormClass=1
soActCtlsFormText=1
soActCtlsControlClass=1
soActCtlsControlText=1
soCmpName=1
soCmpUser=1
soCmpTotalMemory=1
soCmpFreeMemory=1
soCmpTotalDisk=1
soCmpFreeDisk=1
soCmpSysUpTime=1
soCmpProcessor=1
soCmpDisplayMode=1
soOSType=1
soOSBuildN=1
soOSUpdate=1
soOSLanguage=1
soNetIP=1
soNetSubmask=1
soNetGateway=1
soNetDNS1=1
soNetDNS2=1
soNetDHCP=1
sndShowSendDialog=1
sndShowSuccessFailureMsg=0
sndSendEntireLog=0
sndSendXMLLogCopy=0
sndSendScreenshot=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndCompressAllFiles=0
edoShowExceptionDialog=1
edoSendEmailChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
csoShowDLLs=1
csoShowBPLs=1
csoShowBorlandThreads=1
csoShowWindowsThreads=1
csoShowProcedureOffset=0
boActivateCrashDetection=0
boPauseBorlandThreads=0
boDoNotPauseMainThread=0
boPauseWindowsThreads=0
boUseMainModuleOptions=1
boCopyLogInCaseOfError=1
boSaveCompressedCopyInCaseOfError=0
Count mtInformationMsgCaption=1
mtInformationMsgCaption0="Information."
Count mtQuestionMsgCaption=1
mtQuestionMsgCaption0="Question."
Count mtDialog_Caption=1
mtDialog_Caption0="Error."
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_CPUCaption=1
mtDialog_CPUCaption0="CPU"
Count mtDialog_CPUHeader=1
mtDialog_CPUHeader0="CPU Information"
Count mtDialog_CustomDataCaption=1
mtDialog_CustomDataCaption0="Other"
Count mtDialog_CustomDataHeader=1
mtDialog_CustomDataHeader0="Other 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_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 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_ExcHeader=1
mtLog_ExcHeader0="Exception"
Count mtLog_ExcDate=1
mtLog_ExcDate0="Date"
Count mtLog_ExcAddress=1
mtLog_ExcAddress0="Address"
Count mtLog_ExcModule=1
mtLog_ExcModule0="Module"
Count mtLog_ExcType=1
mtLog_ExcType0="Type"
Count mtLog_ExcMessage=1
mtLog_ExcMessage0="Message"
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_CmpUser=1
mtLog_CmpUser0="User"
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_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_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 mtSendDialog_Caption=1
mtSendDialog_Caption0="Send."
Count mtSendDialog_Message=1
mtSendDialog_Message0="Message"
Count mtSendDialog_Resolving=1
mtSendDialog_Resolving0="Resolving DNS..."
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 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 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."
EurekaLog Last Line -->
</BorlandProject>

View File

@ -0,0 +1,40 @@
program Presupuestos_Test;
{
Delphi DUnit Test Project
-------------------------
This project contains the DUnit test framework and the GUI/Console test runners.
Add "CONSOLE_TESTRUNNER" to the conditional defines entry in the project options
to use the console test runner. Otherwise the GUI test runner will be used by
default.
}
{$IFDEF CONSOLE_TESTRUNNER}
{$APPTYPE CONSOLE}
{$ENDIF}
uses
ExceptionLog,
Forms,
TestFramework,
GUITestRunner,
TextTestRunner,
uPresupuestosViewRegister,
uContactosViewRegister,
uPluginPresupuestos_Test in 'uPluginPresupuestos_Test.pas',
uHostMainForm in 'uHostMainForm.pas' {HostMainForm},
uPresupuestosController_Test in 'uPresupuestosController_Test.pas',
uDataModulePresupuestos_Test in 'uDataModulePresupuestos_Test.pas';
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(THostMainForm, HostMainForm);
uPresupuestosViewRegister.RegisterViews;
uContactosViewRegister.RegisterViews;
Application.Run;
Application.Terminate;
end.

View File

@ -0,0 +1,14 @@
/* VER180
Generated by the Borland Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END

View File

@ -0,0 +1,98 @@
unit uDataModulePresupuestos_Test;
{
Delphi DUnit Test Case
----------------------
This unit contains a skeleton test case class generated by the Test Case Wizard.
Modify the generated code to correctly setup and call the methods from the unit
being tested.
}
interface
uses
TestFramework, uROBinMessage, uROServiceComponent, uDAClientDataModule,
uDACDSDataTable, uDADataTable, uBizDetallesPresupuesto, uBizPresupuestos, Classes, DB,
uDAScriptingProvider, SysUtils, uIDataModulePresupuestos, uROWinInetHttpChannel,
uROClient, uDABINAdapter, uRORemoteService, DBClient, uDataModulePresupuestos;
type
// Test methods for class TDataModulePresupuestos
TestTDataModulePresupuestos = class(TTestCase)
strict private
FDataModulePresupuestos: TDataModulePresupuestos;
public
procedure SetUp; override;
procedure TearDown; override;
published
procedure TestDAClientDataModuleCreate;
procedure Test_CloneDataTable;
procedure TestGetDetalles;
procedure TestGetItems;
procedure TestGetNextID;
end;
implementation
procedure TestTDataModulePresupuestos.SetUp;
begin
FDataModulePresupuestos := TDataModulePresupuestos.Create(Nil);
end;
procedure TestTDataModulePresupuestos.TearDown;
begin
FDataModulePresupuestos.Free;
FDataModulePresupuestos := nil;
end;
procedure TestTDataModulePresupuestos.TestDAClientDataModuleCreate;
var
Sender: TObject;
begin
// TODO: Setup method call parameters
FDataModulePresupuestos.DAClientDataModuleCreate(Sender);
// TODO: Validate method results
end;
procedure TestTDataModulePresupuestos.Test_CloneDataTable;
var
ReturnValue: TDACDSDataTable;
ADataTable: TDACDSDataTable;
begin
// TODO: Setup method call parameters
ReturnValue := FDataModulePresupuestos._CloneDataTable(ADataTable);
// TODO: Validate method results
end;
procedure TestTDataModulePresupuestos.TestGetDetalles;
var
ReturnValue: IBizDetallesPresupuesto;
begin
// ReturnValue := FDataModulePresupuestos.GetDetalles;
// TODO: Validate method results
end;
procedure TestTDataModulePresupuestos.TestGetItems;
var
ReturnValue: IBizPresupuesto;
begin
ReturnValue := FDataModulePresupuestos.GetItems;
// TODO: Validate method results
end;
procedure TestTDataModulePresupuestos.TestGetNextID;
var
ReturnValue: Integer;
DataSetName: string;
begin
// TODO: Setup method call parameters
ReturnValue := FDataModulePresupuestos.GetNextID(DataSetName);
// TODO: Validate method results
end;
initialization
// Register any test cases with the test runner
RegisterTest(TestTDataModulePresupuestos.Suite);
end.

View File

@ -0,0 +1,28 @@
object HostMainForm: THostMainForm
Left = 0
Top = 0
Caption = 'HostMainForm'
ClientHeight = 598
ClientWidth = 690
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
OnCloseQuery = FormCloseQuery
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 0
Top = 0
Width = 690
Height = 598
Align = alClient
BevelOuter = bvNone
TabOrder = 0
end
end

View File

@ -0,0 +1,116 @@
unit uHostMainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uGUIBase, ExtCtrls, uCustomEditor, cxControls;
type
THostMainForm = class(TForm, IHostForm)
Panel1: TPanel;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormShow(Sender: TObject);
protected
FContenido : TCustomEditor;
function GetWorkPanel: TWinControl;
procedure OnWorkPanelChanged(AEditor : ICustomEditor);
procedure ShowEmbedded(AEditor : ICustomEditor);
procedure ReleaseEmbedded;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property WorkPanel: TWinControl read GetWorkPanel;
end;
var
HostMainForm: THostMainForm;
implementation
{$R *.dfm}
uses
TestFramework, GUITestRunner, TextTestRunner;
{ TForm1 }
constructor THostMainForm.Create(AOwner: TComponent);
begin
inherited;
FContenido := NIL;
end;
destructor THostMainForm.Destroy;
begin
ReleaseEmbedded;
inherited;
end;
procedure THostMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := True;
if Assigned(FContenido) then
CanClose := FContenido.CloseQuery;
end;
procedure THostMainForm.FormShow(Sender: TObject);
begin
if IsConsole then
TextTestRunner.RunRegisteredTests
else
GUITestRunner.RunRegisteredTestsModeless;
Self.SendToBack;
end;
function THostMainForm.GetWorkPanel: TWinControl;
begin
Result := Panel1;
end;
procedure THostMainForm.OnWorkPanelChanged(AEditor: ICustomEditor);
begin
//
end;
procedure THostMainForm.ReleaseEmbedded;
begin
if Assigned(FContenido) then
FContenido.Release;
Application.ProcessMessages;
end;
procedure THostMainForm.ShowEmbedded(AEditor: ICustomEditor);
begin
if Assigned(FContenido) then
if not FContenido.CloseQuery then
begin
AEditor.Release;
AEditor := NIL;
Exit;
end;
ShowHourglassCursor;
LockWindowUpdate(Handle);
try
FContenido := AEditor.GetInstance as TCustomEditor;
with (FContenido) do
begin
Visible := False;
BorderIcons := [];
BorderStyle := bsNone;
Parent := WorkPanel;
FContenido.Show;
Align := alClient;
FContenido.SetFocus;
end;
finally
Application.ProcessMessages;
LockWindowUpdate(0);
HideHourglassCursor;
end;
OnWorkPanelChanged(FContenido);
end;
end.

View File

@ -0,0 +1,56 @@
unit uPluginPresupuestos_Test;
{
Delphi DUnit Test Case
----------------------
This unit contains a skeleton test case class generated by the Test Case Wizard.
Modify the generated code to correctly setup and call the methods from the unit
being tested.
}
interface
uses
TestFramework, ActnList, uPluginPresupuestos, Classes, ImgList, uInterfaces,
uModuleController, uHostManager, PngImageList, Controls, Menus;
type
// Test methods for class TPluginPresupuestos
TestTPluginPresupuestos = class(TTestCase)
strict private
FPluginPresupuestos: TPluginPresupuestos;
public
procedure SetUp; override;
procedure TearDown; override;
published
procedure TestactPresupuestosExecute;
end;
implementation
procedure TestTPluginPresupuestos.SetUp;
begin
FPluginPresupuestos := TPluginPresupuestos.Create(Nil);
end;
procedure TestTPluginPresupuestos.TearDown;
begin
FPluginPresupuestos.Free;
FPluginPresupuestos := nil;
end;
procedure TestTPluginPresupuestos.TestactPresupuestosExecute;
var
Sender: TObject;
begin
// TODO: Setup method call parameters
// FPluginPresupuestos.actPresupuestosExecute(Sender);
// TODO: Validate method results
end;
initialization
// Register any test cases with the test runner
RegisterTest(TestTPluginPresupuestos.Suite);
end.

View File

@ -0,0 +1,85 @@
unit uPresupuestosController_Test;
{
Delphi DUnit Test Case
----------------------
This unit contains a skeleton test case class generated by the Test Case Wizard.
Modify the generated code to correctly setup and call the methods from the unit
being tested.
}
interface
uses
TestFramework, uBizPresupuestos, Classes, Contnrs, Windows,
Forms, SysUtils, Controls, uBizDetallesPresupuesto, uIDataModulePresupuestos,
uPresupuestosController;
type
// Test methods for class TPresupuestosController
TestTPresupuestosController = class(TTestCase)
strict private
FPresupuestosController : IPresupuestosController;
public
procedure SetUp; override;
procedure TearDown; override;
published
procedure TestBuscarTodos;
procedure TestVerTodos;
procedure hola;
end;
var
FPresupuestosController: IPresupuestosController;
implementation
uses dialogs;
procedure TestTPresupuestosController.hola;
begin
//
end;
procedure TestTPresupuestosController.SetUp;
begin
FPresupuestosController := TPresupuestosController.Create;
end;
procedure TestTPresupuestosController.TearDown;
begin
FPresupuestosController := Nil;
end;
procedure TestTPresupuestosController.TestBuscarTodos;
var
ReturnValue: IBizPresupuesto;
begin
ReturnValue := FPresupuestosController.BuscarTodos;
ReturnValue.DataTable.Open;
showmessage(IntToStr(ReturnValue.DataTable.RecordCount));
end;
procedure TestTPresupuestosController.TestVerTodos;
var
APresupuestos: IBizPresupuesto;
begin
APresupuestos := FPresupuestosController.BuscarTodos;
APresupuestos.DataTable.Open;
// TODO: Setup method call parameters
FPresupuestosController.VerTodos(APresupuestos);
// TODO: Validate method results
end;
initialization
// Register any test cases with the test runner
RegisterTest(TestTPresupuestosController.Suite);
finalization
end.

View File

@ -0,0 +1,47 @@
package PresupuestosCliente_view;
{$R *.res}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION ON}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$IMPLICITBUILD ON}
requires
Base,
GUIBase,
PresupuestosCliente_model,
PresupuestosCliente_controller,
Articulos_view;
contains
uPresupuestosClienteViewRegister in 'uPresupuestosClienteViewRegister.pas',
uEditorPresupuestosCliente in 'uEditorPresupuestosCliente.pas' {fEditorPresupuestosCliente: TfEditorPedidosCliente},
uViewPresupuestosCliente in 'uViewPresupuestosCliente.pas' {frViewPresupuestosCliente: TFrame},
uViewPresupuestoCliente in 'uViewPresupuestoCliente.pas' {frViewPresupuestoCliente: TFrame},
uEditorPresupuestoCliente in 'uEditorPresupuestoCliente.pas' {fEditorPresupuestoCliente: TfEditorPedidoCliente},
uViewDetallesPresupuestoCliente in 'uViewDetallesPresupuestoCliente.pas' {frViewDetallesPresupuestoCliente: TFrame},
uEditorElegirPresupuestosCliente in 'uEditorElegirPresupuestosCliente.pas' {fEditorElegirPresupuestosCliente: TfEditorElegirPedidosCliente},
uViewElegirArticulosPresupuestosCliente in 'uViewElegirArticulosPresupuestosCliente.pas' {frViewElegirArticulosPresupuestosCliente: TFrame},
uEditorElegirArticulosPresupuestoCliente in 'uEditorElegirArticulosPresupuestoCliente.pas' {fEditorElegirArticulosPresupuestoCliente: TfEditorElegirArticulosPedidoCliente},
uViewDireccionEntregaPresupuestoCliente in 'uViewDireccionEntregaPresupuestoCliente.pas' {frViewDireccionEntregaPresupuestoCliente: TFrame},
uEditorPresupuestosClienteReport in 'uEditorPresupuestosClienteReport.pas' {fEditorPresupuestosClientePreview: TfEditorPedidosClientePreview};
end.

View File

@ -0,0 +1,575 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{9e558626-cf49-4cff-a178-e12c186758ac}</ProjectGuid>
<MainSource>PresupuestosCliente_view.dpk</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\..\..\Output\Debug\Cliente\PresupuestosCliente_view.bpl</DCC_DependencyCheckOutputName>
</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_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_DcuOutput>.\</DCC_DcuOutput>
<DCC_ObjOutput>.\</DCC_ObjOutput>
<DCC_HppOutput>.\</DCC_HppOutput>
<DCC_BplOutput>..\..\..\..\Output\Debug\Cliente</DCC_BplOutput>
<DCC_DcpOutput>..\..\Lib</DCC_DcpOutput>
<DCC_UnitSearchPath>..\..\..\Lib;..\..\Lib</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\..\Lib;..\..\Lib</DCC_ResourcePath>
<DCC_ObjPath>..\..\..\Lib;..\..\Lib</DCC_ObjPath>
<DCC_IncludePath>..\..\..\Lib;..\..\Lib</DCC_IncludePath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<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\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>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="PresupuestosCliente_view.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Lib\Articulos_view.dcp" />
<DCCReference Include="..\..\Lib\Base.dcp" />
<DCCReference Include="..\..\Lib\GUIBase.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_controller.dcp" />
<DCCReference Include="..\..\Lib\PresupuestosCliente_model.dcp" />
<DCCReference Include="uEditorElegirArticulosPresupuestoCliente.pas">
<Form>fEditorElegirArticulosPresupuestoCliente</Form>
</DCCReference>
<DCCReference Include="uEditorElegirPresupuestosCliente.pas">
<Form>fEditorElegirPresupuestosCliente</Form>
</DCCReference>
<DCCReference Include="uEditorPresupuestoCliente.pas">
<Form>fEditorPresupuestoCliente</Form>
</DCCReference>
<DCCReference Include="uEditorPresupuestosCliente.pas">
<Form>fEditorPresupuestosCliente</Form>
</DCCReference>
<DCCReference Include="uEditorPresupuestosClienteReport.pas">
<Form>fEditorPresupuestosClientePreview</Form>
</DCCReference>
<DCCReference Include="uPresupuestosClienteViewRegister.pas" />
<DCCReference Include="uViewDetallesPresupuestoCliente.pas">
<Form>frViewDetallesPresupuestoCliente</Form>
</DCCReference>
<DCCReference Include="uViewDireccionEntregaPresupuestoCliente.pas">
<Form>frViewDireccionEntregaPresupuestoCliente</Form>
</DCCReference>
<DCCReference Include="uViewElegirArticulosPresupuestosCliente.pas">
<Form>frViewElegirArticulosPresupuestosCliente</Form>
</DCCReference>
<DCCReference Include="uViewPresupuestoCliente.pas">
<Form>frViewPresupuestoCliente</Form>
</DCCReference>
<DCCReference Include="uViewPresupuestosCliente.pas">
<Form>frViewPresupuestosCliente</Form>
</DCCReference>
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006
Activate=1
Activate Handle=1
Save Log File=1
Foreground Tab=0
Freeze Activate=0
Freeze Timeout=0
SMTP From=eurekalog@email.com
SMTP Host=
SMTP Port=25
SMTP UserID=
SMTP Password=
Append to Log=0
TerminateBtn Operation=1
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=1
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=0
sndUseOnlyActiveWindow=0
sndSendLastHTMLPage=1
sndSendInSeparatedThread=0
sndAddDateInFileName=0
sndAddComputerNameInFileName=0
edoSendErrorReportChecked=1
edoAttachScreenshotChecked=1
edoShowCopyToClipOption=1
edoShowDetailsButton=1
edoShowInDetailedMode=0
edoShowInTopMostMode=0
edoUseEurekaLogLookAndFeel=1
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."
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=English
EurekaLog Last Line -->

View File

@ -0,0 +1,26 @@
/* VER185
Generated by the CodeGear Delphi Pascal Compiler
because -GD or --drc was supplied to the compiler.
This file contains compiler-generated resources that
were bound to the executable.
If this file is empty, then no compiler-generated
resources were bound to the produced executable.
*/
STRINGTABLE
BEGIN
END
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uViewPresupuestosCliente.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uEditorPresupuestosCliente.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uViewDireccionEntregaPresupuestoCliente.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uViewPresupuestoCliente.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uViewDetallesPresupuestoCliente.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uEditorPresupuestoCliente.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uEditorElegirPresupuestosCliente.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uViewElegirArticulosPresupuestosCliente.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uEditorElegirArticulosPresupuestoCliente.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\uEditorPresupuestosClienteReport.dfm */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\PresupuestosCliente_view.res */
/* C:\Codigo tecsitel\Source\Modulos\Presupuestos de cliente\Views\PresupuestosCliente_view.drf */

View File

@ -0,0 +1,7 @@
inherited fEditorElegirArticulosPresupuestoCliente: TfEditorElegirArticulosPresupuestoCliente
Caption = 'fEditorElegirArticulosPresupuestoCliente'
ExplicitWidth = 320
ExplicitHeight = 471
PixelsPerInch = 96
TextHeight = 13
end

View File

@ -0,0 +1,33 @@
unit uEditorElegirArticulosPresupuestoCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorElegirArticulos, Menus, DB, uDADataTable, JvAppStorage,
JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList,
StdActns, ActnList, uCustomView, uViewBase, uViewBarraSeleccion, ComCtrls,
JvExComCtrls, JvStatusBar, TBX, TB2ExtItems, TBXExtItems, TB2Item, TB2Dock,
TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane,
JvgWizardHeader, uIEditorElegirArticulosPresupuestosCliente, uDAInterfaces;
type
TfEditorElegirArticulosPresupuestoCliente = class(TfEditorElegirArticulos, IEditorElegirArticulosPresupuestosCliente)
protected
procedure AsignarVista; override;
end;
implementation
{$R *.dfm}
uses uViewElegirArticulosPresupuestosCliente;
{ TfEditorElegirArticulosPedidoCliente }
procedure TfEditorElegirArticulosPresupuestoCliente.AsignarVista;
begin
ViewGrid := CreateView(TfrViewElegirArticulosPresupuestosCliente) as IViewElegirArticulosPresupuestosCliente;
end;
end.

View File

@ -0,0 +1,207 @@
inherited fEditorElegirPresupuestosCliente: TfEditorElegirPresupuestosCliente
Caption = 'Seleccionar pedido de cliente'
ClientWidth = 656
ExplicitWidth = 664
ExplicitHeight = 240
PixelsPerInch = 96
TextHeight = 13
object JvgWizardHeader1: TJvgWizardHeader [0]
Left = 0
Top = 27
Width = 656
Height = 60
CaptionFont.Charset = DEFAULT_CHARSET
CaptionFont.Color = clWindowText
CaptionFont.Height = -11
CaptionFont.Name = 'Tahoma'
CaptionFont.Style = [fsBold]
CommentFont.Charset = DEFAULT_CHARSET
CommentFont.Color = clWindowText
CommentFont.Height = -11
CommentFont.Name = 'Tahoma'
CommentFont.Style = []
SymbolFont.Charset = DEFAULT_CHARSET
SymbolFont.Color = clHighlightText
SymbolFont.Height = -35
SymbolFont.Name = 'Wingdings'
SymbolFont.Style = [fsBold]
Captions.Strings = (
'Seleccione el pedido de cliente')
Comments.Strings = (
' ')
Gradient.FromColor = clHighlight
Gradient.ToColor = clWindow
Gradient.Active = False
Gradient.Orientation = fgdVertical
BufferedDraw = False
ExplicitLeft = -8
ExplicitTop = 8
end
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 656
Visible = False
ExplicitWidth = 656
inherited Image1: TImage
Left = 629
ExplicitLeft = 629
end
end
inherited TBXDock: TTBXDock
Top = 87
Width = 656
ExplicitTop = 87
ExplicitWidth = 656
inherited tbxMain: TTBXToolbar
ExplicitWidth = 126
inherited TBXItem2: TTBXItem
Visible = False
end
inherited TBXItem5: TTBXItem
Visible = False
end
inherited TBXItem4: TTBXItem
Visible = False
end
inherited TBXSeparatorItem3: TTBXSeparatorItem
Visible = False
end
inherited TBXItem6: TTBXItem
Visible = False
end
inherited TBXItem36: TTBXItem
Action = actAnchoAuto2
end
end
inherited tbxFiltro: TTBXToolbar
Left = 126
Top = 23
DockPos = 104
DockRow = 1
ExplicitLeft = 126
ExplicitTop = 23
inherited TBXItem34: TTBXItem
Action = actQuitarFiltro2
end
end
inherited tbxMenu: TTBXToolbar
ExplicitWidth = 656
end
inherited TBXTMain2: TTBXToolbar
Left = 334
Visible = False
ExplicitLeft = 334
end
end
inherited StatusBar: TJvStatusBar
Width = 656
ExplicitWidth = 656
end
inline frViewBarraSeleccion1: TfrViewBarraSeleccion [4]
Left = 0
Top = 389
Width = 656
Height = 36
Align = alBottom
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 3
ReadOnly = False
ExplicitTop = 389
ExplicitWidth = 656
ExplicitHeight = 36
inherited JvFooter1: TJvFooter
Width = 656
Height = 36
ExplicitWidth = 656
ExplicitHeight = 36
inherited bSeleccionar: TJvFooterBtn
Left = 444
Top = 3
ExplicitLeft = 444
ExplicitTop = 3
end
inherited bCancelar: TJvFooterBtn
Left = 548
Top = 4
ExplicitLeft = 548
ExplicitTop = 4
end
end
inherited BarraSeleccionActionList: TActionList
inherited actSeleccionar: TAction
OnExecute = frViewBarraSeleccion1actSeleccionarExecute
OnUpdate = frViewBarraSeleccion1actSeleccionarUpdate
end
inherited actCancelar: TAction
OnExecute = frViewBarraSeleccion1actCancelarExecute
end
end
end
inherited EditorActionList: TActionList [8]
Left = 112
Top = 192
inherited actPrevisualizar: TAction
Visible = False
end
inherited actImprimir: TAction
Visible = False
end
inherited actDuplicar: TAction
Visible = False
end
inherited actGenerarAlbaranCli: TAction
Visible = False
end
inherited actGenerarPedidoProv: TAction
Visible = False
end
end
inherited JvAppRegistryStorage: TJvAppRegistryStorage [9]
end
inherited dsDataTable: TDADataSource [10]
Left = 8
Top = 192
end
inherited StatusBarImages: TPngImageList [11]
end
inherited GridPopupMenu: TPopupMenu [12]
Left = 80
Top = 192
inherited N4: TMenuItem
Visible = False
end
end
inherited JsGenerarDialog: TJSDialog [13]
end
inherited JsPrevisualizarDialog: TJSDialog [14]
end
inherited JsImprimirDialog: TJSDialog [15]
end
object EditorSeleccionActionList: TActionList
Images = SmallImages
Left = 152
Top = 192
object actBuscar2: TAction
Category = 'Buscar'
Caption = 'Buscar'
ImageIndex = 10
ShortCut = 114
end
object actQuitarFiltro2: TAction
Category = 'Buscar'
Caption = 'Quitar filtro y ver todo'
ImageIndex = 19
OnExecute = actQuitarFiltro2Execute
end
object actAnchoAuto2: TAction
Category = 'Ver'
Caption = 'Ancho autom'#225'tico'
ImageIndex = 21
OnExecute = actAnchoAuto2Execute
end
end
end

View File

@ -0,0 +1,128 @@
unit uEditorElegirPresupuestosCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, uDADataTable, Menus, JvAppStorage, JvAppRegistryStorage,
JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns,
ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid,
uViewPresupuestosCliente, ComCtrls, TB2ExtItems, TBXExtItems, TBX,
TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent,
JvNavigationPane, uViewBarraSeleccion, JvgWizardHeader, StdCtrls,
uEditorPresupuestosCliente, uBizPresupuestosCliente, uIEditorElegirPresupuestosCliente,
JvExComCtrls, JvStatusBar, JSDialog, uDAInterfaces;
type
TfEditorElegirPresupuestosCliente = class(TfEditorPresupuestosCliente, IEditorElegirPresupuestosCliente)
frViewBarraSeleccion1: TfrViewBarraSeleccion;
JvgWizardHeader1: TJvgWizardHeader;
EditorSeleccionActionList: TActionList;
actBuscar2: TAction;
actQuitarFiltro2: TAction;
actAnchoAuto2: TAction;
procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject);
procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject);
procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure actAnchoAuto2Execute(Sender: TObject);
procedure actQuitarFiltro2Execute(Sender: TObject);
protected
procedure SetMultiSelect (AValue : Boolean);
function GetMultiSelect : Boolean;
function GetPresupuestosClienteSeleccionados: IBizPresupuestoCliente;
procedure SetViewGrid(const Value: IViewGridBase); override;
procedure SetMensaje (const AValue: String);
function GetMensaje: String;
public
property Mensaje : String read GetMensaje write SetMensaje;
property PresupuestosClienteSeleccionados: IBizPresupuestoCliente read GetPresupuestosClienteSeleccionados;
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
end;
implementation
uses
uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils,
uGridUtils, uEditorBase, uPresupuestosClienteController,
cxGridLevel;
{$R *.dfm}
{ TfEditorElegirPresupuestosCliente }
procedure TfEditorElegirPresupuestosCliente.actAnchoAuto2Execute(Sender: TObject);
begin
inherited;
actAnchoAuto.Execute;
end;
procedure TfEditorElegirPresupuestosCliente.actQuitarFiltro2Execute(Sender: TObject);
begin
inherited;
actQuitarFiltro.Execute;
end;
procedure TfEditorElegirPresupuestosCliente.FormShow(Sender: TObject);
begin
inherited;
EditorActionList.State := asSuspended;
end;
procedure TfEditorElegirPresupuestosCliente.frViewBarraSeleccion1actCancelarExecute(
Sender: TObject);
begin
inherited;
Close;
end;
procedure TfEditorElegirPresupuestosCliente.frViewBarraSeleccion1actSeleccionarExecute(
Sender: TObject);
begin
inherited;
ModalResult := mrOk;
end;
procedure TfEditorElegirPresupuestosCliente.frViewBarraSeleccion1actSeleccionarUpdate(
Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0)
end;
function TfEditorElegirPresupuestosCliente.GetPresupuestosClienteSeleccionados: IBizPresupuestoCliente;
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Pedidos as ISeleccionable).SelectedRecords);
// En SelectedRecords tengo los ID de las filas seleccionadas del grid
Result := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Pedidos) as IBizPresupuestoCliente;
end;
function TfEditorElegirPresupuestosCliente.GetMensaje: String;
begin
Result := JvgWizardHeader1.Comments.Text;
end;
function TfEditorElegirPresupuestosCliente.GetMultiSelect: Boolean;
begin
Result := ViewGrid.MultiSelect;
end;
procedure TfEditorElegirPresupuestosCliente.SetMensaje(const AValue: String);
begin
JvgWizardHeader1.Comments.Text := AValue;
end;
procedure TfEditorElegirPresupuestosCliente.SetMultiSelect(AValue: Boolean);
begin
ViewGrid.MultiSelect := AValue;
end;
procedure TfEditorElegirPresupuestosCliente.SetViewGrid(const Value: IViewGridBase);
begin
inherited;
//Para que no salgan las pestañas de filtrado
ViewGrid._Grid.RootLevelOptions.DetailTabsPosition := dtpNone;
ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute;
end;
end.

View File

@ -0,0 +1,483 @@
inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente
Left = 332
Top = 147
Caption = 'Nuevo pedido de cliente'
ClientHeight = 608
ClientWidth = 632
OnClose = CustomEditorClose
ExplicitWidth = 640
ExplicitHeight = 635
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 632
Caption = 'Nuevo pedido de cliente'
ExplicitWidth = 632
inherited Image1: TImage
Left = 605
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
0000180806000000E0773DF80000000970485973000017120000171201679FD2
5200000A4D6943435050686F746F73686F70204943432070726F66696C650000
78DA9D53775893F7163EDFF7650F5642D8F0B1976C81002223AC08C81059A210
92006184101240C585880A561415119C4855C482D50A489D88E2A028B867418A
885A8B555C38EE1FDCA7B57D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F80111226
91E6A26A003952853C3AD81F8F4F48C4C9BD80021548E0042010E6CBC26705C5
0000F00379787E74B03FFC01AF6F00020070D52E2412C7E1FF83BA5026570020
9100E02212E70B01905200C82E54C81400C81800B053B3640A009400006C797C
422200AA0D00ECF4493E0500D8A993DC1700D8A21CA908008D01009928472402
40BB00605581522C02C0C200A0AC40222E04C0AE018059B632470280BD050076
8E58900F4060008099422CCC0020380200431E13CD03204C03A030D2BFE0A95F
7085B8480100C0CB95CD974BD23314B895D01A77F2F0E0E221E2C26CB1426117
29106609E4229C979B231348E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E6
66E76CEFF4C5A2FE6BF06F223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D603
70C701B075BF6BA95B00DA560068DFF95D33DB09A05A0AD07AF98B7938FC401E
9EA150C83C1D1C0A0B0BED2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB
7AF000719A4099ADC0A383FD71616E76AE528EE7CB0442316EF7E723FEC7857F
FD8E29D1E234B15C2C158AF15889B850224DC779B952914421C995E212E97F32
F11F96FD0993770D00AC864FC04EB607B5CB6CC07EEE01028B0E58D27600407E
F32D8C1A0B91001067343279F7000093BFF98F402B0100CD97A4E30000BCE818
5CA894174CC608000044A0812AB041070CC114ACC00E9CC11DBCC01702610644
400C24C03C104206E4801C0AA11896411954C03AD804B5B0031AA0119AE110B4
C131380DE7E0125C81EB70170660189EC218BC86090441C8081361213A881162
8ED822CE0817998E04226148349280A420E988145122C5C872A402A9426A915D
4823F22D7214398D5C40FA90DBC820328AFC8ABC47319481B25103D4027540B9
A81F1A8AC6A073D174340F5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D
8A8E6380D1310E668CD9615C8C87456089581A26C71663E55835568F35631D58
3776151BC09E61EF0824028B8013EC085E8410C26C82909047584C5843A825EC
23B412BA085709838431C2272293A84FB4257A12F9C478623AB1905846AC26EE
211E219E255E270E135F9348240EC992E44E0A21259032490B496B48DB482DA4
53A43ED210699C4C26EB906DC9DEE408B280AC209791B7900F904F92FBC9C3E4
B7143AC588E24C09A22452A494124A35653FE504A59F324299A0AA51CDA99ED4
08AA883A9F5A496DA076502F5387A91334759A25CD9B1643CBA42DA3D5D09A69
6769F7682FE974BA09DD831E4597D097D26BE807E9E7E983F4770C0D860D83C7
486228196B197B19A718B7192F994CA605D39799C85430D7321B9967980F986F
55582AF62A7C1591CA12953A9556957E95E7AA545573553FD579AA0B54AB550F
AB5E567DA64655B350E3A909D416ABD5A91D55BBA936AECE5277528F50CF515F
A3BE5FFD82FA630DB2868546A08648A35463B7C6198D2116C63265F15842D672
5603EB2C6B984D625BB2F9EC4C7605FB1B762F7B4C534373AA66AC6691669DE6
71CD010EC6B1E0F039D99C4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37
DA7ADABEDA62ED72ED16EDEBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51
BA85BADB75CFEA3ED363EB79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EF
D11F373034083690196C313863F0CC9063E86B9869B8D1F084E1A811CB68BA91
C468A3D149A327B826EE8767E33578173E66AC6F1C62AC34DE65DC6B3C616269
32DBA4C4A4C5E4BE29CD946B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D5
9C6B9E61BED9BCDBFC8D85A5459CC54A8B368BC796DA967CCB05964D96F7AC98
563E567956F556D7AC49D65CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9B
ADC4769B6DDF14E2148F29D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625
F66DF6CF1DCC1C121DD63B743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E9
57671B67A1739DF33517A64B90CB1297769717536DA78AA76E9F7ACB95E51AEE
BAD2B5D3F5A39BBB9BDCADD96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4
F0F758E271CCE39DA79BA7C2F390E72F5E765E595EFBBD1E4FB39C269ED6306D
C8DBC45BE0BDCB7B603A3E3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE
237ED67E997E07FC9EFB3BFACBFD8FF8BFE179F216F14E056001C101E501BD81
1A81B3036B031F049904A50735058D05BB062F0C3E15420C090D591F72936FC0
17F21BF96333DC672C9AD115CA089D155A1BFA30CC264C1ED6118E86CF08DF10
7E6FA6F94CE9CCB60888E0476C88B81F69199917F97D14292A32AA2EEA51B453
747174F72CD6ACE459FB67BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC
9BB880B8AAB8817887F845F1971274132409ED89E4C4D8C43D89E37302E76C9A
339CE49A54967463AEE5DCA2B917E6E9CECB9E773C593559907C3885981297B2
3FE5832042502F184FE5A76E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92
E69D5695F638DD3B7D43FA68864F4675C633094F522B79911992B923F34D5644
D6DEACCFD971D92D39949C949CA3520D6996B42BD730B728B74F662B2B930DE4
79E66DCA1B9387CAF7E423F973F3DB156C854CD1A3B452AE500E164C2FA82B78
5B185B78B848BD485AD433DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859
F1E022BF45BB16238B5317772E315D52BA647869F0D27DCB68CBB296FD50E258
5255F26A79DCF28E5283D2A5A5432B82573495A994C9CB6EAEF45AB963156195
6455EF6A97D55B567F2A17955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796D
DADADE4AB7CAEDEB48EBA4EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE5
1B5F6D4ADE74A17A6AF58ECDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A
9D7F5DCB56FDADABB7BED926DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78
576BBD457DF56ED2EE82DD8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F6
45EFEB6A746F6CDCAFBFBFB2096D52368D1E483A70E59B806FDA9BED9A77B570
5A2A0EC241E5C127DFA67C7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD2
3ABF75AC2DA36DA03DA1BDEFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F
579EA09D283DF1F9E48293E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515D
BD6743CF9E3F1774EE4CB75FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3D
AE3D477E70FDE148AF5B6FEB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D5
73D7F8D72E5D9F79BDEFC6EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC
5D7A8F78AFFCBEDAFDEA07FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E
09879EFE94FFD387E1D247CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7
B2A713CFCA7E56FF79EB73ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F3
72EFABA9AF3AC723C71FBCCE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC
40FE50F3D1FA63C7A7D04FF73EE77CFEFC2FF784F3FB25D29F33000000046741
4D410000B18E7CFB51930000026B4944415478DA63FCFFFF3F032D0123B2054B
B79CA49A6DD13EE68C582D004A906CD8DFBFFF80F83F980601EBC07C86733BA6
E1B6C073BF2D8A01DB1D0FE3341C59ED2AB33D0C0BD7ED6798B774137E0B4871
B9CF217B0659251686D93B0E30BC8FFCC6B064E341C21660F301BA18086CB43E
C0E07FD48161C7AD2360FE9BB02F0CCBB71CA6CC07FFFF01C31A88FF005D0F62
FFF9F70F1A07FFC0ECD5DB8E92EE036200C8178F03DE336CD87582380B60DE26
053CF07DCBB079EF29E22CC09772B001909E692A1B18B61E384DBC05B8820A66
394C1EA676B2D27A861D87CE50EE8389058E0C5FD9CF3108BFFA84D7574FBE3A
91E60398A56DE5FC0C117EBF1824187F30FCFAC900C13F18187EC268203E7982
080BB08199898C0CB1A910363EC3F9251818AEDEC5624184A729387762F341C0
A2230C2C82F823FBCF7B84E158E320D4CD049C3BB1F900D9F520F0E93DC4C530
0CF2C1993390A0B133DCC770E83C161F04391B31049D70C2690148332100321C
04B05AE0E768C01076CA05AB46501021FB0004FEFE0506CB6F0686DFBF80BEF8
CEC070E306420EAB05DE767AF0720556C680CA1E10BDA75E14C50290A1BF8186
FFF90561AF59C3C1A0A6F183818D058F051ED63A580D075528FB9BC430E20064
30C80720BC651B0783943CC402365606861397B158E062A985D570107DA85502
C582B72F1186832CDAB9878341441A62C1953B4E0CCDABF6326258606FAA0E36
ECDF5F44B10CB3F078A734DC029081EF5E210C0705D5BE831C0C7CE23F181E3C
81188E3599DA18A9824B446C80759F27D88299533970A6A077BFAD18B67E52C7
5D16F54E598853B33DEF3E061E4669BC4914643808C02C0000053036AC648583
960000000049454E44AE426082}
ExplicitLeft = 735
end
end
inherited TBXDock: TTBXDock
Width = 632
ExplicitWidth = 632
inherited tbxMain: TTBXToolbar
ExplicitWidth = 488
inherited TBXItem2: TTBXItem
Visible = False
end
inherited TBXSeparatorItem1: TTBXSeparatorItem
Visible = False
end
inherited TBXItem5: TTBXItem
Visible = False
end
end
inherited tbxMenu: TTBXToolbar
ExplicitWidth = 632
end
end
inherited pgPaginas: TPageControl
Width = 632
Height = 442
TabOrder = 1
OnChanging = pgPaginasChanging
ExplicitWidth = 632
ExplicitHeight = 442
inherited pagGeneral: TTabSheet
ExplicitLeft = 4
ExplicitTop = 24
ExplicitWidth = 624
ExplicitHeight = 414
end
object pagContenido: TTabSheet
Caption = 'Contenido'
ImageIndex = 1
inline frViewDetallesPresupuestoCliente1: TfrViewDetallesPresupuestoCliente
Left = 0
Top = 0
Width = 624
Height = 414
Align = alClient
BiDiMode = bdLeftToRight
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentBiDiMode = False
ParentFont = False
TabOrder = 0
ReadOnly = False
ExplicitWidth = 624
ExplicitHeight = 414
inherited ToolBar1: TToolBar
Width = 624
ExplicitWidth = 624
end
inherited cxGrid: TcxGrid
Width = 624
Height = 342
ExplicitWidth = 624
ExplicitHeight = 342
end
inherited TBXDock1: TTBXDock
Width = 624
ExplicitWidth = 624
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 548
end
end
end
end
object pagInicidencias: TTabSheet
Caption = 'Incidencias'
ImageIndex = 2
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
inline frViewIncidenciasCli: TfrViewIncidencias
Left = 0
Top = 0
Width = 624
Height = 414
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 0
ReadOnly = False
ExplicitWidth = 624
ExplicitHeight = 414
inherited pnlSup: TPanel
Width = 624
ExplicitWidth = 624
inherited eIncidenciaActiva: TcxDBCheckBox
ExplicitHeight = 21
end
end
inherited GroupBox1: TGroupBox
Width = 624
Height = 386
ExplicitWidth = 624
ExplicitHeight = 386
inherited eIncidencias: TcxDBMemo
ExplicitWidth = 601
ExplicitHeight = 353
Height = 353
Width = 601
end
end
end
end
end
inherited StatusBar: TJvStatusBar
Top = 589
Width = 632
Panels = <
item
Width = 200
end>
ExplicitTop = 589
ExplicitWidth = 632
end
inline frViewTotales1: TfrViewTotales [4]
Left = 0
Top = 518
Width = 632
Height = 71
Align = alBottom
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 4
ReadOnly = False
ExplicitTop = 518
ExplicitWidth = 632
ExplicitHeight = 71
inherited dxLayoutControl1: TdxLayoutControl
Width = 632
Height = 171
LookAndFeel = dxLayoutOfficeLookAndFeel1
ExplicitWidth = 632
ExplicitHeight = 171
inherited Bevel1: TBevel
Left = 93
Top = 92
Width = 73
ExplicitLeft = 93
ExplicitTop = 92
ExplicitWidth = 73
end
inherited Bevel3: TBevel
Left = 313
Top = 11
Width = 8
Height = 54
ExplicitLeft = 313
ExplicitTop = 11
ExplicitWidth = 8
ExplicitHeight = 54
end
inherited Bevel4: TBevel
Left = 430
Top = 92
Width = 21
ExplicitLeft = 430
ExplicitTop = 92
ExplicitWidth = 21
end
inherited ImporteDto: TcxDBCurrencyEdit
Left = 164
Top = 112
Style.IsFontAssigned = True
ExplicitLeft = 164
ExplicitTop = 112
ExplicitWidth = 93
Width = 93
end
inherited ImporteIVA: TcxDBCurrencyEdit
Left = 501
Top = 38
Style.IsFontAssigned = True
ExplicitLeft = 501
ExplicitTop = 38
ExplicitWidth = 137
Width = 137
end
inherited ImporteTotal: TcxDBCurrencyEdit
Left = 431
Top = 112
Style.IsFontAssigned = True
ExplicitLeft = 431
ExplicitTop = 112
ExplicitWidth = 137
Width = 137
end
inherited edtDescuento: TcxDBSpinEdit
Left = 93
Top = 112
Style.IsFontAssigned = True
ExplicitLeft = 93
ExplicitTop = 112
end
inherited edtIVA: TcxDBSpinEdit
Left = 430
Top = 38
Style.IsFontAssigned = True
ExplicitLeft = 430
ExplicitTop = 38
end
inherited ImporteBase: TcxDBCurrencyEdit
Left = 430
Top = 11
Style.IsFontAssigned = True
ExplicitLeft = 430
ExplicitTop = 11
ExplicitWidth = 92
Width = 92
end
inherited edtRE: TcxDBSpinEdit
Left = 430
Top = 65
DataBinding.DataField = ''
DataBinding.DataSource = nil
Style.IsFontAssigned = True
ExplicitLeft = 430
ExplicitTop = 65
end
inherited ImporteRE: TcxDBCurrencyEdit
Left = 501
Top = 65
DataBinding.DataField = ''
DataBinding.DataSource = nil
Style.IsFontAssigned = True
ExplicitLeft = 501
ExplicitTop = 65
ExplicitWidth = 56
Width = 56
end
inherited eImporteNeto: TcxDBCurrencyEdit
Left = 93
Top = 11
Style.IsFontAssigned = True
ExplicitLeft = 93
ExplicitTop = 11
ExplicitWidth = 147
Width = 147
end
inherited ePorte: TcxDBCurrencyEdit
Left = 93
Top = 139
Properties.OnValidate = frViewTotales1ePortePropertiesValidate
Style.IsFontAssigned = True
ExplicitLeft = 93
ExplicitTop = 139
ExplicitWidth = 147
Width = 147
end
inherited eIVA: TcxDBLookupComboBox
Left = 93
Top = 38
DataBinding.DataField = ''
DataBinding.DataSource = nil
ExplicitLeft = 93
ExplicitTop = 38
ExplicitWidth = 81
Width = 81
end
inherited bTiposIVA: TButton
Left = 165
Top = 38
ExplicitLeft = 165
ExplicitTop = 38
end
inherited cbRecargoEquivalencia: TcxDBCheckBox
Left = 93
Top = 65
DataBinding.DataField = ''
ExplicitLeft = 93
ExplicitTop = 65
ExplicitWidth = 219
Width = 219
end
inherited dxLayoutControl1Group_Root: TdxLayoutGroup
inherited dxLayoutControl1Group1: TdxLayoutGroup
ShowCaption = False
ShowBorder = False
inherited dxLayoutControl1Group2: TdxLayoutGroup
inherited dxLayoutControl1Group6: TdxLayoutGroup
Visible = False
end
inherited dxLayoutControl1Item16: TdxLayoutItem
Visible = False
end
inherited dxLayoutControl1Item10: TdxLayoutItem
Visible = False
end
inherited dxLayoutControl1Group7: TdxLayoutGroup
Visible = False
end
end
inherited dxLayoutControl1Group5: TdxLayoutGroup
inherited dxLayoutControl1Group3: TdxLayoutGroup
inherited dxLayoutControl1Item12: TdxLayoutItem
Visible = False
end
inherited dxLayoutControl1Group9: TdxLayoutGroup
Visible = False
end
inherited dxLayoutControl1Group8: TdxLayoutGroup
Visible = False
end
inherited dxLayoutControl1Item14: TdxLayoutItem
Visible = False
end
end
end
end
end
end
end
inherited EditorActionList: TActionList [5]
end
inherited SmallImages: TPngImageList [6]
end
inherited LargeImages: TPngImageList [7]
end
inherited JvFormStorage: TJvFormStorage [8]
end
inherited dsDataTable: TDADataSource [10]
end
inherited StatusBarImages: TPngImageList
Left = 16
Top = 408
end
object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList
Left = 336
Top = 160
object dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel
GroupOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET
GroupOptions.CaptionOptions.Font.Color = clWindowText
GroupOptions.CaptionOptions.Font.Height = -11
GroupOptions.CaptionOptions.Font.Name = 'Tahoma'
GroupOptions.CaptionOptions.Font.Style = [fsBold]
GroupOptions.CaptionOptions.TextColor = clHighlight
GroupOptions.CaptionOptions.UseDefaultFont = False
end
end
end

View File

@ -0,0 +1,341 @@
unit uEditorPresupuestoCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
uEditorDBItem, DB, uDADataTable, JvAppStorage,
JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList,
PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock,
TB2Toolbar, ExtCtrls, JvExControls, JvNavigationPane,
uCustomView, uViewBase, JvComponentBase,
StdCtrls, pngimage, AppEvnts, cxControls, cxContainer, cxEdit, cxTextEdit, cxMemo, cxDBEdit,
uViewIncidencias,
uPresupuestosClienteController,
uViewDetallesBase,
dxLayoutLookAndFeels, JvExComCtrls, JvStatusBar, uViewTotales,
uIEditorPresupuestoCliente, uBizPresupuestosCliente, uViewPresupuestoCliente,
uViewDetallesDTO, uViewDetallesArticulos, uViewDetallesPresupuestoCliente,
uDAInterfaces;
type
TfEditorPresupuestoCliente = class(TfEditorDBItem, IEditorPresupuestoCliente)
pagContenido: TTabSheet;
pagInicidencias: TTabSheet;
frViewIncidenciasCli: TfrViewIncidencias;
dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList;
dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel;
frViewTotales1: TfrViewTotales;
frViewDetallesPresupuestoCliente1: TfrViewDetallesPresupuestoCliente;
procedure FormShow(Sender: TObject); override;
procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction);
procedure pgPaginasChanging(Sender: TObject; var AllowChange: Boolean);
procedure frViewTotales1ePortePropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
private
procedure RecalcularPortePorUnidad;
protected
FPedido: IBizPresupuestoCliente;
FViewPedido: IViewPresupuestoCliente;
FController : IPresupuestosClienteController;
function GetController : IPresupuestosClienteController;
procedure SetController (const Value : IPresupuestosClienteController); virtual;
function GetPedido: IBizPresupuestoCliente;
procedure SetPedido(const Value: IBizPresupuestoCliente); virtual;
function GetViewPedido: IViewPresupuestoCliente;
procedure SetViewPedido(const Value: IViewPresupuestoCliente);
procedure PrevisualizarInterno; override;
procedure ImprimirInterno; override;
procedure GuardarInterno; override;
procedure EliminarInterno; override;
property ViewPedido: IViewPresupuestoCliente read GetViewPedido write SetViewPedido;
procedure OnClienteChanged(Sender : TObject);
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; virtual;
procedure PonerTitulos(const ATitulo: string = ''); override;
public
property Controller : IPresupuestosClienteController read GetController write SetController;
property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uViewDatosYSeleccionCliente, uDataModuleUsuarios, uClientesController,
uBizDireccionesContacto, uDialogUtils;
{$R *.dfm}
{ TfEditorPresupuestoCliente }
{
**************************** TfEditorPresupuestoCliente ****************************
}
procedure TfEditorPresupuestoCliente.AsignarVista;
var
AViewPresupuestoCliente: TfrViewPresupuestoCliente;
begin
AViewPresupuestoCliente := TfrViewPresupuestoCliente.create(Self);
with AViewPresupuestoCliente do
begin
Parent := pagGeneral;
Align := alClient;
dxLayoutControl1.LookAndFeel := dxLayoutOfficeLookAndFeel1;
end;
ViewPedido := AViewPresupuestoCliente;
end;
constructor TfEditorPresupuestoCliente.Create(AOwner: TComponent);
begin
inherited;
pgPaginas.ActivePageIndex := 0;
AsignarVista;
end;
procedure TfEditorPresupuestoCliente.CustomEditorClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
FViewPedido := NIL;
FPedido := NIL;
end;
destructor TfEditorPresupuestoCliente.Destroy;
begin
// Utilizar mejor OnClose;
inherited;
end;
procedure TfEditorPresupuestoCliente.EliminarInterno;
begin
if (ShowConfirmMessage('¿Desea borrar este pedido de cliente?', '') = IDYES) then
begin
FController.Eliminar(FPedido);
inherited
end
end;
procedure TfEditorPresupuestoCliente.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(FViewPedido) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(Pedido) then
raise Exception.Create('No hay ningún pedido asignado');
Pedido.DataTable.Active := True;
pgPaginas.ActivePage := pagGeneral;
end;
procedure TfEditorPresupuestoCliente.frViewTotales1ePortePropertiesValidate(
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
var Error: Boolean);
begin
inherited;
if not VarIsNull(DisplayValue) then
FPedido.IMPORTE_PORTE := DisplayValue
else
FPedido.IMPORTE_PORTE := 0;
RecalcularPortePorUnidad;
end;
function TfEditorPresupuestoCliente.GetController: IPresupuestosClienteController;
begin
Result := FController;
end;
function TfEditorPresupuestoCliente.GetPedido: IBizPresupuestoCliente;
begin
Result := FPedido;
end;
function TfEditorPresupuestoCliente.GetViewPedido: IViewPresupuestoCliente;
begin
Result := FViewPedido;
end;
procedure TfEditorPresupuestoCliente.GuardarInterno;
var
bEsNuevo : Boolean;
begin
inherited;
bEsNuevo := False;
ShowHourglassCursor;
// frViewDetallesPresupuestoCliente1.SaveGridStatus;
frViewDetallesPresupuestoCliente1.BeginUpdate;
try
bEsNuevo := FPedido.EsNuevo;
FController.Guardar(FPedido);
finally
frViewDetallesPresupuestoCliente1.EndUpdate;
// frViewDetallesPresupuestoCliente1.RestoreGridStatus;
HideHourglassCursor;
end;
if bEsNuevo then
ShowInfoMessage('El pedido se ha dado de alta con el código ' + FPedido.REFERENCIA);
Modified := False;
end;
procedure TfEditorPresupuestoCliente.ImprimirInterno;
begin
inherited;
if not Modified then
FController.Print(FPedido);
end;
procedure TfEditorPresupuestoCliente.OnClienteChanged(Sender: TObject);
var
AClientesController : IClientesController;
ADireccion : IBizDireccionesContacto;
begin
if Assigned(FPedido) then
begin
FPedido.Cliente := ViewPedido.ViewClientePedido.Cliente;
AClientesController := TClientesController.Create;
try
if not AClientesController.TieneDatosBancarios(FPedido.Cliente) then
MessageBox(0, 'Este cliente no tiene datos bancarios en su ficha', 'Atención', MB_ICONWARNING or MB_OK);
case FPedido.Cliente.Direcciones.RecordCount of
0 : begin
FController.QuitarDireccionEnvio(FPedido);
MessageBox(0, '¡Atención! Este cliente no tiene ' + #10#13 + 'ninguna dirección de envío en su ficha', 'Atención', MB_ICONWARNING or MB_OK);
FPedido.Edit;
FPedido.IMPORTE_PORTE := 0;
end;
1 : begin
FController.CopiarDireccionEnvio(FPedido.Cliente.Direcciones, FPedido);
FPedido.Edit;
FPedido.IMPORTE_PORTE := FPedido.Cliente.Direcciones.PORTE;
end
else begin
ADireccion := AClientesController.ElegirDireccionEntrega(FPedido.Cliente.Direcciones, '');
try
if Assigned(ADireccion) then
begin
FController.CopiarDireccionEnvio(ADireccion, FPedido);
FPedido.Edit;
FPedido.IMPORTE_PORTE := ADireccion.PORTE;
end;
finally
ADireccion := NIL;
end;
end;
end;
// Si el pedido tiene detalles hay que mirar si los descuentos y otros campos
// para los artículos hay que cambiarlos.
if (FPedido.Detalles.RecordCount > 0) then
FController.DetallesController.ActualizarDetalles(FPedido.Detalles, FPedido.Cliente);
finally
AClientesController := NIL;
end;
end;
end;
procedure TfEditorPresupuestoCliente.pgPaginasChanging(Sender: TObject; var AllowChange: Boolean);
begin
inherited;
if (not Assigned(FPedido)) or (FPedido.ID_CLIENTE = 0) then
begin
ShowWarningMessage('Antes de introducir conceptos debe elegir un cliente para este pedido');
AllowChange := False;
end;
end;
procedure TfEditorPresupuestoCliente.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := ATitulo;
if (FTitulo = '') and Assigned(FPedido) then
begin
if FPedido.EsNuevo then
FTitulo := 'Nuevo pedido de cliente'
else
FTitulo := 'Pedido de cliente' + ' - ' + FPedido.Cliente.Nombre + ' - ' + FPedido.SITUACION;
end;
inherited PonerTitulos(FTitulo);
// Self.Caption := FTitulo + ' (' + dmUsuarios.EmpresaActual.NOMBRE + ')';
end;
procedure TfEditorPresupuestoCliente.PrevisualizarInterno;
begin
inherited;
if not Modified then
FController.Preview(FPedido);
end;
procedure TfEditorPresupuestoCliente.RecalcularPortePorUnidad;
begin
//Esta lógica se llamará en el editor porque es para facilitar el rellenado de información del documento
//no puede ir en la clase de negocio porque no es una lógica que tenga sentido fuera del editor.
if Assigned(Controller)
and Assigned(Controller.DetallesController) then
Controller.DetallesController.DesglosarPorteDetalles(FPedido.IMPORTE_PORTE, FPedido.Detalles)
end;
procedure TfEditorPresupuestoCliente.SetController(const Value: IPresupuestosClienteController);
begin
FController := Value;
if Assigned(FController) then
begin
ViewPedido.ViewClientePedido.Controller := Controller.ClienteController;
frViewDetallesPresupuestoCliente1.Controller := Controller.DetallesController;
end;
end;
procedure TfEditorPresupuestoCliente.SetPedido(const Value: IBizPresupuestoCliente);
begin
FPedido := Value;
if Assigned(FPedido) then
begin
dsDataTable.DataTable := FPedido.DataTable;
frViewIncidenciasCli.DADataSource.DataTable := dsDataTable.DataTable;
frViewTotales1.DADataSource.DataTable := dsDataTable.DataTable;
if Assigned(FViewPedido) then
begin
FViewPedido.Pedido := FPedido;
ViewPedido.ViewClientePedido.Cliente := FPedido.Cliente;
ViewPedido.ViewClientePedido.OnClienteChanged := OnClienteChanged;
frViewDetallesPresupuestoCliente1.Detalles := FPedido.Detalles;
frViewDetallesPresupuestoCliente1.Pedido := FPedido; //Para poder sacar los descuento del articulos segun el cliente seleccionado
end;
end;
end;
procedure TfEditorPresupuestoCliente.SetViewPedido(const Value: IViewPresupuestoCliente);
begin
FViewPedido := Value;
if Assigned(FViewPedido) and Assigned(Pedido) then
FViewPedido.Pedido := Pedido;
end;
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,391 @@
unit uEditorPresupuestosCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Menus, DB, uDADataTable, JvAppStorage,
JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList,
PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems,
TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls,
JvNavigationPane, uViewGrid, pngimage, JvComponentBase,
uEditorGridBase,
uBizPresupuestosCliente, uIEditorPresupuestosCliente, uPresupuestosClienteController,
uCustomView, uViewBase, uViewBarraSeleccion, uViewGridBase,
uViewPresupuestosCliente, JvExComCtrls, JvStatusBar, JSDialog, StdCtrls,
uDAInterfaces;
type
TfEditorPresupuestosCliente = class(TfEditorGridBase, IEditorPresupuestosCliente)
actGenerarAlbaranCli: TAction;
actGenerarFactura: TAction;
actGenerarPedidoProv: TAction;
TBXSubmenuItem2: TTBXSubmenuItem;
TBXSeparatorItem17: TTBXSeparatorItem;
TBXItem38: TTBXItem;
TBXItem39: TTBXItem;
N4: TMenuItem;
actGenerar: TAction;
Generar2: TMenuItem;
JsGenerarDialog: TJSDialog;
JsPrevisualizarDialog: TJSDialog;
JsImprimirDialog: TJSDialog;
TBXItem40: TTBXItem;
JsListaPedidosNoEliminados: TJSDialog;
procedure FormShow(Sender: TObject);
procedure actGenerarAlbaranCliExecute(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actGenerarFacturaUpdate(Sender: TObject);
procedure actGenerarFacturaExecute(Sender: TObject);
procedure actGenerarPedidoProvExecute(Sender: TObject);
procedure actGenerarExecute(Sender: TObject);
procedure actGenerarUpdate(Sender: TObject);
protected
FPedidos: IBizPresupuestoCliente;
FController : IPresupuestosClienteController;
function GetPedidos: IBizPresupuestoCliente;
procedure SetPedidos(const Value: IBizPresupuestoCliente);
function GetController : IPresupuestosClienteController; virtual;
procedure SetController (const Value : IPresupuestosClienteController); virtual;
procedure NuevoInterno; override;
procedure ModificarInterno; override;
procedure EliminarInterno; override;
procedure DuplicarInterno; override;
procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override;
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; virtual;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property Pedidos: IBizPresupuestoCliente read GetPedidos write SetPedidos;
property Controller : IPresupuestosClienteController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uDataModulePresupuestosCliente, uDataModuleUsuarios,
// uBizAlbaranesCliente, uAlbaranesClienteController,
uEditorBase, uEditorDBBase, uDialogUtils,
// uFacturasClienteController, uBizFacturasCliente,
uGridUtils, uDBSelectionListUtils;
// uGenerarPedidosProvUtils, uGenerarAlbaranesCliUtils;
{$R *.dfm}
{
*************************** TfEditorPresupuestosCliente ***************************
}
procedure TfEditorPresupuestosCliente.actEliminarUpdate(Sender: TObject);
begin
inherited;
if (Sender as TAction).Enabled then
(Sender as TAction).Enabled := (FPedidos.SITUACION = SITUACION_PEDIDO_PENDIENTE);
end;
procedure TfEditorPresupuestosCliente.actGenerarAlbaranCliExecute(Sender: TObject);
var
IDAlbaranAux : Integer;
begin
inherited;
// GenerarAlbaranCli(FPedidos.ID, IDAlbaranAux);
end;
procedure TfEditorPresupuestosCliente.actGenerarExecute(Sender: TObject);
var
Respuesta : Integer;
begin
inherited;
Respuesta := JsGenerarDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsGenerarDialog.CustomButtonResult of
200 : begin // Generar uno o más pedidos a proveedor
actGenerarPedidoProv.Execute;
end;
100 : begin // Albaran nuevo
actGenerarAlbaranCli.Execute;
end;
end;
actRefrescar.Execute;
end;
end;
procedure TfEditorPresupuestosCliente.actGenerarFacturaExecute(Sender: TObject);
{
var
AFacturasController : IFacturasClienteController;
AFactura : IBizFacturaCliente;
}
begin
{
inherited;
AFacturasController := TFacturasClienteController.Create;
try
AFactura := AFacturasController.Nuevo;
if AFacturasController.Anadir(AFactura, FPedidos.ID) then
AFacturasController.Ver(AFactura);
actRefrescar.Execute;
finally
AFacturasController := NIL;
AFactura := NIL;
end;
}
end;
procedure TfEditorPresupuestosCliente.actGenerarFacturaUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos
and ViewGrid.esSeleccionCeldaDatos
and (FPedidos.SITUACION = SITUACION_PEDIDO_PENDIENTE);
end;
procedure TfEditorPresupuestosCliente.actGenerarPedidoProvExecute(Sender: TObject);
begin
inherited;
// GenerarPedidosProv(FPedidos);
end;
procedure TfEditorPresupuestosCliente.actGenerarUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos and
not (ViewGrid.NumSeleccionados > 1) and
ViewGrid.esSeleccionCeldaDatos and
(FPedidos.SITUACION <> SITUACION_PEDIDO_SERVIDO);
end;
procedure TfEditorPresupuestosCliente.AsignarVista;
begin
ViewGrid := CreateView(TfrViewPresupuestosCliente) as IViewPresupuestosCliente;
end;
constructor TfEditorPresupuestosCliente.Create(AOwner: TComponent);
begin
inherited;
AsignarVista;
end;
destructor TfEditorPresupuestosCliente.Destroy;
begin
FPedidos := NIL;
FController := NIL;
inherited;
end;
procedure TfEditorPresupuestosCliente.DuplicarInterno;
var
APedido : IBizPresupuestoCliente;
begin
inherited;
APedido := FController.Duplicar(Pedidos);
try
FController.Ver(APedido);
finally
actRefrescar.Execute;
end;
end;
procedure TfEditorPresupuestosCliente.EliminarInterno;
var
APedidos: IBizPresupuestoCliente;
AllItems: Boolean;
begin
APedidos := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
if AllItems then
begin
if (Application.MessageBox('¿Desea borrar los pedidos de proveedor seleccionados?', 'Atención', MB_YESNO) = IDYES) then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Pedidos as ISeleccionable).SelectedRecords);
APedidos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Pedidos) as IBizPresupuestoCliente;
end
end
else begin
if (Application.MessageBox('¿Desea borrar el pedido de proveedor seleccionado?', 'Atención', MB_YESNO) = IDYES) then
APedidos := Pedidos;
end;
if Assigned(APedidos) then
begin
FController.Eliminar(APedidos, AllItems);
if AllItems then
begin
if (APedidos.DataTable.RecordCount > 0) then
begin
with APedidos.DataTable do
begin
First;
while not EOF do
begin
JsListaPedidosNoEliminados.Content.Add('Ref. pedido: ' + APedidos.REFERENCIA + ' ' + APedidos.NOMBRE);
Next;
end;
end;
JsListaPedidosNoEliminados.Execute;
end;
actRefrescar.Execute;
end;
end;
ViewGrid.GotoFirst;
end;
procedure TfEditorPresupuestosCliente.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(Pedidos) then
raise Exception.Create('No hay ningún pedido asignado');
Pedidos.DataTable.Active := True;
ViewGrid.GotoFirst;
end;
function TfEditorPresupuestosCliente.GetController: IPresupuestosClienteController;
begin
Result := FController;
end;
function TfEditorPresupuestosCliente.GetPedidos: IBizPresupuestoCliente;
begin
Result := FPedidos;
end;
procedure TfEditorPresupuestosCliente.ImprimirInterno;
var
Respuesta : Integer;
APedidos: IBizPresupuestoCliente;
AllItems: Boolean;
begin
APedidos := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
//Si esta agrupado solo podré imprimir la lista de elementos visibles
if not ViewGrid.esSeleccionCeldaDatos then
inherited
else
begin
Respuesta := JsImprimirDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsImprimirDialog.CustomButtonResult of
200 : begin // Lista de elementos visibles
inherited;
end;
100 : begin // Elemento Seleccionado
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Pedidos as ISeleccionable).SelectedRecords);
APedidos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Pedidos) as IBizPresupuestoCliente;
end
else
APedidos := Pedidos;
if Assigned(APedidos) then
FController.Print(APedidos, AllItems);
end;
end;
end;
end;
end;
procedure TfEditorPresupuestosCliente.ModificarInterno;
begin
inherited;
FController.Ver(Pedidos);
end;
procedure TfEditorPresupuestosCliente.NuevoInterno;
begin
inherited;
if FController.Anadir(Pedidos) then
FController.Ver(Pedidos);
end;
procedure TfEditorPresupuestosCliente.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de pedidos de cliente - '; //+ dmUsuarios.EmpresaActual.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorPresupuestosCliente.PrevisualizarInterno;
var
Respuesta : Integer;
APedidos: IBizPresupuestoCliente;
AllItems: Boolean;
begin
APedidos := Nil;
AllItems := False;
if MultiSelect and Assigned(ViewGrid) then
AllItems := (ViewGrid.NumSeleccionados > 1);
//Si esta agrupado solo podré imprimir la lista de elementos visibles
if not ViewGrid.esSeleccionCeldaDatos then
inherited
else
begin
Respuesta := JsPrevisualizarDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsPrevisualizarDialog.CustomButtonResult of
200 : begin // Lista de elementos visibles
inherited;
end;
100 : begin // Elemento Seleccionado
if AllItems then
begin
SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Pedidos as ISeleccionable).SelectedRecords);
APedidos := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Pedidos) as IBizPresupuestoCliente;
end
else
APedidos := Pedidos;
if Assigned(APedidos) then
FController.Preview(APedidos, AllItems);
end;
end;
end;
end;
end;
procedure TfEditorPresupuestosCliente.SetController(const Value: IPresupuestosClienteController);
begin
FController := Value;
end;
procedure TfEditorPresupuestosCliente.SetPedidos(const Value: IBizPresupuestoCliente);
begin
FPedidos := Value;
dsDataTable.DataTable := FPedidos.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewPresupuestosCliente).Pedidos := Pedidos;
end;
end.

View File

@ -0,0 +1,22 @@
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 = <>
end
end

View File

@ -0,0 +1,23 @@
unit uEditorPresupuestosClienteReport;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uIEditorPresupuestosClientePreview,
JvExComCtrls, JvStatusBar, frxDMPExport, frxGradient, frxChBox, frxCross,
frxRich, frxOLE, frxBarcode, JvAppStorage, JvAppRegistryStorage,
JvComponentBase, uEditorPreview, frxExportImage, frxExportPDF, frxDCtrl,
frxClass, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList,
ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar,
pngimage;
type
TfEditorPresupuestosClientePreview = class(TfEditorPreview, IEditorPresupuestosClientePreview)
end;
implementation
{$R *.dfm}
end.

View File

@ -0,0 +1,33 @@
unit uPresupuestosClienteViewRegister;
interface
procedure RegisterViews;
procedure UnregisterViews;
implementation
uses
uEditorRegistryUtils, uEditorPresupuestosCliente, uEditorPresupuestoCliente, uEditorElegirPresupuestosCliente,
uEditorElegirArticulosPresupuestoCliente, uEditorPresupuestosClienteReport;
procedure RegisterViews;
begin
EditorRegistry.RegisterClass(TfEditorPresupuestosCliente, 'EditorPresupuestosCliente');
EditorRegistry.RegisterClass(TfEditorPresupuestoCliente, 'EditorPresupuestoCliente');
EditorRegistry.RegisterClass(TfEditorElegirPresupuestosCliente, 'EditorElegirPresupuestosCliente');
EditorRegistry.RegisterClass(TfEditorElegirArticulosPresupuestoCliente, 'EditorElegirArticulosPresupuestosCliente');
EditorRegistry.RegisterClass(TfEditorPresupuestosClientePreview, 'EditorPresupuestosClientePreview');
end;
procedure UnregisterViews;
begin
EditorRegistry.UnRegisterClass(TfEditorPresupuestosCliente);
EditorRegistry.UnRegisterClass(TfEditorPresupuestoCliente);
EditorRegistry.UnRegisterClass(TfEditorElegirPresupuestosCliente);
EditorRegistry.UnRegisterClass(TfEditorElegirArticulosPresupuestoCliente);
EditorRegistry.UnRegisterClass(TfEditorPresupuestosClientePreview);
end;
end.

View File

@ -0,0 +1,9 @@
inherited frViewDetallesPresupuestoCliente: TfrViewDetallesPresupuestoCliente
inherited cxGrid: TcxGrid
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewIMPORTEPORTE: TcxGridDBColumn
Visible = False
end
end
end
end

View File

@ -0,0 +1,64 @@
unit uViewDetallesPresupuestoCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewDetallesArticulos, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, ImgList, PngImageList,
uDADataTable, ActnList, ComCtrls, ToolWin, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, cxImageComboBox, cxTextEdit, cxMaskEdit, cxCheckBox, cxCurrencyEdit,
Grids, DBGrids, StdCtrls, ExtCtrls, cxRichEdit, ExtActns, StdActns,
JvExStdCtrls, JvCombobox, JvColorCombo, TB2Item, TBX, TB2Dock, TB2Toolbar,
uControllerDetallesArticulos, uBizPresupuestosCliente, uDAInterfaces;
type
IViewDetallesPresupuestoCliente = interface(IViewDetallesArticulos)
['{3AF39FF4-291E-4E87-AF9A-93C240A744CD}']
function GetPedido: IBizPresupuestoCliente;
procedure SetPedido(const Value: IBizPresupuestoCliente);
property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
end;
TfrViewDetallesPresupuestoCliente = class(TfrViewDetallesArticulos, IViewDetallesPresupuestoCliente)
protected
FPedido: IBizPresupuestoCliente;
function GetPedido: IBizPresupuestoCliente;
procedure SetPedido(const Value: IBizPresupuestoCliente);
procedure AnadirArticulosInterno; override;
function AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean; override;
public
property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
end;
implementation
{$R *.dfm}
uses uDetallesPresupuestoClienteController;
{ TfrViewDetallesPedidoProveedor }
function TfrViewDetallesPresupuestoCliente.AnadirArticulo(pReferencia: String; TipoReferencia: TEnumReferencia): Boolean;
begin
Result := (Controller as IDetallesPresupuestoClienteController).AnadirArticulo(Detalles, pReferencia, TipoReferencia, Pedido.Cliente.ID);
end;
procedure TfrViewDetallesPresupuestoCliente.AnadirArticulosInterno;
begin
(Controller as IDetallesPresupuestoClienteController).AnadirArticulos(Detalles, Pedido.Cliente);
end;
function TfrViewDetallesPresupuestoCliente.GetPedido: IBizPresupuestoCliente;
begin
Result := FPedido;
end;
procedure TfrViewDetallesPresupuestoCliente.SetPedido(const Value: IBizPresupuestoCliente);
begin
FPedido := Value;
end;
end.

View File

@ -0,0 +1,204 @@
inherited frViewDireccionEntregaPresupuestoCliente: TfrViewDireccionEntregaPresupuestoCliente
Width = 337
Height = 129
ExplicitWidth = 337
ExplicitHeight = 129
object dxLayoutControl1: TdxLayoutControl
Left = 0
Top = 0
Width = 337
Height = 129
Align = alClient
ParentBackground = True
TabOrder = 0
AutoContentSizes = [acsWidth, acsHeight]
object eCalle: TcxDBTextEdit
Left = 64
Top = 10
DataBinding.DataField = 'CALLE'
DataBinding.DataSource = dsPedido
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Width = 281
end
object ePoblacion: TcxDBTextEdit
Left = 64
Top = 37
DataBinding.DataField = 'POBLACION'
DataBinding.DataSource = dsPedido
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
Width = 41
end
object eProvincia: TcxDBTextEdit
Left = 64
Top = 64
DataBinding.DataField = 'PROVINCIA'
DataBinding.DataSource = dsPedido
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 3
Width = 281
end
object eCodigoPostal: TcxDBTextEdit
Left = 262
Top = 37
DataBinding.DataField = 'CODIGO_POSTAL'
DataBinding.DataSource = dsPedido
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Width = 65
end
object eTlfTrabajo: TcxDBTextEdit
Left = 205
Top = 91
DataBinding.DataField = 'TELEFONO'
DataBinding.DataSource = dsPedido
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 5
Width = 122
end
object ePersonaContacto: TcxDBTextEdit
Left = 64
Top = 91
DataBinding.DataField = 'PERSONA_CONTACTO'
DataBinding.DataSource = dsPedido
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Color = clWindow
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 4
Width = 281
end
object dxLayoutGroup1: TdxLayoutGroup
ShowCaption = False
Hidden = True
ShowBorder = False
object dxLayoutControl1Item1: TdxLayoutItem
Caption = 'Calle:'
Control = eCalle
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Group3: TdxLayoutGroup
ShowCaption = False
Hidden = True
ShowBorder = False
object dxLayoutControl1Group1: TdxLayoutGroup
ShowCaption = False
Hidden = True
ShowBorder = False
object dxLayoutControl1Group5: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item2: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Poblaci'#243'n:'
Control = ePoblacion
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item4: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahRight
Caption = 'C.P.:'
Control = eCodigoPostal
ControlOptions.ShowBorder = False
end
end
object dxLayoutControl1Item3: TdxLayoutItem
Caption = 'Provincia:'
Control = eProvincia
ControlOptions.ShowBorder = False
end
end
object dxLayoutControl1Group4: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item6: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Contacto:'
Control = ePersonaContacto
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item5: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahRight
Caption = 'Tel'#233'fono:'
Control = eTlfTrabajo
ControlOptions.ShowBorder = False
end
end
end
end
end
object dsPedido: TDADataSource
Left = 8
Top = 8
end
object dsAlmacenes: TDADataSource
Left = 8
Top = 40
end
end

View File

@ -0,0 +1,144 @@
unit uViewDireccionEntregaPresupuestoCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizPresupuestosCliente, cxGraphics, dxLayoutControl, cxMemo,
cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, StdCtrls, cxControls, DB, uDADataTable,
ActnList, uPresupuestosClienteController,
Buttons, cxDBEdit, uDAInterfaces;
type
IViewDireccionEntregaPresupuestoCliente = interface(IViewBase)
['{7467855C-066F-4A60-B88F-2837C8050B1E}']
function GetPresupuestoCliente: IBizPresupuestoCliente;
procedure SetPresupuestoCliente(const Value: IBizPresupuestoCliente);
property PresupuestoCliente: IBizPresupuestoCliente read GetPresupuestoCliente write SetPresupuestoCliente;
end;
TfrViewDireccionEntregaPresupuestoCliente = class(TfrViewBase, IViewDireccionEntregaPresupuestoCliente)
dxLayoutControl1: TdxLayoutControl;
dxLayoutGroup1: TdxLayoutGroup;
dsPedido: TDADataSource;
dsAlmacenes: TDADataSource;
dxLayoutControl1Item1: TdxLayoutItem;
eCalle: TcxDBTextEdit;
dxLayoutControl1Item2: TdxLayoutItem;
ePoblacion: TcxDBTextEdit;
dxLayoutControl1Item3: TdxLayoutItem;
eProvincia: TcxDBTextEdit;
dxLayoutControl1Item4: TdxLayoutItem;
eCodigoPostal: TcxDBTextEdit;
dxLayoutControl1Item5: TdxLayoutItem;
eTlfTrabajo: TcxDBTextEdit;
dxLayoutControl1Item6: TdxLayoutItem;
ePersonaContacto: TcxDBTextEdit;
dxLayoutControl1Group3: TdxLayoutGroup;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Group5: TdxLayoutGroup;
dxLayoutControl1Group4: TdxLayoutGroup;
procedure cbListaPropertiesValidate(Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
protected
// FAlmacenesController : IAlmacenesController;
// FAlmacenes: IBizAlmacen;
FPedido : IBizPresupuestoCliente;
FController : IPresupuestosClienteController;
function GetPresupuestoCliente: IBizPresupuestoCliente;
procedure SetPresupuestoCliente(const Value: IBizPresupuestoCliente);
procedure RefrescarDireccion;
public
property PresupuestoCliente: IBizPresupuestoCliente read GetPresupuestoCliente write SetPresupuestoCliente;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
{$R *.dfm}
uses
uEditorRegistryUtils;
procedure TfrViewDireccionEntregaPresupuestoCliente.cbListaPropertiesValidate(
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
var Error: Boolean);
begin
{ if Assigned(FPedido) and (FPedido.ID_ALMACEN <> FAlmacenes.ID) then
begin
FPedido.Edit;
FPedido.CALLE := FAlmacenes.CALLE;
FPedido.POBLACION := FAlmacenes.POBLACION;
FPedido.POBLACION := FAlmacenes.POBLACION;
FPedido.PROVINCIA := FAlmacenes.PROVINCIA;
FPedido.CODIGO_POSTAL := FAlmacenes.CODIGO_POSTAL;
FPedido.PERSONA_CONTACTO := FAlmacenes.PERSONA_CONTACTO;
FPedido.TELEFONO := FAlmacenes.TELEFONO;
RefrescarDireccion;
end;}
end;
constructor TfrViewDireccionEntregaPresupuestoCliente.Create(AOwner: TComponent);
begin
inherited;
FPedido := NIL;
{ FController := TPresupuestosClienteController.Create;
FAlmacenesController := TAlmacenesController.Create;
FAlmacenes := FAlmacenesController.BuscarTodos;
FAlmacenes.DataTable.Active := True;
dsAlmacenes.DataTable := FAlmacenes.DataTable;}
end;
destructor TfrViewDireccionEntregaPresupuestoCliente.Destroy;
begin
{ cbLista.Properties.OnValidate := Nil;
FAlmacenesController := Nil;
FAlmacenes := Nil;
FController := NIL;
}
FPedido := NIL;
inherited;
end;
function TfrViewDireccionEntregaPresupuestoCliente.GetPresupuestoCliente: IBizPresupuestoCliente;
begin
Result := FPedido;
end;
procedure TfrViewDireccionEntregaPresupuestoCliente.RefrescarDireccion;
begin
{ memDireccion.Lines.Clear;
if Assigned(FPedido) then
begin
memDireccion.Lines.Add(FPedido.CALLE);
memDireccion.Lines.Add(FPedido.CODIGO_POSTAL + ' ' + FPedido.POBLACION);
memDireccion.Lines.Add(FPedido.PROVINCIA);
end;}
end;
procedure TfrViewDireccionEntregaPresupuestoCliente.SetPresupuestoCliente(
const Value: IBizPresupuestoCliente);
begin
FPedido := Value;
if Assigned(FPedido) then
dsPedido.DataTable := FPedido.DataTable
else
dsPedido.DataTable := NIL;
{ cbLista.Properties.OnValidate := NIL;
dsPedido.DataTable := nil;
FPedido := Value;
if not FPedido.EsNuevo then
RefrescarDireccion;
// Esto al final para que no salten los eventos del cxComboBox
dsPedido.DataTable := FPedido.DataTable;
cbLista.Properties.OnValidate := cbListaPropertiesValidate;}
end;
end.

View File

@ -0,0 +1,41 @@
inherited frViewElegirArticulosPresupuestosCliente: TfrViewElegirArticulosPresupuestosCliente
inherited cxGrid: TcxGrid
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewPRECIO_NETO: TcxGridDBColumn
Visible = False
end
inherited cxGridViewPRECIO_PORTE: TcxGridDBColumn
Visible = False
end
end
end
inherited frViewFiltroBase1: TfrViewFiltroBase
inherited TBXDockablePanel1: TTBXDockablePanel
inherited dxLayoutControl1: TdxLayoutControl
inherited txtFiltroTodo: TcxTextEdit
ExplicitWidth = 273
Width = 273
end
inherited edtFechaIniFiltro: TcxDateEdit
ExplicitWidth = 121
Width = 121
end
inherited edtFechaFinFiltro: TcxDateEdit
ExplicitWidth = 121
Width = 121
end
end
end
end
inherited dxComponentPrinter: TdxComponentPrinter
inherited dxComponentPrinterLink: TdxGridReportLink
ReportDocument.CreationDate = 39297.755936412040000000
BuiltInReportLink = True
end
end
inherited dxPrintStyleManager1: TdxPrintStyleManager
inherited dxPrintStyleManager1Style1: TdxPSPrintStyle
BuiltInStyle = True
end
end
end

View File

@ -0,0 +1,28 @@
unit uViewElegirArticulosPresupuestosCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewArticulos, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, cxImageComboBox, cxCurrencyEdit,
cxSpinEdit, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev,
dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, ImgList, PngImageList,
cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGridLnk,
uDADataTable, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, dxPgsDlg,
ActnList, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase,
uDAInterfaces;
type
IViewElegirArticulosPresupuestosCliente = interface(IViewArticulos)
['{5292A518-0797-4FFC-AC9B-90F0113AF3AF}']
end;
TfrViewElegirArticulosPresupuestosCliente = class(TfrViewArticulos, IViewElegirArticulosPresupuestosCliente)
end;
implementation
{$R *.dfm}
end.

View File

@ -0,0 +1,511 @@
inherited frViewPresupuestoCliente: TfrViewPresupuestoCliente
Width = 740
Height = 479
OnCreate = CustomViewCreate
OnDestroy = CustomViewDestroy
ExplicitWidth = 740
ExplicitHeight = 479
object dxLayoutControl1: TdxLayoutControl
Left = 0
Top = 0
Width = 740
Height = 479
Align = alClient
ParentBackground = True
TabOrder = 0
AutoContentSizes = [acsWidth, acsHeight]
DesignSize = (
740
479)
object edtFechaPedido: TcxDBDateEdit
Left = 116
Top = 82
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_PEDIDO'
DataBinding.DataSource = DADataSource
Properties.DateButtons = [btnToday]
Properties.ImmediatePost = True
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Color = clInfoBk
Style.HotTrack = False
Style.LookAndFeel.NativeStyle = True
Style.Shadow = False
Style.ButtonStyle = bts3D
Style.ButtonTransparency = ebtNone
Style.PopupBorderStyle = epbsFrame3D
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 2
Width = 119
end
object memObservaciones: TcxDBMemo
Left = 22
Top = 389
Anchors = [akLeft, akTop, akRight, akBottom]
DataBinding.DataField = 'OBSERVACIONES'
DataBinding.DataSource = DADataSource
Properties.ScrollBars = ssVertical
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 14
Height = 253
Width = 186
end
object eReferencia: TcxDBTextEdit
Left = 116
Top = 28
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REFERENCIA'
DataBinding.DataSource = DADataSource
Enabled = False
Properties.ReadOnly = False
Properties.ValidateOnEnter = True
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Color = clInfoBk
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.Color = clMenuBar
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleDisabled.TextColor = clWindowText
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 0
Width = 143
end
inline frViewClientePedido: TfrViewDatosYSeleccionCliente
Left = 388
Top = 28
Width = 350
Height = 212
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 13
ReadOnly = False
ExplicitLeft = 388
ExplicitTop = 28
inherited dxLayoutControl1: TdxLayoutControl
inherited edtlNombre: TcxDBTextEdit
ExplicitWidth = 224
Width = 224
end
inherited edtNIFCIF: TcxDBTextEdit
ExplicitWidth = 562
Width = 562
end
inherited edtCalle: TcxDBTextEdit
ExplicitWidth = 562
Width = 562
end
inherited edtPoblacion: TcxDBTextEdit
ExplicitWidth = 177
Width = 177
end
inherited edtProvincia: TcxDBTextEdit
ExplicitWidth = 327
Width = 327
end
inherited edtCodigoPostal: TcxDBTextEdit
Left = 238
ExplicitLeft = 238
end
inherited Button3: TBitBtn
Left = 128
ExplicitLeft = 128
end
end
inherited DADataSource: TDADataSource
Top = 72
end
inherited ActionList1: TActionList
Top = 72
end
inherited PngImageList: TPngImageList
Top = 72
end
end
object eCalle: TcxDBTextEdit
Left = 116
Top = 193
DataBinding.DataField = 'CALLE'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 6
Width = 263
end
object ePoblacion: TcxDBTextEdit
Left = 116
Top = 220
DataBinding.DataField = 'POBLACION'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 7
Width = 162
end
object eCodigoPostal: TcxDBTextEdit
Left = 293
Top = 220
DataBinding.DataField = 'CODIGO_POSTAL'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 8
Width = 65
end
object eProvincia: TcxDBTextEdit
Left = 116
Top = 247
DataBinding.DataField = 'PROVINCIA'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 9
Width = 263
end
object ePersonaContacto: TcxDBTextEdit
Left = 116
Top = 274
DataBinding.DataField = 'PERSONA_CONTACTO'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Color = clWindow
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 10
Width = 84
end
object eTlfTrabajo: TcxDBTextEdit
Left = 116
Top = 301
DataBinding.DataField = 'TELEFONO'
DataBinding.DataSource = DADataSource
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 11
Width = 122
end
object bElegirDireccion: TBitBtn
Left = 186
Top = 328
Width = 172
Height = 25
Action = actElegirDireccion
Caption = 'Elegir una direcci'#243'n de env'#237'o...'
TabOrder = 12
end
object cbFormaPago: TcxDBLookupComboBox
Left = 116
Top = 136
DataBinding.DataField = 'ID_FORMA_PAGO'
DataBinding.DataSource = DADataSource
Properties.KeyFieldNames = 'ID'
Properties.ListColumns = <
item
FieldName = 'REFERENCIA'
end>
Properties.ListOptions.GridLines = glNone
Properties.ListOptions.ShowHeader = False
Properties.ListSource = dsFormaPago
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
Style.ButtonStyle = bts3D
Style.PopupBorderStyle = epbsFrame3D
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 4
Width = 101
end
object bFormasPago: TButton
Left = 226
Top = 136
Width = 132
Height = 21
Caption = 'Ver las formas de pago...'
TabOrder = 5
OnClick = bFormasPagoClick
end
object edtFechaPrevistaEnvio: TcxDBDateEdit
Left = 116
Top = 109
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_PREVISTA_ENVIO'
DataBinding.DataSource = DADataSource
Properties.ImmediatePost = True
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Color = clWindow
Style.HotTrack = False
Style.LookAndFeel.NativeStyle = True
Style.Shadow = False
Style.ButtonStyle = bts3D
Style.ButtonTransparency = ebtNone
Style.PopupBorderStyle = epbsFrame3D
StyleDisabled.LookAndFeel.NativeStyle = True
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 3
Width = 216
end
object eRefCliente: TcxDBTextEdit
Left = 116
Top = 55
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REFERENCIA_CLIENTE'
DataBinding.DataSource = DADataSource
Properties.ReadOnly = False
Properties.ValidateOnEnter = True
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Color = clInfoBk
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.Color = clMenuBar
StyleDisabled.LookAndFeel.Kind = lfStandard
StyleDisabled.LookAndFeel.NativeStyle = True
StyleDisabled.TextColor = clWindowText
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 1
Width = 216
end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
Hidden = True
ShowBorder = False
object dxLayoutControl1Group10: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Group6: TdxLayoutGroup
AutoAligns = [aaVertical]
AlignHorz = ahClient
ShowCaption = False
Hidden = True
ShowBorder = False
object dxLayoutControl1Group1: TdxLayoutGroup
AutoAligns = []
AlignHorz = ahClient
Caption = 'Datos del pedido'
object dxLayoutControl1Item3: TdxLayoutItem
Caption = 'Referencia:'
Control = eReferencia
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item15: TdxLayoutItem
Caption = 'Ref. cliente:'
Control = eRefCliente
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item2: TdxLayoutItem
Caption = 'Fecha del pedido:'
Control = edtFechaPedido
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item7: TdxLayoutItem
Caption = 'Entrega prevista:'
Control = edtFechaPrevistaEnvio
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Group5: TdxLayoutGroup
ShowCaption = False
Visible = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item4: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Forma de pago'
Control = cbFormaPago
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item5: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahRight
ShowCaption = False
Control = bFormasPago
ControlOptions.ShowBorder = False
end
end
end
object dxLayoutControl1Group8: TdxLayoutGroup
AutoAligns = []
AlignHorz = ahClient
Caption = 'Direcci'#243'n de entrega'
object dxLayoutControl1Item8: TdxLayoutItem
Caption = 'Calle:'
Control = eCalle
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Group4: TdxLayoutGroup
ShowCaption = False
Hidden = True
ShowBorder = False
object dxLayoutControl1Group9: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item9: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Poblaci'#243'n:'
Control = ePoblacion
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item10: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahRight
Caption = 'C.P.:'
Control = eCodigoPostal
ControlOptions.ShowBorder = False
end
end
object dxLayoutControl1Item11: TdxLayoutItem
Caption = 'Provincia:'
Control = eProvincia
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item12: TdxLayoutItem
Caption = 'Pers. de contacto:'
Control = ePersonaContacto
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item13: TdxLayoutItem
Caption = 'Tel'#233'fono:'
Control = eTlfTrabajo
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item14: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahRight
ShowCaption = False
Control = bElegirDireccion
ControlOptions.ShowBorder = False
end
end
end
end
object dxLayoutControl1Group2: TdxLayoutGroup
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Datos del cliente'
object dxLayoutControl1Item1: TdxLayoutItem
Control = frViewClientePedido
ControlOptions.AutoColor = True
ControlOptions.ShowBorder = False
end
end
end
object dxLayoutControl1Group7: TdxLayoutGroup
AutoAligns = [aaHorizontal]
AlignVert = avClient
Caption = 'Observaciones'
object dxLayoutControl1Item6: TdxLayoutItem
AutoAligns = [aaHorizontal]
AlignVert = avClient
Control = memObservaciones
ControlOptions.ShowBorder = False
end
end
end
end
object DADataSource: TDADataSource
Left = 8
Top = 8
end
object ActionList1: TActionList
Left = 8
Top = 40
object actElegirDireccion: TAction
Caption = 'Elegir una direcci'#243'n de env'#237'o...'
OnExecute = actElegirDireccionExecute
OnUpdate = actElegirDireccionUpdate
end
end
object dsFormaPago: TDADataSource
Left = 40
Top = 8
end
end

View File

@ -0,0 +1,219 @@
unit uViewPresupuestoCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizPresupuestosCliente, DB, uDADataTable, uCustomView,
AppEvnts, StdCtrls, Mask, DBCtrls,
uViewObservaciones, uViewDatosYSeleccionCliente,
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
uViewDireccionEntregaPresupuestoCliente, Buttons, ActnList, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, uFormasPagoController, uDAInterfaces;
type
IViewPresupuestoCliente = interface(IViewBase)
['{C5385699-C1A4-4AEB-B3D0-EE3BDB322FE2}']
function GetPedido: IBizPresupuestoCliente;
procedure SetPedido(const Value: IBizPresupuestoCliente);
property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
function GetViewClientePedido: TfrViewDatosYSeleccionCliente;
procedure SetViewClientePedido(const Value: TfrViewDatosYSeleccionCliente);
property ViewClientePedido: TfrViewDatosYSeleccionCliente read GetViewClientePedido write SetViewClientePedido;
end;
TfrViewPresupuestoCliente = class(TfrViewBase, IViewPresupuestoCliente)
DADataSource: TDADataSource;
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutControl1Item2: TdxLayoutItem;
edtFechaPedido: TcxDBDateEdit;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Group2: TdxLayoutGroup;
dxLayoutControl1Item6: TdxLayoutItem;
memObservaciones: TcxDBMemo;
dxLayoutControl1Item3: TdxLayoutItem;
eReferencia: TcxDBTextEdit;
dxLayoutControl1Group6: TdxLayoutGroup;
dxLayoutControl1Group7: TdxLayoutGroup;
dxLayoutControl1Group8: TdxLayoutGroup;
dxLayoutControl1Item1: TdxLayoutItem;
frViewClientePedido: TfrViewDatosYSeleccionCliente;
dxLayoutControl1Item8: TdxLayoutItem;
eCalle: TcxDBTextEdit;
dxLayoutControl1Item9: TdxLayoutItem;
ePoblacion: TcxDBTextEdit;
dxLayoutControl1Item10: TdxLayoutItem;
eCodigoPostal: TcxDBTextEdit;
dxLayoutControl1Item11: TdxLayoutItem;
eProvincia: TcxDBTextEdit;
dxLayoutControl1Item12: TdxLayoutItem;
ePersonaContacto: TcxDBTextEdit;
dxLayoutControl1Item13: TdxLayoutItem;
eTlfTrabajo: TcxDBTextEdit;
dxLayoutControl1Group4: TdxLayoutGroup;
dxLayoutControl1Group9: TdxLayoutGroup;
dxLayoutControl1Item14: TdxLayoutItem;
bElegirDireccion: TBitBtn;
ActionList1: TActionList;
actElegirDireccion: TAction;
dxLayoutControl1Item4: TdxLayoutItem;
cbFormaPago: TcxDBLookupComboBox;
dxLayoutControl1Item5: TdxLayoutItem;
bFormasPago: TButton;
dxLayoutControl1Group5: TdxLayoutGroup;
dsFormaPago: TDADataSource;
dxLayoutControl1Group10: TdxLayoutGroup;
dxLayoutControl1Item7: TdxLayoutItem;
edtFechaPrevistaEnvio: TcxDBDateEdit;
dxLayoutControl1Item15: TdxLayoutItem;
eRefCliente: TcxDBTextEdit;
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure actElegirDireccionExecute(Sender: TObject);
procedure actElegirDireccionUpdate(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject);
procedure frViewClientePedidoButton1Click(Sender: TObject);
procedure frViewClientePedidoButton2Click(Sender: TObject);
protected
FPedido : IBizPresupuestoCliente;
FViewClientePedido : TfrViewDatosYSeleccionCliente;
FFormasPagoController : IFormasPagoController;
function GetPedido: IBizPresupuestoCliente;
procedure SetPedido(const Value: IBizPresupuestoCliente); virtual;
function GetViewClientePedido: TfrViewDatosYSeleccionCliente;
procedure SetViewClientePedido(const Value: TfrViewDatosYSeleccionCliente);
public
property Pedido: IBizPresupuestoCliente read GetPedido write SetPedido;
property ViewClientePedido: TfrViewDatosYSeleccionCliente read GetViewClientePedido;
end;
implementation
{$R *.dfm}
{ TfrViewPresupuestoCliente }
uses
uClientesController, uBizDireccionesContacto, uPresupuestosClienteController,
uBizFormasPago;
procedure TfrViewPresupuestoCliente.actElegirDireccionExecute(Sender: TObject);
var
AClientesController : IClientesController;
APedidoController : IPresupuestosClienteController;
ADireccion : IBizDireccionesContacto;
begin
inherited;
AClientesController := TClientesController.Create;
APedidoController := TPresupuestosClienteController.Create;
try
ADireccion := AClientesController.ElegirDireccionEntrega(FPedido.Cliente.Direcciones,
'Seleccione la dirección del cliente que quiere utilizar como dirección de envio de este pedido.');
if Assigned(ADireccion) then
begin
APedidoController.CopiarDireccionEnvio(ADireccion, FPedido);
FPedido.Edit;
FPedido.IMPORTE_PORTE := ADireccion.PORTE;
end;
finally
AClientesController := NIL;
APedidoController := NIL;
end;
end;
procedure TfrViewPresupuestoCliente.actElegirDireccionUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (not ReadOnly) and
Assigned(FPedido) and
Assigned(FViewClientePedido) and
FPedido.DataTable.Active and
Assigned(FPedido.Cliente) and
Assigned(FPedido.Cliente) and
Assigned(FPedido.Cliente.Direcciones) and
FPedido.Cliente.Direcciones.DataTable.Active and
(FPedido.Cliente.Direcciones.DataTable.RecordCount > 0);
end;
procedure TfrViewPresupuestoCliente.bFormasPagoClick(Sender: TObject);
begin
inherited;
FFormasPagoController.VerTodos((dsFormaPago.DataTable) as IBizFormaPago);
end;
procedure TfrViewPresupuestoCliente.CustomViewCreate(Sender: TObject);
begin
inherited;
FFormasPagoController := TFormasPagoController.Create;
FViewClientePedido := frViewClientePedido;
FViewClientePedido.MsgElegirCliente := 'Elija el cliente al que se le realizará el pedido.';
end;
procedure TfrViewPresupuestoCliente.CustomViewDestroy(Sender: TObject);
begin
FViewClientePedido := NIL;
FFormasPagoController := NIL;
inherited;
end;
procedure TfrViewPresupuestoCliente.frViewClientePedidoButton1Click(Sender: TObject);
begin
if Assigned(Pedido) and Assigned(Pedido.Cliente) and
Assigned (Pedido.Detalles) and (Pedido.Detalles.RecordCount > 0) then
begin
if (Application.MessageBox('Los descuentos de los artículos del pedido serán actualizados con los del nuevo cliente seleccionado, ¿Desea continuar?', 'Atención', MB_YESNO) = IDNO) then
Exit;
end;
frViewClientePedido.actElegirContacto.Execute;
end;
procedure TfrViewPresupuestoCliente.frViewClientePedidoButton2Click(Sender: TObject);
begin
if Assigned(Pedido) and Assigned(Pedido.Cliente) and
Assigned (Pedido.Detalles) and (Pedido.Detalles.RecordCount > 0) then
begin
if (Application.MessageBox('Los descuentos de los artículos del pedido serán actualizados con los del nuevo cliente seleccionado, ¿Desea continuar?', 'Atención', MB_YESNO) = IDNO) then
Exit;
end;
frViewClientePedido.actAnadirContacto.Execute;
end;
function TfrViewPresupuestoCliente.GetPedido: IBizPresupuestoCliente;
begin
Result := FPedido;
end;
function TfrViewPresupuestoCliente.GetViewClientePedido: TfrViewDatosYSeleccionCliente;
begin
Result := FViewClientePedido;
end;
procedure TfrViewPresupuestoCliente.SetPedido(const Value: IBizPresupuestoCliente);
begin
FPedido := Value;
if Assigned(FPedido) then
begin
DADataSource.DataTable := FPedido.DataTable;
dsFormaPago.DataTable := FFormasPagoController.BuscarTodos.DataTable;
dsFormaPago.DataTable.Active := True;
frViewClientePedido.Cliente := FPedido.Cliente;
end
else begin
DADataSource.DataTable := NIL;
dsFormaPago.DataTable := NIL;
frViewClientePedido.Cliente := nil;
end;
end;
procedure TfrViewPresupuestoCliente.SetViewClientePedido(const Value: TfrViewDatosYSeleccionCliente);
begin
FViewClientePedido := Value;
end;
end.

View File

@ -0,0 +1,351 @@
inherited frViewPresupuestosCliente: TfrViewPresupuestosCliente
Width = 596
Height = 479
ExplicitWidth = 596
ExplicitHeight = 479
inherited cxGrid: TcxGrid
Width = 596
Height = 351
RootLevelOptions.DetailTabsPosition = dtpTop
OnActiveTabChanged = cxGridActiveTabChanged
ExplicitWidth = 596
ExplicitHeight = 351
inherited cxGridView: TcxGridDBTableView
OnMouseMove = cxGridViewMouseMove
DataController.KeyFieldNames = 'ID'
DataController.Options = [dcoAnsiSort, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText, dcoGroupsAlwaysExpanded]
DataController.Summary.DefaultGroupSummaryItems = <
item
Format = ',0.00 '#8364';-,0.00 '#8364
Kind = skSum
Position = spFooter
Column = cxGridViewIMPORTE_TOTAL
end>
DataController.Summary.FooterSummaryItems = <
item
Format = '0 pedidos'
Kind = skCount
Column = cxGridViewREFERENCIA
end
item
Format = ',0.00 '#8364';-,0.00 '#8364
Kind = skSum
Column = cxGridViewIMPORTE_TOTAL
end>
OptionsCustomize.ColumnHidingOnGrouping = False
OptionsView.GroupFooters = gfAlwaysVisible
object cxGridViewID: TcxGridDBColumn
DataBinding.FieldName = 'ID'
Visible = False
BestFitMaxWidth = 22
MinWidth = 22
Options.HorzSizing = False
Width = 22
IsCaptionAssigned = True
end
object cxGridViewINCIDENCIASACTIVAS: TcxGridDBColumn
Caption = 'Incidencias'
DataBinding.FieldName = 'INCIDENCIAS_ACTIVAS'
PropertiesClassName = 'TcxImageComboBoxProperties'
Properties.Images = PngImageList
Properties.Items = <
item
Description = 'Sin incidencias'
Value = 0
end
item
Description = 'Con incidencias'
ImageIndex = 3
Tag = 1
Value = 1
end>
Properties.LargeImages = PngImageList
Properties.ShowDescriptions = False
BestFitMaxWidth = 22
MinWidth = 22
Options.HorzSizing = False
Width = 22
end
object cxGridViewTIENDAWEB: TcxGridDBColumn
Caption = #191'Proviene de tienda web?'
DataBinding.FieldName = 'REF_TIENDA_WEB'
OnCustomDrawCell = cxGridViewTIENDAWEBCustomDrawCell
BestFitMaxWidth = 22
MinWidth = 22
Options.HorzSizing = False
Width = 22
end
object cxGridViewREFERENCIA: TcxGridDBColumn
DataBinding.FieldName = 'REFERENCIA'
BestFitMaxWidth = 25
Width = 68
end
object cxGridViewSITUACION: TcxGridDBColumn
DataBinding.FieldName = 'SITUACION'
Width = 69
end
object cxGridViewFECHA_PEDIDO: TcxGridDBColumn
DataBinding.FieldName = 'FECHA_PEDIDO'
BestFitMaxWidth = 45
SortIndex = 0
SortOrder = soDescending
Width = 45
end
object cxGridViewFECHA_ENTREGA: TcxGridDBColumn
DataBinding.FieldName = 'FECHA_PREVISTA_ENVIO'
BestFitMaxWidth = 45
Width = 45
end
object cxGridViewNOMBRE: TcxGridDBColumn
Caption = 'Cliente'
DataBinding.FieldName = 'NOMBRE'
Width = 69
end
object cxGridViewCALLE: TcxGridDBColumn
DataBinding.FieldName = 'CALLE'
Width = 70
end
object cxGridViewCODIGO_POSTAL: TcxGridDBColumn
DataBinding.FieldName = 'CODIGO_POSTAL'
Visible = False
end
object cxGridViewPOBLACION: TcxGridDBColumn
DataBinding.FieldName = 'POBLACION'
Width = 68
end
object cxGridViewPROVINCIA: TcxGridDBColumn
DataBinding.FieldName = 'PROVINCIA'
Visible = False
end
object cxGridViewPERSONA_CONTACTO: TcxGridDBColumn
DataBinding.FieldName = 'PERSONA_CONTACTO'
Visible = False
end
object cxGridViewTELEFONO: TcxGridDBColumn
DataBinding.FieldName = 'TELEFONO'
Width = 70
end
object cxGridViewIMPORTE_TOTAL: TcxGridDBColumn
Caption = 'Importe total'
DataBinding.FieldName = 'IMPORTE_TOTAL'
PropertiesClassName = 'TcxCurrencyEditProperties'
Properties.Alignment.Horz = taRightJustify
FooterAlignmentHorz = taRightJustify
HeaderAlignmentHorz = taRightJustify
Width = 69
end
end
object cxGridDBTableView1: TcxGridDBTableView [1]
NavigatorButtons.ConfirmDelete = False
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
DataController.Summary.SummaryGroups = <>
end
inherited cxGridLevel: TcxGridLevel
Caption = 'Todos'
end
object cxGridLevelPendientes: TcxGridLevel
Caption = 'Pendientes'
end
object cxGridLevelEnProceso: TcxGridLevel
Caption = 'En proceso'
end
object cxGridLevelServidor: TcxGridLevel
Caption = 'Servidos'
end
end
inherited frViewFiltroBase1: TfrViewFiltroBase
Width = 596
ExplicitWidth = 596
inherited TBXDockablePanel1: TTBXDockablePanel
ExplicitWidth = 596
inherited dxLayoutControl1: TdxLayoutControl
Width = 596
ExplicitWidth = 596
inherited edtFechaFinFiltro: TcxDateEdit
Left = 251
ExplicitLeft = 251
ExplicitWidth = 294
Width = 294
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 596
ExplicitWidth = 596
inherited tbxBotones: TTBXToolbar
Width = 586
ExplicitWidth = 586
end
end
end
end
inherited pnlAgrupaciones: TTBXDockablePanel
Top = 453
Visible = True
ExplicitTop = 453
ExplicitWidth = 596
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 596
ExplicitWidth = 596
inherited TBXToolbar1: TTBXToolbar
Width = 586
ExplicitWidth = 586
object TBXSeparatorItem2: TTBXSeparatorItem
end
object TBXItem3: TTBXItem
Action = actCliente
end
object TBXSeparatorItem1: TTBXSeparatorItem
end
object TBXItem2: TTBXItem
Action = actProvincia
end
end
end
end
inherited dxComponentPrinter: TdxComponentPrinter
inherited dxComponentPrinterLink: TdxGridReportLink
ReportDocument.CreationDate = 38673.741107951390000000
BuiltInReportLink = True
end
end
inherited cxStyleRepository1: TcxStyleRepository
Left = 248
object cxStylePENDIENTES: TcxStyle
AssignedValues = [svTextColor]
TextColor = clGreen
end
object cxStyleENPROCESO: TcxStyle
AssignedValues = [svTextColor]
TextColor = clBlue
end
object cxStyleSERVIDOS: TcxStyle
end
end
inherited cxViewGridPopupMenu: TcxGridPopupMenu
Left = 288
end
inherited ActionList1: TActionList
object actCliente: TAction
Caption = 'Cliente'
OnExecute = actClienteExecute
OnUpdate = actClienteUpdate
end
object actProvincia: TAction
Caption = 'Provincia'
OnExecute = actProvinciaExecute
OnUpdate = actProvinciaUpdate
end
end
inherited dxPrintStyleManager1: TdxPrintStyleManager
inherited dxPrintStyleManager1Style1: TdxPSPrintStyle
BuiltInStyle = True
end
end
object PngImageList: TPngImageList
PngImages = <
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD2520000014B4944415478DA
6364C007F47A8C9999FE9F6162FCCFF0FB2F9309C3A592B31CC61DFF7F9CAD60
0449F398B6FF67C4A79FD9A0FBFFDF0BA56035EC469DFF7F9E2B87AB0769FE72
BA9211AF01AC865DFF7F9F2F03AB41B719A419C4C66B001BD0805F5003B84C3A
FE7F3B53C188AC59D0A20DBF17909DCD6DD2FEFFEB994A0CF5780D00052217DB
9F338C0CFF19BEFE620507226906100118B327BDFCFFE7EF6F86BF7F20F80F8C
FEFB07C14762FFF9FD0B48FF82D2BF1918D3FB9FFCB734944631F5CFDF7F0CBF
7EFF65F809C67FE0EC5F403688FEF1EB0F185F3AB2938131A5FBFE7F1B530592
35FFF8F597E1DAB16D0C8C89EDB7FEDB5BAA92AC1944DF3ABE858131B6F9EA7F
675B2D923583F0BD139B1918A3EA2FFC77B2D32559F3AF3F7F191E9CD8C0C018
5673E6BF838D1EC99A41006C4070C5F1FF84A2EA3732FFF76F301B9E0EFEFFFF
4F514202003F5091819E0016AB0000000049454E44AE426082}
Name = 'PngImage1'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD2520000010E4944415478DA
63648001BD9EFF0CC8E052092350CC18C83A031531018A9D05AB03C941F530A2
180093C026862E0FE5230B10B40D1B1BD546749BB16922CA0BF80C400384BC80
2986D300320163F0AC3BFFFFFEFECBF0E70F100369301BCA87B1FFFE81F2FFFC
63F8FDEB0FC31F20FE0D9203D28C01536FFE6F705663F80033F20784FA00657F
4016FB815003129F367B3503A3CFC46BFF4BDC3549D208634F9CB79C81D1A3E7
F2FF4375E638FDD8B6EE2B8646984573672C6660746DBFF0FF68B3154E03CA96
7DC56A3B08CC98BD8081D1B1E9ECFF783B23BC4E45D7080353A6CE6160B4AD3B
F53FD8CA94248D303061C24C0646ABCAE3FF0945D59F5F7F816C3431200D4E07
FFFFFF67A00400007E51EECD81D1728E0000000049454E44AE426082}
Name = 'PngImage2'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD252000000F54944415478DA
6364D0EBF9CF70A98411481B3330309C61800013A0D8591C6210F52000643322
19802281530C06A07CF20C4062936E00D5BC00058C24072286011402C6EC492F
FFFFF9FB9BE1EF1F08FE03A3FFFE41F091D87F7EFF02D2BFA0F46F06C6F4FE27
FF2D0DA5514CFDF3F71FC3AFDF7F197E82F11F38FB17900DA27FFCFA03C6978E
EC64604CE9BEFFDFC6548164CD3F7EFD65B8766C1B036362FBADFF2B9B0DC8F2
BF9C7D2303636CF3D5FF6BDB4DC93240CAAA868131AAFEC27F273B5DA29D0D63
FFFAF397E1C1890D0C8C613567FE3BD8E891AC1904C00604571CFF4F28AA7E23
F37FFF06B3E1E9E0FFFFFF1425240089FD645E7C3F344D0000000049454E44AE
426082}
Name = 'PngImage0'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000AEB00000AEB01828B0D5A0000027F4944415478DA
95926D48535118C79FDB268AA54485D62C4C50962CDC87F5416D9AB966CEA440
A4E84D828C304C89B217DB87D00F65252B69422F9A4161D6A0507C6D595A6450
83CC55787129CE19949B6DD3DDEDDE9D73BABB561835D3030FCF39E739FFDFF3
C2A1608EF5A1467A415632783A589C100254B0A0EB5A623A9392DCD365B89DBE
FF3CBC5830C0DD9DD726922B34EFDAEB5B53F75972170470D4C8E461DB724D78
091139AC66F4FC5E9BA24007FDF3064C75E6DE7DE94BD8DBDC4A834615014B5D
BD8D6985E37BE6056074D2B544934357DCFA1CD2FBEA1B6C908742E96EAFBFFB
7E5FE2A15A18FA2FC0F978B35E9CBAE94895EE2DB474D82053B918CA4BA2A1BF
D37823B3D879784E80BB36298ADA98368C97937043F3185CACA1E164F12AD89E
1509132316E659BB39A14807B6A000E74365A5282D43EB67BFC020FD1D76159A
C0502785D8984580B8691830BEA9561F634EFC1340AAA4111E55C60817859611
E4038EF34256FE6BE86C5A0F807D4010035F2DA3EE1EA32DEEA81EEC7F0126EF
288E87A8D597389F8DC28280858ACB9FE06C690CBFF702E60DB153E463EF70C5
D632EEDC1F00FA6A7CA824397D888B46AB671EF300CC826DDC092B5710411CB0
406C62D86EEFEA72C69DAA07F76FC0645DD241B15A7D93E3C6A85FE2471D5E68
6872C1CE1C2FE46BF0AC2A1842F7B9CBB2CFF8AB05007900A26949819995E075
184D43A0FF400B95575CD0FED4010A9907AAB5E1BC9801EC9FA9C261656D0346
7FFC8106E2A55C7A591EA551197CC84A1121BB4FC8346AF540CB1307A8950462
25E8670B8CD01E6611B198C445D9E5DC75EABD7E4DA32B322C05630F3F15BE54
82788F788FF9E9FB679D9110C781FBC077B753433BB478CB0F7C3B8CF0987D51
CF0000000049454E44AE426082}
Name = 'PngImage3'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000001E34944415478DAA5932D72E43010855F98D934341BC1858261D10D76
8E3047305C1685051A067A59A0E042E70682863D6C608719EE6B399EADDABFAA
AD7595CAB2DCFDF5EB1FDDE13F9FBB9F0FF258225F27AEC415D109B05A35C3CC
EF32E653FD2380CE035F4388720C41609DC2D68ABA28B42688E1820E79CAE7E9
17407316E4788F43E8033CF2F46D42F804E8E29084E0A2ACBE7B90E9798334C0
40D9145AC2BD1E8591A58B5CFE27406D462915EA59AD4A70812CF142FBD3340E
750764113C8648C9A214E20A0C762560A1A925A662A8FDD0D48A06846B782220
6F80E732C7181F14858079CB69895B1D57D6824BBB99FF4A03C9952134BD9597
21ED008BF1F341F52BAA3035098CC23428DB561A70D53EC39888EFB941D4F45E
5EB2DC0021A6035BC56A0F306660BD1B464A3DB5A8B00CED89606A62B201A61D
90CB8C3E3EA03BD2F002BD8EF4550FB441D421532B62658D02CFC4C2DBFC9AD3
0EC86CDBA349DC24B2F7BA8E2D227BCF9CFD3CB573EC69409EE6D731EF804899
EC4F3CB6D631927623FFD48F5AC84741B1B572D58B4FEB5CC67A1BA4739ECE34
18D185435DE756B070B5CDB17305B63BB741A2F38F41BA41BE38C4324D8FE6C6
3E0FBE7CEF15F602716877E7DF5EA6F330B6CBC4F6A55641CAE69EC973245714
97FDD7DBF8AFCF7740E00D20BA266C3A0000000049454E44AE426082}
Name = 'PngImage4'
Background = clWindow
end>
Left = 56
Top = 48
Bitmap = {}
end
end

View File

@ -0,0 +1,280 @@
unit uViewPresupuestosCliente;
interface
uses
uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn,
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, cxImageComboBox, ImgList, Controls, PngImageList,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGridLnk,
uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView, Classes,
cxGrid,
uBizPresupuestosCliente, cxCurrencyEdit, Forms, uViewFiltroBase, ActnList, TB2Item,
TBX, TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, uDAInterfaces;
type
IViewPresupuestosCliente = interface(IViewGrid)
['{96821714-55CF-4BC1-A0C1-16E027B2EF16}']
function GetPedidos: IBizPresupuestoCliente;
procedure SetPedidos(const Value: IBizPresupuestoCliente);
property Pedidos: IBizPresupuestoCliente read GetPedidos write SetPedidos;
end;
TfrViewPresupuestosCliente = class(TfrViewGrid, IViewPresupuestosCliente)
cxGridDBTableView1: TcxGridDBTableView;
PngImageList: TPngImageList;
cxGridViewID: TcxGridDBColumn;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewINCIDENCIASACTIVAS: TcxGridDBColumn;
cxGridViewNOMBRE: TcxGridDBColumn;
cxGridViewSITUACION: TcxGridDBColumn;
cxGridViewFECHA_PEDIDO: TcxGridDBColumn;
cxGridViewCALLE: TcxGridDBColumn;
cxGridViewCODIGO_POSTAL: TcxGridDBColumn;
cxGridViewPOBLACION: TcxGridDBColumn;
cxGridViewPROVINCIA: TcxGridDBColumn;
cxGridViewPERSONA_CONTACTO: TcxGridDBColumn;
cxGridViewTELEFONO: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
cxGridLevelPendientes: TcxGridLevel;
cxGridLevelEnProceso: TcxGridLevel;
cxGridLevelServidor: TcxGridLevel;
cxStylePENDIENTES: TcxStyle;
cxStyleENPROCESO: TcxStyle;
cxStyleSERVIDOS: TcxStyle;
actCliente: TAction;
actProvincia: TAction;
TBXItem2: TTBXItem;
TBXSeparatorItem1: TTBXSeparatorItem;
TBXSeparatorItem2: TTBXSeparatorItem;
TBXItem3: TTBXItem;
cxGridViewTIENDAWEB: TcxGridDBColumn;
cxGridViewFECHA_ENTREGA: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel);
procedure cxGridViewCODIGOCustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var
ADone: Boolean);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out
AStyle: TcxStyle);
procedure actClienteExecute(Sender: TObject);
procedure actClienteUpdate(Sender: TObject);
procedure actProvinciaExecute(Sender: TObject);
procedure actProvinciaUpdate(Sender: TObject);
procedure cxGridViewTIENDAWEBCustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
procedure cxGridViewMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
//Filtros relativos a la vista
procedure AnadirFiltroSituaciones;
procedure AnadirFiltroFechas;
protected
FPedidos: IBizPresupuestoCliente;
function GetPedidos: IBizPresupuestoCliente;
procedure SetPedidos(const Value: IBizPresupuestoCliente);
public
procedure AnadirOtrosFiltros; override;
property Pedidos: IBizPresupuestoCliente read GetPedidos write SetPedidos;
end;
implementation
uses SysUtils, variants, windows, uDataModulePresupuestosCliente, schPedidosClienteClient_Intf,
uViewGridBase;
{$R *.dfm}
procedure TfrViewPresupuestosCliente.actClienteExecute(Sender: TObject);
begin
if (cxGridViewNOMBRE.GroupIndex < 0) then
begin
cxGridViewNOMBRE.GroupIndex := cxGridView.GroupedColumnCount;
cxGridViewNOMBRE.Visible := False;
end
else
begin
cxGridViewNOMBRE.GroupIndex := -1;
cxGridViewNOMBRE.Visible := True;
end;
end;
procedure TfrViewPresupuestosCliente.actClienteUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Checked := not (cxGridViewNOMBRE.GroupIndex < 0);
end;
procedure TfrViewPresupuestosCliente.actProvinciaExecute(Sender: TObject);
begin
if (cxGridViewPROVINCIA.GroupIndex < 0) then
begin
cxGridViewPROVINCIA.GroupIndex := cxGridView.GroupedColumnCount;
cxGridViewPROVINCIA.Visible := False;
end
else
begin
cxGridViewPROVINCIA.GroupIndex := -1;
cxGridViewPROVINCIA.Visible := True;
end;
end;
procedure TfrViewPresupuestosCliente.actProvinciaUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Checked := not (cxGridViewPROVINCIA.GroupIndex < 0);
end;
procedure TfrViewPresupuestosCliente.AnadirFiltroFechas;
var
Columna: TcxGridDBColumn;
Fecha1, Fecha2: Variant;
FFiltro : TcxFilterCriteriaItemList;
begin
Fecha1 := frViewFiltroBase1.edtFechaIniFiltro.EditValue;
Fecha2 := frViewFiltroBase1.edtFechaFinFiltro.EditValue;
if not VarIsNull(Fecha1)
and not VarIsNull(Fecha2) then
begin
cxGridView.DataController.Filter.Options := [fcoCaseInsensitive, fcoSoftCompare];
FFiltro := AddFilterGrid(fboAnd);
Columna := (cxGridView as TcxGridDBTableView).GetColumnByFieldName('FECHA_PEDIDO');
FFiltro.AddItem(Columna, foBetween, varArrayOf([Fecha1, Fecha2]), VarToStr(Fecha1) + ' and ' + VarToStr(Fecha2));
end;
end;
procedure TfrViewPresupuestosCliente.AnadirFiltroSituaciones;
var
FFiltro : TcxFilterCriteriaItemList;
begin
FFiltro := AddFilterGrid(fboAnd);
case cxGrid.ActiveLevel.Index of
1 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PEDIDO_PENDIENTE, SITUACION_PEDIDO_PENDIENTE);
2 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PEDIDO_ENPROCESO, SITUACION_PEDIDO_ENPROCESO);
3 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PEDIDO_SERVIDO, SITUACION_PEDIDO_SERVIDO);
end;
end;
procedure TfrViewPresupuestosCliente.AnadirOtrosFiltros;
begin
inherited;
AnadirFiltroSituaciones;
AnadirFiltroFechas;
//Finalmente activamos el filtro si tenemos algo
if cxGridView.DataController.Filter.IsEmpty
then cxGridView.DataController.Filter.Active := False
else cxGridView.DataController.Filter.Active := True;
cxGrid.ActiveLevel.GridView := cxGridView;
end;
procedure TfrViewPresupuestosCliente.cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
begin
inherited;
RefrescarFiltro;
end;
procedure TfrViewPresupuestosCliente.cxGridViewCODIGOCustomDrawCell(Sender:
TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo:
TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
R: TRect;
begin
inherited;
R := AViewInfo.ContentBounds;
ACanvas.FillRect(R);
ACanvas.DrawImage(PngImageList, R.Left, R.Top, 2);
ADone := True;
end;
procedure TfrViewPresupuestosCliente.cxGridViewMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
Site : TcxGridSite;
HitTest : TcxCustomGridHitTest;
Item : TcxCustomGridTableItem;
Rec : TcxCustomGridRecord;
sNewHint : string;
begin
{Este método desaparecerá cuando se migre la aplicación, es para sacar la causa de la incidencia sin necesidad de entrar en el documento}
Site := Sender as TcxGridSite;
HitTest := Site.GridView.ViewInfo.GetHitTest(X, Y);
if HitTest is TcxGridRecordCellHitTest then begin
Item := TcxGridRecordCellHitTest(HitTest).Item;
Rec := TcxGridRecordCellHitTest(HitTest).GridRecord;
if (Item.Index = cxGridView.GetColumnByFieldName(fld_PedidosClienteINCIDENCIAS_ACTIVAS).Index)
and (Rec.Selected)
and (Pedidos.DataTable.FieldByName(fld_PedidosClienteINCIDENCIAS_ACTIVAS).AsInteger = 1) then begin
sNewHint := Pedidos.DataTable.FieldByName(fld_PedidosClienteINCIDENCIAS).AsString;
if (cxGrid.Hint <> sNewHint) then begin
cxGrid.ShowHint := false;
cxGrid.Hint := sNewHint;
end
else cxGrid.ShowHint := true;
end
else begin
cxGrid.ShowHint := false;
end;
end;
end;
procedure TfrViewPresupuestosCliente.cxGridViewStylesGetContentStyle(Sender:
TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem:
TcxCustomGridTableItem; out AStyle: TcxStyle);
var
IndiceCol: Integer;
ASituacion: string;
begin
inherited;
if Assigned(ARecord) then
begin
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_PedidosClienteSITUACION).Index;
ASituacion := VarToStr(ARecord.DisplayTexts[IndiceCol]);
if ASituacion = SITUACION_PEDIDO_PENDIENTE then
AStyle := cxStylePENDIENTES
else if ASituacion = SITUACION_PEDIDO_ENPROCESO then
AStyle := cxStyleENPROCESO
else if ASituacion = SITUACION_PEDIDO_SERVIDO then
AStyle := cxStyleSERVIDOS;
end;
end;
procedure TfrViewPresupuestosCliente.cxGridViewTIENDAWEBCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
R : TRect;
begin
inherited;
if (AViewInfo.GridRecord.DisplayTexts[cxGridViewTIENDAWEB.Index] <> '') then
begin
R := AViewInfo.ContentBounds;
ACanvas.FillRect(R);
ACanvas.DrawImage(PngImageList, R.Left, R.Top, 4);
ADone := True;
end;
end;
function TfrViewPresupuestosCliente.GetPedidos: IBizPresupuestoCliente;
begin
Result := FPedidos;
end;
procedure TfrViewPresupuestosCliente.SetPedidos(const Value: IBizPresupuestoCliente);
begin
FPedidos := Value;
if Assigned(FPedidos) then
dsDataSource.DataTable := FPedidos.DataTable;
end;
end.