mirror of
http://gitlab.expertsoft.com.ua/git/expertcad
synced 2026-01-11 17:25:39 +02:00
8651 lines
330 KiB
ObjectPascal
8651 lines
330 KiB
ObjectPascal
unit U_CaseForm;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, U_LNG, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, StdCtrls, ComCtrls, ToolWin, cxLookAndFeelPainters, cxButtons,
|
||
cxDropDownEdit, cxCalendar, cxSpinEdit, cxMaskEdit, cxCheckBox,
|
||
cxControls, cxContainer, cxEdit, cxTextEdit, ImgList, cxStyles,
|
||
cxCustomData, cxGraphics, cxFilter, cxData, DB, cxDBData, cxGridLevel,
|
||
cxClasses, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
|
||
cxGridDBTableView, cxGrid, ActnList, cxEditRepositoryItems, Menus,
|
||
cxDataStorage, cxCurrencyEdit, kbmMemTable, FIBDataSet, pFIBDataSet, U_BaseCommon,
|
||
ExtCtrls, Grids, DBGrids, cxButtonEdit, Gauges, ActnMan, ExtDlgs,
|
||
cxDBLookupComboBox, cxImage, cxColorComboBox, Mask, RzEdit, RzPanel,
|
||
RzButton, RzTabs, cxMemo, RzSpnEdt, RzStatus, ClipBrd,
|
||
|
||
U_SCSLists, U_BaseConstants, U_SCSComponent, cxCalc, siComp, siLngLnk, RzRadChk,
|
||
U_MakeEditGuideFile, cxLookAndFeels, cxNavigator, dxCore, cxDateUtils, XPMenu;
|
||
|
||
type
|
||
TDelInterfKind = (dkInterface, dkInterfLink);
|
||
|
||
|
||
type
|
||
TCaseFormParams = record
|
||
ActiveGroupControl: TWinControl;
|
||
ActiveGrid: TcxGrid;
|
||
ActiveGridDBTableView: TcxGridDBTableView;
|
||
CaptionForActions: String[50];
|
||
CaptionForForm: String[50];
|
||
end;
|
||
|
||
TF_CaseForm = class(TForm)
|
||
ToolBar_Edit: TToolBar;
|
||
ToolButton_Make: TToolButton;
|
||
ToolButton_Edit: TToolButton;
|
||
ToolButton_Del: TToolButton;
|
||
ActionList1: TActionList;
|
||
Act_Make: TAction;
|
||
Act_Edit: TAction;
|
||
Act_Del: TAction;
|
||
PopupMenu_Tree: TPopupMenu;
|
||
Act_EnableSCDel: TAction;
|
||
Act_DisableSCDel: TAction;
|
||
GroupBox_Directories: TGroupBox;
|
||
Tree_InterfType: TTreeView;
|
||
Act_AddInterfaceLink: TAction;
|
||
PopupMenu_DropToInterfType: TPopupMenu;
|
||
Act_MoveInterface: TAction;
|
||
pmnu_DropMove: TMenuItem;
|
||
pmnu_DropAddLink: TMenuItem;
|
||
pmnu_DropCancel: TMenuItem;
|
||
Panel_Data: TPanel;
|
||
Splitter_Tree: TSplitter;
|
||
ToolBar_InterfaceType: TToolBar;
|
||
ToolButton2: TToolButton;
|
||
ToolButton3: TToolButton;
|
||
ToolButton4: TToolButton;
|
||
Act_MakeNode: TAction;
|
||
Act_EditNode: TAction;
|
||
Act_DelNode: TAction;
|
||
ToolButton5: TToolButton;
|
||
ToolButton6: TToolButton;
|
||
ToolButton7: TToolButton;
|
||
ToolButton8: TToolButton;
|
||
ToolButton9: TToolButton;
|
||
ToolButton10: TToolButton;
|
||
ToolButton11: TToolButton;
|
||
ToolButton12: TToolButton;
|
||
Act_PanelFind: TAction;
|
||
Panel_Find: TPanel;
|
||
Panel3: TPanel;
|
||
Gauge: TGauge;
|
||
ListView_Find: TListView;
|
||
Splitter_GuideFind: TSplitter;
|
||
Act_ExpandTree: TAction;
|
||
Act_CollapseTree: TAction;
|
||
Act_MoveNodeDown: TAction;
|
||
Act_MoveNodeUp: TAction;
|
||
Panel_Tree: TPanel;
|
||
Act_AddIcon_: TAction;
|
||
Act_EditIcon_: TAction;
|
||
Act_DelIcon_: TAction;
|
||
OpenPictureDialog: TOpenPictureDialog;
|
||
N1: TMenuItem;
|
||
N2: TMenuItem;
|
||
N3: TMenuItem;
|
||
N4: TMenuItem;
|
||
N5: TMenuItem;
|
||
N6: TMenuItem;
|
||
N7: TMenuItem;
|
||
PopupMenu_Data: TPopupMenu;
|
||
N8: TMenuItem;
|
||
N9: TMenuItem;
|
||
N10: TMenuItem;
|
||
Act_AddResourceRel: TAction;
|
||
Act_EditResourceRel: TAction;
|
||
Act_DelResourceRel: TAction;
|
||
Act_MakeResource: TAction;
|
||
Act_EditResource: TAction;
|
||
Act_DelResource: TAction;
|
||
Act_MakeTZ: TAction;
|
||
Act_EditTZ: TAction;
|
||
Act_DelTZ: TAction;
|
||
Panel_Kolvo: TPanel;
|
||
Label_Kolvo: TLabel;
|
||
PopupMenu_Resources: TPopupMenu;
|
||
ActAddResourceRel1: TMenuItem;
|
||
ActEditResourceRel1: TMenuItem;
|
||
ActDelResourceRel1: TMenuItem;
|
||
CurrencyEdit_Kolvo_: TcxCurrencyEdit;
|
||
Act_AddCompTypeProperty: TAction;
|
||
Act_EditCompTypeProperty: TAction;
|
||
Act_DelCompTypeProperty: TAction;
|
||
Timer_PostGridRecord: TTimer;
|
||
Label_CaptLength_: TLabel;
|
||
Panel_OkCancel: TRzPanel;
|
||
Act_AddInterfData: TAction;
|
||
Act_EditInterfData: TAction;
|
||
Act_DelInterfData: TAction;
|
||
PopupMenu_InterfData: TPopupMenu;
|
||
ActAddInterfData1: TMenuItem;
|
||
ActEditInterfData1: TMenuItem;
|
||
ActDelInterfData1: TMenuItem;
|
||
PopupMenu_ComponTypeProperties: TPopupMenu;
|
||
N11: TMenuItem;
|
||
N12: TMenuItem;
|
||
N13: TMenuItem;
|
||
SpinEdit_Kolvo: TcxSpinEdit;
|
||
pcDirectories: TRzPageControl;
|
||
tsCurrency: TRzTabSheet;
|
||
tsNetTypes: TRzTabSheet;
|
||
tsProducers: TRzTabSheet;
|
||
tsInterfaces: TRzTabSheet;
|
||
tsProperties: TRzTabSheet;
|
||
tsComponentTypes: TRzTabSheet;
|
||
tsObjectIcons: TRzTabSheet;
|
||
tsNBNorms: TRzTabSheet;
|
||
tsNBResources: TRzTabSheet;
|
||
GroupBox_Currency: TGroupBox;
|
||
Grid_Currency: TcxGrid;
|
||
GT_CURRENCY: TcxGridDBTableView;
|
||
GT_CURRENCYNAME: TcxGridDBColumn;
|
||
GT_CURRENCYNAME_BRIEF: TcxGridDBColumn;
|
||
GT_CURRENCYRATIO: TcxGridDBColumn;
|
||
GL_CURRENCY: TcxGridLevel;
|
||
GroupBox_NetType: TGroupBox;
|
||
Grid_NetType: TcxGrid;
|
||
GT_NetType: TcxGridDBTableView;
|
||
GT_NetTypeNAME: TcxGridDBColumn;
|
||
GL_NetType: TcxGridLevel;
|
||
GroupBox_Producers: TGroupBox;
|
||
Grid_Producers: TcxGrid;
|
||
GT_Producers: TcxGridDBTableView;
|
||
GT_ProducersName: TcxGridDBColumn;
|
||
GL_Producers: TcxGridLevel;
|
||
GroupBox_Interfaces: TGroupBox;
|
||
Splitter2: TSplitter;
|
||
Grid_Interface: TcxGrid;
|
||
GT_Interfaces: TcxGridDBTableView;
|
||
GT_InterfacesNAME: TcxGridDBColumn;
|
||
GT_InterfacesConstructiveWidth: TcxGridDBColumn;
|
||
GT_InterfacesIDNetType: TcxGridDBColumn;
|
||
GL_Interfaces: TcxGridLevel;
|
||
Panel_InterfData: TRzPanel;
|
||
PageControl_InterfData: TRzPageControl;
|
||
tsInterfaceNorms: TRzTabSheet;
|
||
Grid_InterfaceNorms: TcxGrid;
|
||
GT_InterfaceNorms: TcxGridDBTableView;
|
||
GT_InterfaceNormsCypher: TcxGridDBColumn;
|
||
GT_InterfaceNormsNormName: TcxGridDBColumn;
|
||
GT_InterfaceNormsExpense: TcxGridDBColumn;
|
||
GT_InterfaceNormsIzm: TcxGridDBColumn;
|
||
GT_InterfaceNormsInterfIsBusy: TcxGridDBColumn;
|
||
GL_InterfaceNorms: TcxGridLevel;
|
||
tsInterfAccordance: TRzTabSheet;
|
||
Grid_InterfAccordance: TcxGrid;
|
||
GT_InterfAccordance: TcxGridDBTableView;
|
||
GT_InterfAccordanceInterfComponIsline: TcxGridDBColumn;
|
||
GT_InterfAccordanceName: TcxGridDBColumn;
|
||
GT_InterfAccordanceAccordComponIsline: TcxGridDBColumn;
|
||
GL_InterfAccordance: TcxGridLevel;
|
||
Toolbar_InterfData: TRzToolbar;
|
||
RzToolButton1: TRzToolButton;
|
||
RzToolButton2: TRzToolButton;
|
||
RzToolButton3: TRzToolButton;
|
||
GroupBox_Properties: TGroupBox;
|
||
Grid_Properties: TcxGrid;
|
||
GT_Properties: TcxGridDBTableView;
|
||
GT_PropertiesNAME: TcxGridDBColumn;
|
||
GT_PropertiesIZM: TcxGridDBColumn;
|
||
GT_PropertiesVALUE_REQ: TcxGridDBColumn;
|
||
GT_PropertiesDataType: TcxGridDBColumn;
|
||
GT_PropertiesMIN_VALUE: TcxGridDBColumn;
|
||
GT_PropertiesMAX_VALUE: TcxGridDBColumn;
|
||
GT_PropertiesDEFAULT: TcxGridDBColumn;
|
||
GT_PropertiesDESCRIPTION: TcxGridDBColumn;
|
||
GT_PropertiesIsStandart: TcxGridDBColumn;
|
||
GT_PropertiesDBColumn1: TcxGridDBColumn;
|
||
GL_PROPERTIES: TcxGridLevel;
|
||
Panel_Value: TPanel;
|
||
Label_Value: TLabel;
|
||
lbValue: TLabel;
|
||
Edit_Value: TcxTextEdit;
|
||
SpinEdit_Value: TcxSpinEdit;
|
||
DateEdit_Value: TcxDateEdit;
|
||
ComboBox_Value: TcxComboBox;
|
||
ColorEdit_Value: TRzColorEdit;
|
||
sbProperties: TRzStatusBar;
|
||
spPropertyType: TRzStatusPane;
|
||
spPropertyItemType: TRzStatusPane;
|
||
GroupBox_ComponentTypes: TGroupBox;
|
||
Splitter4: TSplitter;
|
||
Grid_ComponentTypes: TcxGrid;
|
||
GT_ComponentTypes: TcxGridDBTableView;
|
||
GT_ComponentTypesName: TcxGridDBColumn;
|
||
GT_ComponentTypesPortKind: TcxGridDBColumn;
|
||
GT_ComponentTypesActiveState: TcxGridDBColumn;
|
||
GT_ComponentTypesIsLine: TcxGridDBColumn;
|
||
GT_ComponentTypesIsStandart: TcxGridDBColumn;
|
||
GT_ComponentTypesMarkMask: TcxGridDBColumn;
|
||
GT_ComponentTypesNamePlural: TcxGridDBColumn;
|
||
GL_ComponentTypes: TcxGridLevel;
|
||
GroupBox_Comp_Type_Properties: TGroupBox;
|
||
ToolBar_Comp_Type_Properties: TToolBar;
|
||
ToolButton17: TToolButton;
|
||
ToolButton18: TToolButton;
|
||
ToolButton19: TToolButton;
|
||
Grid_CompTypeProp: TcxGrid;
|
||
GT_CompTypeProp: TcxGridDBTableView;
|
||
GT_CompTypePropNAME: TcxGridDBColumn;
|
||
GT_CompTypePropPVALUE: TcxGridDBColumn;
|
||
GT_CompTypePropIZM: TcxGridDBColumn;
|
||
GT_CompTypePropTAKE_INTO_Connect: TcxGridDBColumn;
|
||
GT_CompTypePropTAKE_INTO_JOIN: TcxGridDBColumn;
|
||
GT_CompTypePropDESCRIPTION: TcxGridDBColumn;
|
||
GT_CompTypePropID_DATA_TYPE: TcxGridDBColumn;
|
||
GL_CompTypeProp: TcxGridLevel;
|
||
GroupBox_ObjectIcons: TGroupBox;
|
||
Grid_ObjectIcons: TcxGrid;
|
||
GT_ObjectIcons: TcxGridDBTableView;
|
||
GT_ObjectIconsNAME: TcxGridDBColumn;
|
||
GT_ObjectIconsPROJ_BMP: TcxGridDBColumn;
|
||
GT_ObjectIconsACTIVE_BMP: TcxGridDBColumn;
|
||
GT_ObjectIconsRESERV_BMP: TcxGridDBColumn;
|
||
GL_ObjectIcons: TcxGridLevel;
|
||
GroupBox_NB_Norms: TGroupBox;
|
||
Splitter1: TSplitter;
|
||
Grid_NB_Norms: TcxGrid;
|
||
GT_NB_Norms: TcxGridDBTableView;
|
||
GT_NB_NormsCYPHER: TcxGridDBColumn;
|
||
GT_NB_NormsNAME: TcxGridDBColumn;
|
||
GT_NB_NormsWORK_KIND: TcxGridDBColumn;
|
||
GT_NB_NormsIZM: TcxGridDBColumn;
|
||
GT_NB_NormsZARPLAT: TcxGridDBColumn;
|
||
GL_NB_Norms: TcxGridLevel;
|
||
Grid_NB_NormResourceRel: TcxGrid;
|
||
GT_NB_NormResourceRel: TcxGridDBTableView;
|
||
GT_NB_NormResourceRelISON: TcxGridDBColumn;
|
||
GT_NB_NormResourceRelCYPHER: TcxGridDBColumn;
|
||
GT_NB_NormResourceRelNAME: TcxGridDBColumn;
|
||
GT_NB_NormResourceRelIZM: TcxGridDBColumn;
|
||
GT_NB_NormResourceRelPRICE: TcxGridDBColumn;
|
||
GT_NB_NormResourceRelAdditionalPrice: TcxGridDBColumn;
|
||
GT_NB_NormResourceRelKOLVO: TcxGridDBColumn;
|
||
GT_NB_NormResourceRelCOST: TcxGridDBColumn;
|
||
GL_NB_NormResourceRel: TcxGridLevel;
|
||
ToolBar_Resources: TToolBar;
|
||
ToolButton13: TToolButton;
|
||
ToolButton14: TToolButton;
|
||
ToolButton15: TToolButton;
|
||
GroupBox_NB_Resources: TGroupBox;
|
||
Grid_NB_Resources: TcxGrid;
|
||
GT_NB_Resources: TcxGridDBTableView;
|
||
GT_NB_ResourcesCYPHER: TcxGridDBColumn;
|
||
GT_NB_ResourcesNAME: TcxGridDBColumn;
|
||
GT_NB_ResourcesIZM: TcxGridDBColumn;
|
||
GT_NB_ResourcesPRICE: TcxGridDBColumn;
|
||
GT_NB_ResourcesAdditionalPrice: TcxGridDBColumn;
|
||
GL_NB_Resources: TcxGridLevel;
|
||
gbNBNormResourcesRel: TRzGroupBox;
|
||
GT_NB_ResourcesRType: TcxGridDBColumn;
|
||
Button_Ok: TRzBitBtn;
|
||
Button_Exit: TRzBitBtn;
|
||
Button_Cancel: TRzBitBtn;
|
||
tsSuppliesKinds: TRzTabSheet;
|
||
gbSuppliesKinds: TGroupBox;
|
||
Grid_SuppliesKinds: TcxGrid;
|
||
GT_SuppliesKinds: TcxGridDBTableView;
|
||
GT_SuppliesKindsNAME: TcxGridDBColumn;
|
||
GT_SuppliesKindsIZM: TcxGridDBColumn;
|
||
GT_SuppliesKindsUNIT_KOLVO: TcxGridDBColumn;
|
||
GL_SuppliesKinds: TcxGridLevel;
|
||
GT_ProducersDescription: TcxGridDBColumn;
|
||
GT_CURRENCYKOLVO: TcxGridDBColumn;
|
||
GT_CURRENCYISCOUNTRY: TcxGridDBColumn;
|
||
pmPcDirectories: TPopupMenu;
|
||
Timer_CallMake: TTimer;
|
||
GT_ComponentTypesCOORDZ: TcxGridDBColumn;
|
||
GT_InterfacesNameNetType: TcxGridDBColumn;
|
||
GT_ComponentTypesSysName: TcxGridDBColumn;
|
||
Act_EditObjectIconInCAD: TAction;
|
||
CAD1: TMenuItem;
|
||
GT_ComponentTypesComponentIndex: TcxGridDBColumn;
|
||
lng_Forms: TsiLangLinked;
|
||
GT_CURRENCYMain: TcxGridDBColumn;
|
||
GT_InterfAccordanceKolvo: TcxGridDBColumn;
|
||
GT_InterfacesDescription: TcxGridDBColumn;
|
||
Act_SetIconFromCAD: TAction;
|
||
N14: TMenuItem;
|
||
tsUnitsOfMeasure: TRzTabSheet;
|
||
tsDimensions: TRzTabSheet;
|
||
gbUnitsOfMeasure: TGroupBox;
|
||
Grid_UnitsOfMeasure: TcxGrid;
|
||
GT_UnitsOfMeasure: TcxGridDBTableView;
|
||
GT_UnitsOfMeasureName: TcxGridDBColumn;
|
||
GL_UnitsOfMeasure: TcxGridLevel;
|
||
gbDimensions: TGroupBox;
|
||
Grid_Dimensions: TcxGrid;
|
||
GT_Dimensions: TcxGridDBTableView;
|
||
cxGridDBColumn1: TcxGridDBColumn;
|
||
GL_Dimensions: TcxGridLevel;
|
||
Act_ShowComponTempateInNB: TAction;
|
||
N15: TMenuItem;
|
||
GT_InterfacesIsVisible: TcxGridDBColumn;
|
||
CheckBox_TakeIntoJoin: TRzCheckBox;
|
||
CheckBox_TakeIntoConnect: TRzCheckBox;
|
||
CheckBox_Value: TRzCheckBox;
|
||
GT_PropertiesSysName: TcxGridDBColumn;
|
||
GT_CompTypePropSysName: TcxGridDBColumn;
|
||
Act_GlobalMake: TAction;
|
||
Act_GlobalEdit: TAction;
|
||
Act_GlobalDel: TAction;
|
||
ToolButton1: TToolButton;
|
||
Act_Import: TAction;
|
||
ActImport1: TMenuItem;
|
||
Act_DuplicateCompType: TAction;
|
||
N16: TMenuItem;
|
||
GT_ComponentTypesID: TcxGridDBColumn;
|
||
tsCompSpecifications: TRzTabSheet;
|
||
gbCompSpecifications: TRzGroupBox;
|
||
Grid_CompSpecifications: TcxGrid;
|
||
GT_CompSpecifications: TcxGridDBTableView;
|
||
GT_CompSpecificationsName: TcxGridDBColumn;
|
||
GL_CompSpecifications: TcxGridLevel;
|
||
GT_CompSpecificationsDescription: TcxGridDBColumn;
|
||
GT_CompSpecificationsFileExt: TcxGridDBColumn;
|
||
GT_ObjectIconsID: TcxGridDBColumn;
|
||
GT_ObjectIconsGUID: TcxGridDBColumn;
|
||
Act_CopyGUIDToClipboard: TAction;
|
||
CopyGUIDtoclipboard1: TMenuItem;
|
||
GT_NB_NormsPrice: TcxGridDBColumn;
|
||
Panel1: TPanel;
|
||
Label7: TLabel;
|
||
ButtonEdit_Find: TcxButtonEdit;
|
||
GT_NB_NormsID: TcxGridDBColumn;
|
||
GT_NB_ResourcesID: TcxGridDBColumn;
|
||
GT_NB_NormsLaborTime: TcxGridDBColumn;
|
||
GT_NB_NormsPricePerTime: TcxGridDBColumn;
|
||
GT_NB_NormsTimeUOM: TcxGridDBColumn;
|
||
GT_NetTypeDBColumn1: TcxGridDBColumn;
|
||
XPMenu: TXPMenu;
|
||
procedure FormShow(Sender: TObject);
|
||
procedure Button_OkClick(Sender: TObject);
|
||
procedure ComboBox_PDataTypePropertiesChange(Sender: TObject);
|
||
procedure Act_MakeExecute(Sender: TObject);
|
||
procedure Act_EditExecute(Sender: TObject);
|
||
procedure Act_DelExecute(Sender: TObject);
|
||
procedure GT_CURRENCYDblClick(Sender: TObject);
|
||
procedure GT_PropertiesFocusedRecordChanged(
|
||
Sender: TcxCustomGridTableView; APrevFocusedRecord,
|
||
AFocusedRecord: TcxCustomGridRecord;
|
||
ANewItemRecordFocusingChanged: Boolean);
|
||
procedure GT_PropertiesDataTypeGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_PropertiesDEFAULTGetProperties(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
procedure GT_PropertiesMIN_VALUEGetProperties(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
procedure GT_PROPERTIESMAX_VALUEGetProperties(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
procedure Button_ExitClick(Sender: TObject);
|
||
procedure FormHide(Sender: TObject);
|
||
procedure Act_EnableSCDelExecute(Sender: TObject);
|
||
procedure Act_DisableSCDelExecute(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure Tree_InterfTypeExpanding(Sender: TObject; Node: TTreeNode;
|
||
var AllowExpansion: Boolean);
|
||
procedure Tree_InterfTypeChange(Sender: TObject; Node: TTreeNode);
|
||
procedure Act_AddInterfaceLinkExecute(Sender: TObject);
|
||
procedure GT_InterfacesDragOver(Sender, Source: TObject; X, Y: Integer;
|
||
State: TDragState; var Accept: Boolean);
|
||
procedure Tree_InterfTypeDragOver(Sender, Source: TObject; X,
|
||
Y: Integer; State: TDragState; var Accept: Boolean);
|
||
procedure Tree_InterfTypeDragDrop(Sender, Source: TObject; X,
|
||
Y: Integer);
|
||
procedure GT_InterfacesMouseDown(Sender: TObject; Button: TMouseButton;
|
||
Shift: TShiftState; X, Y: Integer);
|
||
procedure Act_MoveInterfaceExecute(Sender: TObject);
|
||
procedure Act_MakeNodeExecute(Sender: TObject);
|
||
procedure Act_EditNodeExecute(Sender: TObject);
|
||
procedure Act_DelNodeExecute(Sender: TObject);
|
||
procedure Act_PanelFindExecute(Sender: TObject);
|
||
procedure ButtonEdit_FindPropertiesButtonClick(Sender: TObject;
|
||
AButtonIndex: Integer);
|
||
procedure ListView_FindChange(Sender: TObject; Item: TListItem;
|
||
Change: TItemChange);
|
||
procedure Act_ExpandTreeExecute(Sender: TObject);
|
||
procedure Act_CollapseTreeExecute(Sender: TObject);
|
||
procedure ButtonEdit_FindKeyPress(Sender: TObject; var Key: Char);
|
||
procedure Act_MoveNodeDownExecute(Sender: TObject);
|
||
procedure Act_MoveNodeUpExecute(Sender: TObject);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure Tree_InterfTypeEnter(Sender: TObject);
|
||
procedure Panel_DataEnter(Sender: TObject);
|
||
procedure ButtonEdit_FindEnter(Sender: TObject);
|
||
procedure Act_AddResourceRelExecute(Sender: TObject);
|
||
procedure Act_EditResourceRelExecute(Sender: TObject);
|
||
procedure Act_DelResourceRelExecute(Sender: TObject);
|
||
procedure Act_MakeResourceExecute(Sender: TObject);
|
||
procedure Act_EditResourceExecute(Sender: TObject);
|
||
procedure Act_DelResourceExecute(Sender: TObject);
|
||
procedure Act_MakeTZExecute(Sender: TObject);
|
||
procedure Act_EditTZExecute(Sender: TObject);
|
||
procedure Act_DelTZExecute(Sender: TObject);
|
||
procedure GT_NB_NormsFocusedRecordChanged(Sender: TcxCustomGridTableView;
|
||
APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord;
|
||
ANewItemRecordFocusingChanged: Boolean);
|
||
procedure GT_NB_NormResourceRelEditValueChanged(
|
||
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
|
||
procedure GT_NB_NormResourceRelKOLVOPropertiesValidate(Sender: TObject;
|
||
var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
procedure GT_NB_NormResourceRelCellClick(
|
||
Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
procedure GT_ComponentTypesPortKindGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_ComponentTypesActiveStateGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_ComponentTypesIsLineGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure Act_AddCompTypePropertyExecute(Sender: TObject);
|
||
procedure Act_EditCompTypePropertyExecute(Sender: TObject);
|
||
procedure Act_DelCompTypePropertyExecute(Sender: TObject);
|
||
procedure GT_ComponentTypesFocusedRecordChanged(
|
||
Sender: TcxCustomGridTableView; APrevFocusedRecord,
|
||
AFocusedRecord: TcxCustomGridRecord;
|
||
ANewItemRecordFocusingChanged: Boolean);
|
||
procedure GT_CompTypePropPVALUEGetProperties(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
procedure Timer_PostGridRecordTimer(Sender: TObject);
|
||
procedure GT_CompTypePropEditValueChanged(
|
||
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
|
||
procedure Panel_OkCancelResize(Sender: TObject);
|
||
procedure GT_InterfAccordance_InterfComponIslineGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure Act_AddInterfDataExecute(Sender: TObject);
|
||
procedure Act_EditInterfDataExecute(Sender: TObject);
|
||
procedure Act_DelInterfDataExecute(Sender: TObject);
|
||
procedure PageControl_InterfDataChange(Sender: TObject);
|
||
procedure GT_InterfacesFocusedRecordChanged(
|
||
Sender: TcxCustomGridTableView; APrevFocusedRecord,
|
||
AFocusedRecord: TcxCustomGridRecord;
|
||
ANewItemRecordFocusingChanged: Boolean);
|
||
procedure GT_InterfAccordanceInterfComponIslineGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_InterfAccordanceAccordComponIslineGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_InterfacesNAMEPropertiesValidate(Sender: TObject;
|
||
var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
procedure GT_InterfacesConstructiveWidthPropertiesValidate(
|
||
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
procedure GT_InterfacesIDNetTypePropertiesValidate(Sender: TObject;
|
||
var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
procedure GT_NB_NormResourceRelPRICEPropertiesValidate(Sender: TObject;
|
||
var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
procedure GT_NB_NormResourceRelAdditionalPricePropertiesValidate(
|
||
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
procedure pcDirectoriesChange(Sender: TObject);
|
||
procedure GT_NB_ResourcesRTypeGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure pmPcDirectoriesPopup(Sender: TObject);
|
||
procedure Timer_CallMakeTimer(Sender: TObject);
|
||
procedure Act_EditObjectIconInCADExecute(Sender: TObject);
|
||
procedure PopupMenu_TreePopup(Sender: TObject);
|
||
procedure Tree_InterfTypeMouseUp(Sender: TObject; Button: TMouseButton;
|
||
Shift: TShiftState; X, Y: Integer);
|
||
procedure GT_CURRENCYMainGetDisplayText(Sender: TcxCustomGridTableItem;
|
||
ARecord: TcxCustomGridRecord; var AText: String);
|
||
procedure GT_ObjectIconsCellClick(Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
procedure Act_SetIconFromCADExecute(Sender: TObject);
|
||
procedure pcDirectoriesMouseUp(Sender: TObject; Button: TMouseButton;
|
||
Shift: TShiftState; X, Y: Integer);
|
||
procedure Act_ShowComponTempateInNBExecute(Sender: TObject);
|
||
procedure PopupMenu_DataPopup(Sender: TObject);
|
||
procedure GT_PropertiesDEFAULTGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_CompTypePropPVALUEGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_PropertiesMIN_VALUEGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_PropertiesIZMGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_CompTypePropIZMGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_InterfacesConstructiveWidthGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_ComponentTypesCOORDZGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure Act_GlobalMakeExecute(Sender: TObject);
|
||
procedure Act_GlobalDelExecute(Sender: TObject);
|
||
procedure Act_GlobalEditExecute(Sender: TObject);
|
||
procedure Tree_InterfTypeMouseDown(Sender: TObject;
|
||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
procedure Act_ImportExecute(Sender: TObject);
|
||
procedure Act_DuplicateCompTypeExecute(Sender: TObject);
|
||
procedure pcDirectoriesChanging(Sender: TObject; NewIndex: Integer;
|
||
var AllowChange: Boolean);
|
||
procedure Act_CopyGUIDToClipboardExecute(Sender: TObject);
|
||
procedure Tree_InterfTypeGetImageIndex(Sender: TObject;
|
||
Node: TTreeNode);
|
||
procedure GT_NB_NormsLaborTimeGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
procedure GT_ObjectIconsCustomDrawCell(Sender: TcxCustomGridTableView;
|
||
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
|
||
var ADone: Boolean);
|
||
procedure Tree_InterfTypeCustomDrawItem(Sender: TCustomTreeView;
|
||
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
|
||
private
|
||
FParentForm: TForm; // F_MasterNewList;
|
||
|
||
GGridDBTable: TcxCustomGridTableView;
|
||
GCurrRecNoObjectIcons: Integer;
|
||
|
||
FViewKind: TViewKind;
|
||
FItemType: Integer;
|
||
FFormMode: TFormMode;
|
||
|
||
FCaseFormParams: TCaseFormParams;
|
||
FDirTypeInfo: TDirTypeInfo;
|
||
FDragIDPointer: Integer;
|
||
FOldViewKind: TViewKind;
|
||
|
||
FShowedTables: TIntList;
|
||
|
||
FAddedObjectIcon: Boolean;
|
||
FDefIconName: String;
|
||
FDefFileBmp: String;
|
||
FDefFileBlk: String;
|
||
FDefIconType: Integer;
|
||
|
||
FMainSpravochnik: TSpravochnik;
|
||
// FSpravochnik: TSpravochnik;
|
||
|
||
FHiddenTabs: TList;
|
||
FTabsSelectedDir: TStringList;
|
||
|
||
|
||
procedure AddCurrencyToMemTable(ACurrency: TNBCurrency; AAsModified: Boolean);
|
||
// procedure AddComponentTypeToMemTable(AComponentType: TNBComponentType; AAsModified: Boolean);
|
||
procedure AddInterfaceToMemTable(AInterface: TNBInterface; AAsModified: Boolean);
|
||
procedure AddNetTypeToMemTable(ANetType: TNBNetType; AAsModified: Boolean);
|
||
procedure AddNormToMemTable(ANorm: TNBNorm; AAsNew, AAsModified: Boolean);
|
||
procedure AddObjectIconToMemTable(AObjectIcon: TNBObjectIcon; AAsModified: Boolean);
|
||
procedure AddProducerToMemTable(AProducer: TNBProducer; AAsModified: Boolean);
|
||
procedure AddPropertyToMemTable(AProperty: TNBProperty; AMemTable, AmtPropValRel, AmtPropValNormRes: TkbmMemtable; AAsModified: Boolean);
|
||
procedure AddResourceToMemTable(AResource: TNBResource; AAsNew, AAsModified: Boolean);
|
||
procedure AddSuppliesKindToMemTable(ASuppliesKind: TNBSuppliesKind; AAsModified: Boolean);
|
||
function CheckAddObjectToMTByGUID(AObjectName, AGUIDToAdd, ANameToAdd: String; AMemTable: TkbmMemTable): Boolean;
|
||
function GetNBCurrencyFromMemTable: TNBCurrency;
|
||
function GetNBCurrencyFromMemTableByMain(AMainType: Integer): TNBCurrency;
|
||
function GetNBCurrencyFromMemTableByGUID(AGUID: String): TNBCurrency;
|
||
|
||
//function MinMaxReqControl(AValue: String): Boolean;
|
||
//procedure ShowHintEdits(AisShow: Boolean);
|
||
//procedure FormView(AVKind: TViewKind; ACaption: String; AHeight, AWidth: Integer;
|
||
// AisToolBar: Boolean; AToolHint : String);
|
||
//procedure ChoiceEdit;
|
||
procedure EnableEditDel;
|
||
//procedure EnableEditDelObjectIcons;
|
||
procedure EnableEditDelResourceRel;
|
||
procedure EnableEditCompTypeProperties;
|
||
procedure EnableEditDelInterfData;
|
||
//procedure ShowValue(ADataType: Integer; AValue: String);
|
||
procedure ShowPropItemType(AItemType: TItemType);
|
||
function GetDirTypeInfo(AViewKind: TViewKind): TDirTypeInfo;
|
||
function GetFormParams(AViewKind: TViewKind): TCaseFormParams;
|
||
//function GetValueFromEdit( ADataType: Integer): String;
|
||
//function GetLastNppObjIcon(AIDCompStateType: Integer): Integer;
|
||
function GetTabSheetByViewKind(AViewKind: TViewKind): TRzTabSheet;
|
||
procedure SetCaptionToActions(ACaption: String);
|
||
|
||
//procedure UpdateNormResorceCost
|
||
|
||
//procedure AddEditIcon(AMakeEdit: TMakeEdit);
|
||
procedure AddEditResource(AMakeEdit: TMakeEdit);
|
||
procedure AddEditCompTypeProperty(AMakeEdit: TMakeEdit);
|
||
procedure AddEditInterfData(AFormMode: TFormMode);
|
||
//procedure ParseNoWithGroupItems;
|
||
|
||
procedure pcDirectoriesMenuClick(Sender: TObject);
|
||
public
|
||
FSpravochnik: TSpravochnik;
|
||
|
||
mtComponentType: TkbmMemTable;
|
||
mtCompTypePropRelation: TkbmMemTable;
|
||
mtCurrency: TkbmMemTable;
|
||
mtInterface: TkbmMemTable;
|
||
mtInterfaceAccordance: TkbmMemTable;
|
||
mtInterfaceNorms: TkbmMemTable;
|
||
mtNetType: TkbmMemTable;
|
||
mtNorms: TkbmMemTable;
|
||
mtObjectIcons: TkbmMemTable;
|
||
mtProducers: TkbmMemTable;
|
||
mtProperties: TkbmMemTable;
|
||
mtPropValRel: TkbmMemTable;
|
||
mtPropValNormRes: TkbmMemTable;
|
||
mtResources: TkbmMemTable;
|
||
mtSuppliesKinds: TkbmMemTable;
|
||
dsComponentType: TDataSource;
|
||
dsCompTypePropRelation: TDataSource;
|
||
dsCurrency: TDataSource;
|
||
dsInterface: TDataSource;
|
||
dsInterfaceAccordance: TDataSource;
|
||
dsInterfaceNorms: TDataSource;
|
||
dsNetType: TDataSource;
|
||
dsNorms: TDataSource;
|
||
dsObjectIcons: TDataSource;
|
||
dsProducers: TDataSource;
|
||
dsProperties: TDataSource;
|
||
dsPropValRel: TDataSource;
|
||
dsPropValNormRes: TDataSource;
|
||
dsResources: TDataSource;
|
||
dsSuppliesKinds: TDataSource;
|
||
|
||
MemTableComponTypes: TkbmMemTable;
|
||
MemTableProperties: TkbmMemTable;
|
||
|
||
GForm: TForm;
|
||
GValue: String;
|
||
GTakeIntoConnect: Integer;
|
||
GTakeIntoJoin: Integer;
|
||
GItemType: TItemType;
|
||
GItemFieldName: String;
|
||
GGUIDToLocate: String;
|
||
GIDToLocate: Integer;
|
||
GValueChanged: Boolean;
|
||
GUseMemTable: TkbmMemTable;
|
||
|
||
GIDNotDel: Integer;
|
||
GChangetNetType: Boolean;
|
||
|
||
GMouseButtonBeforeDrag: TMouseButton;
|
||
GSNode: TTreeNode;
|
||
GTNode: TTreeNode;
|
||
GDropMenuResult: TDropMenuResult;
|
||
FChangedAnySpavElemen: Boolean;
|
||
FUOM: Integer;
|
||
|
||
procedure AddComponentTypeToMemTable(AComponentType: TNBComponentType; AAsModified: Boolean);
|
||
|
||
|
||
property DirTypeInfo: TDirTypeInfo read FDirTypeInfo;
|
||
property FormMode: TFormMode read FFormMode;
|
||
|
||
function NotDelDataUsedInMemTable(AMTKeyField, ADelKind, AItName: String;
|
||
ADSKeyValue: Integer): Boolean;
|
||
function CheckChange: Boolean;
|
||
function CheckNoUseCompData(ASql, ADelName: String; AMakeEdit: TMakeEdit;
|
||
ATableKind: TTableKind; AMessType: TShowMessageType; ANeedAnsw: boolean = True): Boolean;
|
||
//function CheckNoUseCompData(ASql, ADelName: String; AMakeEdit: TMakeEdit;
|
||
// ATableKind: TTableKind; AMessType: TShowMessageType): Boolean;
|
||
function CheckNoUsingCurrCompType(AMakeEdit: TMakeEdit; AMessType: TShowMessageType; AIDCompType: Integer): Boolean;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
procedure AddNodes(ANode: TTreeNode);
|
||
function DefineTextNode(ANode: TTreeNode): String;
|
||
|
||
//procedure MoveInterface(AID_SourceDir, AID_TargetDir, AID_Interface: Integer);
|
||
procedure MoveItemBetweenNodes(ASrcNode, ATrgNode: TTreeNode; AID_Item: Integer);
|
||
procedure MoveNodes(ASourceNode, ATargetNode: TTreeNode);
|
||
function GetNodeFromTreeByID(AIDNode: Integer): TTreeNode;
|
||
function GetRoomHeight: Double;
|
||
function GetViewKindByTabSheet(ATabSheet: TRzTabSheet): TViewKind;
|
||
function FindNodeByID(AIDNode: Integer): TTreeNode;
|
||
function LocateItemByGUID(AGUIDItem: String): Boolean;
|
||
function LocateItemByID(AIDItem: Integer): Boolean;
|
||
|
||
procedure PrepareForm(AViewKind: TViewKind; AFormMode: TFormMode);
|
||
procedure RenameNode(ANode: TTreeNode; ANewName: String);
|
||
procedure SendFromSpravochnikToMemTables(ASpravochnik: TSpravochnik; ASprElements: TSprElements);
|
||
procedure SendFromMemTablesToSpravochnik(ASpravochnik: TSpravochnik; ASprElements: TSprElements;
|
||
AChangedInterfNorm: PBoolean);
|
||
procedure RefreshKolNode(ANode: TTreeNode; AKolvo: Integer = -1);
|
||
procedure RefreshNodes(AIDToSelect: Integer);
|
||
procedure SaveSelectTabNode;
|
||
procedure SelectLastTabNode;
|
||
function SelectNodeByID(AID: Integer): Boolean;
|
||
procedure SetCurrencyBriefToControls(ACurrency: TCurrency);
|
||
procedure SetCurrencyBriefToControlsFromMT;
|
||
procedure SetKolChildNodes(ANode: TTreeNode);
|
||
function SetSortID(ANode: TTreeNode): Integer;
|
||
procedure SetPageByViewKind(AViewKind: TViewKind);
|
||
procedure MoveTreeNode(AMoveType: TMoveType);
|
||
procedure SetUOMToCaptions;
|
||
|
||
Constructor Create(AOwner: TComponent; AForm, AParentForm: TForm; AItemType: Integer);
|
||
Destructor Destroy; override;
|
||
|
||
function AddObjectIconFromFile(AIconName, AFileIconBmp, AFileIconBlk: String): Boolean;
|
||
function Execute(AViewKind: TViewKind; AFormMode: TFormMode): Boolean;
|
||
end;
|
||
|
||
const
|
||
// InterfDataTabIntex
|
||
idiInterfNorms = 0;
|
||
idiInterfAccordance = 1;
|
||
{
|
||
var
|
||
F_CaseForm: TF_CaseForm; }
|
||
|
||
implementation
|
||
Uses Unit_DM_SCS, U_DMCommon, U_CanDelete, U_MakeCurrency, U_MakeProperty, U_Main, U_Common,
|
||
FIBQuery, pFIBProps, U_InputBox, pFIBQuery, cxDBEditRepository,
|
||
U_MakeEditComponentType, U_MakeEditObjectIcons,
|
||
U_MakeNorm, U_MakeEditSupplyKind, U_MakeEditProducer, U_MasterNewList;
|
||
{$R *.dfm}
|
||
|
||
|
||
procedure TF_CaseForm.AddCurrencyToMemTable(ACurrency: TNBCurrency; AAsModified: Boolean);
|
||
begin
|
||
mtCurrency.Append;
|
||
mtCurrency.FieldByName(fnID).AsInteger := ACurrency.Data.ID;
|
||
mtCurrency.FieldByName(fnIDCatalog).AsInteger := ACurrency.IDCatalog;
|
||
mtCurrency.FieldByName(fnIDItemType).AsInteger := ACurrency.CatalogItemType;
|
||
mtCurrency.FieldByName(fnGuid).AsString := ACurrency.Data.GUID;
|
||
mtCurrency.FieldByName(fnName).AsString := ACurrency.Data.Name;
|
||
mtCurrency.FieldByName(fnNameBrief).AsString := ACurrency.Data.NameBrief;
|
||
mtCurrency.FieldByName(fnKolvo).AsInteger := ACurrency.Data.Kolvo;
|
||
mtCurrency.FieldByName(fnRatio).AsFloat := ACurrency.Data.Ratio;
|
||
mtCurrency.FieldByName(fnMain).AsInteger := ACurrency.Data.Main;
|
||
mtCurrency.FieldByName(fnSavedMain).AsInteger := ACurrency.Data.Main;
|
||
//mtCurrency.FieldByName(fnSortID).AsInteger :=
|
||
mtCurrency.FieldByName(fnIsCountry).AsInteger := ACurrency.Data.IsCountry;
|
||
mtCurrency.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
mtCurrency.Post;
|
||
end;
|
||
|
||
procedure TF_CaseForm.AddComponentTypeToMemTable(AComponentType: TNBComponentType; AAsModified: Boolean);
|
||
var
|
||
i: Integer;
|
||
NBCompTypePropRel: TNBCompTypeProperty;
|
||
|
||
NormBaseProperty: TNBProperty;
|
||
begin
|
||
mtComponentType.Append;
|
||
mtComponentType.FieldByName(fnID).AsInteger := AComponentType.ComponentType.ID;
|
||
mtComponentType.FieldByName(fnIDCatalog).AsInteger := AComponentType.IDCatalog;
|
||
mtComponentType.FieldByName(fnIDItemType).AsInteger := AComponentType.CatalogItemType;
|
||
mtComponentType.FieldByName(fnGuid).AsString := AComponentType.ComponentType.GUID;
|
||
mtComponentType.FieldByName(fnName).AsString := AComponentType.ComponentType.Name;
|
||
mtComponentType.FieldByName(fnNamePlural).AsString := AComponentType.ComponentType.NamePlural;
|
||
mtComponentType.FieldByName(fnSysName).AsString := AComponentType.ComponentType.SysName;
|
||
mtComponentType.FieldByName(fnMarkMask).AsString := AComponentType.ComponentType.MarkMask;
|
||
mtComponentType.FieldByName(fnPortKind).AsInteger := AComponentType.ComponentType.PortKind;
|
||
mtComponentType.FieldByName(fnActiveState).AsInteger := AComponentType.ComponentType.ActiveState;
|
||
mtComponentType.FieldByName(fnIDDesignIcon).AsInteger := AComponentType.ComponentType.IDDesignIcon;
|
||
mtComponentType.FieldByName(fnGUIDDesignIcon).AsString := AComponentType.ComponentType.GUIDDesignIcon;
|
||
mtComponentType.FieldByName(fnIsLine).AsInteger := AComponentType.ComponentType.IsLine;
|
||
mtComponentType.FieldByName(fnisStandart).AsInteger := AComponentType.ComponentType.IsStandart;
|
||
mtComponentType.FieldByName(fnCoordZ).AsFloat := AComponentType.ComponentType.CoordZ;
|
||
mtComponentType.FieldByName(fnComponentIndex).AsInteger := AComponentType.ComponentType.ComponentIndex + 1;
|
||
mtComponentType.FieldByName(fnCanUseAsPoint).AsInteger := AComponentType.ComponentType.CanUseAsPoint;
|
||
mtComponentType.FieldByName(fnPropsCount).AsInteger := AComponentType.PropsCount;
|
||
mtComponentType.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
mtComponentType.Post;
|
||
|
||
for i := 0 to AComponentType.Properties.Count - 1 do
|
||
begin
|
||
NBCompTypePropRel := TNBCompTypeProperty(AComponentType.Properties[i]);
|
||
|
||
//NormBaseProperty := TF_Main(GForm).FNormBase.GSCSBase.NBSpravochnik.GetPropertyByGUID(NBCompTypePropRel.PropertyData.GUIDProperty);
|
||
NormBaseProperty := FSpravochnik.GetPropertyByGUID(NBCompTypePropRel.PropertyData.GUIDProperty);
|
||
if FMainSpravochnik <> nil then
|
||
NormBaseProperty := FMainSpravochnik.GetPropertyByGUID(NBCompTypePropRel.PropertyData.GUIDProperty);
|
||
|
||
if NormBaseProperty = nil then
|
||
NormBaseProperty := F_NormBase.GSCSBase.NBSpravochnik.GetPropertyByGUID(NBCompTypePropRel.PropertyData.GUIDProperty);
|
||
|
||
mtCompTypePropRelation.Append;
|
||
mtCompTypePropRelation.FieldByName(fnGuidComponentType).AsString := NBCompTypePropRel.GuidComponentType;
|
||
mtCompTypePropRelation.FieldByName(fnGUID).AsString := NBCompTypePropRel.PropertyData.Guid;
|
||
mtCompTypePropRelation.FieldByName(fnID).AsInteger := NBCompTypePropRel.PropertyData.ID;
|
||
mtCompTypePropRelation.FieldByName(fnIDComponentType).AsInteger := NBCompTypePropRel.PropertyData.IDMaster;
|
||
mtCompTypePropRelation.FieldByName(fnIDProperty).AsInteger := NBCompTypePropRel.PropertyData.ID_Property;
|
||
mtCompTypePropRelation.FieldByName(fnGuidProperty).AsString := NBCompTypePropRel.PropertyData.GUIDProperty;
|
||
mtCompTypePropRelation.FieldByName(fnTakeIntoConnect).AsInteger := NBCompTypePropRel.PropertyData.TakeIntoConnect;
|
||
mtCompTypePropRelation.FieldByName(fnTakeIntoJoin).AsInteger := NBCompTypePropRel.PropertyData.TakeIntoJoin;
|
||
|
||
mtCompTypePropRelation.FieldByName(fnPValue).AsString := NBCompTypePropRel.PropertyData.Value;
|
||
mtCompTypePropRelation.FieldByName(fnisStandart).AsInteger := NBCompTypePropRel.PropertyData.IsDefault;
|
||
mtCompTypePropRelation.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
if NormBaseProperty <> nil then
|
||
begin
|
||
mtCompTypePropRelation.FieldByName(fnName).AsString := NormBaseProperty.PropertyData.Name;
|
||
mtCompTypePropRelation.FieldByName(fnSysName).AsString := NormBaseProperty.PropertyData.SysName;
|
||
mtCompTypePropRelation.FieldByName(fnIzm).AsString := NormBaseProperty.PropertyData.Izm;
|
||
mtCompTypePropRelation.FieldByName(fnIDDataType).AsInteger := NormBaseProperty.PropertyData.IDDataType;
|
||
end;
|
||
|
||
mtCompTypePropRelation.Post;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.AddInterfaceToMemTable(AInterface: TNBInterface; AAsModified: Boolean);
|
||
var
|
||
NBInterfaceAccordance: TNBInterfaceAccordance;
|
||
NBInterfaceNorm: TNBInterfaceNorm;
|
||
|
||
NormBaseInterfAccordance: TNBInterface;
|
||
NormBaseNetType: TNBNetType;
|
||
NormBaseNorm: TNBNorm;
|
||
i: Integer;
|
||
begin
|
||
NormBaseNetType := FSpravochnik.GetNetTypeByGUID(AInterface.GuidNetType); //TF_Main(GForm).FNormBase.GSCSBase.NBSpravochnik.GetNetTypeByGUID(AInterface.GuidNetType);
|
||
|
||
mtInterface.Append;
|
||
mtInterface.FieldByName(fnID).AsInteger := AInterface.ID;
|
||
mtInterface.FieldByName(fnIDCatalog).AsInteger := AInterface.IDCatalog;
|
||
mtInterface.FieldByName(fnIDItemType).AsInteger := AInterface.CatalogItemType;
|
||
mtInterface.FieldByName(fnGuid).AsString := AInterface.GUID;
|
||
mtInterface.FieldByName(fnName).AsString := AInterface.Name;
|
||
mtInterface.FieldByName(fnGuidNetType).AsString := AInterface.GuidNetType;
|
||
mtInterface.FieldByName(fnIDNetType).AsInteger := AInterface.IDNetType;
|
||
mtInterface.FieldByName(fnSortID).AsInteger := AInterface.SortID;
|
||
if AInterface.ConstructiveWidth = 0 then
|
||
mtInterface.FieldByName(fnConstructiveWidth).Value := null
|
||
else
|
||
mtInterface.FieldByName(fnConstructiveWidth).AsFloat := AInterface.ConstructiveWidth;
|
||
mtInterface.FieldByName(fnDescription).AsString := AInterface.Description;
|
||
mtInterface.FieldByName(fnIsUniversal).AsInteger := AInterface.IsUniversal;
|
||
mtInterface.FieldByName(fnInterfNormsCount).AsInteger := AInterface.InterfNormsCount;
|
||
mtInterface.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
if NormBaseNetType <> nil then
|
||
mtInterface.FieldByName(fnNameNetType).AsString := NormBaseNetType.Name;
|
||
mtInterface.Post;
|
||
|
||
|
||
for i := 0 to AInterface.InterfaceAccordance.Count - 1 do
|
||
begin
|
||
NBInterfaceAccordance := TNBInterfaceAccordance(AInterface.InterfaceAccordance[i]);
|
||
|
||
NormBaseInterfAccordance := FSpravochnik.GetInterfaceByGUID(NBInterfaceAccordance.GUIDAccordance);
|
||
if NormBaseInterfAccordance = nil then
|
||
NormBaseInterfAccordance := F_NormBase.GSCSBase.NBSpravochnik.GetInterfaceByGUID(NBInterfaceAccordance.GUIDAccordance);
|
||
|
||
mtInterfaceAccordance.Append;
|
||
mtInterfaceAccordance.FieldByName(fnID).AsInteger := NBInterfaceAccordance.ID;
|
||
mtInterfaceAccordance.FieldByName(fnGUID).AsString := NBInterfaceAccordance.GUID;
|
||
mtInterfaceAccordance.FieldByName(fnGUIDInterface).AsString := NBInterfaceAccordance.GuidInterface;
|
||
mtInterfaceAccordance.FieldByName(fnIDInterface).AsInteger := NBInterfaceAccordance.IDInterface;
|
||
mtInterfaceAccordance.FieldByName(fnInterfComponIsLine).AsInteger := NBInterfaceAccordance.InterfComponIsLine;
|
||
mtInterfaceAccordance.FieldByName(fnGUIDAccordance).AsString := NBInterfaceAccordance.GUIDAccordance;
|
||
mtInterfaceAccordance.FieldByName(fnIDAccordance).AsInteger := NBInterfaceAccordance.IDAccordance;
|
||
mtInterfaceAccordance.FieldByName(fnAccordComponIsLine).AsInteger := NBInterfaceAccordance.AccordComponIsLine;
|
||
mtInterfaceAccordance.FieldByName(fnKolvo).AsInteger := NBInterfaceAccordance.Kolvo;
|
||
mtInterfaceAccordance.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
|
||
if NormBaseInterfAccordance <> nil then
|
||
mtInterfaceAccordance.FieldByName(fnName).AsString := NormBaseInterfAccordance.Name;
|
||
|
||
mtInterfaceAccordance.Post;
|
||
end;
|
||
|
||
for i := 0 to AInterface.InterfaceNorms.Count - 1 do
|
||
begin
|
||
NBInterfaceNorm := TNBInterfaceNorm(AInterface.InterfaceNorms[i]);
|
||
|
||
//SCSNorm := NBNorms.GetNormByGuidNB(NBInterfaceNorm.GuidNBNorm, True);
|
||
//if SCSNorm = nil then
|
||
//begin
|
||
// SCSNorm := TSCSNorm.Create(F_NormBase, ntNB);
|
||
// SCSNorm.LoadNormByGUID(NBInterfaceNorm.GuidNBNorm, false);
|
||
// NBNorms.Add(SCSNorm);
|
||
//end;
|
||
|
||
NormBaseNorm := FSpravochnik.GetNormByGUID(NBInterfaceNorm.GuidNBNorm);
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if NormBaseNorm = nil then
|
||
NormBaseNorm := F_NormBase.GSCSBase.NBSpravochnik.GetNormByGUID(NBInterfaceNorm.GuidNBNorm);
|
||
|
||
mtInterfaceNorms.Append;
|
||
mtInterfaceNorms.FieldByName(fnID).AsInteger := NBInterfaceNorm.ID;
|
||
mtInterfaceNorms.FieldByName(fnGuid).AsString := NBInterfaceNorm.GUID;
|
||
mtInterfaceNorms.FieldByName(fnGuidInterface).AsString := NBInterfaceNorm.GuidInterface;
|
||
mtInterfaceNorms.FieldByName(fnIDInterface).AsInteger := NBInterfaceNorm.IDInterface;
|
||
mtInterfaceNorms.FieldByName(fnGuidNBNorm).AsString := NBInterfaceNorm.GuidNBNorm;
|
||
mtInterfaceNorms.FieldByName(fnIDNBNorm).AsInteger := NBInterfaceNorm.IDNBNorm;
|
||
mtInterfaceNorms.FieldByName(fnExpense).AsFloat := NBInterfaceNorm.Expense;
|
||
mtInterfaceNorms.FieldByName(fnInterfaceIsBusy).AsInteger := NBInterfaceNorm.InterfaceIsBusy;
|
||
|
||
mtInterfaceNorms.FieldByName(fnGuidComponentType).AsString := NBInterfaceNorm.GUIDComponentType;
|
||
mtInterfaceNorms.FieldByName(fnIDComponentType).AsInteger := NBInterfaceNorm.IDComponentType;
|
||
mtInterfaceNorms.FieldByName(fnKoefLengthForCompl).AsFloat := NBInterfaceNorm.KoefLengthForCompl;
|
||
|
||
mtInterfaceNorms.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
if NormBaseNorm <> nil then
|
||
begin
|
||
mtInterfaceNorms.FieldByName(fnCypher).AsString := NormBaseNorm.Cypher;
|
||
mtInterfaceNorms.FieldByName(fnName).AsString := NormBaseNorm.Name;
|
||
mtInterfaceNorms.FieldByName(fnIzm).AsString := NormBaseNorm.Izm;
|
||
end;
|
||
mtInterfaceNorms.Post;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.AddNetTypeToMemTable(ANetType: TNBNetType; AAsModified: Boolean);
|
||
begin
|
||
mtNetType.Append;
|
||
mtNetType.FieldByName(fnID).AsInteger := ANetType.ID;
|
||
mtNetType.FieldByName(fnIDCatalog).AsInteger := ANetType.IDCatalog;
|
||
mtNetType.FieldByName(fnIDItemType).AsInteger := ANetType.CatalogItemType;
|
||
mtNetType.FieldByName(fnGuid).AsString := ANetType.GUID;
|
||
mtNetType.FieldByName(fnName).AsString := ANetType.Name;
|
||
mtNetType.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
mtNetType.Post;
|
||
end;
|
||
|
||
procedure TF_CaseForm.AddNormToMemTable(ANorm: TNBNorm; AAsNew, AAsModified: Boolean);
|
||
begin
|
||
mtNorms.Append;
|
||
mtNorms.FieldByName(fnID).AsInteger := ANorm.ID;
|
||
mtNorms.FieldByName(fnIDCatalog).AsInteger := ANorm.IDCatalog;
|
||
mtNorms.FieldByName(fnIDItemType).AsInteger := ANorm.CatalogItemType;
|
||
mtNorms.FieldByName(fnGuid).AsString := ANorm.GUID;
|
||
mtNorms.FieldByName(fnCypher).AsString := ANorm.Cypher;
|
||
mtNorms.FieldByName(fnName).AsString := ANorm.Name;
|
||
mtNorms.FieldByName(fnIzm).AsString := ANorm.Izm;
|
||
|
||
mtNorms.FieldByName(fnLaborTime).AsInteger := ANorm.LaborTime;
|
||
mtNorms.FieldByName(fnPricePerTime).AsFloat := ANorm.PricePerTime;
|
||
//mtNorms.FieldByName(fnTimeUOM).AsInteger := ANorm.TimeUOM;
|
||
|
||
mtNorms.FieldByName(fnPrice).AsFloat := ANorm.Price;
|
||
mtNorms.FieldByName(fnGuidESmeta).AsString := ANorm.GUIDESmeta;
|
||
mtNorms.FieldByName(fnApplyForAllSame).AsBoolean := false;
|
||
mtNorms.FieldByName(fnIsNew).AsBoolean := AAsNew;
|
||
mtNorms.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
mtNorms.Post;
|
||
end;
|
||
|
||
procedure TF_CaseForm.AddObjectIconToMemTable(AObjectIcon: TNBObjectIcon; AAsModified: Boolean);
|
||
begin
|
||
mtObjectIcons.Append;
|
||
if mtObjectIcons.State = dsBrowse then
|
||
mtObjectIcons.Edit;
|
||
mtObjectIcons.FieldByName(fnID).AsInteger := AObjectIcon.ID;
|
||
mtObjectIcons.FieldByName(fnIDCatalog).AsInteger := AObjectIcon.IDCatalog;
|
||
mtObjectIcons.FieldByName(fnIDItemType).AsInteger := AObjectIcon.CatalogItemType;
|
||
mtObjectIcons.FieldByName(fnGuid).AsString := AObjectIcon.GUID;
|
||
mtObjectIcons.FieldByName(fnName).AsString := AObjectIcon.Name;
|
||
LoadFromStreamToMT(mtObjectIcons, AObjectIcon.ProjBlk, fnProjBlk);
|
||
LoadFromStreamToMT(mtObjectIcons, AObjectIcon.ProjBmp, fnProjBmp);
|
||
LoadFromStreamToMT(mtObjectIcons, AObjectIcon.ActiveBlk, fnActiveBlk);
|
||
LoadFromStreamToMT(mtObjectIcons, AObjectIcon.ActiveBmp, fnActiveBmp);
|
||
mtObjectIcons.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
mtObjectIcons.Post;
|
||
end;
|
||
|
||
procedure TF_CaseForm.AddProducerToMemTable(AProducer: TNBProducer; AAsModified: Boolean);
|
||
begin
|
||
mtProducers.Append;
|
||
mtProducers.FieldByName(fnID).AsInteger := AProducer.ID;
|
||
mtProducers.FieldByName(fnIDCatalog).AsInteger := AProducer.IDCatalog;
|
||
mtProducers.FieldByName(fnIDItemType).AsInteger := AProducer.CatalogItemType;
|
||
mtProducers.FieldByName(fnGuid).AsString := AProducer.GUID;
|
||
mtProducers.FieldByName(fnName).AsString := AProducer.Name;
|
||
mtProducers.FieldByName(fnDescription).AsString := AProducer.Description;
|
||
mtProducers.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
mtProducers.Post;
|
||
end;
|
||
|
||
procedure TF_CaseForm.AddPropertyToMemTable(AProperty: TNBProperty; AMemTable, AmtPropValRel, AmtPropValNormRes: TkbmMemtable; AAsModified: Boolean);
|
||
var
|
||
NBPropValRel: TNBPropValRel;
|
||
NBPropValNormRes: TNBPropValNormRes;
|
||
i, j: Integer;
|
||
begin
|
||
AMemTable.Append;
|
||
AMemTable.FieldByName(fnID).AsInteger := AProperty.PropertyData.ID;
|
||
AMemTable.FieldByName(fnIDCatalog).AsInteger := AProperty.IDCatalog;
|
||
AMemTable.FieldByName(fnIDItemType).AsInteger := AProperty.CatalogItemType;
|
||
AMemTable.FieldByName(fnGUID).AsString := AProperty.PropertyData.GUID;
|
||
AMemTable.FieldByName(fnIDDataType).AsInteger := AProperty.PropertyData.IDDataType;
|
||
AMemTable.FieldByName(fnName).AsString := AProperty.PropertyData.Name;
|
||
AMemTable.FieldByName(fnSysName).AsString := AProperty.PropertyData.SysName;
|
||
AMemTable.FieldByName(fnIzm).AsString := AProperty.PropertyData.Izm;
|
||
AMemTable.FieldByName(fnValueReq).AsInteger := AProperty.PropertyData.ValueReq;
|
||
AMemTable.FieldByName(fnMinValue).AsFloat := AProperty.PropertyData.MinValue;
|
||
AMemTable.FieldByName(fnMaxValue).AsFloat := AProperty.PropertyData.MaxValue;
|
||
AMemTable.FieldByName(fnDefValue).AsString := AProperty.PropertyData.DefValue;
|
||
AMemTable.FieldByName(fnDescription).AsString := AProperty.PropertyData.Description;
|
||
AMemTable.FieldByName(fnIsStandart).AsInteger := AProperty.PropertyData.IsStandart;
|
||
AMemTable.FieldByName(fnSortID).AsInteger := AProperty.PropertyData.SortID;
|
||
AMemTable.FieldByName(fnISProject).AsInteger := AProperty.PropertyData.ISProject;
|
||
AMemTable.FieldByName(fnISFolder).AsInteger := AProperty.PropertyData.ISFolder;
|
||
AMemTable.FieldByName(fnISList).AsInteger := AProperty.PropertyData.ISList;
|
||
AMemTable.FieldByName(fnISRoom).AsInteger := AProperty.PropertyData.ISRoom;
|
||
AMemTable.FieldByName(fnISSCSLine).AsInteger := AProperty.PropertyData.ISSCSLine;
|
||
AMemTable.FieldByName(fnISSCSConnector).AsInteger := AProperty.PropertyData.ISSCSConnector;
|
||
AMemTable.FieldByName(fnISComponLine).AsInteger := AProperty.PropertyData.ISComponLine;
|
||
AMemTable.FieldByName(fnISComponConn).AsInteger := AProperty.PropertyData.ISComponConn;
|
||
AMemTable.FieldByName(fnIsForWholeComponent).AsInteger := AProperty.PropertyData.IsForWholeComponent;
|
||
AMemTable.FieldByName(fnIsValueRelToObj).AsInteger := AProperty.PropertyData.IsValueRelToObj;
|
||
AMemTable.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
AMemTable.Post;
|
||
|
||
if AmtPropValRel <> nil then
|
||
for i := 0 to AProperty.PropValRelList.Count - 1 do
|
||
begin
|
||
NBPropValRel := TNBPropValRel(AProperty.PropValRelList[i]);
|
||
|
||
AmtPropValRel.Append;
|
||
AmtPropValRel.FieldByName(fnID).AsInteger := NBPropValRel.ID;
|
||
AmtPropValRel.FieldByName(fnGUID).AsString := NBPropValRel.GUID;
|
||
AmtPropValRel.FieldByName(fnIDProperty).AsInteger := NBPropValRel.IDProperty;
|
||
AmtPropValRel.FieldByName(fnGuidProperty).AsString := NBPropValRel.GuidProperty;
|
||
if NBPropValRel.PValue <> '' then
|
||
AmtPropValRel.FieldByName(fnPValue).AsString := NBPropValRel.PValue
|
||
else
|
||
AmtPropValRel.FieldByName(fnPValue).Value := null;
|
||
if NBPropValRel.MinValue <> '' then
|
||
AmtPropValRel.FieldByName(fnMinValue).AsString := NBPropValRel.MinValue
|
||
else
|
||
AmtPropValRel.FieldByName(fnMinValue).Value := null;
|
||
if NBPropValRel.MaxValue <> '' then
|
||
AmtPropValRel.FieldByName(fnMaxValue).AsString := NBPropValRel.MaxValue
|
||
else
|
||
AmtPropValRel.FieldByName(fnMaxValue).Value := null;
|
||
AmtPropValRel.FieldByName(fnIsNew).AsBoolean := false;
|
||
AmtPropValRel.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
AmtPropValRel.Post;
|
||
|
||
if AmtPropValNormRes <> nil then
|
||
for j := 0 to NBPropValRel.PropValNormResList.Count - 1 do
|
||
begin
|
||
NBPropValNormRes := TNBPropValNormRes(NBPropValRel.PropValNormResList[j]);
|
||
|
||
AmtPropValNormRes.Append;
|
||
AmtPropValNormRes.FieldByName(fnID).AsInteger := NBPropValNormRes.ID;
|
||
AmtPropValNormRes.FieldByName(fnGUID).AsString := NBPropValNormRes.GUID;
|
||
AmtPropValNormRes.FieldByName(fnIDPropValRel).AsInteger := NBPropValNormRes.IDPropValRel;
|
||
AmtPropValNormRes.FieldByName(fnGuidPropValRel).AsString := NBPropValNormRes.GuidPropValRel;
|
||
AmtPropValNormRes.FieldByName(fnIDNBComponent).AsInteger := NBPropValNormRes.IDNBComponent;
|
||
AmtPropValNormRes.FieldByName(fnGuidNBComponent).AsString := NBPropValNormRes.GuidNBComponent;
|
||
AmtPropValNormRes.FieldByName(fnIDNBRes).AsInteger := NBPropValNormRes.IDNBRes;
|
||
AmtPropValNormRes.FieldByName(fnGuidNBRes).AsString := NBPropValNormRes.GuidNBRes;
|
||
AmtPropValNormRes.FieldByName(fnIDNBNorm).AsInteger := NBPropValNormRes.IDNBNorm;
|
||
AmtPropValNormRes.FieldByName(fnGuidNBNorm).AsString := NBPropValNormRes.GuidNBNorm;
|
||
AmtPropValNormRes.FieldByName(fnName).AsString:= '';
|
||
AmtPropValNormRes.FieldByName(fnKolvo).AsFloat := NBPropValNormRes.Kolvo;
|
||
AmtPropValNormRes.FieldByName(fnExpenseForLength).AsFloat := NBPropValNormRes.ExpenseForLength;
|
||
AmtPropValNormRes.FieldByName(fnCountForPoint).AsFloat := NBPropValNormRes.CountForPoint;
|
||
AmtPropValNormRes.FieldByName(fnStepOfPoint).AsFloat := NBPropValNormRes.StepOfPoint;
|
||
AmtPropValNormRes.FieldByName(fnIsNew).AsBoolean := false;
|
||
AmtPropValNormRes.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
AmtPropValNormRes.Post;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.AddResourceToMemTable(AResource: TNBResource; AAsNew, AAsModified: Boolean);
|
||
begin
|
||
mtResources.Append;
|
||
mtResources.FieldByName(fnID).AsInteger := AResource.ID;
|
||
mtResources.FieldByName(fnIDCatalog).AsInteger := AResource.IDCatalog;
|
||
mtResources.FieldByName(fnIDItemType).AsInteger := AResource.CatalogItemType;
|
||
mtResources.FieldByName(fnGuid).AsString := AResource.GUID;
|
||
mtResources.FieldByName(fnCypher).AsString := AResource.Cypher;
|
||
mtResources.FieldByName(fnName).AsString := AResource.Name;
|
||
mtResources.FieldByName(fnIzm).AsString := AResource.Izm;
|
||
mtResources.FieldByName(fnPrice).AsFloat := AResource.Price;
|
||
mtResources.FieldByName(fnRType).AsInteger := AResource.RType;
|
||
mtResources.FieldByName(fnApplyForAllSame).AsBoolean := false;
|
||
mtResources.FieldByName(fnIsNew).AsBoolean := AAsNew;
|
||
mtResources.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
mtResources.Post;
|
||
end;
|
||
|
||
procedure TF_CaseForm.AddSuppliesKindToMemTable(ASuppliesKind: TNBSuppliesKind; AAsModified: Boolean);
|
||
begin
|
||
mtSuppliesKinds.Append;
|
||
mtSuppliesKinds.FieldByName(fnID).AsInteger := ASuppliesKind.Data.ID;
|
||
mtSuppliesKinds.FieldByName(fnIDCatalog).AsInteger := ASuppliesKind.IDCatalog;
|
||
mtSuppliesKinds.FieldByName(fnIDItemType).AsInteger := ASuppliesKind.CatalogItemType;
|
||
mtSuppliesKinds.FieldByName(fnGUID).AsString := ASuppliesKind.Data.GUID;
|
||
mtSuppliesKinds.FieldByName(fnName).AsString := ASuppliesKind.Data.Name;
|
||
mtSuppliesKinds.FieldByName(fnNameTradUOM).AsString := ASuppliesKind.Data.NameTradUOM;
|
||
mtSuppliesKinds.FieldByName(fnIzm).AsString := ASuppliesKind.Data.Izm;
|
||
mtSuppliesKinds.FieldByName(fnIzmTradUOM).AsString := ASuppliesKind.Data.IzmTradUOM;
|
||
mtSuppliesKinds.FieldByName(fnUnitKolvo).AsFloat := ASuppliesKind.Data.UnitKolvo;
|
||
mtSuppliesKinds.FieldByName(fnUnitKolvoTradUOM).AsFloat := ASuppliesKind.Data.UnitKolvoTradUOM;
|
||
mtSuppliesKinds.FieldByName(fnIsModified).AsBoolean := AAsModified;
|
||
mtSuppliesKinds.Post;
|
||
end;
|
||
|
||
function TF_CaseForm.CheckAddObjectToMTByGUID(AObjectName, AGUIDToAdd, ANameToAdd: String; AMemTable: TkbmMemTable): Boolean;
|
||
begin
|
||
Result := true;
|
||
if CheckLocate(AMemTable, fnGuid, AGUIDToAdd) then
|
||
begin
|
||
Result := false;
|
||
MessageModal(AObjectName+' '+ ANameToAdd +' '+cNowExists+'.',
|
||
ApplicationName, MB_ICONINFORMATION or MB_OK);
|
||
//MessageModal(cCaseForm_Msg35_1 + ANameToAdd+', '+AObjectName+' '+cNowExists+'.',
|
||
// ApplicationName, MB_ICONINFORMATION or MB_OK);
|
||
end;
|
||
end;
|
||
|
||
function TF_CaseForm.GetNBCurrencyFromMemTable: TNBCurrency;
|
||
begin
|
||
Result := TNBCurrency.Create(GForm);
|
||
|
||
Result.Data.ID := mtCurrency.FieldByName(fnID).AsInteger;
|
||
Result.IDCatalog := mtCurrency.FieldByName(fnIDCatalog).AsInteger;
|
||
Result.CatalogItemType := mtCurrency.FieldByName(fnIDItemType).AsInteger;
|
||
Result.Data.GUID := mtCurrency.FieldByName(fnGuid).AsString;
|
||
Result.Data.Name := mtCurrency.FieldByName(fnName).AsString;
|
||
Result.Data.NameBrief := mtCurrency.FieldByName(fnNameBrief).AsString;
|
||
Result.Data.Kolvo := mtCurrency.FieldByName(fnKolvo).AsInteger;
|
||
Result.Data.Ratio := mtCurrency.FieldByName(fnRatio).AsFloat;
|
||
Result.Data.Main := mtCurrency.FieldByName(fnMain).AsInteger;
|
||
Result.SavedMain := mtCurrency.FieldByName(fnSavedMain).AsInteger;
|
||
// := mtCurrency.FieldByName(fnSortID).AsInteger;
|
||
Result.Data.IsCountry := mtCurrency.FieldByName(fnIsCountry).AsInteger;
|
||
Result.IsModified := mtCurrency.FieldByName(fnIsModified).AsBoolean;
|
||
end;
|
||
|
||
function TF_CaseForm.GetNBCurrencyFromMemTableByMain(AMainType: Integer): TNBCurrency;
|
||
var
|
||
//BookmarkStr: String;
|
||
BookmarkStr: TBookMark;
|
||
begin
|
||
Result := nil;
|
||
//BookmarkStr := mtCurrency.Bookmark;
|
||
BookmarkStr := mtCurrency.GetBookmark;
|
||
try
|
||
if mtCurrency.Locate(fnMain, AMainType, []) then
|
||
Result := GetNBCurrencyFromMemTable;
|
||
finally
|
||
//mtCurrency.Bookmark := BookmarkStr;
|
||
if BookmarkStr <> nil then
|
||
begin
|
||
mtCurrency.GotoBookmark(BookmarkStr);
|
||
mtCurrency.FreeBookmark(BookmarkStr);
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
function TF_CaseForm.GetNBCurrencyFromMemTableByGUID(AGUID: String): TNBCurrency;
|
||
var
|
||
//BookmarkStr: String;
|
||
BookmarkStr: TBookMark;
|
||
begin
|
||
Result := nil;
|
||
//BookmarkStr := mtCurrency.Bookmark;
|
||
BookmarkStr := mtCurrency.GetBookmark;
|
||
try
|
||
if mtCurrency.Locate(fnGuid, AGUID, []) then
|
||
Result := GetNBCurrencyFromMemTable;
|
||
finally
|
||
if BookmarkStr <> nil then
|
||
begin
|
||
mtCurrency.GotoBookmark(BookmarkStr);
|
||
mtCurrency.FreeBookmark(BookmarkStr);
|
||
end;
|
||
//mtCurrency.Bookmark := BookmarkStr;
|
||
end;
|
||
end;
|
||
|
||
// #############################################################################
|
||
// #############################################################################
|
||
//
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
{
|
||
Function TF_CaseForm.MinMaxReqControl(AValue: String): Boolean;
|
||
//Var Len: Integer;
|
||
begin
|
||
Result := True;
|
||
case TF_Main(GForm).DM.DataSet_PROPERTIES.FN('ID_Data_Type').AsInteger of
|
||
dtFloat , dtInteger: // 0 or 1
|
||
begin
|
||
if TF_Main(GForm).DM.DataSet_PROPERTIES.FN('Min_Value').AsFloat <> 0 then
|
||
if StrToFloat_My(AValue) < TF_Main(GForm).DM.DataSet_PROPERTIES.FN('Min_Value').AsFloat then
|
||
begin
|
||
MessageDlg(cCaseForm_Msg9, mtInformation, [mbOK], 0);
|
||
Result := false;
|
||
end;
|
||
|
||
if TF_Main(GForm).DM.DataSet_PROPERTIES.FN('Max_Value').AsFloat <> 0 then
|
||
if StrToFloat_My(AValue) > TF_Main(GForm).DM.DataSet_PROPERTIES.FN('Max_Value').AsFloat then
|
||
begin
|
||
MessageDlg(cCaseForm_Msg10, mtInformation, [mbOK], 0);
|
||
Result := false;
|
||
end;
|
||
end;
|
||
dtDate:
|
||
begin
|
||
if TF_Main(GForm).DM.DataSet_PROPERTIES.FN('Min_Value').AsFloat <> 0 then
|
||
if StrToDate(AValue) < FloatToDateTime( TF_Main(GForm).DM.DataSet_PROPERTIES.FN('Min_Value').AsFloat) then
|
||
begin
|
||
MessageDlg(cCaseForm_Msg11,
|
||
mtInformation, [mbOK], 0);
|
||
Result := false;
|
||
end;
|
||
|
||
if TF_Main(GForm).DM.DataSet_PROPERTIES.FN('Max_Value').AsFloat <> 0 then
|
||
if StrToDate(AValue) > FloatToDateTime( TF_Main(GForm).DM.DataSet_PROPERTIES.FN('Max_Value').AsFloat) then
|
||
begin
|
||
MessageDlg(cCaseForm_Msg12,
|
||
mtInformation, [mbOK], 0);
|
||
Result := false;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
if (TF_Main(GForm).DM.DataSet_PROPERTIES.FN('Value_Req').AsInteger = 1) and
|
||
(Length(AValue) = 0) then
|
||
begin
|
||
MessageDlg(cCaseForm_Msg13,
|
||
mtInformation, [mbOK], 0);
|
||
Result := false;
|
||
end;
|
||
end;
|
||
}
|
||
|
||
{
|
||
procedure TF_CaseForm.FormView(AVKind: TViewKind; ACaption: String; AHeight,
|
||
AWidth: Integer; AisToolBar: Boolean; AToolHint: String);
|
||
begin
|
||
GroupBox_Properties.Visible := false;
|
||
GroupBox_Interfaces.Visible := false;
|
||
GroupBox_Currency.Visible := false;
|
||
GroupBox_NetType.Visible := false;
|
||
GroupBox_Producers.Visible := false;
|
||
GroupBox_ObjectIcons.Visible := false;
|
||
GroupBox_ComponentTypes.Visible := false;
|
||
GroupBox_NB_Resources.Visible := false;
|
||
GroupBox_NB_Norms.Visible := false;
|
||
|
||
Caption := ACaption;
|
||
Height := AHeight;
|
||
Width := AWidth;
|
||
|
||
if AisToolBar then
|
||
begin
|
||
ToolBar_Edit.Visible := true;
|
||
ToolButton_Make.Hint := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ' + AToolHint;
|
||
ToolButton_Edit.Hint := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ' + AToolHint;
|
||
ToolButton_Del.Hint := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ' + AToolHint;
|
||
|
||
Act_Make.Caption := ToolButton_Make.Hint;
|
||
Act_Edit.Caption := ToolButton_Edit.Hint;
|
||
Act_Del.Caption := ToolButton_Del.Hint;
|
||
end
|
||
else
|
||
ToolBar_Edit.Visible := false;
|
||
|
||
case AVKind of
|
||
vkProperty : GroupBox_Properties.Visible := true;
|
||
vkInterface : GroupBox_Interfaces.Visible := true;
|
||
vkCurrency : GroupBox_Currency.Visible := true;
|
||
vkNetType : GroupBox_NetType.Visible := true;
|
||
vkProducers : GroupBox_Producers.Visible := true;
|
||
vkObjectIcons: GroupBox_ObjectIcons.Visible := true;
|
||
vkComponentType: GroupBox_ComponentTypes.Visible := true;
|
||
vkResource : GroupBox_NB_Resources.Visible := true;
|
||
vkNorm : GroupBox_NB_Norms.Visible := true;
|
||
end;
|
||
|
||
end;}
|
||
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Edit-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
{function TF_CaseForm.GetValueFromEdit( ADataType: Integer): String;
|
||
var _Value : String;
|
||
begin
|
||
Result := '';
|
||
|
||
case ADataType of
|
||
dtFloat : _Value := FloatToStr(SpinEdit_Value.Value);
|
||
dtInteger: _Value := IntToStr(SpinEdit_Value.Value);
|
||
dtBoolean: if CheckBox_Value.Checked then
|
||
_Value := '1'
|
||
else
|
||
_Value := '0';
|
||
dtString : _Value := Edit_Value.Text;
|
||
dtDate : _Value := DateToStr(DateEdit_Value.Date);
|
||
dtCompStateType: _Value := IntToStr(GetIDFromComboBox(ComboBox_Value));
|
||
dtColor: _Value := IntToStr(ColorEdit_Value.SelectedColor);
|
||
end;
|
||
Result := _Value;
|
||
end;}
|
||
|
||
{
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_Caseform.ShowValue( ADataType: Integer; AValue: String);
|
||
begin
|
||
Edit_Value.Visible := false;
|
||
SpinEdit_Value.Visible := false;
|
||
CheckBox_Value.Visible := False;
|
||
DateEdit_Value.Visible := false;
|
||
ComboBox_Value.Visible := false;
|
||
ColorEdit_Value.Visible := false;
|
||
lbValue.Visible := false;
|
||
|
||
ClearComboBox(ComboBox_Value);
|
||
|
||
CheckBox_TakeIntoConnect.Visible := true;
|
||
CheckBox_TakeIntoJoin.Visible := true;
|
||
|
||
//if Act_Edit.Enabled and Act_Del.Enabled then
|
||
Case ADataType of
|
||
dtFloat : begin
|
||
SpinEdit_Value.Visible := true;
|
||
SpinEdit_Value.Properties.ValueType := vtFloat;
|
||
if AValue <> '' then
|
||
SpinEdit_Value.Value := StrToFloat_My(AValue);
|
||
end;
|
||
dtInteger :begin
|
||
SpinEdit_Value.Visible := true;
|
||
SpinEdit_Value.Properties.ValueType := vtInt;
|
||
if AValue <> '' then
|
||
SpinEdit_Value.Value := StrToInt(AValue);
|
||
end;
|
||
dtBoolean :begin
|
||
CheckBox_Value.Visible := true;
|
||
if AValue = '1' then
|
||
CheckBox_Value.Checked := true
|
||
else
|
||
CheckBox_Value.Checked := false
|
||
end;
|
||
dtString :begin
|
||
Edit_Value.Visible := true;
|
||
Edit_Value.Text := AValue;
|
||
end;
|
||
dtDate :begin
|
||
DateEdit_Value.Visible := true;
|
||
if AValue <> '' then
|
||
DateEdit_Value.Date := StrToDate(AValue);
|
||
end;
|
||
dtCompStateType:
|
||
begin
|
||
AddIDToCombo(oitProjectible, cCaseForm_Msg15_1, ComboBox_Value);
|
||
AddIDToCombo(oitActive, cCaseForm_Msg15_2, ComboBox_Value);
|
||
|
||
ComboBox_Value.Visible := true;
|
||
if AValue <> '' then
|
||
SelectItemByIDinCombo(ComboBox_Value, StrToInt(AValue));
|
||
end;
|
||
dtColor:
|
||
begin
|
||
ColorEdit_Value.Visible := true;
|
||
if AValue <> '' then
|
||
ColorEdit_Value.SelectedColor := StrToInt(AValue);
|
||
end;
|
||
dtCableCanalElementType:
|
||
begin
|
||
CheckBox_TakeIntoConnect.Visible := false;
|
||
CheckBox_TakeIntoJoin.Visible := false;
|
||
|
||
lbValue.Visible := true;
|
||
lbValue.Caption := cCaseForm_Msg14;
|
||
end;
|
||
end;
|
||
end;
|
||
}
|
||
|
||
procedure TF_CaseForm.ShowPropItemType(AItemType: TItemType);
|
||
var strOwner: String;
|
||
|
||
procedure AddToownerString(AOwnerName: String);
|
||
begin
|
||
if strOwner <> '' then
|
||
strOwner := strOwner + '; ';
|
||
strOwner := strOwner + AOwnerName;
|
||
end;
|
||
|
||
begin
|
||
strOwner := '';
|
||
with TF_Main(GForm).DM.DataSet_PROPERTIES do
|
||
begin
|
||
if FN(fnIsProject).AsInteger = biTrue then
|
||
AddToownerString(cCaseForm_Msg16_2_1);
|
||
if FN(fnIsFolder).AsInteger = biTrue then
|
||
AddToownerString(cCaseForm_Msg16_2_2);
|
||
if FN(fnIsList).AsInteger = biTrue then
|
||
AddToownerString(cCaseForm_Msg16_2_3);
|
||
if FN(fnIsRoom).AsInteger = biTrue then
|
||
AddToownerString(cCaseForm_Msg16_2_4);
|
||
if FN(fnIsSCSline).AsInteger = biTrue then
|
||
AddToownerString(cCaseForm_Msg16_2_5);
|
||
if FN(fnIsSCSConnector).AsInteger = biTrue then
|
||
AddToownerString(cCaseForm_Msg16_2_6);
|
||
if FN(fnIsComponLine).AsInteger = biTrue then
|
||
AddToownerString(cCaseForm_Msg16_2_7);
|
||
if FN(fnIsComponConn).AsInteger = biTrue then
|
||
AddToownerString(cCaseForm_Msg16_2_8);
|
||
end;
|
||
spPropertyItemType.Caption := cCaseForm_Msg16_1+': '+strOwner;
|
||
end;
|
||
|
||
|
||
function TF_CaseForm.GetDirTypeInfo(AViewKind: TViewKind): TDirTypeInfo;
|
||
var
|
||
DBMode: TDBKind;
|
||
begin
|
||
DBMode := TF_Main(GForm).GDBMode;
|
||
ZeroMemory(@Result, SizeOf(TDirTypeInfo));
|
||
Result.ViewKind := AViewKind;
|
||
Result.DataSet := nil;
|
||
Result.DataSrc := nil;
|
||
Result.FldName := fnName;
|
||
case AViewKind of
|
||
vkComponentType:
|
||
begin
|
||
Result.ItemType := ditComponentType;
|
||
Result.TableName := tnComponentTypes;
|
||
Result.TableCaption := cCaseForm_Msg17_1;
|
||
if DBMode = bkNormBase then
|
||
Result.DataSet := TF_Main(GForm).DM.DataSet_COMPONENT_TYPES
|
||
else
|
||
if DBMode = bkProjectManager then
|
||
Result.DataSet := mtComponentType;
|
||
end;
|
||
vkCurrency:
|
||
begin
|
||
Result.ItemType := ditCurrency;
|
||
Result.TableName := tnCurrency;
|
||
Result.TableCaption := cCaseForm_Msg17_2;
|
||
if DBMode = bkNormBase then
|
||
Result.DataSet := TF_Main(GForm).DM.DataSet_CURRENCY
|
||
else
|
||
if DBMode = bkProjectManager then
|
||
Result.DataSet := mtCurrency;
|
||
end;
|
||
vkInterface:
|
||
begin
|
||
Result.ItemType := ditInterface;
|
||
Result.TableName := tnInterface;
|
||
Result.TableCaption := cCaseForm_Msg17_3;
|
||
if DBMode = bkNormBase then
|
||
Result.DataSet := TF_Main(GForm).DM.DataSet_INTERFACE
|
||
else
|
||
if DBMode = bkProjectManager then
|
||
Result.DataSet := mtInterface;
|
||
end;
|
||
vkNetType:
|
||
begin
|
||
Result.ItemType := ditNetType;
|
||
Result.TableName := tnNetType;
|
||
Result.TableCaption := cCaseForm_Msg17_4;
|
||
if DBMode = bkNormBase then
|
||
Result.DataSet := TF_Main(GForm).DM.DataSet_NET_TYPE
|
||
else
|
||
if DBMode = bkProjectManager then
|
||
Result.DataSet := mtNetType;
|
||
end;
|
||
vkNorm:
|
||
begin
|
||
Result.ItemType := ditNBNorm;
|
||
Result.TableName := tnNBNorms;
|
||
Result.TableCaption := cCaseForm_Msg17_5;
|
||
if DBMode = bkNormBase then
|
||
Result.DataSet := TF_Main(GForm).DM.DataSet_NB_NORMS
|
||
else
|
||
if DBMode = bkProjectManager then
|
||
Result.DataSet := mtNorms;
|
||
end;
|
||
vkObjectIcons:
|
||
begin
|
||
Result.ItemType := ditObjectIcon;
|
||
Result.TableName := tnObjectIcons;
|
||
Result.TableCaption := cCaseForm_Msg17_6;
|
||
if DBMode = bkNormBase then
|
||
Result.DataSet := TF_Main(GForm).DM.DataSet_OBJECT_ICONS
|
||
else
|
||
if DBMode = bkProjectManager then
|
||
Result.DataSet := mtObjectIcons;
|
||
end;
|
||
vkProducers:
|
||
begin
|
||
Result.ItemType := ditProducer;
|
||
Result.TableName := tnProducers;
|
||
Result.TableCaption := cCaseForm_Msg17_7;
|
||
if DBMode = bkNormBase then
|
||
Result.DataSet := TF_Main(GForm).DM.DataSet_PRODUCERS
|
||
else
|
||
if DBMode = bkProjectManager then
|
||
Result.DataSet := mtProducers;
|
||
end;
|
||
vkProperty:
|
||
begin
|
||
Result.ItemType := ditProperty;
|
||
Result.TableName := tnProperties;
|
||
Result.TableCaption := cCaseForm_Msg17_8;
|
||
if DBMode = bkNormBase then
|
||
Result.DataSet := TF_Main(GForm).DM.DataSet_PROPERTIES
|
||
else
|
||
if DBMode = bkProjectManager then
|
||
Result.DataSet := mtProperties;
|
||
end;
|
||
vkResource:
|
||
begin
|
||
Result.ItemType := ditNBResource;
|
||
Result.TableName := tnNBResources;
|
||
Result.TableCaption := cCaseForm_Msg17_9;
|
||
if DBMode = bkNormBase then
|
||
Result.DataSet := TF_Main(GForm).DM.DataSet_NB_RESOURCES
|
||
else
|
||
if DBMode = bkProjectManager then
|
||
Result.DataSet := mtResources;
|
||
end;
|
||
vkSuppliesKind:
|
||
begin
|
||
Result.ItemType := ditSuppliesKinds;
|
||
Result.TableName := tnSuppliesKinds;
|
||
Result.TableCaption := cCaseForm_Msg17_10;
|
||
if DBMode = bkNormBase then
|
||
Result.DataSet := TF_Main(GForm).DM.DataSet_SuppliesKinds
|
||
else
|
||
if DBMode = bkProjectManager then
|
||
Result.DataSet := mtSuppliesKinds;
|
||
end;
|
||
vkUnitsOfMeasure:
|
||
begin
|
||
Result.ItemType := ditUnitsOfMeasure;
|
||
Result.TableName := tnInputStrings;
|
||
Result.TableCaption := cCaseForm_Msg17_11;
|
||
if DBMode = bkNormBase then
|
||
//Result.DataSet := TF_Main(GForm).DM.dsetUnitsOfMeasure;
|
||
Result.DataSrc := TF_Main(GForm).DM.dsrcUnitsOfMeasure;
|
||
//else
|
||
//if DBMode = bkProjectManager then
|
||
// Result.DataSet := nil;
|
||
end;
|
||
vkDimensions:
|
||
begin
|
||
Result.ItemType := ditDimensions;
|
||
Result.TableName := tnInputStrings;
|
||
Result.TableCaption := cCaseForm_Msg17_12;
|
||
if DBMode = bkNormBase then
|
||
//Result.DataSet := TF_Main(GForm).DM.dsetDimensions;
|
||
Result.DataSrc := TF_Main(GForm).DM.dsrcDimensions;
|
||
//else
|
||
//if DBMode = bkProjectManager then
|
||
// Result.DataSet := nil;
|
||
end;
|
||
vkCompSpecifications:
|
||
begin
|
||
Result.ItemType := ditCompSpecifications;
|
||
Result.TableName := tnFiles;
|
||
Result.TableCaption := cCaseForm_Msg17_13;
|
||
Result.FldName := fnFileName;
|
||
if DBMode = bkNormBase then
|
||
//Result.DataSet := TF_Main(GForm).DM.dsetCompSpecifications;
|
||
Result.DataSrc := TF_Main(GForm).DM.dsrcCompSpecifications;
|
||
|
||
//else
|
||
//if DBMode = bkProjectManager then
|
||
// Result.DataSet := nil;
|
||
end;
|
||
end;
|
||
|
||
if (Result.DataSet = nil) and (Result.DataSrc <> nil) then
|
||
Result.DataSet := Result.DataSrc.DataSet;
|
||
|
||
Result.MasterFieldName := GetMasterFNameByDirItemType(Result.ItemType);
|
||
end;
|
||
|
||
function TF_CaseForm.GetFormParams(AViewKind: TViewKind): TCaseFormParams;
|
||
begin
|
||
ZeroMemory(@Result, SizeOf(TDirTypeInfo));
|
||
case AViewKind of
|
||
vkComponentType:
|
||
begin
|
||
Result.ActiveGroupControl := GroupBox_ComponentTypes;
|
||
Result.ActiveGrid := Grid_ComponentTypes;
|
||
Result.ActiveGridDBTableView := GT_ComponentTypes;
|
||
Result.CaptionForActions := cCaseForm_Msg18_1_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_1_2;
|
||
end;
|
||
vkCurrency:
|
||
begin
|
||
Result.ActiveGroupControl := GroupBox_Currency;
|
||
Result.ActiveGrid := Grid_Currency;
|
||
Result.ActiveGridDBTableView := GT_CURRENCY;
|
||
Result.CaptionForActions := cCaseForm_Msg18_2_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_2_2;
|
||
end;
|
||
vkInterface:
|
||
begin
|
||
Result.ActiveGroupControl := GroupBox_Interfaces;
|
||
Result.ActiveGrid := Grid_Interface;
|
||
Result.ActiveGridDBTableView := GT_Interfaces;
|
||
Result.CaptionForActions := cCaseForm_Msg18_3_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_3_2;
|
||
end;
|
||
vkNetType:
|
||
begin
|
||
Result.ActiveGroupControl := GroupBox_NetType;
|
||
Result.ActiveGrid := Grid_NetType;
|
||
Result.ActiveGridDBTableView := GT_NetType;
|
||
Result.CaptionForActions := cCaseForm_Msg18_4_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_4_2;
|
||
end;
|
||
vkNorm:
|
||
begin
|
||
Result.ActiveGroupControl := GroupBox_NB_Norms;
|
||
Result.ActiveGrid := Grid_NB_Norms;
|
||
Result.ActiveGridDBTableView := GT_NB_Norms;
|
||
Result.CaptionForActions := cCaseForm_Msg18_5_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_5_2;
|
||
end;
|
||
vkObjectIcons:
|
||
begin
|
||
Result.ActiveGroupControl := GroupBox_ObjectIcons;
|
||
Result.ActiveGrid := Grid_ObjectIcons;
|
||
Result.ActiveGridDBTableView := GT_ObjectIcons;
|
||
Result.CaptionForActions := cCaseForm_Msg18_6_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_6_2;
|
||
end;
|
||
vkProducers:
|
||
begin
|
||
Result.ActiveGroupControl := GroupBox_Producers;
|
||
Result.ActiveGrid := Grid_Producers;
|
||
Result.ActiveGridDBTableView := GT_Producers;
|
||
Result.CaptionForActions := cCaseForm_Msg18_7_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_7_2;
|
||
end;
|
||
vkProperty:
|
||
begin
|
||
Result.ActiveGroupControl := GroupBox_Properties;
|
||
Result.ActiveGrid := Grid_Properties;
|
||
Result.ActiveGridDBTableView := GT_Properties;
|
||
Result.CaptionForActions := cCaseForm_Msg18_8_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_8_2;
|
||
end;
|
||
vkResource:
|
||
begin
|
||
Result.ActiveGroupControl := GroupBox_NB_Resources;
|
||
Result.ActiveGrid := Grid_NB_Resources;
|
||
Result.ActiveGridDBTableView := GT_NB_Resources;
|
||
Result.CaptionForActions := cCaseForm_Msg18_9_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_9_2;
|
||
end;
|
||
vkSuppliesKind:
|
||
begin
|
||
Result.ActiveGroupControl := gbSuppliesKinds;
|
||
Result.ActiveGrid := Grid_SuppliesKinds;
|
||
Result.ActiveGridDBTableView := GT_SuppliesKinds;
|
||
Result.CaptionForActions := cCaseForm_Msg18_10_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_10_2;
|
||
end;
|
||
vkUnitsOfMeasure:
|
||
begin
|
||
Result.ActiveGroupControl := gbUnitsOfMeasure;
|
||
Result.ActiveGrid := Grid_UnitsOfMeasure;
|
||
Result.ActiveGridDBTableView := GT_UnitsOfMeasure;
|
||
Result.CaptionForActions := cCaseForm_Msg18_11_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_11_2;
|
||
end;
|
||
vkDimensions:
|
||
begin
|
||
Result.ActiveGroupControl := gbDimensions;
|
||
Result.ActiveGrid := Grid_Dimensions;
|
||
Result.ActiveGridDBTableView := GT_Dimensions;
|
||
Result.CaptionForActions := cCaseForm_Msg18_12_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_12_2;
|
||
end;
|
||
vkCompSpecifications:
|
||
begin
|
||
Result.ActiveGroupControl := gbCompSpecifications;
|
||
Result.ActiveGrid := Grid_CompSpecifications;
|
||
Result.ActiveGridDBTableView := GT_CompSpecifications;
|
||
Result.CaptionForActions := cCaseForm_Msg18_13_1;
|
||
Result.CaptionForForm := cCaseForm_Msg18_13_2;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
|
||
function TF_CaseForm.NotDelDataUsedInMemTable(AMTKeyField, ADelKind, AItName: String; ADSKeyValue: Integer): Boolean;
|
||
var MTRecNo: Integer;
|
||
DelName: String;
|
||
begin
|
||
Result := false;
|
||
|
||
if GUseMemTable = nil then
|
||
Exit;
|
||
|
||
if GUseMemTable.Active then
|
||
begin
|
||
if GUseMemTable.RecordCount > 0 then
|
||
begin
|
||
MTRecNo := GUseMemTable.RecNo;
|
||
GUseMemTable.First;
|
||
while Not GUseMemTable.Eof do
|
||
begin
|
||
if GUseMemTable.FieldByName(AMTKeyField).asInteger = ADSKeyValue then
|
||
begin
|
||
DelName := GUseMemTable.FieldByName('Name').AsString;
|
||
MessageModal(cImpossibleDel+' '+ ADelKind+ ' "'+ DelName +'" '+cSince+' '+AItName+' '+cUsing,
|
||
cActNameDeleting, MB_ICONINFORMATION or MB_OK);
|
||
Result := true;
|
||
Break;
|
||
end;
|
||
GUseMemTable.Next;
|
||
end;
|
||
GUseMemTable.RecNo := MTRecNo;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
|
||
// #############################################################################
|
||
// #############################################################################
|
||
//
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.FormCreate(Sender: TObject);
|
||
var
|
||
DisplayFormatBaseCurrency: String;
|
||
EmptyDisplayFormat: String;
|
||
begin
|
||
FOldViewKind := vkNone;
|
||
|
||
DisplayFormatBaseCurrency := '';
|
||
DisplayFormatBaseCurrency := GetDisplayFormat(TF_Main(GForm).GCurrencyM.NameBrief);
|
||
EmptyDisplayFormat := GetDisplayFormat('');
|
||
|
||
//*** Repositoris
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
GT_NB_NormResourceRelPRICE.RepositoryItem := ceRepositoryCommon;
|
||
GT_NB_NormResourceRelAdditionalPrice.RepositoryItem := ceRepositoryCommon;
|
||
GT_NB_NormResourceRelCOST.RepositoryItem := ceRepositoryCommon;
|
||
end;
|
||
|
||
TcxCurrencyEditProperties(GT_CURRENCYRATIO.Properties).DisplayFormat := GetDisplayFormatForFloat;
|
||
//TcxCurrencyEditProperties(GT_NB_NormResourceRelPRICE.Properties).DisplayFormat := DisplayFormatBaseCurrency;
|
||
//TcxCurrencyEditProperties(GT_NB_NormResourceRelAdditionalPrice.Properties).DisplayFormat := DisplayFormatBaseCurrency;
|
||
//TcxCurrencyEditProperties(GT_NB_NormResourceRelCOST.Properties).DisplayFormat := DisplayFormatBaseCurrency;
|
||
|
||
//27.10.2013
|
||
//TcxCurrencyEditProperties(GT_NB_ResourcesAdditionalPrice.Properties).DisplayFormat := DisplayFormatBaseCurrency;
|
||
//TcxCurrencyEditProperties(GT_NB_ResourcesPRICE.Properties).DisplayFormat := DisplayFormatBaseCurrency;
|
||
//TcxCurrencyEditProperties(GT_NB_NormsPrice.Properties).DisplayFormat := DisplayFormatBaseCurrency;
|
||
SetCurrencyBriefToControls(TF_Main(GForm).GCurrencyM); //27.10.2013
|
||
|
||
TcxCurrencyEditProperties(GT_InterfacesConstructiveWidth.Properties).DisplayFormat := GetDisplayFormatForFloatByPrecision(PrecisionNormKolvo);
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
TcxLookupComboBoxProperties(GT_InterfacesIDNetType.Properties).KeyFieldNames := fnID
|
||
else
|
||
TcxLookupComboBoxProperties(GT_InterfacesIDNetType.Properties).KeyFieldNames := fnGUID;
|
||
|
||
TcxCurrencyEditProperties(GT_InterfaceNormsExpense.Properties).DisplayFormat := GetDisplayFormatForFloatByPrecision(PrecisionNormKolvo);
|
||
TcxCurrencyEditProperties(GT_InterfaceNormsExpense.Properties).DecimalPlaces := PrecisionNormKolvo;
|
||
|
||
TcxCurrencyEditProperties(GT_SuppliesKindsUNIT_KOLVO.Properties).DisplayFormat := GetDisplayFormatForFloat;
|
||
|
||
{if GDBActiveKind = bkNormBase then
|
||
begin
|
||
Label_Prop_Caption.Visible := false;
|
||
Label_PropItemType.Visible := false;
|
||
end; }
|
||
GCurrRecNoObjectIcons := 0;
|
||
|
||
{
|
||
GT_PROPERTIES.DataController.DataSource := TF_Main(GForm).DM.DataSource_PROPERTIES;
|
||
GT_Interfaces.DataController.DataSource := TF_Main(GForm).DM.DataSource_INTERFACE;
|
||
GT_InterfAccordance.DataController.DataSource := TF_Main(GForm).DM.DataSource_InterfAccordance;
|
||
GT_InterfaceNorms.DataController.DataSource := TF_Main(GForm).DM.DataSource_Interface_Norms;
|
||
GT_CURRENCY.DataController.DataSource := TF_Main(GForm).DM.DataSource_CURRENCY;
|
||
GT_NetType.DataController.DataSource := TF_Main(GForm).DM.DataSource_NET_TYPE;
|
||
GT_Producers.DataController.DataSource := TF_Main(GForm).DM.DataSource_PRODUCERS;
|
||
|
||
GT_NB_Norms.DataController.DataSource := TF_Main(GForm).DM.DataSource_NB_NORMS;
|
||
GT_NB_NormResourceRel.DataController.DataSource := TF_Main(GForm).DM.DataSource_NB_NORM_RESOURCE_REL;
|
||
GT_NB_Resources.DataController.DataSource := TF_Main(GForm).DM.DataSource_NB_RESOURCES;
|
||
|
||
GT_ComponentTypes.DataController.DataSource := TF_Main(GForm).DM.DataSource_COMPONENT_TYPES;
|
||
GT_CompTypeProp.DataController.DataSource := TF_Main(GForm).DM.DataSource_COMP_TYPE_PROP_RELATION;
|
||
}
|
||
|
||
{
|
||
GT_NB_Norms.DataController.DataSource := F_NormBase.DM.DataSource_NB_NORMS;
|
||
GT_NB_NormResourceRel.DataController.DataSource := F_NormBase.DM.DataSource_NB_NORM_RESOURCE_REL;
|
||
GT_NB_Resources.DataController.DataSource := F_NormBase.DM.DataSource_NB_RESOURCES; }
|
||
|
||
|
||
//AddNodes(nil);
|
||
//Tree_InterfType.Selected := Tree_InterfType.TopItem;
|
||
|
||
if Assigned(Panel_Kolvo) then
|
||
Panel_Kolvo.Visible := false;
|
||
|
||
GT_InterfacesIsVisible.Visible := IsShowUnvisibleInterface and (TF_Main(GForm).GDBMode = bkNormBase);
|
||
|
||
FShowedTables := TIntList.Create;
|
||
|
||
//**** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
FDefIconName := '';
|
||
FDefFileBmp := '';
|
||
FDefFileBlk := '';
|
||
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD>
|
||
mtComponentType := nil;
|
||
mtCompTypePropRelation := nil;
|
||
mtCurrency := nil;
|
||
mtInterface := nil;
|
||
mtInterfaceAccordance := nil;
|
||
mtInterfaceNorms := nil;
|
||
mtNetType := nil;
|
||
mtNorms := nil;
|
||
mtObjectIcons := nil;
|
||
mtProducers := nil;
|
||
mtProperties := nil;
|
||
mtPropValRel := nil;
|
||
mtPropValNormRes := nil;
|
||
mtResources := nil;
|
||
mtSuppliesKinds := nil;
|
||
dsComponentType := nil;
|
||
dsCompTypePropRelation := nil;
|
||
dsCurrency := nil;
|
||
dsInterface := nil;
|
||
dsInterfaceAccordance := nil;
|
||
dsInterfaceNorms := nil;
|
||
dsNetType := nil;
|
||
dsNorms := nil;
|
||
dsObjectIcons := nil;
|
||
dsProducers := nil;
|
||
dsProperties := nil;
|
||
dsPropValRel := nil;
|
||
dsPropValNormRes := nil;
|
||
dsResources := nil;
|
||
dsSuppliesKinds := nil;
|
||
|
||
MemTableComponTypes := nil;
|
||
MemTableProperties := nil;
|
||
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
GT_InterfacesNameNetType.Visible := false;
|
||
GT_ComponentTypesComponentIndex.Free;
|
||
end;
|
||
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
FFormMode := fmView;
|
||
|
||
mtComponentType := TkbmMemTable.Create(Self);
|
||
mtCompTypePropRelation := TkbmMemTable.Create(Self);
|
||
mtCurrency := TkbmMemTable.Create(Self);
|
||
mtInterface := TkbmMemTable.Create(Self);
|
||
mtInterfaceAccordance := TkbmMemTable.Create(Self);
|
||
mtInterfaceNorms := TkbmMemTable.Create(Self);
|
||
mtNetType := TkbmMemTable.Create(Self);
|
||
mtNorms := TkbmMemTable.Create(Self);
|
||
mtObjectIcons := TkbmMemTable.Create(Self);
|
||
mtProducers := TkbmMemTable.Create(Self);
|
||
mtProperties := TkbmMemTable.Create(Self);
|
||
mtPropValRel := TkbmMemTable.Create(Self);
|
||
mtPropValNormRes := TkbmMemTable.Create(Self);
|
||
mtResources := TkbmMemTable.Create(Self);
|
||
mtSuppliesKinds := TkbmMemTable.Create(Self);
|
||
dsComponentType := TDataSource.Create(Self);
|
||
dsCompTypePropRelation := TDataSource.Create(Self);
|
||
dsInterface := TDataSource.Create(Self);
|
||
dsInterfaceAccordance := TDataSource.Create(Self);
|
||
dsInterfaceNorms := TDataSource.Create(Self);
|
||
dsCurrency := TDataSource.Create(Self);
|
||
dsNetType := TDataSource.Create(Self);
|
||
dsNorms := TDataSource.Create(Self);
|
||
dsObjectIcons := TDataSource.Create(Self);
|
||
dsProducers := TDataSource.Create(Self);
|
||
dsProperties := TDataSource.Create(Self);
|
||
dsPropValRel := TDataSource.Create(Self);
|
||
dsPropValNormRes := TDataSource.Create(Self);
|
||
dsResources := TDataSource.Create(Self);
|
||
dsSuppliesKinds := TDataSource.Create(Self);
|
||
|
||
dsComponentType.DataSet := mtComponentType;
|
||
dsCompTypePropRelation.DataSet := mtCompTypePropRelation;
|
||
dsCurrency.DataSet := mtCurrency;
|
||
dsInterface.DataSet := mtInterface;
|
||
dsInterfaceAccordance.DataSet := mtInterfaceAccordance;
|
||
dsInterfaceNorms.DataSet := mtInterfaceNorms;
|
||
dsNetType.DataSet := mtNetType;
|
||
dsNorms.DataSet := mtNorms;
|
||
dsObjectIcons.DataSet := mtObjectIcons;
|
||
dsProducers.DataSet := mtProducers;
|
||
dsProperties.DataSet := mtProperties;
|
||
dsPropValRel.DataSet := mtPropValRel;
|
||
dsPropValNormRes.DataSet := mtPropValNormRes;
|
||
dsResources.DataSet := mtResources;
|
||
dsSuppliesKinds.DataSet := mtSuppliesKinds;
|
||
|
||
|
||
mtComponentType.FieldDefs.Add(fnID, ftInteger);
|
||
mtComponentType.FieldDefs.Add(fnIDCatalog, ftInteger);
|
||
mtComponentType.FieldDefs.Add(fnIDItemType, ftInteger);
|
||
mtComponentType.FieldDefs.Add(fnGuid, ftString, 40);
|
||
mtComponentType.FieldDefs.Add(fnName, ftString, 255);
|
||
mtComponentType.FieldDefs.Add(fnNamePlural, ftString, 255);
|
||
mtComponentType.FieldDefs.Add(fnMarkMask, ftString, 255);
|
||
mtComponentType.FieldDefs.Add(fnPortKind, ftInteger);
|
||
mtComponentType.FieldDefs.Add(fnActiveState, ftInteger);
|
||
mtComponentType.FieldDefs.Add(fnIDDesignIcon, ftInteger);
|
||
mtComponentType.FieldDefs.Add(fnGUIDDesignIcon, ftString, 40);
|
||
mtComponentType.FieldDefs.Add(fnIsLine, ftInteger);
|
||
mtComponentType.FieldDefs.Add(fnisStandart, ftInteger);
|
||
mtComponentType.FieldDefs.Add(fnCoordZ, ftFloat);
|
||
mtComponentType.FieldDefs.Add(fnSysName, ftString, 100);
|
||
mtComponentType.FieldDefs.Add(fnComponentIndex, ftLargeint);
|
||
mtComponentType.FieldDefs.Add(fnCanUseAsPoint, ftInteger);
|
||
mtComponentType.FieldDefs.Add(fnPropsCount, ftInteger);
|
||
mtComponentType.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtCompTypePropRelation.FieldDefs.Add(fnGUID, ftString, 40);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnID, ftInteger);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnIDComponentType, ftInteger);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnIDProperty, ftInteger);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnGuidComponentType, ftString, 40);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnGuidProperty, ftString, 40);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnTakeIntoConnect, ftInteger);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnTakeIntoJoin, ftInteger);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnPValue, ftString, 255);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnisStandart, ftInteger);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnName, ftString, 255);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnSysName, ftString, 200);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnIzm, ftString, 200);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnIDDataType, ftInteger);
|
||
mtCompTypePropRelation.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtCompTypePropRelation.MasterSource := dsComponentType;
|
||
mtCompTypePropRelation.MasterFields := fnGUID;
|
||
mtCompTypePropRelation.DetailFields := fnGuidComponentType;
|
||
|
||
mtCurrency.FieldDefs.Add(fnID, ftInteger);
|
||
mtCurrency.FieldDefs.Add(fnIDCatalog, ftInteger);
|
||
mtCurrency.FieldDefs.Add(fnIDItemType, ftInteger);
|
||
mtCurrency.FieldDefs.Add(fnGuid, ftString, 40);
|
||
mtCurrency.FieldDefs.Add(fnName, ftString, 255);
|
||
mtCurrency.FieldDefs.Add(fnNameBrief, ftString, 255);
|
||
mtCurrency.FieldDefs.Add(fnKolvo, ftInteger);
|
||
mtCurrency.FieldDefs.Add(fnRatio, ftFloat);
|
||
mtCurrency.FieldDefs.Add(fnMain, ftSmallint);
|
||
mtCurrency.FieldDefs.Add(fnSavedMain, ftSmallint);
|
||
mtCurrency.FieldDefs.Add(fnSortID, ftInteger);
|
||
mtCurrency.FieldDefs.Add(fnIsCountry, ftInteger);
|
||
mtCurrency.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
|
||
mtInterface.FieldDefs.Add(fnID, ftInteger);
|
||
mtInterface.FieldDefs.Add(fnIDCatalog, ftInteger);
|
||
mtInterface.FieldDefs.Add(fnIDItemType, ftInteger);
|
||
mtInterface.FieldDefs.Add(fnGuid, ftString, 40);
|
||
mtInterface.FieldDefs.Add(fnName, ftString, 255);
|
||
mtInterface.FieldDefs.Add(fnGuidNetType, ftString, 40);
|
||
mtInterface.FieldDefs.Add(fnIDNetType, ftInteger);
|
||
mtInterface.FieldDefs.Add(fnSortID, ftInteger);
|
||
mtInterface.FieldDefs.Add(fnConstructiveWidth, ftFloat);
|
||
mtInterface.FieldDefs.Add(fnDescription, ftString, 255);
|
||
mtInterface.FieldDefs.Add(fnIsUniversal, ftInteger);
|
||
mtInterface.FieldDefs.Add(fnInterfNormsCount, ftInteger);
|
||
mtInterface.FieldDefs.Add(fnNameNetType, ftString, 255);
|
||
mtInterface.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtInterfaceAccordance.FieldDefs.Add(fnID, ftInteger);
|
||
mtInterfaceAccordance.FieldDefs.Add(fnGUID, ftString, 40);
|
||
mtInterfaceAccordance.FieldDefs.Add(fnGUIDInterface, ftString, 40);
|
||
mtInterfaceAccordance.FieldDefs.Add(fnIDInterface, ftInteger);
|
||
mtInterfaceAccordance.FieldDefs.Add(fnInterfComponIsLine, ftInteger);
|
||
mtInterfaceAccordance.FieldDefs.Add(fnGUIDAccordance, ftString, 40);
|
||
mtInterfaceAccordance.FieldDefs.Add(fnIDAccordance, ftInteger);
|
||
mtInterfaceAccordance.FieldDefs.Add(fnAccordComponIsLine, ftInteger);
|
||
mtInterfaceAccordance.FieldDefs.Add(fnName, ftString, 255);
|
||
mtInterfaceAccordance.FieldDefs.Add(fnKolvo, ftInteger);
|
||
mtInterfaceAccordance.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtInterfaceNorms.FieldDefs.Add(fnID, ftInteger);
|
||
mtInterfaceNorms.FieldDefs.Add(fnGuid, ftString, 40);
|
||
mtInterfaceNorms.FieldDefs.Add(fnGuidInterface, ftString, 40);
|
||
mtInterfaceNorms.FieldDefs.Add(fnIDInterface, ftInteger);
|
||
mtInterfaceNorms.FieldDefs.Add(fnGuidNBNorm, ftString, 40);
|
||
mtInterfaceNorms.FieldDefs.Add(fnIDNBNorm, ftInteger);
|
||
mtInterfaceNorms.FieldDefs.Add(fnExpense, ftFloat);
|
||
mtInterfaceNorms.FieldDefs.Add(fnIDComponentType, ftInteger);
|
||
mtInterfaceNorms.FieldDefs.Add(fnGuidComponentType, ftString, 40);
|
||
mtInterfaceNorms.FieldDefs.Add(fnInterfaceIsBusy, ftInteger);
|
||
mtInterfaceNorms.FieldDefs.Add(fnKoefLengthForCompl, ftFloat);
|
||
mtInterfaceNorms.FieldDefs.Add(fnCypher, ftString, 200);
|
||
mtInterfaceNorms.FieldDefs.Add(fnName, ftString, 255);
|
||
mtInterfaceNorms.FieldDefs.Add(fnIzm, ftString, 255);
|
||
mtInterfaceNorms.FieldDefs.Add(fnIsNew, ftBoolean);
|
||
mtInterfaceNorms.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtInterfaceAccordance.MasterSource := dsInterface;
|
||
mtInterfaceAccordance.MasterFields := fnGUID;
|
||
mtInterfaceAccordance.DetailFields := fnGuidInterface;
|
||
|
||
mtInterfaceNorms.MasterSource := dsInterface;
|
||
mtInterfaceNorms.MasterFields := fnGUID;
|
||
mtInterfaceNorms.DetailFields := fnGuidInterface;
|
||
|
||
|
||
mtNetType.FieldDefs.Add(fnID, ftInteger);
|
||
mtNetType.FieldDefs.Add(fnIDCatalog, ftInteger);
|
||
mtNetType.FieldDefs.Add(fnIDItemType, ftInteger);
|
||
mtNetType.FieldDefs.Add(fnGuid, ftString, 40);
|
||
mtNetType.FieldDefs.Add(fnName, ftString, 255);
|
||
mtNetType.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtNorms.FieldDefs.Add(fnID, ftInteger);
|
||
mtNorms.FieldDefs.Add(fnIDCatalog, ftInteger);
|
||
mtNorms.FieldDefs.Add(fnIDItemType, ftInteger);
|
||
mtNorms.FieldDefs.Add(fnGuid, ftString, 40);
|
||
mtNorms.FieldDefs.Add(fnCypher, ftString, 255);
|
||
mtNorms.FieldDefs.Add(fnName, ftString, 255);
|
||
mtNorms.FieldDefs.Add(fnIzm, ftString, 200);
|
||
mtNorms.FieldDefs.Add(fnLaborTime, ftInteger);
|
||
mtNorms.FieldDefs.Add(fnPricePerTime, ftFloat);
|
||
//mtNorms.FieldDefs.Add(fnTimeUOM, ftInteger);
|
||
mtNorms.FieldDefs.Add(fnPrice, ftFloat);
|
||
mtNorms.FieldDefs.Add(fnGuidESmeta, ftString, 40);
|
||
mtNorms.FieldDefs.Add(fnApplyForAllSame, ftBoolean); //24.09.2010
|
||
mtNorms.FieldDefs.Add(fnIsNew, ftBoolean);
|
||
mtNorms.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtObjectIcons.FieldDefs.Add(fnID, ftInteger);
|
||
mtObjectIcons.FieldDefs.Add(fnIDCatalog, ftInteger);
|
||
mtObjectIcons.FieldDefs.Add(fnIDItemType, ftInteger);
|
||
mtObjectIcons.FieldDefs.Add(fnGuid, ftString, 40);
|
||
mtObjectIcons.FieldDefs.Add(fnName, ftString, 255);
|
||
mtObjectIcons.FieldDefs.Add(fnProjBlk, ftBlob);
|
||
mtObjectIcons.FieldDefs.Add(fnProjBmp, ftBlob);
|
||
mtObjectIcons.FieldDefs.Add(fnActiveBlk, ftBlob);
|
||
mtObjectIcons.FieldDefs.Add(fnActiveBmp, ftBlob);
|
||
mtObjectIcons.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtProducers.FieldDefs.Add(fnID, ftInteger);
|
||
mtProducers.FieldDefs.Add(fnIDCatalog, ftInteger);
|
||
mtProducers.FieldDefs.Add(fnIDItemType, ftInteger);
|
||
mtProducers.FieldDefs.Add(fnGuid, ftString, 40);
|
||
mtProducers.FieldDefs.Add(fnName, ftString, 255);
|
||
mtProducers.FieldDefs.Add(fnDescription, ftString, 255);
|
||
mtProducers.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtProperties.FieldDefs.Add(fnID, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnIDCatalog, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnIDItemType, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnGUID, ftString, 40);
|
||
mtProperties.FieldDefs.Add(fnIDDataType, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnName, ftString, 255);
|
||
mtProperties.FieldDefs.Add(fnSysName, ftString, 200);
|
||
mtProperties.FieldDefs.Add(fnIzm, ftString, 200);
|
||
mtProperties.FieldDefs.Add(fnValueReq, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnMinValue, ftFloat);
|
||
mtProperties.FieldDefs.Add(fnMaxValue, ftFloat);
|
||
mtProperties.FieldDefs.Add(fnDefValue, ftString, 255);
|
||
mtProperties.FieldDefs.Add(fnDescription, ftString, 255);
|
||
mtProperties.FieldDefs.Add(fnIsStandart, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnSortID, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnISProject, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnISFolder, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnISList, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnISRoom, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnISSCSLine, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnISSCSConnector, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnISComponLine, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnISComponConn, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnIsForWholeComponent, ftInteger);
|
||
mtProperties.FieldDefs.Add(fnIsValueRelToObj, ftSmallint);
|
||
mtProperties.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtPropValRel.FieldDefs.Add(fnID, ftInteger);
|
||
mtPropValRel.FieldDefs.Add(fnGUID, ftString, cnstGUIDLength);
|
||
mtPropValRel.FieldDefs.Add(fnIDProperty, ftInteger);
|
||
mtPropValRel.FieldDefs.Add(fnGuidProperty, ftString, cnstGUIDLength);
|
||
mtPropValRel.FieldDefs.Add(fnPValue, ftString, 255);
|
||
mtPropValRel.FieldDefs.Add(fnMinValue, ftString, 255);
|
||
mtPropValRel.FieldDefs.Add(fnMaxValue, ftString, 255);
|
||
mtPropValRel.FieldDefs.Add(fnIsNew, ftBoolean);
|
||
mtPropValRel.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
mtPropValRel.MasterSource := dsProperties;
|
||
mtPropValRel.MasterFields := fnGuid;
|
||
mtPropValRel.DetailFields := fnGuidProperty;
|
||
|
||
mtPropValNormRes.FieldDefs.Add(fnID, ftInteger);
|
||
mtPropValNormRes.FieldDefs.Add(fnGUID, ftString, cnstGUIDLength);
|
||
mtPropValNormRes.FieldDefs.Add(fnIDPropValRel, ftInteger);
|
||
mtPropValNormRes.FieldDefs.Add(fnGuidPropValRel, ftString, cnstGUIDLength);
|
||
mtPropValNormRes.FieldDefs.Add(fnIDNBComponent, ftInteger);
|
||
mtPropValNormRes.FieldDefs.Add(fnGuidNBComponent, ftString, cnstGUIDLength);
|
||
mtPropValNormRes.FieldDefs.Add(fnIDNBRes, ftInteger);
|
||
mtPropValNormRes.FieldDefs.Add(fnGuidNBRes, ftString, cnstGUIDLength);
|
||
mtPropValNormRes.FieldDefs.Add(fnIDNBNorm, ftInteger);
|
||
mtPropValNormRes.FieldDefs.Add(fnGuidNBNorm, ftString, cnstGUIDLength);
|
||
mtPropValNormRes.FieldDefs.Add(fnName, ftString, 255);
|
||
mtPropValNormRes.FieldDefs.Add(fnKolvo, ftFloat);
|
||
mtPropValNormRes.FieldDefs.Add(fnExpenseForLength, ftFloat);
|
||
mtPropValNormRes.FieldDefs.Add(fnCountForPoint, ftFloat);
|
||
mtPropValNormRes.FieldDefs.Add(fnStepOfPoint, ftFloat);
|
||
mtPropValNormRes.FieldDefs.Add(fnIsNew, ftBoolean);
|
||
mtPropValNormRes.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtPropValNormRes.MasterSource := dsPropValRel;
|
||
mtPropValNormRes.MasterFields := fnGUID;
|
||
mtPropValNormRes.DetailFields := fnGuidPropValRel;
|
||
|
||
mtResources.FieldDefs.Add(fnID, ftInteger);
|
||
mtResources.FieldDefs.Add(fnIDCatalog, ftInteger);
|
||
mtResources.FieldDefs.Add(fnIDItemType, ftInteger);
|
||
mtResources.FieldDefs.Add(fnGuid, ftString, 40);
|
||
mtResources.FieldDefs.Add(fnCypher, ftString, 255);
|
||
mtResources.FieldDefs.Add(fnName, ftString, 255);
|
||
mtResources.FieldDefs.Add(fnIzm, ftString, 200);
|
||
mtResources.FieldDefs.Add(fnPrice, ftFloat);
|
||
mtResources.FieldDefs.Add(fnRType, ftInteger);
|
||
mtResources.FieldDefs.Add(fnApplyForAllSame, ftBoolean);
|
||
mtResources.FieldDefs.Add(fnIsNew, ftBoolean);
|
||
mtResources.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtSuppliesKinds.FieldDefs.Add(fnID, ftInteger);
|
||
mtSuppliesKinds.FieldDefs.Add(fnIDCatalog, ftInteger);
|
||
mtSuppliesKinds.FieldDefs.Add(fnIDItemType, ftInteger);
|
||
mtSuppliesKinds.FieldDefs.Add(fnGUID, ftString, 40);
|
||
mtSuppliesKinds.FieldDefs.Add(fnName, ftString, 255);
|
||
mtSuppliesKinds.FieldDefs.Add(fnNameTradUOM, ftString, 255);
|
||
mtSuppliesKinds.FieldDefs.Add(fnIzm, ftString, 200);
|
||
mtSuppliesKinds.FieldDefs.Add(fnIzmTradUOM, ftString, 200);
|
||
mtSuppliesKinds.FieldDefs.Add(fnUnitKolvo, ftFloat);
|
||
mtSuppliesKinds.FieldDefs.Add(fnUnitKolvoTradUOM, ftFloat);
|
||
mtSuppliesKinds.FieldDefs.Add(fnIsModified, ftBoolean);
|
||
|
||
mtComponentType.Active := true;
|
||
mtCompTypePropRelation.Active := true;
|
||
mtCurrency.Active := true;
|
||
mtInterface.Active := true;
|
||
mtInterfaceAccordance.Active := true;
|
||
mtInterfaceNorms.Active := true;
|
||
mtNetType.Active := true;
|
||
mtNorms.Active := true;
|
||
mtObjectIcons.Active := true;
|
||
mtProducers.Active := true;
|
||
mtProperties.Active := true;
|
||
mtResources.Active := true;
|
||
mtSuppliesKinds.Active := true;
|
||
|
||
MemTableComponTypes := mtComponentType;
|
||
|
||
GT_InterfacesIDNetType.Visible := false;
|
||
GT_InterfacesNameNetType.Visible := true;
|
||
|
||
//Act_Make.Visible := false;
|
||
Act_Del.Visible := false;
|
||
|
||
pcDirectories.OnChange := nil;
|
||
if FItemType <> itProject then
|
||
begin
|
||
tsCurrency.TabVisible := false;
|
||
tsNetTypes.TabVisible := false;
|
||
tsProducers.TabVisible := false;
|
||
tsInterfaces.TabVisible := false;
|
||
tsProperties.TabVisible := false;
|
||
tsComponentTypes.TabVisible := false;
|
||
tsObjectIcons.TabVisible := false;
|
||
tsNBNorms.TabVisible := false;
|
||
tsNBResources.TabVisible := false;
|
||
tsSuppliesKinds.TabVisible := false;
|
||
end
|
||
else
|
||
tsComponentTypes.TabVisible := false;
|
||
|
||
tsUnitsOfMeasure.TabVisible := false;
|
||
tsDimensions.TabVisible := false;
|
||
tsCompSpecifications.TabVisible := false;
|
||
|
||
//if FItemType = itProject then
|
||
//begin
|
||
// tsCurrency.TabVisible := true;
|
||
// tsInterfaces.TabVisible := true;
|
||
// //pcDirectories.TabStyle := tsCutCorner;
|
||
// //pcDirectories.TabOrientation := toLeft;
|
||
//end;
|
||
|
||
pcDirectories.OnChange := pcDirectoriesChange;
|
||
//tsInterfAccordance.TabVisible := false;
|
||
|
||
|
||
|
||
Panel_Tree.Visible := false;
|
||
Splitter_Tree.Visible := false;
|
||
end;
|
||
|
||
FHiddenTabs := TList.Create;
|
||
{$IF Defined(NORMSCS_PE) or Defined(SCS_SPA)}
|
||
FHiddenTabs.Add(tsNBNorms);
|
||
FHiddenTabs.Add(tsInterfaceNorms);
|
||
|
||
PageControl_InterfData.ActivePage := tsInterfAccordance;
|
||
{$IFEND}
|
||
FTabsSelectedDir := CreateStringListSorted;
|
||
|
||
{$IF Not Defined(FINAL_SCS) or Defined(BASEADM_SCS)}
|
||
GT_ComponentTypesID.Visible := true;
|
||
GT_ObjectIconsID.Visible := true;
|
||
GT_ObjectIconsGUID.Visible := true;
|
||
|
||
Act_CopyGUIDToClipboard.Visible := true;
|
||
{$IFEND}
|
||
|
||
// <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if Not GUseVisibleInterfaces then
|
||
FHiddenTabs.Add(tsInterfaces);
|
||
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.FormDestroy(Sender: TObject);
|
||
begin
|
||
try
|
||
ClearTree(Tree_InterfType);
|
||
ClearComboBox(ComboBox_Value);
|
||
FreeAndNil(FShowedTables);
|
||
|
||
if (GForm <> nil) and (TF_Main(GForm).GDBMode = bkProjectManager) then
|
||
begin
|
||
mtComponentType.Active := false;
|
||
mtCompTypePropRelation.Active := false;
|
||
mtCurrency.Active := false;
|
||
mtInterface.Active := false;
|
||
mtInterfaceAccordance.Active := false;
|
||
mtInterfaceNorms.Active := false;
|
||
mtNetType.Active := false;
|
||
mtNorms.Active := false;
|
||
mtObjectIcons.Active := false;
|
||
mtProducers.Active := false;
|
||
mtProperties.Active := false;
|
||
mtResources.Active := false;
|
||
mtSuppliesKinds.Active := false;
|
||
|
||
FreeAndNil(mtComponentType);
|
||
FreeAndNil(mtCompTypePropRelation);
|
||
FreeAndNil(mtCurrency);
|
||
FreeAndNil(mtInterface);
|
||
FreeAndNil(mtInterfaceAccordance);
|
||
FreeAndNil(mtInterfaceNorms);
|
||
FreeAndNil(mtNetType);
|
||
FreeAndNil(mtNorms);
|
||
FreeAndNil(mtObjectIcons);
|
||
FreeAndNil(mtProducers);
|
||
FreeAndNil(mtProperties);
|
||
FreeAndNil(mtResources);
|
||
FreeAndNil(mtSuppliesKinds);
|
||
|
||
FreeAndNil(dsComponentType);
|
||
FreeAndNil(dsCompTypePropRelation);
|
||
FreeAndNil(dsCurrency);
|
||
FreeAndNil(dsInterface);
|
||
FreeAndNil(dsInterfaceAccordance);
|
||
FreeAndNil(dsInterfaceNorms);
|
||
FreeAndNil(dsNetType);
|
||
FreeAndNil(dsNorms);
|
||
FreeAndNil(dsObjectIcons);
|
||
FreeAndNil(dsProducers);
|
||
FreeAndNil(dsProperties);
|
||
FreeAndNil(dsResources);
|
||
FreeAndNil(dsSuppliesKinds);
|
||
end;
|
||
FreeAndNil(FHiddenTabs);
|
||
FreeAndNil(FTabsSelectedDir);
|
||
except
|
||
on E: Exception do AddExceptionToLogEx('TF_CaseForm.FormDestroy', E.Message);
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.FormShow(Sender: TObject);
|
||
//var Capt: String;
|
||
//NotifyEvent: TNotifyEvent;
|
||
var
|
||
i: Integer;
|
||
begin
|
||
for i := 0 to FHiddenTabs.Count - 1 do
|
||
TRzTabSheet(FHiddenTabs[i]).TabVisible := false;
|
||
|
||
//if Assigned(FCaseFormParams.ActiveGrid) then
|
||
// FCaseFormParams.ActiveGrid.SetFocus;
|
||
|
||
(*
|
||
//GT_PROPERTIES.OnFocusedRecordChanged := nil;
|
||
//Panel_Tree.Visible := false;
|
||
//Splitter_Tree.Visible := false;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (FFormMode in [fmMake, fmEdit]) and
|
||
(FViewKind in [vkTZ, vkResource, vkNorm]) then
|
||
begin
|
||
if Assigned(Panel_Kolvo) then
|
||
Panel_Kolvo.Visible := true;
|
||
end
|
||
else
|
||
if Assigned(Panel_Kolvo) then
|
||
Panel_Kolvo.Visible := false;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if FFormMode = fmView then
|
||
begin
|
||
Button_Ok.Visible := false;
|
||
Button_Cancel.Visible := false;
|
||
Button_Exit.Visible := true;
|
||
end
|
||
else
|
||
begin
|
||
Button_Ok.Visible := true;
|
||
Button_Cancel.Visible := true;
|
||
Button_Exit.Visible := false;
|
||
end;
|
||
//if GFormMode = fmView then
|
||
//Panel_OkCancel.Visible := false
|
||
//else
|
||
//Panel_OkCancel.Visible := true;
|
||
|
||
|
||
if GViewKind <> FOldViewKind then
|
||
begin
|
||
FDirTypeInfo := GetDirTypeInfo(GViewKind);
|
||
ClearTreeView(Tree_InterfType);
|
||
AddNodes(nil);
|
||
if Tree_InterfType.Items.Count > 0 then
|
||
Tree_InterfType.Selected := Tree_InterfType.Items[0]
|
||
else
|
||
EnableEditDel;
|
||
end;
|
||
|
||
NotifyEvent := nil;
|
||
if GFormMode <> fmView then
|
||
NotifyEvent := Button_OkClick;
|
||
GT_PROPERTIES.OnDblClick := NotifyEvent;
|
||
GT_Interfaces.OnDblClick := NotifyEvent;
|
||
GT_CURRENCY.OnDblClick := NotifyEvent;
|
||
GT_NetType.OnDblClick := NotifyEvent;
|
||
GT_Producers.OnDblClick := NotifyEvent;
|
||
GT_ObjectIcons.OnDblClick := NotifyEvent;
|
||
GT_ComponentTypes.OnDblClick := NotifyEvent;
|
||
GT_NB_Norms.OnDblClick := NotifyEvent;
|
||
GT_NB_Resources.OnDblClick := NotifyEvent;
|
||
|
||
|
||
|
||
//TF_Main(GForm).DM.GItemType := PObjectData(TF_Main(GForm).Tree_Catalog.Selected.Data).ItemType;
|
||
case GViewKind of
|
||
vkProperty : begin // type Form Mode - fmMake
|
||
//FillComboBox(ComboBox_Value, F_NormBase.DM.DataSet_COMP_STATE_TYPE, false, 'ID', 'Name');
|
||
Grid_PROPERTIES.Enabled := true;
|
||
case GFormMode of
|
||
fmMake: begin
|
||
//capt := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
//F_AddProperty.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
{ShowHintEdits(true);
|
||
Label_Value.Visible := true; }
|
||
Panel_Value.Visible := true;
|
||
Grid_PROPERTIES.Height := 162;
|
||
|
||
GValueChanged := false;
|
||
GTakeIntoConnect := biFalse;
|
||
GTakeIntoJoin := biFalse;
|
||
TF_Main(GForm).DM.DataSet_PROPERTIES.First;
|
||
ShowValue( TF_Main(GForm).DM.DataSet_PROPERTIES.FN('ID_DAta_TYPE').AsInteger,
|
||
TF_Main(GForm).DM.DataSet_PROPERTIES.FN(fnDefValue).AsString);
|
||
end;
|
||
fmEdit: begin
|
||
//Capt := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
//F_AddProperty.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
{ShowHintEdits(true);
|
||
Label_Value.Visible := true;}
|
||
Panel_Value.Visible := true;
|
||
Grid_PROPERTIES.Height := 162;
|
||
|
||
GValueChanged := True;
|
||
SearchRecord(TF_Main(GForm).DM.DataSet_Properties,'ID', GID_Property);
|
||
//Edit_Value.Text := TF_Main(GForm).TF_Main(GForm).DM...DataSet_COMP_PROP_RELATION.FN('PValue').AsString;
|
||
ShowValue(TF_Main(GForm).DM.DataSet_PROPERTIES.FN('ID_DAta_TYPE').AsInteger,
|
||
GValue);
|
||
//*** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if TF_Main(GForm).DM.DataSet_PROPERTIES.FN('isStandart').AsInteger = 1 then
|
||
Grid_PROPERTIES.Enabled := false;
|
||
end;
|
||
fmView: begin
|
||
//Capt := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
{ShowHintEdits(false);
|
||
Label_Value.Visible := false;}
|
||
Panel_Value.Visible := false;
|
||
Grid_PROPERTIES.Height := 208;
|
||
end;
|
||
end;
|
||
FormView(vkProperty, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',332, 710, true, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
{GroupBox_Properties.Height := 228;
|
||
GroupBox_Properties.Width := 705;}
|
||
Button_Ok.ModalResult := mrNone;
|
||
//Grid_PROPERTIES.SetFocus;
|
||
Grid_PROPERTIES.Align := alClient;
|
||
GroupBox_Properties.Align := alClient;
|
||
|
||
if GTakeIntoConnect = -1 then
|
||
CheckBox_TakeIntoConnect.Visible := false
|
||
else
|
||
CheckBox_TakeIntoConnect.Visible := true;
|
||
if GTakeIntoConnect = biTrue then
|
||
CheckBox_TakeIntoConnect.Checked := true
|
||
else
|
||
CheckBox_TakeIntoConnect.Checked := false;
|
||
|
||
if GTakeIntoJoin = -1 then
|
||
CheckBox_TakeIntoJoin.Visible := false
|
||
else
|
||
CheckBox_TakeIntoJoin.Visible := true;
|
||
if GTakeIntoJoin = biTrue then
|
||
CheckBox_TakeIntoJoin.Checked := true
|
||
else
|
||
CheckBox_TakeIntoJoin.Checked := false;
|
||
|
||
if {(TF_Main(GForm).GDBMode = bkProjectManager) and} (GFormMode <> fmView) then
|
||
begin
|
||
TF_Main(GForm).DM.SelectProperty(GFormMode, GItemType);
|
||
case GItemType of
|
||
itDir:
|
||
spPropertyType.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>';
|
||
itProject:
|
||
spPropertyType.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
itList:
|
||
spPropertyType.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>';
|
||
itSCSLine:
|
||
spPropertyType.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
itSCSConnector:
|
||
spPropertyType.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
itComponLine:
|
||
spPropertyType.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
itComponCon:
|
||
spPropertyType.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
end;
|
||
spPropertyItemType.Caption := '';
|
||
end
|
||
else if {(TF_Main(GForm).GDBMode = bkProjectManager) and} (GFormMode =fmView) then
|
||
begin
|
||
TF_Main(GForm).DM.SelectProperty(GFormMode, GItemType);
|
||
spPropertyType.Caption := '<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
ShowPropItemType(TF_Main(GForm).DM.DataSet_PROPERTIES.FN('ID_ITEM_TYPE').AsInteger);
|
||
end;
|
||
//GT_PROPERTIES.OnFocusedRecordChanged := GT_PROPERTIESFocusedRecordChanged;
|
||
end;
|
||
vkInterface :begin
|
||
if Not Assigned(Tree_InterfType.Selected) then
|
||
if Tree_InterfType.Items.Count > 0 then
|
||
Tree_InterfType.Selected := Tree_InterfType.Items[0];
|
||
|
||
Splitter_Tree.Visible := true;
|
||
FormView(vkInterface, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',385, 680, true, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Button_Ok.ModalResult := mrOK;
|
||
Grid_Interface.SetFocus;
|
||
GroupBox_Interfaces.Align := alClient;
|
||
//Panel_Tree.Visible := true;
|
||
//Tree_InterfType.OnChange(Self, Tree_InterfType.Selected);
|
||
Panel_Find.Visible := false;
|
||
if GFormMode = fmView then
|
||
begin
|
||
Tree_InterfType.Items.BeginUpdate;
|
||
CollapseTree(GForm, ttGuide);
|
||
Tree_InterfType.TopItem.Expanded := true;
|
||
Tree_InterfType.Items.EndUpdate;
|
||
end;
|
||
end;
|
||
vkInterfaceAccordance:
|
||
begin
|
||
FormView(vkInterfaceAccordance, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', 240, 389, true, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Button_Ok.ModalResult := mrOK;
|
||
//Grid_InterfAccordance_.SetFocus;
|
||
//GroupBox_InterfaceAccordance.Align := alClient;
|
||
end;
|
||
vkCurrency :begin
|
||
FormView(vkCurrency, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',332, 281, true, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Button_Ok.ModalResult := mrOK;
|
||
Grid_Currency.SetFocus;
|
||
GroupBox_Currency.Align := alClient;
|
||
end;
|
||
vkNetType :begin
|
||
FormView(vkNetType, '<27><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>',332, 281, true, '<27><><EFBFBD> <20><><EFBFBD><EFBFBD>');
|
||
Button_Ok.ModalResult := mrOK;
|
||
GChangetNetType := false;
|
||
Grid_NetType.SetFocus;
|
||
GroupBox_NetType.Align := alClient;
|
||
end;
|
||
vkProducers:
|
||
begin
|
||
FormView(vkProducers, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',332, 257, true, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Button_Ok.ModalResult := mrOK;
|
||
Grid_Producers.SetFocus;
|
||
GroupBox_Producers.Align := alClient;
|
||
end;
|
||
vkObjectIcons:
|
||
begin
|
||
FormView(vkObjectIcons, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',270, 360, true, '<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
//ToolBar_Edit.Parent := Panel_StateType;
|
||
|
||
Button_Ok.ModalResult := mrOK;
|
||
GroupBox_ObjectIcons.Align := alClient;
|
||
EnableEditDel;
|
||
//id_CompStateType.Align := alClient
|
||
end;
|
||
vkComponentType:
|
||
begin
|
||
FormView(vkComponentType, '<27><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',332, 633, true, '<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
//ToolBar_Edit.Parent := GroupBox_CompTypes;
|
||
//ToolBar_Edit.Visible := false;
|
||
|
||
Button_Ok.ModalResult := mrOK;
|
||
Grid_ComponentTypes.SetFocus;
|
||
GroupBox_ComponentTypes.Align := alClient;
|
||
end;
|
||
{vkTZ:
|
||
begin
|
||
FormView(vkTZ, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',332, 345, true, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Button_Ok.ModalResult := mrOK;
|
||
Grid_TZ.SetFocus;
|
||
Grid_TZ.Align := alClient;
|
||
if GFormMode in [fmMake, fmEdit] then
|
||
if Assigned(Panel_Kolvo) then
|
||
Panel_Kolvo.Parent := GroupBox_TZ;
|
||
end; }
|
||
vkResource:
|
||
begin
|
||
FormView(vkResource, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',332, 415, true, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
Button_Ok.ModalResult := mrOK;
|
||
Grid_NB_Resources.SetFocus;
|
||
Grid_NB_Resources.Align := alClient;
|
||
//CurrencyEdit_Kolvo.Properties.DisplayFormat := ',0.00;-,0.00';
|
||
if GFormMode = fmMake then
|
||
SpinEdit_Kolvo.Value := 1;
|
||
if GFormMode in [fmMake, fmEdit] then
|
||
if Assigned(Panel_Kolvo) then
|
||
Panel_Kolvo.Parent := GroupBox_NB_Resources;
|
||
GroupBox_NB_Resources.Align := alClient;
|
||
{if GFormMode = fmEdit then
|
||
SearchRecord(F_NormBase.DM.DataSet_NB_RESOURCES, 'ID', StrToInt(GValue));}
|
||
end;
|
||
vkNorm:
|
||
begin
|
||
//ToolBar_Edit.Parent := Panel_Norms;
|
||
|
||
FormView(vkNorm, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',433, 665, true, '<27><><EFBFBD><EFBFBD><EFBFBD>');
|
||
Button_Ok.ModalResult := mrOK;
|
||
Grid_NB_Norms.SetFocus;
|
||
|
||
GroupBox_NB_Norms.Align := alClient;
|
||
//Grid_Resources.Align := alClient;
|
||
//if GFormMode = fmMake then
|
||
// CurrencyEdit_Kolvo.Value := 1;
|
||
if GFormMode in [fmMake, fmEdit] then
|
||
if Assigned(Panel_Kolvo) then
|
||
Panel_Kolvo.Parent := GroupBox_NB_Norms;
|
||
|
||
EnableEditDelResourceRel;
|
||
end;
|
||
end; *)
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_MakeExecute(Sender: TObject);
|
||
var
|
||
NewName: String;
|
||
NewGUID: string;
|
||
NewID: Integer;
|
||
|
||
//FirstID: Integer;
|
||
//Stream: TStream;
|
||
|
||
NetType: TNetType;
|
||
IDNetType: Integer;
|
||
IDCurrDirectoryType: Integer;
|
||
|
||
NBComponentType: TNBComponentType;
|
||
NBCurrency: TNBCurrency;
|
||
NBInterface: TNBInterface;
|
||
NBNetType: TNBNetType;
|
||
NBNorm: TNBNorm;
|
||
NBNormTmp: TNBNorm;
|
||
NBObjectIcon: TNBObjectIcon;
|
||
NBProducer: TNBProducer;
|
||
NBPropert: TNBProperty;
|
||
NBResource: TNBResource;
|
||
NBResourceTmp: TNBResource;
|
||
NBSuppliesKind: TNBSuppliesKind;
|
||
|
||
NewNBCurrency: TNBCurrency;
|
||
CurrMainCurrency: TNBCurrency;
|
||
CurrSecondCurrency: TNBCurrency;
|
||
CurrencyProperNBMain: TNBCurrency;
|
||
NBCurrencyAsCurrMain: TNBCurrency;
|
||
|
||
i: Integer;
|
||
LookedGUIDsInterface: TStringList;
|
||
|
||
procedure AddInterfByGUID(AGUIDInterface: String);
|
||
var
|
||
i: Integer;
|
||
SprInterface: TNBInterface;
|
||
SprInterfaceAccordance: TNBInterfaceAccordance;
|
||
SprNorm: TNBNorm;
|
||
begin
|
||
if LookedGUIDsInterface.IndexOf(AGUIDInterface) = -1 then
|
||
begin
|
||
LookedGUIDsInterface.Add(AGUIDInterface);
|
||
if Not CheckLocate(mtInterface, fnGuid, AGUIDInterface) then
|
||
begin
|
||
SprInterface := F_NormBase.GSCSBase.NBSpravochnik.GetInterfaceByGUID(AGUIDInterface);
|
||
if SprInterface <> nil then
|
||
begin
|
||
AddInterfaceToMemTable(SprInterface, true);
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
for i := 0 to SprInterface.InterfaceAccordance.Count - 1 do
|
||
begin
|
||
SprInterfaceAccordance := TNBInterfaceAccordance(SprInterface.InterfaceAccordance[i]);
|
||
AddInterfByGUID(SprInterfaceAccordance.GUIDAccordance);
|
||
end;
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
for i := 0 to SprInterface.InterfaceNorms.Count - 1 do
|
||
if Not CheckLocate(mtNorms, fnGuid, TNBInterfaceNorm(SprInterface.InterfaceNorms[i]).GuidNBNorm) then
|
||
begin
|
||
SprNorm := F_NormBase.GSCSBase.NBSpravochnik.GetNormByGUID(TNBInterfaceNorm(SprInterface.InterfaceNorms[i]).GuidNBNorm);
|
||
if SprNorm <> nil then
|
||
AddNormToMemTable(SprNorm, True, True);
|
||
end;
|
||
end;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
|
||
NewID := -1;
|
||
NewGUID := '';
|
||
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NewID := TF_Main(GForm).DM.GetTableIDFromGuide(FviewKind, -1, fmEdit, NewGUID);
|
||
if NewGUID = '' then
|
||
Exit; ///// EXIT /////
|
||
end;
|
||
|
||
LookedGUIDsInterface := TStringList.Create;
|
||
CurrMainCurrency := nil;
|
||
CurrencyProperNBMain := nil;
|
||
|
||
IDCurrDirectoryType := 0;
|
||
if (Tree_InterfType.Selected <> nil) and (Tree_InterfType.Selected.Data <> nil) then
|
||
IDCurrDirectoryType := PObjectData(Tree_InterfType.Selected.Data).ObjectID;
|
||
case FviewKind of
|
||
vkProperty:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if TF_Main(GForm).CreateFMakeProperty.MakeEditProperty(meMake, GItemType, mtProperties, mtPropValRel, mtPropValNormRes) then
|
||
NewID := TF_Main(GForm).F_MakeProperty.GID;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NBPropert := F_NormBase.GSCSBase.NBSpravochnik.GetPropertyByGUID(NewGUID);
|
||
if NBPropert <> nil then
|
||
if CheckAddObjectToMTByGUID(cNamePropertyB, NBPropert.PropertyData.GUID, NBPropert.PropertyData.Name, mtProperties) then
|
||
AddPropertyToMemTable(NBPropert, mtProperties, mtPropValRel, mtPropValNormRes, true);
|
||
end;
|
||
vkInterface:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
with TF_Main(GForm).DM.DataSet_INTERFACE do
|
||
begin
|
||
if TF_Main(GForm).CreateFMakeEditInterface.Execute(meMake, mtInterface, mtNetType) then
|
||
NewID := TF_Main(GForm).F_MakeEditInterface.NewID;
|
||
end;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NBInterface := F_NormBase.GSCSBase.NBSpravochnik.GetInterfaceByGUID(NewGUID);
|
||
if NBInterface <> nil then
|
||
if CheckAddObjectToMTByGUID(cNameInterfaceB, NBInterface.GUID, NBInterface.Name, mtInterface) then
|
||
begin
|
||
AddInterfByGUID(NBInterface.GUID);
|
||
{
|
||
AddInterfaceToMemTable(NBInterface, true);
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
for i := 0 to NBInterface.InterfaceAccordance.Count - 1 do
|
||
AddInterfAccordanceByGUID(TNBInterfaceAccordance(NBInterface.InterfaceAccordance[i]).GUIDAccordance);
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
for i := 0 to NBInterface.InterfaceNorms.Count - 1 do
|
||
if Not CheckLocate(mtNorms, fnGuidNB, TNBInterfaceNorm(NBInterface.InterfaceNorms[i]).GuidNBNorm) then
|
||
begin
|
||
NBNorm := F_NormBase.GSCSBase.NBSpravochnik.GetNormByGUID(TNBInterfaceNorm(NBInterface.InterfaceNorms[i]).GuidNBNorm);
|
||
if NBNorm <> nil then
|
||
AddNormToMemTable(NBNorm, True);
|
||
end;}
|
||
end;
|
||
end;
|
||
vkCurrency:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if TF_Main(GForm).F_MakeCurrency.Execute(meMake, mtCurrency, mtNorms, mtResources) then
|
||
NewID := TF_Main(GForm).F_MakeCurrency.GID;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NBCurrency := F_NormBase.GSCSBase.NBSpravochnik.GetCurrencyByGUID(NewGUID);
|
||
if NBCurrency <> nil then
|
||
if CheckAddObjectToMTByGUID(cNameCurrencyB, NBCurrency.Data.GUID, NBCurrency.Data.Name, mtCurrency) then
|
||
begin
|
||
CurrMainCurrency := GetNBCurrencyFromMemTableByMain(ctMain);
|
||
CurrSecondCurrency := GetNBCurrencyFromMemTableByMain(ctSecond);
|
||
|
||
NewNBCurrency := TNBCurrency.Create(GForm);
|
||
NewNBCurrency.Assign(NBCurrency);
|
||
|
||
//*** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if NewNBCurrency.Data.Main = ctMain then
|
||
if CurrMainCurrency <> nil then
|
||
begin
|
||
NBCurrencyAsCurrMain := F_NormBase.GSCSBase.NBSpravochnik.GetCurrencyByGUID(CurrMainCurrency.Data.GUID);
|
||
if NBCurrencyAsCurrMain <> nil then
|
||
NewNBCurrency.Data.Ratio := GetPriceAfterChangeCurrency(NewNBCurrency.Data.Ratio, NewNBCurrency.Data, NBCurrencyAsCurrMain.Data, valEpsilonCurrency);
|
||
NewNBCurrency.Data.Main := ctSimple;
|
||
end;
|
||
if NewNBCurrency.Data.Main = ctSecond then
|
||
NewNBCurrency.Data.Main := ctSimple;
|
||
|
||
AddCurrencyToMemTable(NewNBCurrency, true);
|
||
|
||
FreeAndNil(NewNBCurrency);
|
||
if CurrMainCurrency <> nil then
|
||
FreeAndNil(CurrMainCurrency);
|
||
if CurrSecondCurrency <> nil then
|
||
FreeAndNil(CurrSecondCurrency);
|
||
end;
|
||
end;
|
||
vkNetType:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
NewName := InputForm(GForm, cCaseForm_Msg19_1_1, cCaseForm_Msg19_1_2, '');
|
||
if NewName <> '' then
|
||
begin
|
||
ZeroMemory(@NetType, SizeOf(TNetType));
|
||
NetType.Name := NewName;
|
||
SaveNetType(meMake, @NetType);
|
||
NewID := NetType.ID;
|
||
|
||
//DataSet_NET_TYPE.Last;
|
||
//DataSet_NET_TYPE.Append;
|
||
//DataSet_NET_TYPE.FN('Name').AsString := NewName;
|
||
//DataSet_NET_TYPE.Post;
|
||
//NewID := DataSet_NET_TYPE.FN(fnID).AsInteger;
|
||
end;
|
||
GChangetNetType := true;
|
||
end;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NBNetType := F_NormBase.GSCSBase.NBSpravochnik.GetNetTypeByGUID(NewGUID);
|
||
if NBNetType <> nil then
|
||
if CheckAddObjectToMTByGUID(cNameNetTypeB, NBNetType.GUID, NBNetType.Name, mtNetType) then
|
||
AddNetTypeToMemTable(NBNetType, true);
|
||
end;
|
||
vkProducers:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if TF_Main(GForm).CreateFMakeEditProducer.Execute(meMake, mtProducers) then
|
||
NewID := TF_Main(GForm).F_MakeEditProducer.NewID;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NBProducer := F_NormBase.GSCSBase.NBSpravochnik.GetProducerByGUID(NewGUID);
|
||
if NBProducer <> nil then
|
||
if CheckAddObjectToMTByGUID(cNameProducerB, NBProducer.GUID, NBProducer.Name, mtProducers) then
|
||
AddProducerToMemTable(NBProducer, true);
|
||
end;
|
||
vkComponentType:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if TF_Main(GForm).F_MakeEditComponentType.MakeEditComponentType(fmMake, nil, GetRoomHeight) then
|
||
NewID := TF_Main(GForm).F_MakeEditComponentType.GID;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NBComponentType := F_NormBase.GSCSBase.NBSpravochnik.GetComponentTypeByGUID(NewGUID);
|
||
if NBComponentType <> nil then
|
||
if CheckAddObjectToMTByGUID(cNameComponentTypeB, NBComponentType.ComponentType.GUID, NBComponentType.ComponentType.Name, mtComponentType) then
|
||
begin
|
||
AddComponentTypeToMemTable(NBComponentType, true);
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
if (FSpravochnik <> nil) and (FSpravochnik.OwnerObject <> nil) and (FSpravochnik.OwnerObject is TSCSCatalog) then
|
||
for i := 0 to NBComponentType.Properties.Count - 1 do
|
||
if Not CheckLocate(MemTableProperties, fnSysName, TNBCompTypeProperty(NBComponentType.Properties[i]).PropertyData.GUIDProperty) then
|
||
begin
|
||
NBPropert := F_NormBase.GSCSBase.NBSpravochnik.GetPropertyByGUID(TNBCompTypeProperty(NBComponentType.Properties[i]).PropertyData.GUIDProperty);
|
||
|
||
//*** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (FSpravochnik.OwnerObject is TSCSList) and (TSCSList(FSpravochnik.OwnerObject).ProjectOwner <> nil) then
|
||
begin
|
||
AddStringToStringListOnce(
|
||
TSCSList(FSpravochnik.OwnerObject).ProjectOwner.Spravochnik.NewGUIDsProperties,
|
||
TNBCompTypeProperty(NBComponentType.Properties[i]).PropertyData.GUIDProperty);
|
||
TSCSList(FSpravochnik.OwnerObject).ProjectOwner.Spravochnik.DefineDataFromOtherSpravByNewGUIDs(F_NormBase.GSCSBase.NBSpravochnik);
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> MemTable <20><><EFBFBD> <20><><EFBFBD>-<2D>
|
||
if NBPropert <> nil then
|
||
AddPropertyToMemTable(NBPropert, MemTableProperties, nil, nil, false);
|
||
end
|
||
else
|
||
//*** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> MemTable <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
if FSpravochnik.OwnerObject is TSCSProject then
|
||
if NBPropert <> nil then
|
||
AddPropertyToMemTable(NBPropert, MemTableProperties, nil, nil, true);
|
||
end;
|
||
end;
|
||
end;
|
||
vkObjectIcons:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if TF_Main(GForm).CreateFMakeEditObjectIcons.MakeEdit(fmMake, mtObjectIcons, FDefIconName, FDefFileBmp, FDefFileBlk, oitAll) then
|
||
begin
|
||
NewID := TF_Main(GForm).F_MakeEditObjectIcons.GID;
|
||
FAddedObjectIcon := true;
|
||
|
||
//FDefIconName := '';
|
||
//FDefFileBmp := '';
|
||
//FDefFileBlk := '';
|
||
end;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NBObjectIcon := F_NormBase.GSCSBase.NBSpravochnik.GetObjectIconByGUID(NewGUID);
|
||
if NBObjectIcon <> nil then
|
||
if CheckAddObjectToMTByGUID(cNameObjectIconB, NBObjectIcon.GUID, NBObjectIcon.Name, mtObjectIcons) then
|
||
AddObjectIconToMemTable(NBObjectIcon, true);
|
||
end;
|
||
vkNorm:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if F_NormBase.CreateFMakeNorm.Execute(vkNorm, fmMake, mtNorms) then
|
||
begin
|
||
NewID := F_NormBase.F_MakeNorm.GID;
|
||
EnableEditDelResourceRel;
|
||
end;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NBNorm := F_NormBase.GSCSBase.NBSpravochnik.GetNormByGUID(NewGUID);
|
||
if NBNorm <> nil then
|
||
if CheckAddObjectToMTByGUID(cNameNormB, NBNorm.GUID, NBNorm.Name, mtNorms) then
|
||
begin
|
||
CurrMainCurrency := GetNBCurrencyFromMemTableByMain(ctMain);
|
||
CurrencyProperNBMain := GetNBCurrencyFromMemTableByGUID(TF_Main(GForm).FNormBase.GCurrencyM.GUID);
|
||
|
||
NBNormTmp := TNBNorm.Create(NBNorm.ActiveForm);
|
||
NBNormTmp.Assign(NBNorm);
|
||
if (CurrMainCurrency <> nil) and (CurrencyProperNBMain <> nil)then
|
||
NBNormTmp.Price := GetPriceAfterChangeCurrency(NBNormTmp.Price,
|
||
CurrencyProperNBMain.Data, CurrMainCurrency.Data);
|
||
AddNormToMemTable(NBNormTmp, true, true);
|
||
FreeAndNil(NBNormTmp);
|
||
end;
|
||
end;
|
||
vkResource:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if F_NormBase.CreateFMakeNorm.Execute(vkResource, fmMake, mtResources) then
|
||
NewID := F_NormBase.F_MakeNorm.GID;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NBResource := F_NormBase.GSCSBase.NBSpravochnik.GetResourceByGUID(NewGUID);
|
||
if NBResource <> nil then
|
||
if CheckAddObjectToMTByGUID(cNameResourceB, NBResource.GUID, NBResource.Name, mtResources) then
|
||
begin
|
||
CurrMainCurrency := GetNBCurrencyFromMemTableByMain(ctMain);
|
||
CurrencyProperNBMain := GetNBCurrencyFromMemTableByGUID(TF_Main(GForm).FNormBase.GCurrencyM.GUID);
|
||
|
||
NBResourceTmp := TNBResource.Create(NBResource.ActiveForm);
|
||
NBResourceTmp.Assign(NBResource);
|
||
if (CurrMainCurrency <> nil) and (CurrencyProperNBMain <> nil)then
|
||
NBResourceTmp.Price := GetPriceAfterChangeCurrency(NBResourceTmp.Price,
|
||
CurrencyProperNBMain.Data, CurrMainCurrency.Data);
|
||
AddResourceToMemTable(NBResourceTmp, true, true);
|
||
FreeAndNil(NBResourceTmp);
|
||
end;
|
||
end;
|
||
vkSuppliesKind:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if F_NormBase.CreateFMakeEditSupplyKind.Execute(meMake, mtSuppliesKinds) then
|
||
NewID := F_NormBase.F_MakeEditSupplyKind.NewID;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
NBSuppliesKind := F_NormBase.GSCSBase.NBSpravochnik.GetSuppliesKindByGUID(NewGUID);
|
||
if NBSuppliesKind <> nil then
|
||
if CheckAddObjectToMTByGUID(cNameSuppliesKindB, NBSuppliesKind.Data.GUID, NBSuppliesKind.Data.Name, mtSuppliesKinds) then
|
||
AddSuppliesKindToMemTable(NBSuppliesKind, true);
|
||
end;
|
||
vkUnitsOfMeasure:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
NewName := InputForm(GForm, cCaseForm_Msg19_2_1, cCaseForm_Msg19_2_2, '', dtString);
|
||
if NewName <> '' then
|
||
if Not TF_Main(GForm).DM.CheckExistsInputString(NewName, stUnitsOfMeasure, true) then
|
||
begin
|
||
TF_Main(GForm).DM.dsetUnitsOfMeasure.Append;
|
||
TF_Main(GForm).DM.dsetUnitsOfMeasure.FN(fnName).AsString := NewName;
|
||
TF_Main(GForm).DM.dsetUnitsOfMeasure.Post;
|
||
NewID := TF_Main(GForm).DM.dsetUnitsOfMeasure.FN(fnID).AsInteger;
|
||
end;
|
||
end;
|
||
vkDimensions:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
NewName := InputForm(GForm, cCaseForm_Msg19_3_1, cCaseForm_Msg19_3_2, '', dtString);
|
||
if NewName <> '' then
|
||
if Not TF_Main(GForm).DM.CheckExistsInputString(NewName, stDimensions, true) then
|
||
begin
|
||
TF_Main(GForm).DM.dsetDimensions.Append;
|
||
TF_Main(GForm).DM.dsetDimensions.FN(fnName).AsString := NewName;
|
||
TF_Main(GForm).DM.dsetDimensions.Post;
|
||
NewID := TF_Main(GForm).DM.dsetDimensions.FN(fnID).AsInteger;
|
||
end;
|
||
end;
|
||
vkCompSpecifications:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if MakeEditGuideFileExecute(meMake, gftCompSpecification) then
|
||
NewID := F_MakeEditGuideFile.NewID;
|
||
end;
|
||
end;
|
||
if CurrMainCurrency <> nil then
|
||
FreeAndNil(CurrMainCurrency);
|
||
if CurrencyProperNBMain <> nil then
|
||
FreeAndNil(CurrencyProperNBMain);
|
||
|
||
if NewID > 0 then
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
TF_Main(GForm).DM.InsertToDirecoryTypeRel(IDCurrDirectoryType, NewID, FDirTypeInfo.MasterFieldName);
|
||
if FDirTypeInfo.DataSet is TpFIBDataSet then
|
||
TpFIBDataSet(FDirTypeInfo.DataSet).FullRefresh;
|
||
TpFIBDataSet(FDirTypeInfo.DataSet).Locate(fnID, NewID, []);
|
||
DefineTextNode(Tree_InterfType.Selected);
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
if NewGUID <> '' then
|
||
begin
|
||
FDirTypeInfo.DataSet.Locate(fnGuid, NewGUID, []);
|
||
end;
|
||
end;
|
||
|
||
FreeAndNil(LookedGUIDsInterface);
|
||
EnableEditDel;
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_EditExecute(Sender: TObject);
|
||
var
|
||
NewName: String;
|
||
EditName: String;
|
||
ChangedElement: Boolean;
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
|
||
ChangedElement := false;
|
||
case FviewKind of
|
||
vkProperty:
|
||
if TF_Main(GForm).CreateFMakeProperty.MakeEditProperty(meEdit, GItemType, mtProperties, mtPropValRel, mtPropValNormRes) then
|
||
ChangedElement := true;
|
||
vkInterface:
|
||
if TF_Main(GForm).CreateFMakeEditInterface.Execute(meEdit, mtInterface, mtNetType) then
|
||
ChangedElement := true;
|
||
vkInterfaceAccordance:
|
||
if TF_Main(GForm).CreateFMakeEditInterfaceAccordance.MakeEdit(fmEdit, nil, nil) then
|
||
ChangedElement := true;
|
||
vkCurrency:
|
||
begin
|
||
case TF_Main(GForm).GDBMode of
|
||
bkNormBase:
|
||
//25.09.2010 if TF_Main(GForm).DM.DataSet_CURRENCY.FN('Main').AsInteger <> 0 then
|
||
|
||
//if TF_Main(GForm).DM.DataSet_CURRENCY.FN(fnMain).AsInteger = ctMain then
|
||
// MessageDlg(cCaseForm_Msg20_1_1 + #13 +
|
||
// cCaseForm_Msg20_1_2, mtInformation, [mbOK], 0)
|
||
//else
|
||
begin
|
||
if TF_Main(GForm).F_MakeCurrency.Execute(meEdit, nil, nil, nil) then
|
||
ChangedElement := true;
|
||
end;
|
||
bkProjectManager:
|
||
begin
|
||
if TF_Main(GForm).F_MakeCurrency.Execute(meEdit, mtCurrency, mtNorms, mtResources) then
|
||
ChangedElement := true;
|
||
SetCurrencyBriefToControlsFromMT;
|
||
end;
|
||
end;
|
||
end;
|
||
vkNetType:
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
NewName := '';
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
NewName := InputForm(GForm, cCaseForm_Msg20_2_1, cCaseForm_Msg20_2_2, DataSet_NET_TYPE.FN(fnName).AsString)
|
||
else
|
||
NewName := InputForm(GForm, cCaseForm_Msg20_2_1, cCaseForm_Msg20_2_2, mtNetType.FieldByName(fnName).AsString);
|
||
if NewName <> '' then
|
||
begin
|
||
ChangedElement := true;
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
DataSet_NET_TYPE.Edit;
|
||
DataSet_NET_TYPE.FN(fnName).AsString := NewName;
|
||
DataSet_NET_TYPE.Post;
|
||
end
|
||
else
|
||
begin
|
||
mtNetType.Edit;
|
||
mtNetType.FieldByName(fnName).AsString := NewName;
|
||
mtNetType.FieldByName(fnIsModified).AsBoolean := true;
|
||
mtNetType.Post;
|
||
end;
|
||
end;
|
||
end;
|
||
vkProducers:
|
||
if TF_Main(GForm).CreateFMakeEditProducer.Execute(meEdit, mtProducers) then
|
||
ChangedElement := true;
|
||
vkComponentType:
|
||
with TF_Main(GForm) do
|
||
begin
|
||
//EditName := DM.DataSet_COMPONENT_TYPES.FN('NAME').AsString;
|
||
{if DM.DataSet_COMPONENT_TYPES.FN('ISSTANDART').AsInteger = 1 then
|
||
begin
|
||
MessageModal(Self.Handle, PChar('<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "'+ EditName +'" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'), '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', MB_ICONINFORMATION or MB_OK);
|
||
Exit; ///// EXIT /////
|
||
end; }
|
||
if F_MakeEditComponentType.MakeEditComponentType(fmEdit, mtComponentType, GetRoomHeight) then
|
||
ChangedElement := true;
|
||
end;
|
||
vkObjectIcons:
|
||
if TF_Main(GForm).CreateFMakeEditObjectIcons.MakeEdit(fmEdit, mtObjectIcons) then
|
||
ChangedElement := true;
|
||
vkNorm:
|
||
if TF_Main(GForm).CreateFMakeNorm.Execute(vkNorm, fmEdit, mtNorms) then
|
||
ChangedElement := true;
|
||
vkResource:
|
||
if TF_Main(GForm).CreateFMakeNorm.Execute(vkResource, fmEdit, mtResources) then
|
||
ChangedElement := true;
|
||
//vkTZ:
|
||
// begin
|
||
// F_NormBase.F_MakeNorm.Execute(vkTZ, fmEdit);
|
||
// //F_NormBase.F_MakeNorm.GViewKind := vkTZ;
|
||
// //F_NormBase.F_MakeNorm.GFormMode := fmEdit;
|
||
// //F_NormBase.F_MakeNorm.ShowModal;
|
||
// end;
|
||
vkSuppliesKind:
|
||
if F_NormBase.CreateFMakeEditSupplyKind.Execute(meEdit, mtSuppliesKinds) then
|
||
ChangedElement := true;
|
||
vkUnitsOfMeasure:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
EditName := TF_Main(GForm).DM.dsetUnitsOfMeasure.FN(fnName).AsString;
|
||
NewName := InputForm(GForm, cCaseForm_Msg20_3_1, cCaseForm_Msg19_2_2, EditName, dtString);
|
||
if NewName <> '' then
|
||
if Not TF_Main(GForm).DM.CheckExistsInputString(NewName, stUnitsOfMeasure, true) then
|
||
begin
|
||
TF_Main(GForm).DM.dsetUnitsOfMeasure.Edit;
|
||
TF_Main(GForm).DM.dsetUnitsOfMeasure.FN(fnName).AsString := NewName;
|
||
TF_Main(GForm).DM.dsetUnitsOfMeasure.Post;
|
||
end;
|
||
end;
|
||
vkDimensions:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
EditName := TF_Main(GForm).DM.dsetDimensions.FN(fnName).AsString;
|
||
NewName := InputForm(GForm, cCaseForm_Msg20_4_1, cCaseForm_Msg19_3_2, EditName, dtString);
|
||
if NewName <> '' then
|
||
if Not TF_Main(GForm).DM.CheckExistsInputString(NewName, stDimensions, true) then
|
||
begin
|
||
TF_Main(GForm).DM.dsetDimensions.Edit;
|
||
TF_Main(GForm).DM.dsetDimensions.FN(fnName).AsString := NewName;
|
||
TF_Main(GForm).DM.dsetDimensions.Post;
|
||
end;
|
||
end;
|
||
vkCompSpecifications:
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if MakeEditGuideFileExecute(meEdit, gftCompSpecification) then
|
||
ChangedElement := true;
|
||
end;
|
||
end;
|
||
|
||
if ChangedElement then
|
||
FChangedAnySpavElemen := true;
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_DelExecute(Sender: TObject);
|
||
var
|
||
i, ID_Property: Integer;
|
||
ID_Interface: Integer;
|
||
//ID_InterfaceType: Integer;
|
||
//ID_Currency : Integer;
|
||
ID_NetType: Integer;
|
||
ID_Producer: Integer;
|
||
ID_ComponentType: Integer;
|
||
ID_ObjectIcon: Integer;
|
||
ID_SuppleisKind: Integer;
|
||
ID_: integer;
|
||
ItemType: TItemType;
|
||
DelInterfKind: TDelInterfKind;
|
||
|
||
DelName : String;
|
||
//KolInterfLinks: Integer;
|
||
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
|
||
case FViewKind of
|
||
vkProperty:
|
||
begin
|
||
DelName := TF_Main(GForm).DM.DataSet_PROPERTIES.FN('Name').AsString;
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
ID_Property := DataSet_PROPERTIES.FN('ID').AsInteger;
|
||
ItemType := DataSet_PROPERTIES.FN('ID_ITEM_TYPE').AsInteger;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||
if DataSet_PROPERTIES.FN('IsStandart').AsInteger = 1 then
|
||
begin
|
||
MessageModal(cNamePropertyB+' "'+ DelName +'" '+cbMessage12, cActNameDeletingProperty, MB_ICONINFORMATION or MB_OK);
|
||
Exit; //// EXIT ////
|
||
end;
|
||
|
||
|
||
if Not NotDelDataUsedInMemTable('ID_Property', cNameProperty, cNameIt, ID_Property) then
|
||
if CheckNoUseCompData('SELECT COMPONENT.ID, COMPONENT.NAME, isLine FROM COMPONENT, COMP_PROP_RELATION ' +
|
||
'WHERE (ID_PROPERTY = '''+IntToStr(ID_Property)+''') and ' +
|
||
'(COMPONENT.ID = ID_COMPONENT)',
|
||
DelName, meDel, tkProperty, smtDisplay) then
|
||
DataSet_PROPERTIES.Delete;
|
||
|
||
//if (ItemType in [itComponLine, itComponCon]) {or (TF_Main(GForm).GDBMode = bkNormBase)} then
|
||
//begin
|
||
// if Not NotDelDataUsedInMemTable('ID_Property', cNameProperty, cNameIt, ID_Property) then
|
||
// if CheckNoUseCompData(' SELECT ID, NAME, isLine FROM COMPONENT ' +
|
||
// ' WHERE ID in ( SELECT ID_COMPONENT FROM COMP_PROP_RELATION ' +
|
||
// ' WHERE ID_PROPERTY = ''' + IntToStr(ID_Property) + ''' ) ',
|
||
// DelName, meDel, tkProperty, smtDisplay) then
|
||
// DataSet_PROPERTIES.Delete;
|
||
//end
|
||
//else
|
||
//if {(TF_Main(GForm).GDBMode = bkProjectManager) and }Not(ItemType in [itComponLine, itComponCon]) then
|
||
//begin
|
||
// SetSQLToQuery(F_ProjMan.DM.scsQ,
|
||
// ' SELECT ID, NAME, ID_ITEM_TYPE FROM KATALOG ' +
|
||
// ' WHERE ID in (SELECT ID_CATALOG FROM CATALOG_PROP_RELATION' +
|
||
// ' WHERE ID_PROPERTY = ''' + IntToStr(ID_Property) + ''' ) ');
|
||
// if F_ProjMan.DM.scsQ.RecordCount = 0 then
|
||
// begin
|
||
// if MessageModal(cQuastDelProperty+' "'+DelName+'"?', Application.Title, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
// DataSet_PROPERTIES.Delete;
|
||
// end
|
||
// else
|
||
// ShowList(F_ProjMan, trkCatalog, FFormMode, cImpossibleDelProperty+' "' + DataSet_PROPERTIES.FN('Name').AsString +'"'+ #13 +
|
||
// cIsUsePropertiesInNextObjects+':', false);
|
||
//end;
|
||
end;
|
||
end;
|
||
vkInterface:
|
||
begin
|
||
DelName := TF_Main(GForm).DM.DataSet_INTERFACE.FN('Name').AsString;
|
||
ID_Interface := TF_Main(GForm).DM.DataSet_INTERFACE.FN(fnID).AsInteger;
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
if Not NotDelDataUsedInMemTable('ID_Interface', cNameInterface, cNameHe, ID_Interface) then
|
||
if CheckNOUseCompData(' SELECT ID, NAME, isLine FROM COMPONENT ' +
|
||
' WHERE ID in ( SELECT ID_COMPONENT FROM INTERFACE_RELATION ' +
|
||
' WHERE ID_INTERFACE = ''' + IntToStr(ID_Interface) + ''' ) ',
|
||
DelName, meDel, tkInterface, smtDisplay) then
|
||
begin
|
||
TF_Main(GForm).DM.DataSet_INTERFACE.Delete;
|
||
end;
|
||
end;
|
||
end;
|
||
vkInterfaceAccordance:
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
DelName := GetInterfName(DataSet_InterfAccordance.FN(fnIDInterface).AsInteger);
|
||
DelName := DelName + ' - ' + GetInterfName(DataSet_InterfAccordance.FN('ID_ACCORDANCE').AsInteger);
|
||
if MessageModal(cQuastDelInterfAccordance+' "' + DelName + '" ?',
|
||
cActNameDeletingInterfAccordance,
|
||
MB_YESNO or MB_ICONQUESTION) = IDYES then
|
||
DataSet_InterfAccordance.Delete;
|
||
end;
|
||
vkCurrency : begin
|
||
DelName := TF_Main(GForm).DM.DataSet_CURRENCY.FN('Name').AsString;
|
||
if TF_Main(GForm).DM.DataSet_CURRENCY.FN('Main').AsInteger <> 0 then
|
||
MessageModal(cImpossibleDelCurrency+' "'+ DelName + '" ' + cSinceSheUse, cActNameDeletingCurrency,
|
||
MB_OK or MB_ICONINFORMATION)
|
||
else
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
if GIDNotDel = DataSet_CURRENCY.FN('ID').AsInteger then
|
||
MessageModal(cImpossibleDelCurrency+' "'+ DelName +'" '+cSinceSheUseInAnotherPrice,
|
||
cActNameDeletingCurrency, MB_OK or MB_ICONINFORMATION)
|
||
else
|
||
if MessageModal(cQuastDelCurrency+' "' + DelName + '" ?', cActNameDeletingCurrency,
|
||
MB_YESNO or MB_ICONQUESTION) = IDYES then
|
||
TF_Main(GForm).DM.DataSet_CURRENCY.Delete;
|
||
end;
|
||
end;
|
||
|
||
vkNetType : with TF_Main(GForm).DM do
|
||
begin
|
||
ID_NetType := DataSet_NET_TYPE.FN('ID').AsInteger;
|
||
DelName := DataSet_NET_TYPE.FN('Name').AsString;
|
||
if GIDNotDel = ID_NetType then
|
||
MessageModal(cImpossibleDelNetType+' "'+ DelName +'" '+ cSinceHeUse,
|
||
cActNameDeletingNetType, MB_OK or MB_ICONINFORMATION)
|
||
else
|
||
if CheckNoUseCompData(' SELECT ID, NAME, isLine FROM COMPONENT ' +
|
||
' WHERE ID_Net_Type = ''' + IntToStr(ID_NetType) + ''' ',
|
||
DelName, meDel, tkNetType, smtDisplay) then
|
||
TF_Main(GForm).DM.DataSet_NET_TYPE.Delete;
|
||
GChangetNetType := true;
|
||
end;
|
||
vkProducers :
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
ID_Producer := DataSet_PRODUCERS.FN('ID').AsInteger;
|
||
DelName := DataSet_PRODUCERS.FN('Name').AsString;
|
||
if GIDNotDel = ID_Producer then
|
||
MessageModal(cImpossibleDelProducer+' "'+ DelName +'" ' + cSinceHeUse,
|
||
cActNameDeletingProducer, MB_OK or MB_ICONINFORMATION)
|
||
else
|
||
if CheckNoUseCompData(' SELECT ID, NAME, isLine FROM COMPONENT ' +
|
||
' WHERE ID_Producer = ''' + IntToStr(ID_Producer) + ''' ',
|
||
DelName, meDel, tkProducers, smtDisplay) then
|
||
TF_Main(GForm).DM.DataSet_PRODUCERS.Delete;
|
||
end;
|
||
vkComponentType:
|
||
with TF_Main(GForm).FNormBase.DM do
|
||
begin
|
||
DelName := DataSet_COMPONENT_TYPES.FN('NAME').AsString;
|
||
ID_ComponentType := DataSet_COMPONENT_TYPES.FN('ID').AsInteger;
|
||
if DataSet_COMPONENT_TYPES.FN('ISSTANDART').AsInteger = 1 then
|
||
begin
|
||
MessageModal(cComponentType+' "'+ DelName +'" '+cbMessage13, cActNameDeletingComponentType, MB_ICONINFORMATION or MB_OK);
|
||
Exit; ///// EXIT /////
|
||
end;
|
||
|
||
{if GIDNotDel = ID_ComponentType then
|
||
MessageModal(Self.Handle,PAnsiChar(' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "'+ DelName +
|
||
'" ' +#13 + '<27><><EFBFBD> <20><><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.' ),
|
||
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ', MB_OK or MB_ICONINFORMATION)
|
||
else
|
||
if CheckDelCompData(' SELECT ID, NAME, isLine FROM COMPONENT ' +
|
||
' WHERE ID_Component_type = ''' + IntToStr(ID_ComponentType) + ''' ',
|
||
DelName, tkComponentTypes) then }
|
||
if CheckNoUsingCurrCompType(meDel, smtDisplay, ID_ComponentType) then
|
||
TF_Main(GForm).DM.DataSet_COMPONENT_TYPES.Delete;
|
||
end;
|
||
vkObjectIcons :
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
if GT_ObjectIcons.Controller.SelectedRecordCount > 1 then
|
||
begin
|
||
if MessageModal(cQuastDelSelected + '?', cActNameDeleting, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
begin
|
||
//GT_ObjectIcons.BeginUpdate;
|
||
//GT_ObjectIcons.ViewData.BeginUpdate;
|
||
GT_ObjectIcons.DataController.BeginUpdate;
|
||
//DataSet_OBJECT_ICONS.DisableControls;
|
||
//DataSet_OBJECT_ICONS.DisableScrollEvents;
|
||
try
|
||
for i := 0 to GT_ObjectIcons.Controller.SelectedRecordCount - 1 do
|
||
begin
|
||
//if GT_ObjectIcons.ViewData.Records[i].Selected then
|
||
begin
|
||
//ID_ObjectIcon := GT_ObjectIcons.ViewData.Records[i].Values[4]; //DataSet_OBJECT_ICONS.FN('ID').AsInteger;
|
||
//DelName := GT_ObjectIcons.ViewData.Records[i].Values[0]; //DataSet_OBJECT_ICONS.FN('Name').AsString;
|
||
DataSet_OBJECT_ICONS.Bookmark := GT_ObjectIcons.DataController.GetSelectedBookmark(i);
|
||
ID_ObjectIcon := DataSet_OBJECT_ICONS.FN('ID').AsInteger;
|
||
DelName := DataSet_OBJECT_ICONS.FN('Name').AsString;
|
||
|
||
if DataSet_OBJECT_ICONS.Locate('ID', ID_ObjectIcon, []) then
|
||
begin
|
||
if CheckNoUseCompData(' SELECT ID, NAME, isLine, ID_OBJECT_ICON FROM COMPONENT ' +
|
||
' WHERE ID_OBJECT_ICON = '''+IntTOstr(ID_ObjectIcon)+''' ',
|
||
DelName, meDel, tkCompStateType, smtDisplay, false) then
|
||
DataSet_OBJECT_ICONS.Delete;
|
||
end;
|
||
end;
|
||
end;
|
||
except
|
||
end;
|
||
//DataSet_OBJECT_ICONS.EnableScrollEvents;
|
||
//DataSet_OBJECT_ICONS.EnableControls;
|
||
GT_ObjectIcons.DataController.EndUpdate;
|
||
//GT_ObjectIcons.ViewData.EndUpdate;
|
||
//GT_ObjectIcons.EndUpdate;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
ID_ObjectIcon := DataSet_OBJECT_ICONS.FN('ID').AsInteger;
|
||
DelName := DataSet_OBJECT_ICONS.FN('Name').AsString;
|
||
//if Not NotDelDataUsedInMemTable('ID_OBJECT_ICON', '<27><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', ID_CompStateType) then
|
||
if CheckNoUseCompData(' SELECT ID, NAME, isLine, ID_OBJECT_ICON FROM COMPONENT ' +
|
||
' WHERE ID_OBJECT_ICON = '''+IntTOstr(ID_ObjectIcon)+''' ',
|
||
DelName, meDel, tkCompStateType, smtDisplay, true) then
|
||
DataSet_OBJECT_ICONS.Delete;
|
||
end;
|
||
end;
|
||
vkNorm:
|
||
begin
|
||
if GT_NB_Norms.Controller.SelectedRecordCount > 1 then
|
||
begin
|
||
if MessageModal(cQuastDelSelected + '?', cActNameDeletingNorm, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
begin
|
||
GT_NB_Norms.DataController.BeginUpdate;
|
||
try
|
||
for i := 0 to GT_NB_Norms.Controller.SelectedRecordCount - 1 do
|
||
begin
|
||
ID_ := GT_NB_Norms.Controller.SelectedRecords[0].Values[6];
|
||
if F_NormBase.DM.DataSet_NB_NORMS.Locate('ID', ID_, []) then
|
||
begin
|
||
DelName := F_NormBase.DM.DataSet_NB_NORMS.FN('Name').AsString;
|
||
//if MessageModal(cQuastDelNorm+' "'+ DelName +'" ?', cActNameDeletingNorm, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
F_NormBase.DM.DataSet_NB_NORMS.Delete;
|
||
end;
|
||
end;
|
||
except
|
||
end;
|
||
GT_NB_Norms.DataController.EndUpdate;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
DelName := F_NormBase.DM.DataSet_NB_NORMS.FN('Name').AsString;
|
||
if MessageModal(cQuastDelNorm+' "'+ DelName +'" ?', cActNameDeletingNorm, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
F_NormBase.DM.DataSet_NB_NORMS.Delete;
|
||
end;
|
||
end;
|
||
vkResource:
|
||
begin
|
||
if GT_NB_Resources.Controller.SelectedRecordCount > 1 then
|
||
begin
|
||
if MessageModal(cQuastDelSelected + '?', cActNameDeletingResource, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
begin
|
||
GT_NB_Resources.DataController.BeginUpdate;
|
||
try
|
||
for i := 0 to GT_NB_Resources.Controller.SelectedRecordCount - 1 do
|
||
begin
|
||
ID_ := GT_NB_Resources.Controller.SelectedRecords[0].Values[6];
|
||
if F_NormBase.DM.DataSet_NB_RESOURCES.Locate('ID', ID_, []) then
|
||
begin
|
||
DelName := F_NormBase.DM.DataSet_NB_RESOURCES.FN('Name').AsString;
|
||
F_NormBase.DM.DataSet_NB_RESOURCES.Delete;
|
||
end;
|
||
end;
|
||
except
|
||
end;
|
||
GT_NB_Resources.DataController.EndUpdate;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
DelName := F_NormBase.DM.DataSet_NB_RESOURCES.FN('Name').AsString;
|
||
if MessageModal(cQuastDelResource+' "'+ DelName +'" ?', cActNameDeletingResource, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
F_NormBase.DM.DataSet_NB_RESOURCES.Delete;
|
||
end;
|
||
end;
|
||
vkSuppliesKind:
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
ID_SuppleisKind := DataSet_SuppliesKinds.FN(fnID).AsInteger;
|
||
DelName := DataSet_SuppliesKinds.FN(fnName).AsString;
|
||
if GIDNotDel = ID_SuppleisKind then
|
||
MessageModal(cImpossibleDelSuppliesKind+' "'+ DelName +'" ' + cSinceHeUse,
|
||
cActNameDeletingSuppliesKind, MB_OK or MB_ICONINFORMATION)
|
||
else
|
||
if CheckNoUseCompData(' SELECT ID, NAME, isLine FROM COMPONENT ' +
|
||
' WHERE ID_SUPPLIES_KIND = ''' + IntToStr(ID_SuppleisKind) + ''' ',
|
||
DelName, meDel, tkSuppliesKind, smtDisplay) then
|
||
TF_Main(GForm).DM.DataSet_SuppliesKinds.Delete;
|
||
end;
|
||
vkUnitsOfMeasure:
|
||
begin
|
||
DelName := TF_Main(GForm).DM.dsetUnitsOfMeasure.FN(fnName).AsString;
|
||
if MessageModal(cQuastDel +' '+ FCaseFormParams.CaptionForActions +' "'+ DelName +'" ?',
|
||
ApplicationName, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
TF_Main(GForm).DM.dsetUnitsOfMeasure.Delete;
|
||
end;
|
||
vkDimensions:
|
||
begin
|
||
DelName := TF_Main(GForm).DM.dsetDimensions.FN(fnName).AsString;
|
||
if MessageModal(cQuastDel +' '+ FCaseFormParams.CaptionForActions +' "'+ DelName +'" ?',
|
||
ApplicationName, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
TF_Main(GForm).DM.dsetDimensions.Delete;
|
||
end;
|
||
{vkTZ:
|
||
begin
|
||
DelName := F_NormBase.DM.DataSet_TZ.FN('Name').AsString;
|
||
if MessageModal(Self.Handle, PChar(' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "'+ DelName +'" ?'), '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
F_NormBase.DM.DataSet_TZ.Delete;
|
||
end; }
|
||
|
||
vkCompSpecifications:
|
||
begin
|
||
DelName := TF_Main(GForm).DM.dsetCompSpecifications.FN(fnFileName).AsString;
|
||
if MessageModal(cQuastDel +' '+ FCaseFormParams.CaptionForActions +' "'+ DelName +'" ?',
|
||
ApplicationName, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
TF_Main(GForm).DM.dsetCompSpecifications.Delete;
|
||
end;
|
||
end;
|
||
|
||
DefineTextNode(Tree_InterfType.Selected);
|
||
EnableEditDel;
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ShortCut #####
|
||
procedure TF_CaseForm.Act_EnableSCDelExecute(Sender: TObject);
|
||
begin
|
||
//Act_Del.ShortCut := ShortCut(VK_DELETE, []);
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ShortCut #####
|
||
procedure TF_CaseForm.Act_DisableSCDelExecute(Sender: TObject);
|
||
begin
|
||
//Act_Del.ShortCut := ShortCut(VK_NONAME, []);
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.ComboBox_PDataTypePropertiesChange(Sender: TObject);
|
||
begin
|
||
GValue := '';
|
||
//ChoiceEdit;
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD> OK #####
|
||
procedure TF_CaseForm.Button_OkClick(Sender: TObject);
|
||
var
|
||
ItemTypeName: String;
|
||
begin
|
||
if FFormMode = fmEdit then
|
||
begin
|
||
if FViewKind = vkProperty then
|
||
begin
|
||
ItemTypeName := GetItemTypeName(GItemType);
|
||
//*** <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (GItemFieldName <> '') and (ItemTypeName <> '') then
|
||
if TF_Main(GForm).DM.DataSet_Properties.RecordCount > 0 then
|
||
if TF_Main(GForm).DM.DataSet_Properties.FN(GItemFieldName).AsInteger = biFalse then
|
||
begin
|
||
MessageModal(cNamePropertyB+' "'+TF_Main(GForm).DM.DataSet_Properties.FN(fnName).AsString+
|
||
'" '+cbMessage14+' "'+ItemTypeName+'".', ApplicationName,
|
||
MB_ICONINFORMATION or MB_OK);
|
||
ModalResult := mrNone;
|
||
Exit; ///// EXIT /////
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
try
|
||
if FFormMode <> fmView then
|
||
begin
|
||
case FViewKind of {
|
||
vkProperty: begin
|
||
GValue := GetValueFromEdit(TF_Main(GForm).DM.DataSet_PROPERTIES.FN('ID_DATA_TYPE').AsInteger);
|
||
GTakeIntoConnect := biFalse;
|
||
if CheckBox_TakeIntoConnect.Visible then
|
||
if CheckBox_TakeIntoConnect.Checked then
|
||
GTakeIntoConnect := biTrue;
|
||
|
||
GTakeIntoJoin := biFalse;
|
||
if CheckBox_TakeIntoJoin.Visible then
|
||
if CheckBox_TakeIntoJoin.Checked then
|
||
GTakeIntoJoin := biTrue;
|
||
|
||
if MinMaxReqControl(GValue) then
|
||
ModalResult := mrOK
|
||
else
|
||
ModalResult := mrNone;
|
||
end;}
|
||
vkInterface: begin
|
||
TF_Main(GForm).DM.DataSet_INTERFACE.Edit;
|
||
TF_Main(GForm).DM.DataSet_INTERFACE.FN('Name').AsString := GT_InterfacesNAME.DataBinding.Field.AsString;
|
||
TF_Main(GForm).DM.DataSet_INTERFACE.Post;
|
||
end;
|
||
vkNetType: begin
|
||
TF_Main(GForm).DM.DataSet_NET_TYPE.Edit;
|
||
TF_Main(GForm).DM.DataSet_NET_TYPE.FN('Name').AsString := GT_NetTypeNAME.DataBinding.Field.AsString;
|
||
TF_Main(GForm).DM.DataSet_NET_TYPE.Post;
|
||
end;
|
||
end;
|
||
//if FViewKind <> vkProperty then
|
||
// ModalResult := mrOK;
|
||
ModalResult := mrOK;
|
||
end
|
||
else
|
||
ModalResult := mrOK;
|
||
except
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_CURRENCYDblClick(Sender: TObject);
|
||
begin
|
||
Act_Edit.Execute;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_PropertiesFocusedRecordChanged(
|
||
Sender: TcxCustomGridTableView; APrevFocusedRecord,
|
||
AFocusedRecord: TcxCustomGridRecord;
|
||
ANewItemRecordFocusingChanged: Boolean);
|
||
begin
|
||
(*
|
||
if TF_Main(GForm).DM.DataSet_PROPERTIES.Active then
|
||
begin
|
||
if (FFormMode <> fmView) and (Visible) and (GroupBox_Properties.Visible) then
|
||
ShowValue(TF_Main(GForm).DM.DataSet_PROPERTIES.FN('ID_DAta_TYPE').AsInteger,
|
||
TF_Main(GForm).DM.DataSet_PROPERTIES.FN(fnDefValue).AsString);
|
||
if {(TF_Main(GForm).GDBMode = bkProjectManager) and }(FFormMode = fmView) then
|
||
begin
|
||
ShowPropItemType(TF_Main(GForm).DM.DataSet_PROPERTIES.FN('ID_ITEM_TYPE').AsInteger);
|
||
{case TF_Main(GForm).DM.DataSet_PROPERTIES.FN('ID_ITEM_TYPE').AsInteger of
|
||
itDir : Label_PropItemType.Caption := '[ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ]';
|
||
itList : Label_PropItemType.caption := '[ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ]';
|
||
itScsline : Label_PropItemType.caption := '[ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ]';
|
||
itScsconnector : Label_PropItemType.caption := '[ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ]';
|
||
itComponLine, itComponCon : Label_PropItemType.caption := '[ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ]';
|
||
itCommon : Label_PropItemType.caption := '[ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ]';
|
||
end; }
|
||
end;
|
||
end;
|
||
*)
|
||
end;
|
||
|
||
|
||
procedure TF_CaseForm.GT_PropertiesDEFAULTGetProperties(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord; var AProperties: TcxCustomEditProperties);
|
||
//var DisplayValue: Variant;
|
||
//ErrText: TCaption;
|
||
//Error: Boolean;
|
||
begin
|
||
if ARecord.Values[3] <> null then
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
case ARecord.Values[3] of
|
||
dtBoolean:
|
||
AProperties := EditRepositoryCheckBoxItem.Properties;
|
||
//dtFloat : AProperties := EditRepositorySpinItem.Properties;
|
||
//dtInteger: AProperties := EditRepositorySpinItem.Properties;
|
||
//dtDate:
|
||
// AProperties := EditRepositoryDateItem.Properties;
|
||
dtCompStateType:
|
||
AProperties := EditRepositoryLookupCompSateType.Properties;
|
||
dtColor:
|
||
AProperties := EditRepositoryColorComboBox.Properties;
|
||
dtCableCanalElementType:
|
||
AProperties := EditRepositoryLookupCableCanalElementType.Properties;
|
||
//dtSectionSide:
|
||
// AProperties := EditRepositoryMaskItemSectionSide.Properties;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
|
||
procedure TF_CaseForm.GT_PropertiesDEFAULTGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
//var
|
||
// CurrFloat: Double;
|
||
var DoSetDisplay: boolean; // IGOR 04/07/2019 --
|
||
begin
|
||
// IGOR 04/07/2019 --
|
||
DoSetDisplay := True;
|
||
if ARecord.Values[3] <> null then
|
||
begin
|
||
if (ARecord.Values[3] = dtBoolean) or (ARecord.Values[3] = dtCompStateType)
|
||
or (ARecord.Values[3] = dtColor) or (ARecord.Values[3] = dtCableCanalElementType) then
|
||
DoSetDisplay := False;
|
||
end;
|
||
if DoSetDisplay then
|
||
//
|
||
SetDisplayTextToGridTablePropValue(AText, ARecord, 3, 10, TF_Main(GForm).FUOM);
|
||
{if ARecord.Values[3] <> null then
|
||
case ARecord.Values[3] of
|
||
dtFloat:
|
||
try
|
||
CurrFloat := StrToFloatU(AText);
|
||
if GPropSysNameInUOM.IndexOf(ARecord.Values[10]) <> -1 then
|
||
CurrFloat := RoundCP(FloatInUOM(CurrFloat, umMetr, TF_Main(GForm).FUOM));
|
||
AText := FloatToStr(CurrFloat);
|
||
except
|
||
end;
|
||
dtDate:
|
||
try
|
||
AText := DateToStr(StrToDateU(AText));
|
||
except
|
||
end;
|
||
end;}
|
||
end;
|
||
|
||
|
||
procedure TF_CaseForm.GT_PropertiesMIN_VALUEGetProperties(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
begin
|
||
if ARecord.Values[3] <> null then
|
||
begin
|
||
with TF_Main(GForm).DM do
|
||
case ARecord.Values[3] of
|
||
dtBoolean:
|
||
AProperties := EditRepositoryCheckBoxItem.Properties;
|
||
dtFloat:
|
||
AProperties := EditRepositoryCurrencyItemForFloat.Properties;
|
||
dtDate:
|
||
AProperties := EditRepositoryDateItem.Properties;
|
||
dtCompStateType:
|
||
AProperties := EditRepositoryLookupCompSateType.Properties;
|
||
dtColor:
|
||
AProperties := EditRepositoryColorComboBox.Properties;
|
||
dtCableCanalElementType:
|
||
AProperties := EditRepositoryLookupCableCanalElementType.Properties;
|
||
//dtSectionSide:
|
||
// AProperties := EditRepositoryMaskItemSectionSide.Properties;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_PROPERTIESMAX_VALUEGetProperties(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
begin
|
||
//if ARecord.Values[3] <> null then
|
||
// if ARecord.Values[3] = dtDate then
|
||
// AProperties := TF_Main(GForm).DM.EditRepositoryDateItem.Properties;
|
||
|
||
if ARecord.Values[3] <> null then
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
case ARecord.Values[3] of
|
||
dtBoolean:
|
||
AProperties := EditRepositoryCheckBoxItem.Properties;
|
||
dtFloat:
|
||
AProperties := EditRepositoryCurrencyItemForFloat.Properties;
|
||
dtDate:
|
||
AProperties := EditRepositoryDateItem.Properties;
|
||
dtCompStateType:
|
||
AProperties := EditRepositoryLookupCompSateType.Properties;
|
||
dtColor:
|
||
AProperties := EditRepositoryColorComboBox.Properties;
|
||
dtCableCanalElementType:
|
||
AProperties := EditRepositoryLookupCableCanalElementType.Properties;
|
||
//dtSectionSide:
|
||
// AProperties := EditRepositoryMaskItemSectionSide.Properties;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
{procedure TF_CaseForm.ShowHintEdits(AisShow: Boolean);
|
||
begin
|
||
Edit_Value.Visible := AisShow;
|
||
SpinEdit_Value.Visible := AisShow;
|
||
CheckBox_Value.Visible := AisShow;
|
||
DateEdit_Value.Visible := AisShow;
|
||
end;}
|
||
|
||
procedure TF_CaseForm.GT_PropertiesDataTypeGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
//if AText = '1' then
|
||
// AText := cCaseForm_Msg21_1
|
||
//else if AText = '2' then
|
||
// AText := cCaseForm_Msg21_2
|
||
//else if AText = '3' then
|
||
// AText := cCaseForm_Msg21_3
|
||
//else if AText = '4' then
|
||
// AText := cCaseForm_Msg21_4
|
||
//else if AText = '5' then
|
||
// AText := cCaseForm_Msg21_5
|
||
//else if AText = '6' then
|
||
// AText := cCaseForm_Msg21_6
|
||
//else if AText = IntTostr(dtColor) then
|
||
// AText := cCaseForm_Msg21_7
|
||
//else if AText = IntTostr(dtCableCanalElementType) then
|
||
// ATExt := cCaseForm_Msg21_8
|
||
//else if AText = IntToStr(dtDimensions) then
|
||
// AText := cDimensionsB
|
||
//else if AText = IntToStr(dtConnectionKind) then
|
||
// AText := cNameConnectionKind
|
||
//else if AText = IntToStr(dtStringList) then
|
||
// AText := cNameStringListB;
|
||
try
|
||
AText := GetDataTypeName(StrToInt(AText));
|
||
except
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Button_ExitClick(Sender: TObject);
|
||
begin
|
||
Close;
|
||
end;
|
||
|
||
procedure TF_CaseForm.FormHide(Sender: TObject);
|
||
begin
|
||
// ##### <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>s<EFBFBD><73><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
//F_CaseForm.Position := poMainFormCenter;
|
||
GIDNotDel := -1;
|
||
GIDToLocate := -1;
|
||
GGUIDToLocate := '';
|
||
|
||
FDefIconName := '';
|
||
FDefFileBmp := '';
|
||
FDefFileBlk := '';
|
||
|
||
if Act_PanelFind.Checked then
|
||
Act_PanelFind.Execute;
|
||
|
||
if FViewKind = vkInterface then
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
if DataSet_InterfaceLookUp.Active then
|
||
begin
|
||
DataSet_InterfaceLookUp.Active := false;
|
||
DataSet_InterfaceLookUp.Active := true;
|
||
end;
|
||
end;
|
||
|
||
//if FViewKind in [vkComponentType, vkNorm] then
|
||
// begin
|
||
// ToolBar_Edit.Visible := true;
|
||
// ToolBar_Edit.Parent := Panel_Data;
|
||
// end;
|
||
if Assigned(Panel_Kolvo) then
|
||
if Panel_Kolvo.Visible = true then
|
||
Panel_Kolvo.Visible := false;
|
||
|
||
TF_Main(GForm).RefreshNode;
|
||
//F_NormBase.RefreshNode;
|
||
//F_ProjMan.RefreshNode;
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.EnableEditDel;
|
||
var //TableName: String;
|
||
//RecCount: Integer;
|
||
CanEnable: Boolean;
|
||
|
||
procedure EnableED(AEnabled: Boolean);
|
||
begin
|
||
Act_Edit.Enabled := AEnabled;
|
||
Act_Del.Enabled := AEnabled;
|
||
Panel_Value.Enabled := AEnabled;
|
||
{Act_EditObjectIconInCAD.Visible := AEnabled and (FViewKind = vkObjectIcons);
|
||
Act_EditObjectIconInCAD.Enabled := Act_EditObjectIconInCAD.Visible and ExistsOpenedCAD;
|
||
Act_SetIconFromCAD.Visible := AEnabled and (FViewKind = vkObjectIcons) and (TF_Main(GForm).GDBMode = bkNormBase);
|
||
Act_SetIconFromCAD.Enabled := false;
|
||
Act_ShowComponTempateInNB.Visible := AEnabled and (FViewKind = vkComponentType) and (TF_Main(GForm).GDBMode = bkNormBase);
|
||
Act_ShowComponTempateInNB.Enabled := false;}
|
||
Edit_Value.Enabled := AEnabled;
|
||
SpinEdit_Value.Enabled := AEnabled;
|
||
CheckBox_Value.Enabled := AEnabled;
|
||
DateEdit_Value.Enabled := AEnabled;
|
||
|
||
if FFormMode <> fmview then
|
||
Button_OK.Enabled := AEnabled
|
||
else
|
||
Button_OK.Enabled := true;
|
||
end;
|
||
|
||
begin
|
||
CanEnable := false;
|
||
|
||
if Assigned(FDirTypeInfo.DataSet) then
|
||
if FDirTypeInfo.DataSet.RecordCount > 0 then
|
||
CanEnable := true;
|
||
EnableED(CanEnable);
|
||
|
||
if FViewKind = vkInterface then
|
||
EnableEditDelInterfData;
|
||
|
||
|
||
{ case GViewKind of
|
||
vkCurrency : TableName := 'CURRENCY';
|
||
vkInterface : TableName := tnInterface;
|
||
vkInterfaceAccordance:
|
||
TableName := 'INTERFACE_ACCORDANCE';
|
||
vkNetType : TableName := 'NET_TYPE';
|
||
vkProducers : TableName := 'PRODUCERS';
|
||
vkProperty : TableName := 'PROPERTIES';
|
||
vkObjectIcons: TableName := 'OBJECT_ICONS';
|
||
vkComponentType: TableName := 'COMPONENT_TYPES';
|
||
vkResource : TableName := 'NB_RESOURCES';
|
||
//vkTZ : TableName := 'TZ';
|
||
vkNorm : TableName := 'NB_NORMS';
|
||
end;
|
||
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
SetSQLToQuery(scsQSelect, 'SELECT Count(*) As Cnt FROM '+ TableName);
|
||
RecCount := scsQSelect.GetFNAsInteger('Cnt');
|
||
|
||
if RecCount = 0 then
|
||
EnableED(false)
|
||
else
|
||
EnableED(true);
|
||
end;
|
||
|
||
case GViewKind of
|
||
vkInterface:
|
||
EnableEditDelInterfData;
|
||
end; }
|
||
end;
|
||
|
||
{
|
||
procedure TF_CaseForm.EnableEditDelObjectIcons;
|
||
begin
|
||
if TF_Main(GForm).DM.DataSet_OBJECT_ICONS.RecordCount = 0 then
|
||
begin
|
||
Act_EditIcon.Enabled := false;
|
||
Act_DelIcon.Enabled := false;
|
||
end
|
||
else
|
||
begin
|
||
Act_EditIcon.Enabled := true;
|
||
Act_DelIcon.Enabled := true;
|
||
end;
|
||
end;
|
||
}
|
||
|
||
procedure TF_CaseForm.EnableEditDelResourceRel;
|
||
var
|
||
CurrID: Integer;
|
||
begin
|
||
CurrID := 0;
|
||
with TF_Main(GForm).DM do
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if DataSet_NB_NORMS.RecordCount = 0 then
|
||
Act_AddResourceRel.Enabled := false
|
||
else
|
||
begin
|
||
CurrID := DataSet_NB_NORMS.FN(fnID).AsInteger;
|
||
Act_AddResourceRel.Enabled := true;
|
||
end;
|
||
|
||
//if DataSet_NB_NORM_RESOURCE_REL.RecordCount = 0 then
|
||
if GetDetailRecCount(tnNBNormResourceRel, fnIDNBNorm, CurrID) = 0 then
|
||
begin
|
||
Act_EditResourceRel.Enabled := false;
|
||
Act_DelResourceRel.Enabled := false;
|
||
end
|
||
else
|
||
begin
|
||
Act_EditResourceRel.Enabled := true;
|
||
Act_DelResourceRel.Enabled := true;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
|
||
procedure TF_CaseForm.EnableEditCompTypeProperties;
|
||
var
|
||
CurrID: Integer;
|
||
RecordCount: Integer;
|
||
begin
|
||
try
|
||
CurrID := 0;
|
||
RecordCount := 0;
|
||
if mtComponentType <> nil then
|
||
begin
|
||
if mtComponentType.Active then
|
||
RecordCount := mtComponentType.RecordCount;
|
||
end
|
||
else
|
||
begin
|
||
RecordCount := F_NormBase.DM.DataSet_COMPONENT_TYPES.RecordCount;
|
||
end;
|
||
|
||
if RecordCount = 0 then
|
||
Act_AddCompTypeProperty.Enabled := false
|
||
else
|
||
begin
|
||
if mtComponentType = nil then
|
||
CurrID := TF_Main(GForm).DM.DataSet_COMPONENT_TYPES.FN(fnID).AsInteger;
|
||
Act_AddCompTypeProperty.Enabled := true;
|
||
end;
|
||
|
||
//if TF_Main(GForm).DM.DataSet_COMP_TYPE_PROP_RELATION.RecordCount = 0 then
|
||
if TF_Main(GForm).DM.GetDetailRecCount(tnCompTypePropRelation, fnIDComponentType, CurrID, mtCompTypePropRelation) = 0 then
|
||
begin
|
||
Act_EditCompTypeProperty.Enabled := false;
|
||
Act_DelCompTypeProperty.Enabled := false;
|
||
end
|
||
else
|
||
begin
|
||
Act_EditCompTypeProperty.Enabled := true;
|
||
Act_DelCompTypeProperty.Enabled := true;
|
||
end;
|
||
except
|
||
on E: Exception do AddExceptionToLog('TF_CaseForm.EnableEditCompTypeProperties'+ E.Message);
|
||
end;
|
||
end;
|
||
|
||
|
||
procedure TF_CaseForm.EnableEditDelInterfData;
|
||
var
|
||
CanEnable: Boolean;
|
||
CurrID: Integer;
|
||
RecCount: Integer;
|
||
begin
|
||
CanEnable := false;
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
CurrID := -1;
|
||
RecCount := 0;
|
||
if mtInterface <> nil then
|
||
begin
|
||
if mtInterface.Active then
|
||
begin
|
||
CurrID := mtInterface.FieldByName(fnID).AsInteger;
|
||
RecCount := mtInterface.RecordCount;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
CurrID := DataSet_INTERFACE.FN(fnID).AsInteger;
|
||
RecCount := DataSet_INTERFACE.RecordCount;
|
||
end;
|
||
|
||
|
||
if PageControl_InterfData.ActivePage = tsInterfaceNorms then
|
||
//if DataSet_Interface_Norms.RecordCount > 0 then
|
||
if GetDetailRecCount(tnInterfaceNorms, fnIDInterface, CurrID, mtInterfaceNorms) > 0 then
|
||
CanEnable := true;
|
||
if PageControl_InterfData.ActivePage = tsInterfAccordance then
|
||
//if DataSet_InterfAccordance.RecordCount > 0 then
|
||
if GetDetailRecCount(tnInterfaceAccordance, fnIDInterface, CurrID, mtInterfaceAccordance) > 0 then
|
||
CanEnable := true;
|
||
|
||
|
||
Act_EditInterfData.Enabled := CanEnable;
|
||
Act_DelInterfData.Enabled := CanEnable;
|
||
|
||
if RecCount > 0 then
|
||
Act_AddInterfData.Enabled := true
|
||
else
|
||
Act_AddInterfData.Enabled := false;
|
||
end;
|
||
end;
|
||
|
||
|
||
function TF_CaseForm.CheckNoUsingCurrCompType(AMakeEdit: TMakeEdit;
|
||
AMessType: TShowMessageType; AIDCompType: Integer): Boolean;
|
||
var TypeName: String;
|
||
ID_ComponentType: Integer;
|
||
strActTo: String;
|
||
strActIng: String;
|
||
begin
|
||
Result := false;
|
||
try
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
TypeName := DataSet_COMPONENT_TYPES.FN('NAME').AsString;
|
||
ID_ComponentType := DataSet_COMPONENT_TYPES.FN('ID').AsInteger;
|
||
|
||
case AMakeEdit of
|
||
meEdit:
|
||
begin
|
||
strActTo := cCaseForm_Msg22_2_1;
|
||
strActIng := cCaseForm_Msg22_2_2;
|
||
end;
|
||
meDel:
|
||
begin
|
||
strActTo := cCaseForm_Msg22_2_3;
|
||
strActIng := cCaseForm_Msg22_2_4;
|
||
end;
|
||
end;
|
||
|
||
if GIDNotDel = ID_ComponentType then
|
||
ShowMessageByType(Self.Handle, AMessType, cCaseForm_Msg22_1+' '+strActTo+' '+cCaseForm_Msg22_3+' "'+ TypeName +
|
||
'" ' +#13 + cCaseForm_Msg22_4,
|
||
strActIng + ' '+cCaseForm_Msg22_5+' ', MB_OK or MB_ICONINFORMATION)
|
||
else
|
||
if CheckNoUseCompData(' SELECT ID, NAME, isLine FROM COMPONENT ' +
|
||
' WHERE ID_Component_type = ''' + IntToStr(AIDCompType) + ''' ',
|
||
TypeName, AMakeEdit, tkComponentTypes, AMessType) then
|
||
Result := true;
|
||
end;
|
||
except
|
||
on E: Exception do AddExceptionToLog('TF_CaseForm.CheckNoUsingCurrCompType: '+E.Message);
|
||
end;
|
||
end;
|
||
|
||
|
||
{
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) #####
|
||
procedure TF_CaseForm.AddEditIcon(AMakeEdit: TMakeEdit);
|
||
var Stream: TStream;
|
||
BlockStream: TStream;
|
||
IconFName: String;
|
||
BlockFName: String;
|
||
|
||
LastNpp: Integer;
|
||
|
||
CompStID: ^Integer;
|
||
CompStIDList: TList;
|
||
i: Integer;
|
||
begin
|
||
if OpenPictureDialog.Execute then
|
||
begin
|
||
IconFName := OpenPictureDialog.FileName;
|
||
BlockFName := ChangeFileExt(IconFName, '.blk');
|
||
if Not FileExists(BlockFName) then
|
||
begin
|
||
MessageModal(Self.Handle, PChar('<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> "'+ ExtractFileName(BlockFName) +'"'),
|
||
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', MB_OK or MB_ICONERROR);
|
||
Exit;
|
||
end;
|
||
|
||
BlockStream := TFileStream.Create(BlockFName, fmOpenRead);
|
||
BlockStream.Position := 0;
|
||
Stream := TFileStream.Create(IconFName, fmOpenRead);
|
||
Stream.Position := 0;
|
||
|
||
try
|
||
with TF_Main(GForm).DM do
|
||
case AMakeEdit of
|
||
meEdit:
|
||
begin
|
||
DataSet_OBJECT_ICONS.Edit;
|
||
DataSet_OBJECT_ICONSICON.LoadFromStream(Stream);
|
||
DataSet_OBJECT_ICONSBLOCK.LoadFromStream(BlockStream);
|
||
DataSet_OBJECT_ICONS.Post;
|
||
end;
|
||
meAdd:
|
||
begin
|
||
LastNPP := GetLastNppObjIcon(DataSet_COMP_STATE_TYPE.FN('ID').AsInteger);
|
||
SetSQLToQuery(scsQ, ' SELECT ID FROM COMP_STATE_TYPE ');
|
||
CompSTIDList := TList.Create;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID-<2D> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D>
|
||
IntFieldToList(CompSTIDList, scsQ, 'ID');
|
||
|
||
scsQOperat.Close;
|
||
scsQOperat.SQL.Clear;
|
||
scsQOperat.SQL.Add('INSERT INTO OBJECT_ICONS(ID_COMP_STATE_TYPE, NPP_ID, ICON, BLOCK) '+
|
||
'VALUES(:ID_COMP_STATE_TYPE, :NPP_ID, :ICON, :BLOCK) ');
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
for i := 0 to CompSTIDList.Count - 1 do
|
||
begin
|
||
CompStID := CompSTIDList.Items[i];
|
||
scsQOperat.Close;
|
||
scsQOperat.ParamByName('ID_COMP_STATE_TYPE').AsInteger := CompStID^;
|
||
scsQOperat.ParamByName('NPP_ID').AsInteger := LastNPP + 1;
|
||
scsQOperat.ParamByName('ICON').LoadFromStream(Stream);
|
||
scsQOperat.ParamByName('BLOCK').LoadFromStream(BlockStream);
|
||
scsQOperat.ExecQuery;
|
||
end;
|
||
|
||
DataSet_OBJECT_ICONS.Active := false;
|
||
DataSet_OBJECT_ICONS.Active := true;
|
||
DataSet_OBJECT_ICONS.Last;
|
||
end;
|
||
end;
|
||
finally
|
||
Stream.Free;
|
||
BlockStream.Free;
|
||
end;
|
||
end;
|
||
end;}
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> AIDCompStateType #####
|
||
{function TF_CaseForm.GetLastNppObjIcon(AIDCompStateType: Integer): Integer;
|
||
begin
|
||
Result := 0;
|
||
with F_NormBase.DM do
|
||
begin
|
||
SetSQLToQuery(scsQ, ' SELECT MAX(NPP_ID) as max_npp_id FROM OBJECT_ICONS '+
|
||
' WHERE ID_COMP_STATE_TYPE = '''+ IntToStr(AIDCompStateType) +''' ');
|
||
Result := scsQ.GetFNAsInteger('max_npp_id');
|
||
end;
|
||
end;}
|
||
|
||
function TF_CaseForm.GetTabSheetByViewKind(AViewKind: TViewKind): TRzTabSheet;
|
||
begin
|
||
Result := nil;
|
||
case AViewKind of
|
||
vkComponentType:
|
||
Result := tsComponentTypes;
|
||
vkCurrency:
|
||
Result := tsCurrency;
|
||
vkInterface:
|
||
Result := tsInterfaces;
|
||
vkNetType:
|
||
Result := tsNetTypes;
|
||
vkNorm:
|
||
Result := tsNBNorms;
|
||
vkObjectIcons:
|
||
Result := tsObjectIcons;
|
||
vkProducers:
|
||
Result := tsProducers;
|
||
vkProperty:
|
||
Result := tsProperties;
|
||
vkResource:
|
||
Result := tsNBResources;
|
||
vkSuppliesKind:
|
||
Result := tsSuppliesKinds;
|
||
vkUnitsOfMeasure:
|
||
Result := tsUnitsOfMeasure;
|
||
vkDimensions:
|
||
Result := tsDimensions;
|
||
vkCompSpecifications:
|
||
Result := tsCompSpecifications;
|
||
end;
|
||
end;
|
||
|
||
function TF_CaseForm.GetViewKindByTabSheet(ATabSheet: TRzTabSheet): TViewKind;
|
||
begin
|
||
Result := vkNone;
|
||
if ATabSheet.Name = 'tsCurrency' then
|
||
Result := vkCurrency
|
||
else
|
||
if ATabSheet.Name = 'tsNetTypes' then
|
||
Result := vkNetType
|
||
else
|
||
if ATabSheet.Name = 'tsProducers' then
|
||
Result := vkProducers
|
||
else
|
||
if ATabSheet.Name = 'tsInterfaces' then
|
||
Result := vkInterface
|
||
else
|
||
if ATabSheet.Name = 'tsProperties' then
|
||
Result := vkProperty
|
||
else
|
||
if ATabSheet.Name = 'tsComponentTypes' then
|
||
Result := vkComponentType
|
||
else
|
||
if ATabSheet.Name = 'tsObjectIcons' then
|
||
Result := vkObjectIcons
|
||
else
|
||
if ATabSheet.Name = 'tsNBNorms' then
|
||
Result := vkNorm
|
||
else
|
||
if ATabSheet.Name = 'tsNBResources' then
|
||
Result := vkResource
|
||
else
|
||
if ATabSheet.Name = 'tsSuppliesKinds' then
|
||
Result := VKSuppliesKind
|
||
else
|
||
if ATabSheet.Name = 'tsUnitsOfMeasure' then
|
||
Result := vkUnitsOfMeasure
|
||
else
|
||
if ATabSheet.Name = 'tsDimensions' then
|
||
Result := vkDimensions
|
||
else if ATabSheet.Name = 'tsCompSpecifications' then
|
||
Result := vkCompSpecifications;
|
||
end;
|
||
|
||
|
||
constructor TF_CaseForm.Create(AOwner: TComponent; AForm, AParentForm: TForm; AItemType: Integer);
|
||
begin
|
||
GForm := AForm;
|
||
FParentForm := AParentForm;
|
||
FItemType := AItemType;
|
||
inherited Create(AOwner);
|
||
end;
|
||
|
||
destructor TF_CaseForm.Destroy;
|
||
begin
|
||
GForm := nil;
|
||
inherited;
|
||
end;
|
||
|
||
function TF_CaseForm.AddObjectIconFromFile(AIconName, AFileIconBmp, AFileIconBlk: String): Boolean;
|
||
begin
|
||
Result := false;
|
||
FUOM := TF_Main(GForm).FUOM;
|
||
|
||
FDefIconName := AIconName;
|
||
FDefFileBmp := AFileIconBmp;
|
||
FDefFileBlk := AFileIconBlk;
|
||
|
||
SetPageByViewKind(vkObjectIcons);
|
||
PrepareForm(vkObjectIcons, fmNone);
|
||
|
||
Timer_CallMake.Enabled := true;
|
||
ShowModal;
|
||
|
||
SaveSelectTabNode;
|
||
|
||
Result := FAddedObjectIcon;
|
||
end;
|
||
|
||
function TF_CaseForm.Execute(AViewKind: TViewKind; AFormMode: TFormMode): Boolean;
|
||
var
|
||
ActiveTabSheet: TRzTabSheet;
|
||
SavedOnChangePageCotrol: TNotifyEvent;
|
||
// Tolik 28/08/2019 --
|
||
//OldTick, CurrTick: Cardinal;
|
||
OldTick, CurrTick: Dword;
|
||
//
|
||
begin
|
||
Result := false;
|
||
FUOM := TF_Main(GForm).FUOM;
|
||
|
||
SetPageByViewKind(AViewKind);
|
||
FShowedTables.Clear;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
GItemFieldName := ItemTypeToIsOwnerFieldName(GItemType);
|
||
|
||
PrepareForm(AViewKind, AFormMode);
|
||
if AFormMode = fmMake then
|
||
FDirTypeInfo.DataSet.First
|
||
else
|
||
begin
|
||
if GGUIDToLocate <> '' then
|
||
LocateItemByGUID(GGUIDToLocate);
|
||
if GIDToLocate > 0 then
|
||
LocateItemByID(GIDToLocate);
|
||
end;
|
||
|
||
if ShowModal = mrOk then
|
||
Result := true;
|
||
|
||
OldTick := GetTickCount;
|
||
|
||
ProcessMessagesEx;
|
||
Screen.Cursor := crHourGlass;
|
||
try
|
||
SaveSelectTabNode;
|
||
|
||
with TF_Main(GForm) do
|
||
begin
|
||
if FShowedTables.IndexOf(Ord(vkCurrency)) <> -1 then
|
||
GSCSBase.NBSpravochnik.LoadCurrencies;
|
||
|
||
if FShowedTables.IndexOf(Ord(vkComponentType)) <> -1 then
|
||
GSCSBase.NBSpravochnik.LoadComponentTypes;
|
||
if FShowedTables.IndexOf(Ord(vkInterface)) <> -1 then
|
||
GSCSBase.NBSpravochnik.LoadInterfaces;
|
||
if FShowedTables.IndexOf(Ord(vkNetType)) <> -1 then
|
||
GSCSBase.NBSpravochnik.LoadNetTypes;
|
||
if FShowedTables.IndexOf(Ord(vkNorm)) <> -1 then
|
||
GSCSBase.NBSpravochnik.Norms.Clear;
|
||
if FShowedTables.IndexOf(Ord(vkObjectIcons)) <> -1 then
|
||
GSCSBase.NBSpravochnik.ObjectIcons.Clear;
|
||
if FShowedTables.IndexOf(Ord(vkProducers)) <> -1 then
|
||
GSCSBase.NBSpravochnik.LoadProducers;
|
||
if FShowedTables.IndexOf(Ord(vkProperty)) <> -1 then
|
||
GSCSBase.NBSpravochnik.LoadProperties;
|
||
if FShowedTables.IndexOf(Ord(vkResource)) <> -1 then
|
||
GSCSBase.NBSpravochnik.Resources.Clear;
|
||
if FShowedTables.IndexOf(Ord(vkSuppliesKind)) <> -1 then
|
||
GSCSBase.NBSpravochnik.LoadSuppliesKinds;
|
||
end;
|
||
finally
|
||
Screen.Cursor := crDefault;
|
||
end;
|
||
CurrTick := GetTickCount - OldTick;
|
||
CurrTick := GetTickCount - OldTick;
|
||
GItemType := -1;
|
||
end;
|
||
|
||
procedure TF_CaseForm.pcDirectoriesMenuClick(Sender: TObject);
|
||
begin
|
||
if TMenuItem(Sender).Tag <> -1 then
|
||
pcDirectories.ActivePageIndex := TMenuItem(Sender).Tag;
|
||
end;
|
||
|
||
procedure TF_CaseForm.PrepareForm(AViewKind: TViewKind; AFormMode: TFormMode);
|
||
var
|
||
NotifyEvent: TNotifyEvent;
|
||
begin
|
||
FViewKind := AViewKind;
|
||
FFormMode := AFormMode;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (FFormMode in [fmMake, fmEdit]) and
|
||
(FViewKind in [vkTZ, vkResource, vkNorm]) then
|
||
begin
|
||
if Assigned(Panel_Kolvo) then
|
||
Panel_Kolvo.Visible := true;
|
||
end
|
||
else
|
||
if Assigned(Panel_Kolvo) then
|
||
Panel_Kolvo.Visible := false;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
Button_Ok.Visible := false;
|
||
Button_Cancel.Visible := false;
|
||
if FFormMode = fmView then
|
||
begin
|
||
if Parent = nil then //}if Not (Owner is TForm) then
|
||
begin
|
||
Button_Exit.Visible := true;
|
||
ShowHidePageControlTabls(pcDirectories, true, FHiddenTabs);
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
if FFormMode in [fmMake, fmEdit] then
|
||
Button_Ok.Visible := true;
|
||
Button_Cancel.Visible := true;
|
||
Button_Exit.Visible := false;
|
||
ShowHidePageControlTabls(pcDirectories, false, FHiddenTabs);
|
||
end;
|
||
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TreeView
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
if FViewKind <> FOldViewKind then
|
||
begin
|
||
FDirTypeInfo := GetDirTypeInfo(FViewKind);
|
||
ClearTreeView(Tree_InterfType);
|
||
AddNodes(nil);
|
||
if Tree_InterfType.Items.Count > 0 then
|
||
Tree_InterfType.Selected := Tree_InterfType.Items[0]
|
||
else
|
||
EnableEditDel;
|
||
|
||
SelectLastTabNode;
|
||
end;
|
||
if Not Assigned(Tree_InterfType.Selected) then
|
||
if Tree_InterfType.Items.Count > 0 then
|
||
Tree_InterfType.Selected := Tree_InterfType.Items[0];
|
||
Panel_Find.Visible := false;
|
||
if FFormMode = fmView then
|
||
begin
|
||
Tree_InterfType.Items.BeginUpdate;
|
||
//CollapseTree(GForm, ttGuide);
|
||
Tree_InterfType.TopItem.Expanded := true;
|
||
Tree_InterfType.Items.EndUpdate;
|
||
if FDirTypeInfo.DataSet.RecordCount > 0 then
|
||
FDirTypeInfo.DataSet.First;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
//Act_Make.Enabled := FViewKind <> vkCurrency;
|
||
if FViewKind <> FOldViewKind then
|
||
begin
|
||
FDirTypeInfo := GetDirTypeInfo(FViewKind);
|
||
EnableEditDel;
|
||
end;
|
||
end;
|
||
|
||
FCaseFormParams := GetFormParams(FViewKind);
|
||
|
||
NotifyEvent := nil;
|
||
if FFormMode <> fmView then
|
||
NotifyEvent := Button_OkClick
|
||
else
|
||
NotifyEvent := Act_EditExecute;
|
||
GT_PROPERTIES.OnDblClick := NotifyEvent;
|
||
GT_Interfaces.OnDblClick := NotifyEvent;
|
||
GT_CURRENCY.OnDblClick := NotifyEvent;
|
||
GT_NetType.OnDblClick := NotifyEvent;
|
||
GT_Producers.OnDblClick := NotifyEvent;
|
||
GT_ObjectIcons.OnDblClick := NotifyEvent;
|
||
GT_ComponentTypes.OnDblClick := NotifyEvent;
|
||
GT_NB_Norms.OnDblClick := NotifyEvent;
|
||
GT_NB_Resources.OnDblClick := NotifyEvent;
|
||
GT_SuppliesKinds.OnDblClick := NotifyEvent;
|
||
GT_UnitsOfMeasure.OnDblClick := NotifyEvent;
|
||
GT_Dimensions.OnDblClick := NotifyEvent;
|
||
GT_CompSpecifications.OnDblClick := NotifyEvent;
|
||
|
||
FAddedObjectIcon := false;
|
||
|
||
Act_EditObjectIconInCAD.Visible := false;
|
||
Act_Import.Visible := false;
|
||
|
||
|
||
//TF_Main(GForm).DM.GItemType := PObjectData(TF_Main(GForm).Tree_Catalog.Selected.Data).ItemType;
|
||
case FViewKind of
|
||
vkProperty:
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
GT_PROPERTIES.DataController.DataSource := TF_Main(GForm).DM.DataSource_PROPERTIES
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
GT_PROPERTIES.DataController.DataSource := dsProperties;
|
||
|
||
Grid_PROPERTIES.Enabled := true;
|
||
Panel_Value.Visible := false;
|
||
case FFormMode of
|
||
fmMake:
|
||
begin
|
||
//Panel_Value.Visible := true;
|
||
GValueChanged := false;
|
||
GTakeIntoConnect := biFalse;
|
||
GTakeIntoJoin := biFalse;
|
||
|
||
//TF_Main(GForm).DM.DataSet_PROPERTIES.First;
|
||
//ShowValue(TF_Main(GForm).DM.DataSet_PROPERTIES.FN(fnIDDataType).AsInteger,
|
||
// TF_Main(GForm).DM.DataSet_PROPERTIES.FN(fnDefValue).AsString);
|
||
end;
|
||
fmEdit:
|
||
begin
|
||
//Panel_Value.Visible := true;
|
||
|
||
GValueChanged := True;
|
||
//TF_Main(GForm).DM.DataSet_Properties.Locate(fnId, GIDToLocate, []); //SearchRecord(TF_Main(GForm).DM.DataSet_Properties,'ID', GID_Property);
|
||
//ShowValue(TF_Main(GForm).DM.DataSet_PROPERTIES.FN('ID_DAta_TYPE').AsInteger, GValue);
|
||
//*** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
//if TF_Main(GForm).DM.DataSet_PROPERTIES.FN('isStandart').AsInteger = 1 then
|
||
// Grid_PROPERTIES.Enabled := false;
|
||
end;
|
||
fmView:
|
||
begin
|
||
Panel_Value.Visible := false;
|
||
end;
|
||
end;
|
||
Button_Ok.ModalResult := mrNone;
|
||
{
|
||
if GTakeIntoConnect = -1 then
|
||
CheckBox_TakeIntoConnect.Visible := false
|
||
else
|
||
CheckBox_TakeIntoConnect.Visible := true;
|
||
if GTakeIntoConnect = biTrue then
|
||
CheckBox_TakeIntoConnect.Checked := true
|
||
else
|
||
CheckBox_TakeIntoConnect.Checked := false;
|
||
|
||
if GTakeIntoJoin = -1 then
|
||
CheckBox_TakeIntoJoin.Visible := false
|
||
else
|
||
CheckBox_TakeIntoJoin.Visible := true;
|
||
if GTakeIntoJoin = biTrue then
|
||
CheckBox_TakeIntoJoin.Checked := true
|
||
else
|
||
CheckBox_TakeIntoJoin.Checked := false;
|
||
}
|
||
if {(TF_Main(GForm).GDBMode = bkProjectManager) and} (FFormMode <> fmView) then
|
||
begin
|
||
//TF_Main(GForm).DM.SelectProperty(FFormMode, GItemType);
|
||
case GItemType of
|
||
itDir:
|
||
spPropertyType.Caption := cCaseForm_Msg23_1;
|
||
itProject:
|
||
spPropertyType.Caption := cCaseForm_Msg23_2;
|
||
itList:
|
||
spPropertyType.Caption := cCaseForm_Msg23_3;
|
||
itSCSLine:
|
||
spPropertyType.Caption := cCaseForm_Msg23_4;
|
||
itSCSConnector:
|
||
spPropertyType.Caption := cCaseForm_Msg23_5;
|
||
itComponLine:
|
||
spPropertyType.Caption := cCaseForm_Msg23_6;
|
||
itComponCon:
|
||
spPropertyType.Caption := cCaseForm_Msg23_7;
|
||
end;
|
||
spPropertyItemType.Caption := '';
|
||
end
|
||
else
|
||
if {(TF_Main(GForm).GDBMode = bkProjectManager) and} (FFormMode =fmView) then
|
||
begin
|
||
//TF_Main(GForm).DM.SelectProperty(FFormMode, GItemType);
|
||
spPropertyType.Caption := cCaseForm_Msg23_8;
|
||
//ShowPropItemType(TF_Main(GForm).DM.DataSet_PROPERTIES.FN('ID_ITEM_TYPE').AsInteger);
|
||
end;
|
||
//GT_PROPERTIES.OnFocusedRecordChanged := GT_PROPERTIESFocusedRecordChanged;
|
||
end;
|
||
vkInterface:
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
GT_Interfaces.DataController.DataSource := TF_Main(GForm).DM.DataSource_INTERFACE;
|
||
GT_InterfAccordance.DataController.DataSource := TF_Main(GForm).DM.DataSource_InterfAccordance;
|
||
GT_InterfaceNorms.DataController.DataSource := TF_Main(GForm).DM.DataSource_Interface_Norms;
|
||
|
||
TcxLookupComboBoxProperties(GT_InterfacesIDNetType.Properties).ListSource := TF_Main(GForm).DM.DataSource_NET_TYPE;
|
||
SetSellSQLToDataSet(TF_Main(GForm).DM.DataSet_NET_TYPE, GetSQLByParams(qtSelect, tnNetType, '', nil, fnAll));
|
||
//Tolik
|
||
PageControl_InterfData.ActivePage := tsInterfaceNorms;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
GT_Interfaces.DataController.DataSource := dsInterface;
|
||
GT_InterfAccordance.DataController.DataSource := dsInterfaceAccordance;
|
||
GT_InterfaceNorms.DataController.DataSource := dsInterfaceNorms;
|
||
end;
|
||
Button_Ok.ModalResult := mrOK;
|
||
PageControl_InterfDataChange(PageControl_InterfData);
|
||
end;
|
||
vkCurrency:
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
GT_CURRENCY.DataController.DataSource := TF_Main(GForm).DM.DataSource_CURRENCY
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
GT_CURRENCY.DataController.DataSource := dsCurrency;
|
||
Button_Ok.ModalResult := mrOK;
|
||
end;
|
||
vkNetType:
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
GT_NetType.DataController.DataSource := TF_Main(GForm).DM.DataSource_NET_TYPE
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
GT_NetType.DataController.DataSource := dsNetType;
|
||
TcxLookupComboBoxProperties(GT_InterfacesIDNetType.Properties).ListSource := nil;
|
||
|
||
Button_Ok.ModalResult := mrOK;
|
||
GChangetNetType := false;
|
||
end;
|
||
vkProducers:
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
GT_Producers.DataController.DataSource := TF_Main(GForm).DM.DataSource_PRODUCERS
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
GT_Producers.DataController.DataSource := dsProducers;
|
||
Button_Ok.ModalResult := mrOK;
|
||
end;
|
||
vkObjectIcons:
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
GT_ObjectIcons.DataController.DataSource := TF_Main(GForm).DM.DataSource_OBJECT_ICONS
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
GT_ObjectIcons.DataController.DataSource := dsObjectIcons;
|
||
Act_EditObjectIconInCAD.Visible := true;
|
||
Button_Ok.ModalResult := mrOK;
|
||
end;
|
||
vkComponentType:
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
GT_ComponentTypes.DataController.DataSource := TF_Main(GForm).DM.DataSource_COMPONENT_TYPES;
|
||
GT_CompTypeProp.DataController.DataSource := TF_Main(GForm).DM.DataSource_COMP_TYPE_PROP_RELATION;
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
GT_ComponentTypes.DataController.DataSource := dsComponentType;
|
||
GT_CompTypeProp.DataController.DataSource := dsCompTypePropRelation;
|
||
end;
|
||
Button_Ok.ModalResult := mrOK;
|
||
end;
|
||
vkResource:
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
GT_NB_Resources.DataController.DataSource := TF_Main(GForm).DM.DataSource_NB_RESOURCES
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
GT_NB_Resources.DataController.DataSource := dsResources;
|
||
|
||
Button_Ok.ModalResult := mrOK;
|
||
if FFormMode = fmMake then
|
||
SpinEdit_Kolvo.Value := 1;
|
||
if FFormMode in [fmMake, fmEdit] then
|
||
if Assigned(Panel_Kolvo) then
|
||
Panel_Kolvo.Parent := GroupBox_NB_Resources;
|
||
Act_Import.Visible := true;
|
||
Act_Import.Caption := cMasterUpdatePrice_Msg1_2;
|
||
end;
|
||
vkNorm:
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
GT_NB_Norms.DataController.DataSource := TF_Main(GForm).DM.DataSource_NB_NORMS
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
GT_NB_Norms.DataController.DataSource := nil;
|
||
GT_NB_Norms.DataController.DataSource := dsNorms;
|
||
end;
|
||
//GT_NB_NormResourceRel.DataController.DataSource := TF_Main(GForm).DM.DataSource_NB_NORM_RESOURCE_REL;
|
||
|
||
Button_Ok.ModalResult := mrOK;
|
||
if Assigned(Panel_Kolvo) then
|
||
Panel_Kolvo.Visible := false;
|
||
//if FFormMode in [fmMake, fmEdit] then
|
||
// if Assigned(Panel_Kolvo) then
|
||
// Panel_Kolvo.Parent := GroupBox_NB_Norms;
|
||
|
||
Act_Import.Visible := true;
|
||
Act_Import.Caption := cMasterUpdatePrice_Msg1_3;
|
||
EnableEditDelResourceRel;
|
||
end;
|
||
vkSuppliesKind:
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
GT_SuppliesKinds.DataController.DataSource := TF_Main(GForm).DM.DSrc_SuppliesKinds
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
GT_SuppliesKinds.DataController.DataSource := dsSuppliesKinds;
|
||
Button_Ok.ModalResult := mrOK;
|
||
end;
|
||
// vkUnitsOfMeasure:
|
||
// begin
|
||
// GT_UnitsOfMeasure.DataController.DataSource := TF_Main(GForm).DM.dsrcUnitsOfMeasure;
|
||
// Button_Ok.ModalResult := mrOK;
|
||
// end;
|
||
// vkDimensions:
|
||
// begin
|
||
// GT_Dimensions.DataController.DataSource := TF_Main(GForm).DM.dsrcDimensions;
|
||
// Button_Ok.ModalResult := mrOK;
|
||
// end;
|
||
// vkCompSpecifications:
|
||
// begin
|
||
// GT_CompSpecifications.DataController.DataSource := TF_Main(GForm).DM.dsrcCompSpecifications;
|
||
// Button_Ok.ModalResult := mrOK;
|
||
// end;
|
||
else
|
||
begin
|
||
if (FCaseFormParams.ActiveGridDBTableView <> nil) and (FDirTypeInfo.DataSrc <> nil) then
|
||
begin
|
||
FCaseFormParams.ActiveGridDBTableView.DataController.DataSource := FDirTypeInfo.DataSrc;
|
||
Button_Ok.ModalResult := mrOK;
|
||
end;
|
||
end;
|
||
end;
|
||
Act_Import.Hint := Act_Import.Caption;
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
Act_Import.Visible := false;
|
||
|
||
Caption := FCaseFormParams.CaptionForForm;
|
||
SetCaptionToActions(FCaseFormParams.CaptionForActions);
|
||
ToolBar_Edit.Parent := FCaseFormParams.ActiveGroupControl;
|
||
Panel_OkCancel.OnResize(Panel_OkCancel);
|
||
SetUOMToCaptions;
|
||
|
||
if FShowedTables.IndexOf(Ord(AViewKind)) = -1 then
|
||
FShowedTables.Add(Ord(AViewKind));
|
||
end;
|
||
|
||
procedure TF_CaseForm.SendFromSpravochnikToMemTables(ASpravochnik: TSpravochnik; ASprElements: TSprElements);
|
||
var
|
||
ProjectOwner: TSCSProject;
|
||
|
||
SavedMasterSourceCompTypePropRelation: TDataSource;
|
||
SavedMasterSourceInterfacesAccordance: TDataSource;
|
||
SavedMasterSourceInterfacesNorms: TDataSource;
|
||
SavedMasterSourcePropValRel: TDataSource;
|
||
SavedMasterSourcePropValNormRes: TDataSource;
|
||
|
||
SavedCompTypePropRelationDetailFields: String;
|
||
SavedInterfacesAccordanceDetailFields: String;
|
||
SavedInterfacesNormsDetailFields: String;
|
||
SavedPropValRelDetailFields: String;
|
||
SavedPropValNormResDetailFields: String;
|
||
|
||
|
||
i, j, k: Integer;
|
||
NBComponentType: TNBComponentType;
|
||
NBCurrency: TNBCurrency;
|
||
NBInterface: TNBInterface;
|
||
NBInterfaceAccordance: TNBInterfaceAccordance;
|
||
NBInterfaceNorm: TNBInterfaceNorm;
|
||
NBNetType: TNBNetType;
|
||
NBNorm: TNBNorm;
|
||
NBObjectIcon: TNBObjectIcon;
|
||
NBProducer: TNBProducer;
|
||
NBProperty: TNBProperty;
|
||
NBResource: TNBResource;
|
||
NBSuppliesKind: TNBSuppliesKind;
|
||
|
||
NormBaseNetType: TNBNetType;
|
||
NormBaseProperty: TNBProperty;
|
||
NormBaseInterfAccordance: TNBInterface;
|
||
NormBaseNorm: TNBNorm;
|
||
|
||
CompTypePropCount: Integer;
|
||
|
||
LookedCompTypes: TStringList;
|
||
LookedCurrencies: TStringList;
|
||
LookedInterfaces: TStringList;
|
||
LookedInterfaceAccordances: TStringList;
|
||
LookedInterfaceNorms: TStringList;
|
||
LookedNetTypes: TStringList;
|
||
LookedNorms: TStringList;
|
||
LookedObjectIcons: TStringList;
|
||
LookedProducers: TStringList;
|
||
LookedProperties: TStringList;
|
||
LookedPropValRels: TStringList;
|
||
LookedPropValNormRes: TStringList;
|
||
LookedResources: TStringList;
|
||
LookedSuppliesKinds: TStringList;
|
||
//NBNorms: TSCSNorms;
|
||
//SCSNorm: TSCSNorm;
|
||
begin
|
||
FChangedAnySpavElemen := false;
|
||
|
||
SavedMasterSourceCompTypePropRelation := mtCompTypePropRelation.MasterSource;
|
||
SavedMasterSourceInterfacesAccordance := mtInterfaceAccordance.MasterSource;
|
||
SavedMasterSourceInterfacesNorms := mtInterfaceNorms.MasterSource;
|
||
SavedMasterSourcePropValNormRes := mtPropValNormRes.MasterSource;
|
||
SavedMasterSourcePropValRel := mtPropValRel.MasterSource;
|
||
SavedCompTypePropRelationDetailFields := mtCompTypePropRelation.DetailFields;
|
||
SavedInterfacesAccordanceDetailFields := mtInterfaceAccordance.DetailFields;
|
||
SavedInterfacesNormsDetailFields := mtInterfaceNorms.DetailFields;
|
||
SavedPropValNormResDetailFields := mtPropValNormRes.DetailFields;
|
||
SavedPropValRelDetailFields := mtPropValRel.DetailFields;
|
||
mtCompTypePropRelation.MasterSource := nil;
|
||
mtInterfaceAccordance.MasterSource := nil;
|
||
mtInterfaceNorms.MasterSource := nil;
|
||
mtPropValNormRes.MasterSource := nil;
|
||
mtPropValRel.MasterSource := nil;
|
||
mtCompTypePropRelation.DetailFields := '';
|
||
mtInterfaceAccordance.DetailFields := '';
|
||
mtInterfaceNorms.DetailFields := '';
|
||
mtPropValNormRes.DetailFields := '';
|
||
mtPropValRel.DetailFields := '';
|
||
|
||
//mtComponentType.EmptyTable;
|
||
//mtObjectIcons.EmptyTable;
|
||
|
||
mtCompTypePropRelation.Active := false;
|
||
mtComponentType.Active := false;
|
||
mtCurrency.Active := false;
|
||
mtInterfaceAccordance.Active := false;
|
||
mtInterfaceNorms.Active := false;
|
||
mtInterface.Active := false;
|
||
mtNetType.Active := false;
|
||
mtNorms.Active := false;
|
||
mtObjectIcons.Active := false;
|
||
mtProducers.Active := false;
|
||
mtPropValNormRes.Active := false;
|
||
mtPropValRel.Active := false;
|
||
mtProperties.Active := false;
|
||
mtResources.Active := false;
|
||
mtSuppliesKinds.Active := false;
|
||
|
||
mtInterface.Active := true;
|
||
mtInterfaceAccordance.Active := true;
|
||
mtInterfaceNorms.Active := true;
|
||
mtCurrency.Active := true;
|
||
mtComponentType.Active := true;
|
||
mtCompTypePropRelation.Active := true;
|
||
mtNetType.Active := true;
|
||
mtNorms.Active := true;
|
||
mtObjectIcons.Active := true;
|
||
mtProducers.Active := true;
|
||
mtProperties.Active := true;
|
||
mtPropValRel.Active := true;
|
||
mtPropValNormRes.Active := true;
|
||
mtResources.Active := true;
|
||
mtSuppliesKinds.Active := true;
|
||
|
||
|
||
mtComponentType.DisableControls;
|
||
mtCompTypePropRelation.DisableControls;
|
||
mtCurrency.DisableControls;
|
||
mtInterface.DisableControls;
|
||
mtInterfaceAccordance.DisableControls;
|
||
mtInterfaceNorms.DisableControls;
|
||
mtNetType.DisableControls;
|
||
mtNorms.DisableControls;
|
||
mtObjectIcons.DisableControls;
|
||
mtProducers.DisableControls;
|
||
mtPropValNormRes.DisableControls;
|
||
mtPropValRel.DisableControls;
|
||
mtProperties.DisableControls;
|
||
mtResources.DisableControls;
|
||
mtSuppliesKinds.DisableControls;
|
||
|
||
CompTypePropCount := 0;
|
||
|
||
LookedCompTypes := CreateStringListSorted;
|
||
LookedCurrencies := CreateStringListSorted;
|
||
LookedInterfaces := CreateStringListSorted;
|
||
LookedInterfaceAccordances := CreateStringListSorted;
|
||
LookedInterfaceNorms := CreateStringListSorted;
|
||
LookedNetTypes := CreateStringListSorted;
|
||
LookedNorms := CreateStringListSorted;
|
||
LookedObjectIcons := CreateStringListSorted;
|
||
LookedProducers := CreateStringListSorted;
|
||
LookedProperties := CreateStringListSorted;
|
||
LookedPropValRels := CreateStringListSorted;
|
||
LookedPropValNormRes := CreateStringListSorted;
|
||
LookedResources := CreateStringListSorted;
|
||
LookedSuppliesKinds := CreateStringListSorted;
|
||
|
||
//NBNorms := TSCSNorms.Create(true);
|
||
try
|
||
FSpravochnik := ASpravochnik;
|
||
FMainSpravochnik := ASpravochnik;
|
||
ProjectOwner := nil;
|
||
if (FSpravochnik.OwnerObject <> nil) and (FSpravochnik.OwnerObject is TSCSCatalog) then
|
||
begin
|
||
ProjectOwner := TSCSCatalog(FSpravochnik.OwnerObject).ProjectOwner;
|
||
if (FSpravochnik.OwnerObject is TSCSList) and (ProjectOwner <> nil) then
|
||
FMainSpravochnik := ProjectOwner.Spravochnik;
|
||
end;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> vkAll, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if vkComponentType in ASprElements then
|
||
begin
|
||
for i := 0 to ASpravochnik.ComponentTypes.Count - 1 do
|
||
begin
|
||
NBComponentType := TNBComponentType(ASpravochnik.ComponentTypes[i]);
|
||
CompTypePropCount := CompTypePropCount + NBComponentType.Properties.Count;
|
||
if LookedCompTypes.IndexOf(NBComponentType.ComponentType.GUID) = -1 then
|
||
begin
|
||
AddComponentTypeToMemTable(NBComponentType, false);
|
||
LookedCompTypes.Add(NBComponentType.ComponentType.GUID);
|
||
end;
|
||
end;
|
||
mtCompTypePropRelation.First;
|
||
end;
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkCurrency in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
for i := 0 to ASpravochnik.Currencies.Count - 1 do
|
||
begin
|
||
NBCurrency := TNBCurrency(ASpravochnik.Currencies[i]);
|
||
if LookedCurrencies.IndexOf(NBCurrency.Data.GUID) = -1 then
|
||
begin
|
||
AddCurrencyToMemTable(NBCurrency, false);
|
||
LookedCurrencies.Add(NBCurrency.Data.GUID);
|
||
end;
|
||
end;
|
||
mtCurrency.First;
|
||
end;
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkInterface in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
for i := 0 to ASpravochnik.Interfaces.Count - 1 do
|
||
begin
|
||
NBInterface := TNBInterface(ASpravochnik.Interfaces[i]);
|
||
if LookedInterfaces.IndexOf(NBInterface.GUID) = -1 then
|
||
begin
|
||
AddInterfaceToMemTable(NBInterface, false);
|
||
LookedInterfaces.Add(NBInterface.GUID);
|
||
end;
|
||
end;
|
||
mtInterface.First;
|
||
end;
|
||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkNetType in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
for i := 0 to ASpravochnik.NetTypes.Count - 1 do
|
||
begin
|
||
NBNetType := TNBNetType(ASpravochnik.NetTypes[i]);
|
||
if LookedNetTypes.IndexOf(NBNetType.GUID) = -1 then
|
||
begin
|
||
AddNetTypeToMemTable(NBNetType, false);
|
||
LookedNetTypes.Add(NBNetType.GUID);
|
||
end;
|
||
end;
|
||
mtNetType.First;
|
||
end;
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkNorm in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
for i := 0 to ASpravochnik.Norms.Count - 1 do
|
||
begin
|
||
NBNorm := TNBNorm(ASpravochnik.Norms[i]);
|
||
if LookedNorms.IndexOf(NBNorm.GUID) = -1 then
|
||
begin
|
||
AddNormToMemTable(NBNorm, false, false);
|
||
LookedNorms.Add(NBNorm.GUID);
|
||
end;
|
||
end;
|
||
mtNorms.First;
|
||
end;
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkObjectIcons in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
for i := 0 to ASpravochnik.ObjectIcons.Count - 1 do
|
||
begin
|
||
NBObjectIcon := TNBObjectIcon(ASpravochnik.ObjectIcons[i]);
|
||
if LookedObjectIcons.IndexOf(NBObjectIcon.GUID) = -1 then
|
||
begin
|
||
AddObjectIconToMemTable(NBObjectIcon, false);
|
||
LookedObjectIcons.Add(NBObjectIcon.GUID);
|
||
end;
|
||
end;
|
||
mtObjectIcons.First;
|
||
end;
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkProducers in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
for i := 0 to ASpravochnik.Producers.Count - 1 do
|
||
begin
|
||
NBProducer := TNBProducer(ASpravochnik.Producers[i]);
|
||
if LookedProducers.IndexOf(NBProducer.GUID) = -1 then
|
||
begin
|
||
AddProducerToMemTable(NBProducer, false);
|
||
LookedProducers.Add(NBProducer.GUID);
|
||
end;
|
||
end;
|
||
mtProducers.First;
|
||
end;
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkProperty in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
for i := 0 to ASpravochnik.Properties.Count - 1 do
|
||
begin
|
||
NBProperty := TNBProperty(ASpravochnik.Properties[i]);
|
||
if LookedProperties.IndexOf(NBProperty.PropertyData.GUID) = -1 then
|
||
begin
|
||
AddPropertyToMemTable(NBProperty, mtProperties, mtPropValRel, mtPropValNormRes, false);
|
||
LookedProperties.Add(NBProperty.PropertyData.GUID);
|
||
end;
|
||
end;
|
||
mtProperties.First;
|
||
end;
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkResource in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
for i := 0 to ASpravochnik.Resources.Count - 1 do
|
||
begin
|
||
NBResource := TNBResource(ASpravochnik.Resources[i]);
|
||
if LookedResources.IndexOf(NBResource.GUID) = -1 then
|
||
begin
|
||
AddResourceToMemTable(NBResource, false, false);
|
||
LookedResources.Add(NBResource.GUID);
|
||
end;
|
||
end;
|
||
mtResources.First;
|
||
end;
|
||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkSuppliesKind in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
for i := 0 to ASpravochnik.SuppliesKinds.Count - 1 do
|
||
begin
|
||
NBSuppliesKind := TNBSuppliesKind(ASpravochnik.SuppliesKinds[i]);
|
||
if LookedSuppliesKinds.IndexOf(NBSuppliesKind.Data.GUID) = -1 then
|
||
begin
|
||
AddSuppliesKindToMemTable(NBSuppliesKind, false);
|
||
LookedSuppliesKinds.Add(NBSuppliesKind.Data.GUID);
|
||
end;
|
||
end;
|
||
mtSuppliesKinds.First;
|
||
end;
|
||
|
||
SetCurrencyBriefToControlsFromMT;
|
||
finally
|
||
//NBNorms.Free;
|
||
|
||
mtSuppliesKinds.EnableControls;
|
||
mtResources.EnableControls;
|
||
mtPropValNormRes.EnableControls;
|
||
mtPropValRel.EnableControls;
|
||
mtProperties.EnableControls;
|
||
mtProducers.EnableControls;
|
||
mtObjectIcons.EnableControls;
|
||
mtNorms.EnableControls;
|
||
mtNetType.EnableControls;
|
||
mtInterfaceNorms.EnableControls;
|
||
mtInterfaceAccordance.EnableControls;
|
||
mtInterface.EnableControls;
|
||
mtCurrency.EnableControls;
|
||
mtCompTypePropRelation.EnableControls;
|
||
mtComponentType.EnableControls;
|
||
|
||
mtCompTypePropRelation.DetailFields := SavedCompTypePropRelationDetailFields;
|
||
mtPropValRel.DetailFields := SavedPropValRelDetailFields;
|
||
mtPropValNormRes.DetailFields := SavedPropValNormResDetailFields;
|
||
mtInterfaceAccordance.DetailFields := SavedInterfacesAccordanceDetailFields;
|
||
mtInterfaceNorms.DetailFields := SavedInterfacesNormsDetailFields;
|
||
|
||
mtCompTypePropRelation.MasterSource := SavedMasterSourceCompTypePropRelation;
|
||
mtPropValRel.MasterSource := SavedMasterSourcePropValRel;
|
||
mtPropValNormRes.MasterSource := SavedMasterSourcePropValNormRes;
|
||
mtInterfaceAccordance.MasterSource := SavedMasterSourceInterfacesAccordance;
|
||
mtInterfaceNorms.MasterSource := SavedMasterSourceInterfacesNorms;
|
||
|
||
FreeAndNil(LookedCompTypes);
|
||
FreeAndNil(LookedCurrencies);
|
||
FreeAndNil(LookedInterfaces);
|
||
FreeAndNil(LookedInterfaceAccordances);
|
||
FreeAndNil(LookedInterfaceNorms);
|
||
FreeAndNil(LookedNetTypes);
|
||
FreeAndNil(LookedNorms);
|
||
FreeAndNil(LookedObjectIcons);
|
||
FreeAndNil(LookedProducers);
|
||
FreeAndNil(LookedProperties);
|
||
FreeAndNil(LookedPropValRels);
|
||
FreeAndNil(LookedPropValNormRes);
|
||
FreeAndNil(LookedResources);
|
||
FreeAndNil(LookedSuppliesKinds);
|
||
|
||
EnableEditCompTypeProperties;
|
||
EnableEditDelInterfData;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.SendFromMemTablesToSpravochnik(ASpravochnik: TSpravochnik; ASprElements: TSprElements;
|
||
AChangedInterfNorm: PBoolean);
|
||
var
|
||
//SavedMasterSourceCompTypePropRelation: TDataSource;
|
||
//SavedMasterSourceInterfacesNorms: TDataSource;
|
||
|
||
NBComponentType: TNBComponentType;
|
||
NBCompTypePropRel: TNBCompTypeProperty;
|
||
NBCurrency: TNBCurrency;
|
||
NBInterface: TNBInterface;
|
||
NBInterfaceAccordance: TNBInterfaceAccordance;
|
||
NBInterfaceNorm: TNBInterfaceNorm;
|
||
NBNetType: TNBNetType;
|
||
NBNorm: TNBNorm;
|
||
NBObjectIcon: TNBObjectIcon;
|
||
NBProducer: TNBProducer;
|
||
NBProperty: TNBProperty;
|
||
NBPropValRel: TNBPropValRel;
|
||
NBPropValNormRes: TNBPropValNormRes;
|
||
NBResource: TNBResource;
|
||
NBSuppliesKind: TNBSuppliesKind;
|
||
|
||
CurrGUIDCurrency: String;
|
||
CurrGUIDCComponentType: String;
|
||
CurrGUIDCInterface: String;
|
||
CurrGUIDCNetType: String;
|
||
CurrGUIDCNorm: String;
|
||
CurrGUIDCObjectIcon: String;
|
||
CurrGUIDCProducer: String;
|
||
CurrGUIDCProperty: String;
|
||
CurrGUIDCResource: String;
|
||
CurrGUIDCSuppliesKind: String;
|
||
|
||
SCSCatalog: TSCSCatalog;
|
||
SCSComponent: TSCSComponent;
|
||
SCSResource: TSCSResourceRel;
|
||
SCSNorm: TSCSNorm;
|
||
i, j, k: Integer;
|
||
|
||
CompTypePropCount: Integer;
|
||
//CompTypesGuids: TStringList;
|
||
//CompTypePropsGuids: TStringList;
|
||
begin
|
||
//SavedMasterSourceCompTypePropRelation := mtCompTypePropRelation.MasterSource;
|
||
//SavedMasterSourceInterfacesNorms := mtInterfaceNorms.MasterSource;
|
||
//mtCompTypePropRelation.MasterSource := nil;
|
||
//mtInterfaceNorms.MasterSource := nil;
|
||
|
||
//mtComponentType.DisableControls;
|
||
//mtCompTypePropRelation.DisableControls;
|
||
//mtInterface.DisableControls;
|
||
//mtInterfaceNorms.DisableControls;
|
||
|
||
GT_ComponentTypes.BeginUpdate;
|
||
GT_CompTypeProp.BeginUpdate;
|
||
mtCurrency.DisableControls;
|
||
GT_Interfaces.BeginUpdate;
|
||
GT_InterfAccordance.BeginUpdate;
|
||
GT_InterfaceNorms.BeginUpdate;
|
||
mtNetType.DisableControls;
|
||
mtNorms.DisableControls;
|
||
mtObjectIcons.DisableControls;
|
||
mtProducers.DisableControls;
|
||
//mtProperties.DisableControls;
|
||
mtResources.DisableControls;
|
||
mtSuppliesKinds.DisableControls;
|
||
try
|
||
if AChangedInterfNorm <> nil then
|
||
AChangedInterfNorm^ := false;
|
||
|
||
ASpravochnik.LastCurrency := nil;
|
||
ASpravochnik.LastComponentType := nil;
|
||
ASpravochnik.LastInterface := nil;
|
||
ASpravochnik.LastNetType := nil;
|
||
ASpravochnik.LastNorm := nil;
|
||
ASpravochnik.LastObjectIcon := nil;
|
||
ASpravochnik.LastProducer := nil;
|
||
ASpravochnik.LastProperty := nil;
|
||
ASpravochnik.LastResource := nil;
|
||
ASpravochnik.LastSuppliesKind := nil;
|
||
|
||
CompTypePropCount := 0;
|
||
//CompTypesGuids := TStringList.Create;
|
||
//CompTypePropsGuids := TStringList.Create;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> vkAll, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if vkComponentType in ASprElements then
|
||
begin
|
||
ASpravochnik.ClearComponentTypes;
|
||
CurrGUIDCComponentType := '';
|
||
if mtComponentType.RecordCount > 0 then
|
||
CurrGUIDCComponentType := mtComponentType.FieldByName(fnGuid).AsString;
|
||
|
||
mtComponentType.First;
|
||
while Not mtComponentType.Eof do
|
||
begin
|
||
NBComponentType := TNBComponentType.Create(GForm);
|
||
|
||
NBComponentType.ComponentType.ID := mtComponentType.FieldByName(fnID).AsInteger;
|
||
NBComponentType.IDCatalog := mtComponentType.FieldByName(fnIDCatalog).AsInteger;
|
||
NBComponentType.CatalogItemType := mtComponentType.FieldByName(fnIDItemType).AsInteger;
|
||
NBComponentType.ComponentType.GUID := mtComponentType.FieldByName(fnGuid).AsString;
|
||
NBComponentType.ComponentType.Name := mtComponentType.FieldByName(fnName).AsString;
|
||
NBComponentType.ComponentType.NamePlural := mtComponentType.FieldByName(fnNamePlural).AsString;
|
||
NBComponentType.ComponentType.SysName := mtComponentType.FieldByName(fnSysName).AsString;
|
||
NBComponentType.ComponentType.MarkMask := mtComponentType.FieldByName(fnMarkMask).AsString;
|
||
NBComponentType.ComponentType.PortKind := mtComponentType.FieldByName(fnPortKind).AsInteger;
|
||
NBComponentType.ComponentType.ActiveState := mtComponentType.FieldByName(fnActiveState).AsInteger;
|
||
NBComponentType.ComponentType.IDDesignIcon := mtComponentType.FieldByName(fnIDDesignIcon).AsInteger;
|
||
NBComponentType.ComponentType.GUIDDesignIcon := mtComponentType.FieldByName(fnGUIDDesignIcon).AsString;
|
||
NBComponentType.ComponentType.IsLine := mtComponentType.FieldByName(fnIsLine).AsInteger;
|
||
NBComponentType.ComponentType.IsStandart := mtComponentType.FieldByName(fnisStandart).AsInteger;
|
||
NBComponentType.ComponentType.CoordZ := mtComponentType.FieldByName(fnCoordZ).AsFloat;
|
||
NBComponentType.ComponentType.ComponentIndex := mtComponentType.FieldByName(fnComponentIndex).AsInteger - 1;
|
||
NBComponentType.ComponentType.CanUseAsPoint := mtComponentType.FieldByName(fnCanUseAsPoint).AsInteger;
|
||
NBComponentType.IsModified := mtComponentType.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
ASpravochnik.AddComponentType(NBComponentType);
|
||
if CurrGUIDCComponentType = NBComponentType.ComponentType.GUID then
|
||
ASpravochnik.LastComponentType := NBComponentType;
|
||
|
||
//if CompTypesGuids.IndexOf(NBComponentType.ComponentType.GUID) <> -1 then
|
||
// EmptyProcedure;
|
||
//CompTypesGuids.Add(NBComponentType.ComponentType.GUID);
|
||
|
||
mtCompTypePropRelation.First;
|
||
while Not mtCompTypePropRelation.Eof do
|
||
begin
|
||
if mtCompTypePropRelation.FieldByName(fnGuidComponentType).AsString = NBComponentType.ComponentType.GUID then
|
||
begin
|
||
NBCompTypePropRel := TNBCompTypeProperty.Create(GForm);
|
||
|
||
NBCompTypePropRel.GuidComponentType := mtCompTypePropRelation.FieldByName(fnGuidComponentType).AsString;
|
||
NBCompTypePropRel.PropertyData.Guid := mtCompTypePropRelation.FieldByName(fnGUID).AsString;
|
||
NBCompTypePropRel.PropertyData.ID := mtCompTypePropRelation.FieldByName(fnID).AsInteger;
|
||
NBCompTypePropRel.PropertyData.IDMaster := mtCompTypePropRelation.FieldByName(fnIDComponentType).AsInteger;
|
||
NBCompTypePropRel.PropertyData.ID_Property := mtCompTypePropRelation.FieldByName(fnIDProperty).AsInteger;
|
||
NBCompTypePropRel.PropertyData.GUIDProperty := mtCompTypePropRelation.FieldByName(fnGuidProperty).AsString;
|
||
NBCompTypePropRel.PropertyData.TakeIntoConnect := mtCompTypePropRelation.FieldByName(fnTakeIntoConnect).AsInteger;
|
||
NBCompTypePropRel.PropertyData.TakeIntoJoin := mtCompTypePropRelation.FieldByName(fnTakeIntoJoin).AsInteger;
|
||
NBCompTypePropRel.PropertyData.Value := mtCompTypePropRelation.FieldByName(fnPValue).AsString;
|
||
NBCompTypePropRel.PropertyData.IsDefault := mtCompTypePropRelation.FieldByName(fnisStandart).AsInteger;
|
||
NBCompTypePropRel.IsModified := mtCompTypePropRelation.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
NBComponentType.AddProperty(NBCompTypePropRel);
|
||
CompTypePropCount := CompTypePropCount + 1;
|
||
|
||
//if CompTypePropsGuids.IndexOf(NBCompTypePropRel.PropertyData.GUID) <> -1 then
|
||
// EmptyProcedure;
|
||
//CompTypePropsGuids.Add(NBCompTypePropRel.PropertyData.GUID);
|
||
end
|
||
else
|
||
EmptyProcedure;
|
||
|
||
mtCompTypePropRelation.Next;
|
||
end;
|
||
NBComponentType.PropsCount := NBComponentType.Properties.Count;
|
||
|
||
mtComponentType.Next;
|
||
end;
|
||
end;
|
||
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkCurrency in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
ASpravochnik.ClearCurrencies;
|
||
CurrGUIDCurrency := '';
|
||
if mtCurrency.RecordCount > 0 then
|
||
CurrGUIDCurrency := mtCurrency.FieldByName(fnGuid).AsString;
|
||
|
||
mtCurrency.First;
|
||
while Not mtCurrency.Eof do
|
||
begin
|
||
//NBCurrency := TNBCurrency.Create(GForm);
|
||
//
|
||
// NBCurrency.Data.ID := mtCurrency.FieldByName(fnID).AsInteger;
|
||
// NBCurrency.IDCatalog := mtCurrency.FieldByName(fnIDCatalog).AsInteger;
|
||
// NBCurrency.CatalogItemType := mtCurrency.FieldByName(fnIDItemType).AsInteger;
|
||
// NBCurrency.Data.GUID := mtCurrency.FieldByName(fnGuid).AsString;
|
||
// NBCurrency.Data.Name := mtCurrency.FieldByName(fnName).AsString;
|
||
// NBCurrency.Data.NameBrief := mtCurrency.FieldByName(fnNameBrief).AsString;
|
||
// NBCurrency.Data.Kolvo := mtCurrency.FieldByName(fnKolvo).AsInteger;
|
||
// NBCurrency.Data.Ratio := mtCurrency.FieldByName(fnRatio).AsFloat;
|
||
// NBCurrency.Data.Main := mtCurrency.FieldByName(fnMain).AsInteger;
|
||
// NBCurrency.SavedMain := mtCurrency.FieldByName(fnSavedMain).AsInteger;
|
||
// // := mtCurrency.FieldByName(fnSortID).AsInteger;
|
||
// NBCurrency.Data.IsCountry := mtCurrency.FieldByName(fnIsCountry).AsInteger;
|
||
// NBCurrency.IsModified := mtCurrency.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
NBCurrency := GetNBCurrencyFromMemTable;
|
||
|
||
ASpravochnik.AddCurrency(NBCurrency);
|
||
if CurrGUIDCurrency = NBCurrency.Data.GUID then
|
||
ASpravochnik.LastCurrency := NBCurrency;
|
||
mtCurrency.Next;
|
||
end;
|
||
end;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkInterface in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
ASpravochnik.ClearInterfaces;
|
||
CurrGUIDCInterface := '';
|
||
if mtInterface.RecordCount > 0 then
|
||
CurrGUIDCInterface := mtInterface.FieldByName(fnGuid).AsString;
|
||
|
||
mtInterface.First;
|
||
while Not mtInterface.Eof do
|
||
begin
|
||
NBInterface := TNBInterface.Create(GForm);
|
||
|
||
NBInterface.ID := mtInterface.FieldByName(fnID).AsInteger;
|
||
NBInterface.IDCatalog := mtInterface.FieldByName(fnIDCatalog).AsInteger;
|
||
NBInterface.CatalogItemType := mtInterface.FieldByName(fnIDItemType).AsInteger;
|
||
NBInterface.GUID := mtInterface.FieldByName(fnGuid).AsString;
|
||
NBInterface.Name := mtInterface.FieldByName(fnName).AsString;
|
||
NBInterface.GuidNetType := mtInterface.FieldByName(fnGuidNetType).AsString;
|
||
NBInterface.IDNetType := mtInterface.FieldByName(fnIDNetType).AsInteger;
|
||
NBInterface.SortID := mtInterface.FieldByName(fnSortID).AsInteger;
|
||
NBInterface.ConstructiveWidth := mtInterface.FieldByName(fnConstructiveWidth).AsFloat;
|
||
NBInterface.Description := mtInterface.FieldByName(fnDescription).AsString;
|
||
NBInterface.IsUniversal := mtInterface.FieldByName(fnIsUniversal).AsInteger;
|
||
NBInterface.IsModified := mtInterface.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
ASpravochnik.AddInterface(NBInterface);
|
||
if CurrGUIDCInterface = NBInterface.GUID then
|
||
ASpravochnik.LastInterface := NBInterface;
|
||
|
||
mtInterfaceAccordance.First;
|
||
while Not mtInterfaceAccordance.Eof do
|
||
begin
|
||
NBInterfaceAccordance := TNBInterfaceAccordance.Create(ASpravochnik.ActiveForm);
|
||
|
||
NBInterfaceAccordance.ID := mtInterfaceAccordance.FieldByName(fnID).AsInteger;
|
||
NBInterfaceAccordance.GUID := mtInterfaceAccordance.FieldByName(fnGUID).AsString;
|
||
NBInterfaceAccordance.GuidInterface := NBInterface.GUID; //mtInterfaceAccordance.FieldByName(fnGUIDInterface).AsString;
|
||
NBInterfaceAccordance.IDInterface := NBInterface.ID; //mtInterfaceAccordance.FieldByName(fnIDInterface).AsInteger;
|
||
NBInterfaceAccordance.InterfComponIsLine := mtInterfaceAccordance.FieldByName(fnInterfComponIsLine).AsInteger;
|
||
NBInterfaceAccordance.GUIDAccordance := mtInterfaceAccordance.FieldByName(fnGUIDAccordance).AsString;
|
||
NBInterfaceAccordance.IDAccordance := mtInterfaceAccordance.FieldByName(fnIDAccordance).AsInteger;
|
||
NBInterfaceAccordance.AccordComponIsLine := mtInterfaceAccordance.FieldByName(fnAccordComponIsLine).AsInteger;
|
||
NBInterfaceAccordance.Kolvo := mtInterfaceAccordance.FieldByName(fnKolvo).AsInteger;
|
||
NBInterfaceAccordance.IsModified := mtInterfaceAccordance.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
NBInterface.AddInterfaceAccordance(NBInterfaceAccordance);
|
||
mtInterfaceAccordance.Next;
|
||
end;
|
||
|
||
mtInterfaceNorms.First;
|
||
while Not mtInterfaceNorms.Eof do
|
||
begin
|
||
NBInterfaceNorm := TNBInterfaceNorm.Create(GForm);
|
||
|
||
NBInterfaceNorm.ID := mtInterfaceNorms.FieldByName(fnID).AsInteger;
|
||
NBInterfaceNorm.GUID := mtInterfaceNorms.FieldByName(fnGuid).AsString;
|
||
NBInterfaceNorm.GuidInterface := NBInterface.GUID; //mtInterfaceNorms.FieldByName(fnGuidInterface).AsString;
|
||
NBInterfaceNorm.IDInterface := NBInterface.ID; //mtInterfaceNorms.FieldByName(fnIDInterface).AsInteger;
|
||
NBInterfaceNorm.GuidNBNorm := mtInterfaceNorms.FieldByName(fnGuidNBNorm).AsString;
|
||
NBInterfaceNorm.IDNBNorm := mtInterfaceNorms.FieldByName(fnIDNBNorm).AsInteger;
|
||
NBInterfaceNorm.Expense := mtInterfaceNorms.FieldByName(fnExpense).AsFloat;
|
||
NBInterfaceNorm.InterfaceIsBusy := mtInterfaceNorms.FieldByName(fnInterfaceIsBusy).AsInteger;
|
||
|
||
NBInterfaceNorm.GUIDComponentType := mtInterfaceNorms.FieldByName(fnGuidComponentType).AsString;
|
||
NBInterfaceNorm.IDComponentType := mtInterfaceNorms.FieldByName(fnIDComponentType).AsInteger;
|
||
NBInterfaceNorm.KoefLengthForCompl := mtInterfaceNorms.FieldByName(fnKoefLengthForCompl).AsFloat;
|
||
|
||
NBInterfaceNorm.IsModified := mtInterfaceNorms.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
if NBInterfaceNorm.IsModified and (AChangedInterfNorm <> nil) then
|
||
AChangedInterfNorm^ := true;
|
||
|
||
NBInterface.AddInterfaceNorm(NBInterfaceNorm);
|
||
|
||
mtInterfaceNorms.Next;
|
||
end;
|
||
NBInterface.InterfNormsCount := NBInterface.InterfaceNorms.Count;
|
||
|
||
mtInterface.Next;
|
||
end;
|
||
end;
|
||
|
||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkNetType in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
ASpravochnik.NetTypes.Clear;
|
||
CurrGUIDCNetType := '';
|
||
if mtNetType.RecordCount > 0 then
|
||
CurrGUIDCNetType := mtNetType.FieldByName(fnGuid).AsString;
|
||
|
||
mtNetType.First;
|
||
while Not mtNetType.Eof do
|
||
begin
|
||
NBNetType := TNBNetType.Create(ASpravochnik.ActiveForm);
|
||
|
||
NBNetType.ID := mtNetType.FieldByName(fnID).AsInteger;
|
||
NBNetType.IDCatalog := mtNetType.FieldByName(fnIDCatalog).AsInteger;
|
||
NBNetType.CatalogItemType := mtNetType.FieldByName(fnIDItemType).AsInteger;
|
||
NBNetType.GUID := mtNetType.FieldByName(fnGuid).AsString;
|
||
NBNetType.Name := mtNetType.FieldByName(fnName).AsString;
|
||
NBNetType.IsModified := mtNetType.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
ASpravochnik.AddNetType(NBNetType);
|
||
if CurrGUIDCNetType = NBNetType.GUID then
|
||
ASpravochnik.LastNetType := NBNetType;
|
||
|
||
mtNetType.Next;
|
||
end;
|
||
end;
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkNorm in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
ASpravochnik.Norms.Clear;
|
||
CurrGUIDCNorm := '';
|
||
if mtNorms.RecordCount > 0 then
|
||
CurrGUIDCNorm := mtNorms.FieldByName(fnGuid).AsString;
|
||
|
||
mtNorms.First;
|
||
while Not mtNorms.Eof do
|
||
begin
|
||
NBNorm := TNBNorm.Create(ASpravochnik.ActiveForm);
|
||
|
||
NBNorm.ID := mtNorms.FieldByName(fnID).AsInteger;
|
||
NBNorm.IDCatalog := mtNorms.FieldByName(fnIDCatalog).AsInteger;
|
||
NBNorm.CatalogItemType := mtNorms.FieldByName(fnIDItemType).AsInteger;
|
||
NBNorm.GUID := mtNorms.FieldByName(fnGuid).AsString;
|
||
NBNorm.Cypher := mtNorms.FieldByName(fnCypher).AsString;
|
||
NBNorm.Name := mtNorms.FieldByName(fnName).AsString;
|
||
NBNorm.Izm := mtNorms.FieldByName(fnIzm).AsString;
|
||
NBNorm.LaborTime := mtNorms.FieldByName(fnLaborTime).AsInteger;
|
||
NBNorm.PricePerTime := mtNorms.FieldByName(fnPricePerTime).AsFloat;
|
||
//NBNorm.TimeUOM := mtNorms.FieldByName(fnTimeUOM).AsInteger;
|
||
NBNorm.Price := mtNorms.FieldByName(fnPrice).AsFloat;
|
||
NBNorm.GUIDESmeta := mtNorms.FieldByName(fnGuidESmeta).AsString;
|
||
NBNorm.IsModified := mtNorms.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
NBNorm.IsApplyDataForAllSame := mtNorms.FieldByName(fnApplyForAllSame).AsBoolean;
|
||
|
||
ASpravochnik.AddNorm(NBNorm);
|
||
if CurrGUIDCNorm = NBNorm.GUID then
|
||
ASpravochnik.LastNorm := NBNorm;
|
||
|
||
//24.09.2010
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
//if mtNorms.FieldByName(fnApplyForAllSame).AsBoolean then
|
||
// if ASpravochnik.OwnerObject is TSCSCatalog then
|
||
// begin
|
||
// SCSCatalog := TSCSCatalog(ASpravochnik.OwnerObject);
|
||
// for i := 0 to SCSCatalog.ComponentReferences.Count - 1 do
|
||
// begin
|
||
// SCSComponent := SCSCatalog.ComponentReferences[i];
|
||
// for j := 0 to SCSComponent.NormsResources.Norms.Count - 1 do
|
||
// begin
|
||
// SCSNorm := SCSComponent.NormsResources.Norms[j];
|
||
// if SCSNorm.GuidNB = NBNorm.GUID then
|
||
// begin
|
||
// SCSNorm.Cypher := NBNorm.Cypher;
|
||
// SCSNorm.Name := NBNorm.Name;
|
||
// SCSNorm.Izm_ := NBNorm.Izm;
|
||
// SCSNorm.Price := NBNorm.Price;
|
||
// end;
|
||
// end;
|
||
// end;
|
||
// end;
|
||
|
||
mtNorms.Next;
|
||
end;
|
||
end;
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkObjectIcons in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
ASpravochnik.ObjectIcons.Clear;
|
||
CurrGUIDCObjectIcon := '';
|
||
if mtObjectIcons.RecordCount > 0 then
|
||
CurrGUIDCObjectIcon := mtObjectIcons.FieldByName(fnGuid).AsString;
|
||
|
||
mtObjectIcons.First;
|
||
while Not mtObjectIcons.Eof do
|
||
begin
|
||
NBObjectIcon := TNBObjectIcon.Create(ASpravochnik.ActiveForm);
|
||
|
||
NBObjectIcon.ID := mtObjectIcons.FieldByName(fnID).AsInteger;
|
||
NBObjectIcon.IDCatalog := mtObjectIcons.FieldByName(fnIDCatalog).AsInteger;
|
||
NBObjectIcon.CatalogItemType := mtObjectIcons.FieldByName(fnIDItemType).AsInteger;
|
||
NBObjectIcon.GUID := mtObjectIcons.FieldByName(fnGuid).AsString;
|
||
NBObjectIcon.Name := mtObjectIcons.FieldByName(fnName).AsString;
|
||
SaveToStreamFromMT(mtObjectIcons, NBObjectIcon.ProjBlk, fnProjBlk);
|
||
SaveToStreamFromMT(mtObjectIcons, NBObjectIcon.ProjBmp, fnProjBmp);
|
||
SaveToStreamFromMT(mtObjectIcons, NBObjectIcon.ActiveBlk, fnActiveBlk);
|
||
SaveToStreamFromMT(mtObjectIcons, NBObjectIcon.ActiveBmp, fnActiveBmp);
|
||
NBObjectIcon.IsModified := mtObjectIcons.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
ASpravochnik.AddObjectIcon(NBObjectIcon);
|
||
if CurrGUIDCObjectIcon = NBObjectIcon.GUID then
|
||
ASpravochnik.LastObjectIcon := NBObjectIcon;
|
||
mtObjectIcons.Next;
|
||
end;
|
||
end;
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkProducers in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
ASpravochnik.Producers.Clear;
|
||
CurrGUIDCProducer := '';
|
||
if mtProducers.RecordCount > 0 then
|
||
CurrGUIDCProducer := mtProducers.FieldByName(fnGuid).AsString;
|
||
|
||
mtProducers.First;
|
||
while Not mtProducers.Eof do
|
||
begin
|
||
NBProducer := TNBProducer.Create(ASpravochnik.ActiveForm);
|
||
|
||
NBProducer.ID := mtProducers.FieldByName(fnID).AsInteger;
|
||
NBProducer.IDCatalog := mtProducers.FieldByName(fnIDCatalog).AsInteger;
|
||
NBProducer.CatalogItemType := mtProducers.FieldByName(fnIDItemType).AsInteger;
|
||
NBProducer.GUID := mtProducers.FieldByName(fnGuid).AsString;
|
||
NBProducer.Name := mtProducers.FieldByName(fnName).AsString;
|
||
NBProducer.Description := mtProducers.FieldByName(fnDescription).AsString;
|
||
NBProducer.IsModified := mtProducers.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
ASpravochnik.AddProducer(NBProducer);
|
||
if CurrGUIDCProducer = NBProducer.GUID then
|
||
ASpravochnik.LastProducer := NBProducer;
|
||
|
||
mtProducers.Next;
|
||
end;
|
||
end;
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkProperty in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
ASpravochnik.ClearProperties; //ASpravochnik.Properties.Clear;
|
||
CurrGUIDCProperty := '';
|
||
if mtProperties.RecordCount > 0 then
|
||
CurrGUIDCProperty := mtProperties.FieldByName(fnGUID).AsString;
|
||
|
||
mtProperties.First;
|
||
while Not mtProperties.Eof do
|
||
begin
|
||
NBProperty := TNBProperty.Create(ASpravochnik.ActiveForm);
|
||
|
||
NBProperty.PropertyData.ID := mtProperties.FieldByName(fnID).AsInteger;
|
||
NBProperty.IDCatalog := mtProperties.FieldByName(fnIDCatalog).AsInteger;
|
||
NBProperty.CatalogItemType := mtProperties.FieldByName(fnIDItemType).AsInteger;
|
||
NBProperty.PropertyData.GUID := mtProperties.FieldByName(fnGUID).AsString;
|
||
NBProperty.PropertyData.IDDataType := mtProperties.FieldByName(fnIDDataType).AsInteger;
|
||
NBProperty.PropertyData.Name := mtProperties.FieldByName(fnName).AsString;
|
||
NBProperty.PropertyData.SysName := mtProperties.FieldByName(fnSysName).AsString;
|
||
NBProperty.PropertyData.Izm := mtProperties.FieldByName(fnIzm).AsString;
|
||
NBProperty.PropertyData.ValueReq := mtProperties.FieldByName(fnValueReq).AsInteger;
|
||
NBProperty.PropertyData.MinValue := mtProperties.FieldByName(fnMinValue).AsFloat;
|
||
NBProperty.PropertyData.MaxValue := mtProperties.FieldByName(fnMaxValue).AsFloat;
|
||
NBProperty.PropertyData.DefValue := mtProperties.FieldByName(fnDefValue).AsString;
|
||
NBProperty.PropertyData.Description := mtProperties.FieldByName(fnDescription).AsString;
|
||
NBProperty.PropertyData.IsStandart := mtProperties.FieldByName(fnIsStandart).AsInteger;
|
||
NBProperty.PropertyData.SortID := mtProperties.FieldByName(fnSortID).AsInteger;
|
||
NBProperty.PropertyData.ISProject := mtProperties.FieldByName(fnISProject).AsInteger;
|
||
NBProperty.PropertyData.ISFolder := mtProperties.FieldByName(fnISFolder).AsInteger;
|
||
NBProperty.PropertyData.ISList := mtProperties.FieldByName(fnISList).AsInteger;
|
||
NBProperty.PropertyData.ISRoom := mtProperties.FieldByName(fnISRoom).AsInteger;
|
||
NBProperty.PropertyData.ISSCSLine := mtProperties.FieldByName(fnISSCSLine).AsInteger;
|
||
NBProperty.PropertyData.ISSCSConnector := mtProperties.FieldByName(fnISSCSConnector).AsInteger;
|
||
NBProperty.PropertyData.ISComponLine := mtProperties.FieldByName(fnISComponLine).AsInteger;
|
||
NBProperty.PropertyData.ISComponConn := mtProperties.FieldByName(fnISComponConn).AsInteger;
|
||
NBProperty.PropertyData.IsForWholeComponent := mtProperties.FieldByName(fnIsForWholeComponent).AsInteger;
|
||
NBProperty.PropertyData.IsValueRelToObj := mtProperties.FieldByName(fnIsValueRelToObj).AsInteger;
|
||
|
||
NBProperty.IsModified := mtProperties.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
ASpravochnik.AddProperty(NBProperty);
|
||
if CurrGUIDCProperty = NBProperty.PropertyData.GUID then
|
||
ASpravochnik.LastProperty := NBProperty;
|
||
|
||
mtPropValRel.First;
|
||
while Not mtPropValRel.Eof do
|
||
begin
|
||
NBPropValRel := TNBPropValRel.Create(NBProperty.ActiveForm);
|
||
|
||
NBPropValRel.ID := mtPropValRel.FieldByName(fnID).AsInteger;
|
||
NBPropValRel.GUID := mtPropValRel.FieldByName(fnGUID).AsString;
|
||
NBPropValRel.IDProperty := mtPropValRel.FieldByName(fnIDProperty).AsInteger;
|
||
NBPropValRel.GuidProperty := mtPropValRel.FieldByName(fnGuidProperty).AsString;
|
||
NBPropValRel.PValue := mtPropValRel.FieldByName(fnPValue).AsString;
|
||
NBPropValRel.MinValue := mtPropValRel.FieldByName(fnMinValue).AsString;
|
||
NBPropValRel.MaxValue := mtPropValRel.FieldByName(fnMaxValue).AsString;
|
||
NBPropValRel.IsModified := mtPropValRel.FieldByName(fnIsModified).AsBoolean or
|
||
mtPropValRel.FieldByName(fnIsNew).AsBoolean;
|
||
|
||
NBProperty.AddPropValRel(NBPropValRel);
|
||
|
||
mtPropValNormRes.First;
|
||
while Not mtPropValNormRes.Eof do
|
||
begin
|
||
NBPropValNormRes := TNBPropValNormRes.Create(NBPropValRel.ActiveForm);
|
||
|
||
NBPropValNormRes.ID := mtPropValNormRes.FieldByName(fnID).AsInteger;
|
||
NBPropValNormRes.GUID := mtPropValNormRes.FieldByName(fnGUID).AsString;
|
||
NBPropValNormRes.IDPropValRel := mtPropValNormRes.FieldByName(fnIDPropValRel).AsInteger;
|
||
NBPropValNormRes.GuidPropValRel := mtPropValNormRes.FieldByName(fnGuidPropValRel).AsString;
|
||
NBPropValNormRes.IDNBComponent := mtPropValNormRes.FieldByName(fnIDNBComponent).AsInteger;
|
||
NBPropValNormRes.GuidNBComponent := mtPropValNormRes.FieldByName(fnGuidNBComponent).AsString;
|
||
NBPropValNormRes.IDNBRes := mtPropValNormRes.FieldByName(fnIDNBRes).AsInteger;
|
||
NBPropValNormRes.GuidNBRes := mtPropValNormRes.FieldByName(fnGuidNBRes).AsString;
|
||
NBPropValNormRes.IDNBNorm := mtPropValNormRes.FieldByName(fnIDNBNorm).AsInteger;
|
||
NBPropValNormRes.GuidNBNorm := mtPropValNormRes.FieldByName(fnGuidNBNorm).AsString;
|
||
NBPropValNormRes.Kolvo := mtPropValNormRes.FieldByName(fnKolvo).AsFloat;
|
||
NBPropValNormRes.ExpenseForLength := mtPropValNormRes.FieldByName(fnExpenseForLength).AsFloat;
|
||
NBPropValNormRes.CountForPoint := mtPropValNormRes.FieldByName(fnCountForPoint).AsFloat;
|
||
NBPropValNormRes.StepOfPoint := mtPropValNormRes.FieldByName(fnStepOfPoint).AsFloat;
|
||
NBPropValNormRes.IsModified := mtPropValNormRes.FieldByName(fnIsModified).AsBoolean or
|
||
mtPropValNormRes.FieldByName(fnIsNew).AsBoolean;
|
||
|
||
NBPropValRel.AddPropValNormRes(NBPropValNormRes);
|
||
|
||
mtPropValNormRes.Next;
|
||
end;
|
||
mtPropValRel.Next;
|
||
end;
|
||
mtProperties.Next;
|
||
end;
|
||
end;
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkResource in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
ASpravochnik.Resources.Clear;
|
||
CurrGUIDCResource := '';
|
||
if mtResources.RecordCount > 0 then
|
||
CurrGUIDCResource := mtResources.FieldByName(fnGuid).AsString;
|
||
|
||
mtResources.First;
|
||
while Not mtResources.Eof do
|
||
begin
|
||
NBResource := TNBResource.Create(ASpravochnik.ActiveForm);
|
||
|
||
NBResource.ID := mtResources.FieldByName(fnID).AsInteger;
|
||
NBResource.IDCatalog := mtResources.FieldByName(fnIDCatalog).AsInteger;
|
||
NBResource.CatalogItemType := mtResources.FieldByName(fnIDItemType).AsInteger;
|
||
NBResource.GUID := mtResources.FieldByName(fnGuid).AsString;
|
||
NBResource.Cypher := mtResources.FieldByName(fnCypher).AsString;
|
||
NBResource.Name := mtResources.FieldByName(fnName).AsString;
|
||
NBResource.Izm := mtResources.FieldByName(fnIzm).AsString;
|
||
NBResource.Price := mtResources.FieldByName(fnPrice).AsFloat;
|
||
NBResource.RType := mtResources.FieldByName(fnRType).AsInteger;
|
||
NBResource.IsModified := mtResources.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
NBResource.IsApplyDataForAllSame := mtResources.FieldByName(fnApplyForAllSame).AsBoolean;
|
||
|
||
ASpravochnik.AddResource(NBResource);
|
||
if CurrGUIDCResource = NBResource.GUID then
|
||
ASpravochnik.LastResource := NBResource;
|
||
|
||
//24.09.2010
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
//if mtResources.FieldByName(fnApplyForAllSame).AsBoolean then
|
||
// if ASpravochnik.OwnerObject is TSCSCatalog then
|
||
// begin
|
||
// SCSCatalog := TSCSCatalog(ASpravochnik.OwnerObject);
|
||
// for i := 0 to SCSCatalog.ComponentReferences.Count - 1 do
|
||
// begin
|
||
// SCSComponent := SCSCatalog.ComponentReferences[i];
|
||
// for j := 0 to SCSComponent.NormsResources.Resources.Count - 1 do
|
||
// begin
|
||
// SCSResource := SCSComponent.NormsResources.Resources[j];
|
||
// if SCSResource.GuidNB = NBResource.GUID then
|
||
// begin
|
||
// SCSResource.Cypher := NBResource.Cypher;
|
||
// SCSResource.Name := NBResource.Name;
|
||
// SCSResource.Izm := NBResource.Izm;
|
||
// SCSResource.Price := NBResource.Price;
|
||
// SCSResource.RType := NBResource.RType;
|
||
// end;
|
||
// end;
|
||
// end;
|
||
// end;
|
||
mtResources.Next;
|
||
end;
|
||
end;
|
||
|
||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (vkSuppliesKind in ASprElements) or (vkAll in ASprElements) then
|
||
begin
|
||
ASpravochnik.SuppliesKinds.Clear;
|
||
CurrGUIDCSuppliesKind := '';
|
||
if mtSuppliesKinds.RecordCount > 0 then
|
||
CurrGUIDCSuppliesKind := mtSuppliesKinds.FieldByName(fnGUID).AsString;
|
||
|
||
mtSuppliesKinds.First;
|
||
while Not mtSuppliesKinds.Eof do
|
||
begin
|
||
NBSuppliesKind := TNBSuppliesKind.Create(ASpravochnik.ActiveForm);
|
||
|
||
NBSuppliesKind.Data.ID := mtSuppliesKinds.FieldByName(fnID).AsInteger;
|
||
NBSuppliesKind.IDCatalog := mtSuppliesKinds.FieldByName(fnIDCatalog).AsInteger;
|
||
NBSuppliesKind.CatalogItemType := mtSuppliesKinds.FieldByName(fnIDItemType).AsInteger;
|
||
NBSuppliesKind.Data.GUID := mtSuppliesKinds.FieldByName(fnGUID).AsString;
|
||
NBSuppliesKind.Data.Name := mtSuppliesKinds.FieldByName(fnName).AsString;
|
||
NBSuppliesKind.Data.NameTradUOM := mtSuppliesKinds.FieldByName(fnNameTradUOM).AsString;
|
||
NBSuppliesKind.Data.Izm := mtSuppliesKinds.FieldByName(fnIzm).AsString;
|
||
NBSuppliesKind.Data.IzmTradUOM := mtSuppliesKinds.FieldByName(fnIzmTradUOM).AsString;
|
||
NBSuppliesKind.Data.UnitKolvo := mtSuppliesKinds.FieldByName(fnUnitKolvo).AsFloat;
|
||
NBSuppliesKind.Data.UnitKolvoTradUOM := mtSuppliesKinds.FieldByName(fnUnitKolvoTradUOM).AsFloat;
|
||
NBSuppliesKind.IsModified := mtSuppliesKinds.FieldByName(fnIsModified).AsBoolean;
|
||
|
||
ASpravochnik.AddSuppliesKind(NBSuppliesKind);
|
||
if CurrGUIDCSuppliesKind = NBSuppliesKind.Data.GUID then
|
||
ASpravochnik.LastSuppliesKind := NBSuppliesKind;
|
||
mtSuppliesKinds.Next;
|
||
end;
|
||
end;
|
||
|
||
//FreeAndNil(CompTypesGuids);
|
||
//FreeAndNil(CompTypePropsGuids);
|
||
finally
|
||
mtSuppliesKinds.EnableControls;
|
||
mtResources.EnableControls;
|
||
//mtProperties.EnableControls;
|
||
mtProducers.EnableControls;
|
||
mtObjectIcons.EnableControls;
|
||
mtNorms.EnableControls;
|
||
mtNetType.EnableControls;
|
||
GT_ComponentTypes.EndUpdate;
|
||
GT_CompTypeProp.EndUpdate;
|
||
mtCurrency.EnableControls;
|
||
GT_Interfaces.EndUpdate;
|
||
GT_InterfAccordance.EndUpdate;
|
||
GT_InterfaceNorms.EndUpdate;
|
||
|
||
//mtInterfaceNorms.EnableControls;
|
||
//mtInterface.EnableControls;
|
||
//mtCompTypePropRelation.EnableControls;
|
||
//mtComponentType.EnableControls;
|
||
|
||
//mtCompTypePropRelation.MasterSource := SavedMasterSourceCompTypePropRelation;
|
||
//mtInterfaceNorms.MasterSource := SavedMasterSourceInterfacesNorms;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.SetCaptionToActions(ACaption: String);
|
||
begin
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
Act_Make.Caption := cCaseForm_Msg24_1+' ' + ACaption
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
Act_Make.Caption := cCaseForm_Msg36_1+' ' + ACaption + ' '+ cCaseForm_Msg36_2;
|
||
|
||
Act_Edit.Caption := cCaseForm_Msg24_2+' ' + ACaption;
|
||
Act_Del.Caption := cCaseForm_Msg24_3+' ' + ACaption;
|
||
|
||
Act_Make.Hint := Act_Make.Caption;
|
||
Act_Edit.Hint := Act_Edit.Caption;
|
||
Act_Del.Hint := Act_Del.Caption;
|
||
end;
|
||
|
||
procedure TF_CaseForm.SetPageByViewKind(AViewKind: TViewKind);
|
||
var
|
||
ActiveTabSheet: TRzTabSheet;
|
||
SavedOnChangePageCotrol: TNotifyEvent;
|
||
begin
|
||
ActiveTabSheet := GetTabSheetByViewKind(AViewKind);
|
||
if Assigned(ActiveTabSheet) then
|
||
begin
|
||
SavedOnChangePageCotrol := pcDirectories.OnChange;
|
||
pcDirectories.OnChange := nil;
|
||
try
|
||
pcDirectories.ActivePage := ActiveTabSheet;
|
||
finally
|
||
pcDirectories.OnChange := SavedOnChangePageCotrol;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
// ######################### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ################################
|
||
// #############################################################################
|
||
//
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.RenameNode(ANode: TTreeNode; ANewName: String);
|
||
var
|
||
CurrID: Integer;
|
||
begin
|
||
CurrID := PObjectData(ANode.Data).ObjectID;
|
||
with TF_Main(GForm).DM do
|
||
UpdateStrTableFieldByID(tnDirectoryType, fnName, CurrID, ANewName, qmPhisical);
|
||
DefineTextNode(ANode);
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> + <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD>-<2D> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) #####
|
||
procedure TF_CaseForm.RefreshKolNode(ANode: TTreeNode;
|
||
AKolvo: Integer = -1);
|
||
//var NameNode: String;
|
||
//Kolvo: Integer;
|
||
//InterfTypeData: PObjectData;
|
||
begin
|
||
if ANode.IsFirstNode then
|
||
Exit;
|
||
|
||
{if AKolvo = -1 then
|
||
begin
|
||
InterfTypeData := ANode.Data;
|
||
Kolvo := InterfTypeData.ChildNodesCount;
|
||
end
|
||
else
|
||
Kolvo := Akolvo;
|
||
|
||
NameNode := ANode.Text;
|
||
CutColFromStr(NameNode);
|
||
NameNode := NameNode + ' [ ' + IntToStr(Kolvo) + ' ]';
|
||
ANode.Text := NameNode;}
|
||
end;
|
||
|
||
procedure TF_CaseForm.RefreshNodes(AIDToSelect: Integer);
|
||
var
|
||
IDToSelect: Integer;
|
||
|
||
IDListToExpand: TIntList;
|
||
Node: TTreeNode;
|
||
ParentNode: TTreeNode;
|
||
i: Integer;
|
||
begin
|
||
try
|
||
IDToSelect := AIDToSelect;
|
||
if IDToSelect <= 0 then
|
||
if Tree_InterfType.Selected <> nil then
|
||
IDToSelect := PObjectData(Tree_InterfType.Selected.Data).ObjectID;
|
||
|
||
IDListToExpand := TIntList.Create;
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
Node := nil;
|
||
if Tree_InterfType.Items.Count > 0 then
|
||
Node := Tree_InterfType.Items[0];
|
||
while Node <> nil do
|
||
begin
|
||
if Node.Expanded then
|
||
begin
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ParentNode := Node.Parent;
|
||
while ParentNode <> nil do
|
||
begin
|
||
IDListToExpand.Remove(PObjectData(ParentNode.Data).ObjectID);
|
||
ParentNode := ParentNode.Parent;
|
||
end;
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. ID
|
||
IDListToExpand.Add(PObjectData(Node.Data).ObjectID);
|
||
end;
|
||
Node := Node.GetNextVisible;
|
||
end;
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ClearTreeView(Tree_InterfType);
|
||
AddNodes(nil);
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
for i := 0 to IDListToExpand.Count - 1 do
|
||
begin
|
||
Node := FindNodeByID(IDListToExpand[i]);
|
||
if Node <> nil then
|
||
Node.Expanded := true;
|
||
end;
|
||
|
||
if IDToSelect <> 0 then
|
||
begin
|
||
Node := FindNodeByID(IDToSelect);
|
||
if Node <> nil then
|
||
Tree_InterfType.Selected := Node;
|
||
end;
|
||
|
||
FreeAndNil(IDListToExpand);
|
||
except
|
||
on E: Exception do AddExceptionToLogEx('TF_CaseForm.RefreshNodes', E.Message);
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.SaveSelectTabNode;
|
||
var
|
||
StringsIndex: Integer;
|
||
DirTypeData: PObjectData;
|
||
begin
|
||
if Tree_InterfType.Selected <> nil then
|
||
begin
|
||
DirTypeData := Tree_InterfType.Selected.Data;
|
||
StringsIndex := FTabsSelectedDir.IndexOf(IntToStr(pcDirectories.ActivePageIndex));
|
||
if StringsIndex = -1 then
|
||
FTabsSelectedDir.AddObject(IntToStr(pcDirectories.ActivePageIndex), TObject(DirTypeData.ObjectID))
|
||
else
|
||
FTabsSelectedDir.Objects[StringsIndex] := TObject(DirTypeData.ObjectID);
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.SelectLastTabNode;
|
||
var
|
||
StringsIndex: Integer;
|
||
begin
|
||
if ((GIDToLocate = 0) or (GIDToLocate = -1)) and (GGUIDToLocate = '') then
|
||
begin
|
||
StringsIndex := FTabsSelectedDir.IndexOf(IntToStr(pcDirectories.ActivePageIndex));
|
||
if StringsIndex <> -1 then
|
||
begin
|
||
SelectNodeByID(Integer(FTabsSelectedDir.Objects[StringsIndex]));
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
function TF_CaseForm.SelectNodeByID(AID: Integer): Boolean;
|
||
var
|
||
Node: TTreeNode;
|
||
begin
|
||
Result := false;
|
||
Node := FindNodeByID(AID);
|
||
if Assigned(Node) then
|
||
begin
|
||
Tree_InterfType.Selected := Node;
|
||
Result := true;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.SetCurrencyBriefToControls(ACurrency: TCurrency);
|
||
var
|
||
DisplayFormat: String;
|
||
begin
|
||
DisplayFormat := GetDisplayFormat(ACurrency.NameBrief);
|
||
|
||
TcxCurrencyEditProperties(GT_NB_ResourcesPRICE.Properties).DisplayFormat := DisplayFormat;
|
||
TcxCurrencyEditProperties(GT_NB_ResourcesAdditionalPrice.Properties).DisplayFormat := DisplayFormat;
|
||
|
||
TcxCurrencyEditProperties(GT_NB_NormsPrice.Properties).DisplayFormat := DisplayFormat;
|
||
TcxCurrencyEditProperties(GT_NB_NormsPricePerTime.Properties).DisplayFormat := DisplayFormat;
|
||
end;
|
||
|
||
procedure TF_CaseForm.SetCurrencyBriefToControlsFromMT;
|
||
var
|
||
//BookmarkStr: String;
|
||
BookmarkStr: TBookMark;
|
||
Currency: TCurrency;
|
||
begin
|
||
if (mtCurrency <> nil) and mtCurrency.Active then
|
||
begin
|
||
//BookmarkStr := mtCurrency.Bookmark;
|
||
BookmarkStr := mtCurrency.GetBookmark;
|
||
mtCurrency.DisableControls;
|
||
try
|
||
if mtCurrency.Locate(fnMain, ctMain, []) then
|
||
begin
|
||
Currency := GetCurrencyFromMemTable(mtCurrency);
|
||
SetCurrencyBriefToControls(Currency);
|
||
end;
|
||
finally
|
||
//mtCurrency.Bookmark := BookmarkStr;
|
||
if BookmarkStr <> nil then
|
||
begin
|
||
mtCurrency.GotoBookmark(BookmarkStr);
|
||
mtCurrency.FreeBookmark(BookmarkStr);
|
||
end;
|
||
mtCurrency.EnableControls;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.SetKolChildNodes(ANode: TTreeNode);
|
||
//var InterfTypeData: PObjectData;
|
||
//KolChildNodes: Integer;
|
||
begin
|
||
{if ANode.IsFirstNode then
|
||
Exit;
|
||
|
||
InterfTypeData := ANode.Data;
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
SetSQLToQuery(scsQ, ' SELECT Count(*) As Cnt FROM INTERFACE_TYPE '+
|
||
' WHERE PARENT_ID = '''+ IntToStr(InterfTypeData.ObjectID) +''' '
|
||
);
|
||
KolChildNodes := scsQ.GetFNAsInteger('Cnt');
|
||
InterfTypeData.ChildNodesCount := KolChildNodes;
|
||
SetSQLToQuery(scsQOperat, ' UPDATE INTERFACE_TYPE SET '+
|
||
' KOL_CHILD_NODES = '''+ IntToStr(KolChildNodes) +''' '+
|
||
' WHERE ID = '''+ IntToStr(InterfTypeData.ObjectID) +''' '
|
||
);
|
||
RefreshKolNode(ANode);
|
||
end;}
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_MoveInterfaceExecute(Sender: TObject);
|
||
begin
|
||
if FDragIDPointer > 0 then
|
||
if CheckChange then
|
||
begin
|
||
MoveItemBetweenNodes(GSNode, GTNode, FDragIDPointer);
|
||
Tree_InterfType.Selected := GTNode;
|
||
end;
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ASourceNode <20> ATargetNode #####
|
||
procedure TF_CaseForm.MoveNodes(ASourceNode, ATargetNode: TTreeNode);
|
||
var //InterfTypeData: PObjectData;
|
||
IDTarget: Integer;
|
||
IDSource: Integer;
|
||
SourceParentNode: TTreeNode;
|
||
begin
|
||
IDTarget := PObjectData(ATargetNode.Data).ObjectID;
|
||
IDSource := PObjectData(ASourceNode.Data).ObjectID;
|
||
SourceParentNode := ASourceNode.Parent;
|
||
|
||
ASourceNode.MoveTo(ATargetNode, naAddChild);
|
||
with TF_Main(GForm).DM do
|
||
UpdateIntTableFieldByID(tnDirectoryType, fnParentID, IDSource, IDTarget, qmPhisical);
|
||
SetSortID(ASourceNode);
|
||
// SetSQlToQuery(scsQOperat, ' UPDATE INTERFACE_TYPE SET '+
|
||
// ' PARENT_ID = '''+ IntToStr(IDTarget) +''' '+
|
||
// ' WHERE ID = '''+ IntToStr(IDSource) +''' '
|
||
// );
|
||
// SetKolChildNodes(ATargetNode);
|
||
// SetKolChildNodes(SourceParentNode);
|
||
end;
|
||
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.AddNodes(ANode: TTreeNode);
|
||
var Parent_ID: Integer;
|
||
NewNode: TTreeNode;
|
||
NameNewNode: String;
|
||
|
||
KolChildNodes: Integer; //*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
KolChildDir: Integer; //*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
||
CurrNode: TTreeNode;
|
||
CurrNodeData: PObjectData;
|
||
TabSheet: TRzTabSheet;
|
||
|
||
procedure Step(AParentNode: TTreeNode; AisFirstCalling: Boolean);
|
||
var
|
||
DirectoryTypeList: TList;
|
||
DirTypeData: PObjectData;
|
||
DirectoryType: PDirectoryType;
|
||
|
||
i: Integer;
|
||
strWhere: String;
|
||
ChildItemCount: Integer;
|
||
begin
|
||
strWhere := '';
|
||
if AParentNode = nil then
|
||
begin
|
||
Parent_ID := 0;
|
||
strWhere := '(Parent_ID is null)';
|
||
end
|
||
else
|
||
begin
|
||
Parent_Id := PObjectData(AParentNode.Data).ObjectID;
|
||
strWhere := '(PARENT_ID = '''+ IntToStr(Parent_ID) +''')';
|
||
end;
|
||
strWhere := strWhere + ' and ('+fnDirItemType+' = '''+IntTostr(FDirTypeInfo.ItemType)+''')';
|
||
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
SetSQLToQuery(scsQSelect, ' SELECT * FROM '+tnDirectoryType+' '+
|
||
' WHERE '+strWhere+' ORDER BY SORT_ID ');
|
||
DirectoryTypeList := TList.Create;
|
||
while Not scsQSelect.Eof do
|
||
begin
|
||
GetMem(DirectoryType, SizeOf(TDirectoryType));
|
||
DirectoryType.ID := scsQSelect.GetFNAsInteger(fnID);
|
||
DirectoryType.ParentID := scsQSelect.GetFNAsInteger(fnParentID);
|
||
DirectoryType.NAME := scsQSelect.GetFNAsString(fnName);
|
||
DirectoryType.ItemsCount := scsQSelect.GetFNAsInteger(fnItemsCount);
|
||
DirectoryType.ContentKolvo := scsQSelect.GetFNAsInteger(fnContentKolvo);
|
||
DirectoryType.SortID := scsQSelect.GetFNAsInteger(fnSortID);
|
||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
if (AParentNode = nil) and (DirectoryTypeList.Count = 0) then
|
||
begin
|
||
TabSheet := GetTabSheetByViewKind(FDirTypeInfo.ViewKind);
|
||
if TabSheet <> nil then
|
||
DirectoryType.NAME := TabSheet.Caption;
|
||
end;
|
||
DirectoryTypeList.Add(DirectoryType);
|
||
scsQSelect.Next;
|
||
end;
|
||
|
||
for i := 0 to DirectoryTypeList.Count - 1 do
|
||
begin
|
||
DirectoryType := DirectoryTypeList.Items[i];
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (FViewKind = vkInterface) and Not IsShowUnvisibleInterface then
|
||
begin
|
||
{SetSQLToFIBQuery(TF_Main(GForm).DM.Query_Select,
|
||
'SELECT COUNT(ID) FROM '+FDirTypeInfo.TableName+', '+tnDirectoryTypeRel+ ' '+
|
||
'WHERE ('+fnIDDirectoryType+' = '''+IntTostr(DirectoryType.ID)+''') AND '+
|
||
'('+FDirTypeInfo.TableName+'.ID = '+tnDirectoryTypeRel+'.'+FDirTypeInfo.MasterFieldName+') AND '+
|
||
'('+FDirTypeInfo.TableName+'.'+fnIsVisible+' = '''+IntToStr(biTrue)+''')');
|
||
DirectoryType.ContentKolvo := TF_Main(GForm).DM.Query_Select.FN(fnCount).AsInteger;}
|
||
DirectoryType.ContentKolvo := TF_Main(GForm).DM.GetContensCountFromDir(DirectoryType.ID, FDirTypeInfo, GetSQLForIsVisible(FDirTypeInfo.TableName));
|
||
end;
|
||
|
||
NameNewNode := GetNameAndKol(DirectoryType.Name, DirectoryType.ContentKolvo);
|
||
if Parent_ID = 0 then
|
||
NewNode := Tree_InterfType.Items.AddFirst(AParentNode, NameNewNode)
|
||
else
|
||
begin
|
||
//NameNewNode := GetNameAndKol(NameNewNode, DirectoryType.ContentKolvo); //NameNewNode + ' [ '+ IntToStr(DirectoryType.ItemsCount) + ' ]';
|
||
NewNode := Tree_InterfType.Items.AddChild(AParentNode, NameNewNode);
|
||
end;
|
||
NewNode.ImageIndex := 0;
|
||
NewNode.SelectedIndex := NewNode.ImageIndex;
|
||
NewData(DirTypeData, ttGuide);
|
||
DirTypeData.ObjectID := DirectoryType.ID;
|
||
DirTypeData.ChildNodesCount := DirectoryType.ItemsCount;
|
||
DirTypeData.SortID := DirectoryType.SortID;
|
||
NewNode.Data := DirTypeData;
|
||
//RefreshKolNode(NewNode);
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ChildItemCount := GetIntFromTableByID(tnDirectoryType, fnItemsCount, DirectoryType.ID, qmPhisical);
|
||
if (AisFirstCalling = true) and (ChildItemCount > 0) then
|
||
Step(NewNode, false);
|
||
|
||
end;
|
||
FreeList(DirectoryTypeList);
|
||
end;
|
||
end;
|
||
|
||
begin
|
||
Tree_InterfType.Items.BeginUpdate;
|
||
try
|
||
if ANode = nil then
|
||
Step(nil, true)
|
||
else
|
||
begin
|
||
CurrNode := ANode.GetFirstChild;
|
||
if CurrNode <> nil then
|
||
while CurrNode <> nil do
|
||
begin
|
||
KolChildNodes := CurrNode.Count;
|
||
CurrNodeData := CurrNode.Data;
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
KolChildDir := GetIntFromTableByID(tnDirectoryType, fnItemsCount, CurrNodeData.ObjectID, qmPhisical);
|
||
if (KolChildNodes > 0) and (KolChildNodes <> KolChildDir) then
|
||
begin
|
||
DeleteChildNodes(CurrNode);
|
||
KolChildNodes := 0;
|
||
end;
|
||
if (KolChildNodes = 0) and (KolChildDir > 0) then
|
||
Step(CurrNode, true);
|
||
end;
|
||
CurrNode := CurrNode.getNextSibling;
|
||
end
|
||
else
|
||
Step(ANode, true);
|
||
end;
|
||
finally
|
||
Tree_InterfType.Items.EndUpdate;
|
||
end;
|
||
end;
|
||
|
||
|
||
function TF_CaseForm.DefineTextNode(ANode: TTreeNode): String;
|
||
var
|
||
ContentKolvo: Integer;
|
||
begin
|
||
Result := '';
|
||
if Assigned(ANode) then
|
||
begin
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
Result := GetStringFromTableByID(tnDirectoryType, fnName, PObjectData(ANode.Data).ObjectID, qmPhisical);
|
||
if (FViewKind = vkInterface) and Not IsShowUnvisibleInterface then
|
||
ContentKolvo := GetContensCountFromDir(PObjectData(ANode.Data).ObjectID, FDirTypeInfo, GetSQLForIsVisible(FDirTypeInfo.TableName))
|
||
else
|
||
ContentKolvo := GetIntFromTableByID(tnDirectoryType, fnContentKolvo, PObjectData(ANode.Data).ObjectID, qmPhisical);
|
||
Result := GetNameAndKol(Result, ContentKolvo);
|
||
end;
|
||
ANode.Text := Result;
|
||
end;
|
||
end;
|
||
|
||
function TF_CaseForm.GetNodeFromTreeByID(AIDNode: Integer): TTreeNode;
|
||
var
|
||
i: Integer;
|
||
CurrNode: TTreeNode;
|
||
begin
|
||
Result := nil;
|
||
for i := 0 to Tree_InterfType.Items.Count - 1 do
|
||
begin
|
||
CurrNode := Tree_InterfType.Items[i];
|
||
if PObjectData(CurrNode.Data).ObjectID = AIDNode then
|
||
begin
|
||
Result := CurrNode;
|
||
Break; ///// BREAK /////
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
function TF_CaseForm.GetRoomHeight: Double;
|
||
var
|
||
strValue: String;
|
||
begin
|
||
Result := -1;
|
||
if FParentForm <> nil then
|
||
if FParentForm is TF_MasterNewList then
|
||
begin
|
||
strValue := TF_MasterNewList(FParentForm).edRoomHeight.Text;
|
||
try
|
||
Result := StrToFloat_My(strValue);
|
||
Result := FloatInUOM(Result, TF_MasterNewList(FParentForm).FCurrProjUnitOfMeasure, umM);
|
||
except
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> ID #####
|
||
function TF_CaseForm.FindNodeByID(AIDNode: Integer): TTreeNode;
|
||
type TListDat = record
|
||
ID: Integer;
|
||
Parent_ID: Integer;
|
||
end;
|
||
PListDat = ^TlistDat;
|
||
|
||
Var Road: TList;
|
||
ListDat: PListDat;
|
||
Dat: PObjectData;
|
||
Node: TTreeNode;
|
||
SubNode: TTreeNode;
|
||
//ID_Component: Integer;
|
||
ID_Catalog: Integer;
|
||
Parent_ID: Integer;
|
||
|
||
i: Integer;
|
||
RCount: Integer; // Record Count
|
||
//NCount: Integer; // Node Count
|
||
FindedNode: TTreeNode;
|
||
isFindedNode: Boolean;
|
||
|
||
//Item: TListItem;
|
||
begin
|
||
Result := nil;
|
||
SubNode := nil;
|
||
|
||
ID_Catalog := AIDNode;
|
||
|
||
Road := TList.Create;
|
||
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
Parent_ID := 10000;
|
||
with (GForm as TF_Main) do
|
||
while Parent_ID <> 0 do
|
||
begin
|
||
SetSQLToQuery(DM.scsQSelect, ' SELECT ID, PARENT_ID FROM '+tnDirectoryType+' '+
|
||
' WHERE ID = '''+ IntToStr(ID_Catalog) +''' ');
|
||
ID_Catalog := DM.scsQSelect.GetFNAsInteger('ID');
|
||
Parent_ID := DM.scsQSelect.GetFNAsInteger('Parent_ID');
|
||
|
||
New(ListDat);
|
||
ListDat.ID := ID_Catalog;
|
||
ListDat.Parent_ID := Parent_ID;
|
||
Road.Add(ListDat);
|
||
ID_Catalog := Parent_ID;
|
||
end;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
Node := nil;
|
||
if Tree_InterfType.Items.Count > 0 then
|
||
Node := Tree_InterfType.Items[0];
|
||
while Node <> nil do
|
||
begin
|
||
SubNode := Node;
|
||
Node := Node.Parent;
|
||
end;
|
||
//Tree_Catalog.Selected := SubNode;
|
||
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
FindedNode := nil;
|
||
RCount := Road.Count;
|
||
//SubNode := Tree_Catalog.TopItem;
|
||
for i := RCount - 1 downto 0 do
|
||
begin
|
||
ID_Catalog := PListDat(Road.Items[i]).ID;
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
isFindedNode := false;
|
||
while SubNode <> nil do
|
||
begin
|
||
Dat := SubNode.Data;
|
||
if Dat.ObjectID = ID_Catalog then
|
||
begin
|
||
if Not SubNode.HasChildren then
|
||
AddNodes(SubNode);
|
||
FindedNode := SubNode;
|
||
if SubNode.HasChildren then
|
||
SubNode := SubNode.getFirstChild;
|
||
break;
|
||
end
|
||
else
|
||
SubNode := SubNode.getNextSibling;
|
||
end;
|
||
end;
|
||
Node := FindedNode;
|
||
|
||
Result := Node;
|
||
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
FreeList(Road);
|
||
end;
|
||
|
||
function TF_CaseForm.LocateItemByGUID(AGUIDItem: String): Boolean;
|
||
var
|
||
ItemID: Integer;
|
||
begin
|
||
Result := false;
|
||
case TF_Main(GForm).GDBMode of
|
||
bkNormBase:
|
||
begin
|
||
ItemID := TF_Main(GForm).DM.GetIntFromTableByGUID(FDirTypeInfo.TableName, fnID, GGUIDToLocate, qmPhisical);
|
||
if ItemID > 0 then
|
||
LocateItemByID(ItemID);
|
||
end;
|
||
bkProjectManager:
|
||
begin
|
||
if FCaseFormParams.ActiveGridDBTableView <> nil then
|
||
if FCaseFormParams.ActiveGridDBTableView.DataController.DataSet <> nil then
|
||
Result := FCaseFormParams.ActiveGridDBTableView.DataController.DataSet.Locate(fnGUID, AGUIDItem, []);
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
function TF_CaseForm.LocateItemByID(AIDItem: Integer): Boolean;
|
||
var
|
||
DirType: TDirectoryType;
|
||
//DirTypeNode: TTreeNode;
|
||
begin
|
||
Result := false;
|
||
//DirTypeNode := nil;
|
||
|
||
DirType := TF_Main(GForm).DM.GetDirectoryTypeByContentItem(AIDItem, FDirTypeInfo.MasterFieldName);
|
||
//DirTypeNode := FindNodeByID(DirType.ID);
|
||
//if Assigned(DirTypeNode) then
|
||
//begin
|
||
// Tree_InterfType.Selected := DirTypeNode;
|
||
// FDirTypeInfo.DataSet.Locate(fnID, AIDItem, []);
|
||
//end;
|
||
if SelectNodeByID(DirType.ID) then
|
||
begin
|
||
FDirTypeInfo.DataSet.Locate(fnID, AIDItem, []);
|
||
end;
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> SORT_ID #####
|
||
function TF_CaseForm.SetSortID(ANode: TTreeNode): Integer;
|
||
var NodeData: PObjectData;
|
||
ParentNode: TTreeNode;
|
||
NodeID: Integer;
|
||
ParentID: Integer;
|
||
NewSortID: Integer;
|
||
begin
|
||
Result := -1;
|
||
if ANode.IsFirstNode then
|
||
Exit;
|
||
|
||
ParentNode := ANode.Parent;
|
||
ParentID := PObjectData(ParentNode.Data).ObjectID;
|
||
NodeData := ANode.Data;
|
||
|
||
NodeID := NodeData.ObjectID;
|
||
//with TF_Main(GForm).DM do
|
||
//begin
|
||
//SetSQLToQuery(scsQSelect, 'SELECT MAX(SORT_ID) as max_sort_id FROM '+tnDirectoryType+' '+
|
||
// 'WHERE PARENT_ID = '''+ IntTostr(ParentID) +'''');
|
||
//NewSortID := scsQSelect.GetFNAsInteger('max_sort_id');
|
||
|
||
NewSortID := TF_Main(GForm).DM.GetMaxSortIDFromTable(tnDirectoryType, fnParentID, fnSortID, ParentID);
|
||
Inc(NewSortID);
|
||
NodeData.SortID := NewSortID;
|
||
|
||
TF_Main(GForm).DM.UpdateIntTableFieldByID(tnDirectoryType, fnSortID, NodeID, NewSortID, qmPhisical);
|
||
//end;
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.MoveTreeNode(AMoveType: TMoveType);
|
||
var CurrNode: TTreeNode;
|
||
PrevNode: TTreeNode;
|
||
NextNode: TTreeNode;
|
||
LastNode: TTreeNode;
|
||
NextDat: PObjectData;
|
||
begin
|
||
CurrNode := Tree_InterfType.Selected;
|
||
if CurrNode.IsFirstNode then
|
||
begin
|
||
Beep;
|
||
Exit;
|
||
end;
|
||
|
||
case AMoveType of
|
||
mtUp:
|
||
begin
|
||
PrevNode := CurrNode.getPrevSibling;
|
||
if PrevNode <> nil then
|
||
begin
|
||
CurrNode.MoveTo(PrevNode, naInsert);
|
||
TF_Main(GForm).DM.ExchangeNodes(PrevNode, CurrNode, tkDirectoryType);
|
||
end;
|
||
end;
|
||
mtDown:
|
||
begin
|
||
NextNode := CurrNode.getNextSibling;
|
||
LastNode := CurrNode.Parent.GetLastChild;
|
||
if NextNode <> nil then
|
||
begin
|
||
NextDat := NextNode.Data;
|
||
if NextNode.Index < LastNode.Index then
|
||
CurrNode.MoveTo(NextNode.GetNextVisible, naInsert)
|
||
else
|
||
CurrNode.MoveTo(NextNode, naAdd);
|
||
TF_Main(GForm).DM.ExchangeNodes(NextNode, CurrNode, tkDirectoryType);
|
||
end;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.SetUOMToCaptions;
|
||
var
|
||
ActiveViewKind: TViewKind;
|
||
begin
|
||
GT_InterfacesConstructiveWidth.Caption := cCaseForm_Msg39 + ', ' + GetNameUOM(TF_Main(GForm).FUOM, true);
|
||
GT_ComponentTypesCOORDZ.Caption := cMakeEditComponentType_Msg9+', '+GetNameUOM(TF_Main(GForm).FUOM, true);
|
||
if CheckIsMetricUOM(TF_Main(GForm).FUOM) then
|
||
begin
|
||
GT_SuppliesKindsNAME.DataBinding.FieldName := fnName;
|
||
GT_SuppliesKindsIZM.DataBinding.FieldName := fnIzm;
|
||
GT_SuppliesKindsUNIT_KOLVO.DataBinding.FieldName := fnUnitKolvo;
|
||
end
|
||
else
|
||
if CheckIsTradUOM(TF_Main(GForm).FUOM) then
|
||
begin
|
||
GT_SuppliesKindsNAME.DataBinding.FieldName := fnNameTradUOM;
|
||
GT_SuppliesKindsIZM.DataBinding.FieldName := fnIzmTradUOM;
|
||
GT_SuppliesKindsUNIT_KOLVO.DataBinding.FieldName := fnUnitKolvoTradUOM;
|
||
end;
|
||
|
||
ActiveViewKind := GetViewKindByTabSheet(pcDirectories.ActivePage);
|
||
case ActiveViewKind of
|
||
vkComponentType:
|
||
begin
|
||
GT_ComponentTypes.DataController.UpdateItems(true);
|
||
GT_CompTypeProp.DataController.UpdateItems(true);
|
||
end;
|
||
vkInterface:
|
||
GT_Interfaces.DataController.UpdateItems(true);
|
||
vkNetType:
|
||
;
|
||
vkNorm:
|
||
;
|
||
vkObjectIcons:
|
||
;
|
||
vkProducers:
|
||
;
|
||
vkProperty:
|
||
GT_Properties.DataController.UpdateItems(true);
|
||
vkResource:
|
||
;
|
||
vkSuppliesKind:
|
||
GT_SuppliesKinds.DataController.UpdateItems(true);
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
// #################### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #########################
|
||
// #############################################################################
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Tree_InterfTypeExpanding(Sender: TObject;
|
||
Node: TTreeNode; var AllowExpansion: Boolean);
|
||
begin
|
||
AddNodes(Node);
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Tree_InterfTypeChange(Sender: TObject;
|
||
Node: TTreeNode);
|
||
var
|
||
IDDirType: Integer;
|
||
StrWhere: string;
|
||
begin
|
||
try
|
||
IDDirType := -1;
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
StrWhere := '';
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if (FViewKind = vkInterface) and Not IsShowUnvisibleInterface then
|
||
StrWhere := GetSQLForIsVisible(FDirTypeInfo.TableName);
|
||
|
||
if Node.IsFirstNode then
|
||
begin
|
||
Act_DelNode.Enabled := false;
|
||
Act_EditNode.Enabled := false;
|
||
end
|
||
else
|
||
begin
|
||
Act_DelNode.Enabled := true;
|
||
Act_EditNode.Enabled := true;
|
||
end;
|
||
IDDirType := PObjectData(Node.Data).ObjectID;
|
||
SelectDSetByDirectoryType(IDDirType, FDirTypeInfo, StrWhere);
|
||
end;
|
||
EnableEditDel;
|
||
except
|
||
on E: Exception do AddExceptionToLogExt(ClassName, MethodName(@TF_CaseForm.Tree_InterfTypeChange), E.Message);
|
||
end;
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_AddInterfaceLinkExecute(Sender: TObject);
|
||
//var ID_TargetNode: Integer;
|
||
//ExistingCount: Integer;
|
||
begin
|
||
{#//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ID_TargetNode := PObjectData(GTNode.Data).ObjectID;
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
SetSQLToQuery(scsQ, ' SELECT COUNT(*) FROM INTERFACE_TYPE_REL ' +
|
||
' WH<57>ERE (ID_Interface_type = '''+ IntToStr(ID_TargetNode) +''') and '+
|
||
' (ID_Interface = '''+ IntToStr(FDragIDPointer) +''') '
|
||
);
|
||
ExistingCount := scsQ.FN('Count').AsInteger;
|
||
if ExistingCount > 0 then
|
||
MessageModal(Self.Handle, '<27> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', MB_ICONINFORMATION or MB_OK)
|
||
else
|
||
begin
|
||
TF_Main(GForm).DM.AddToInterfTypeRel(ID_TargetNode, FDragIDPointer);
|
||
Tree_InterfType.Selected := GTNode;
|
||
RewriteProjManTable(tkInterfaceTypeRel);
|
||
end;
|
||
end;#}
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.GT_InterfacesMouseDown(Sender: TObject;
|
||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
begin
|
||
GMouseButtonBeforeDrag := Button;
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.GT_InterfacesDragOver(Sender, Source: TObject; X,
|
||
Y: Integer; State: TDragState; var Accept: Boolean);
|
||
begin
|
||
Accept := false;
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.GT_InterfAccordance_InterfComponIslineGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
if AText = '0' then
|
||
AText := cCaseForm_Msg25_1;
|
||
|
||
if AText = '1' then
|
||
AText := cCaseForm_Msg25_2;
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Tree_InterfTypeDragOver(Sender, Source: TObject; X,
|
||
Y: Integer; State: TDragState; var Accept: Boolean);
|
||
var TargetNode: TTreeNode;
|
||
SourceNode: TTreeNode;
|
||
begin
|
||
//try
|
||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
FDragIDPointer := -1;
|
||
//ScrollTreeOnDrag(Tree_InterfType, X, Y);
|
||
ScrollTreeOnDragByRect(Self, Tree_InterfType);
|
||
|
||
TargetNode := nil;
|
||
TargetNode := Tree_InterfType.GetNodeAt(X, Y);
|
||
SourceNode := Tree_InterfType.Selected;
|
||
|
||
ExpandCursorNodeByTimer(Self, Tree_InterfType, TargetNode, 700);
|
||
//if WaitBeforeDragExpand(900, TargetNode) then
|
||
//begin
|
||
// AddNodes(TargetNode);
|
||
// TargetNode.Expanded := true;
|
||
// Tree_InterfType.Repaint;
|
||
//end;
|
||
|
||
if Sender = Source then
|
||
begin
|
||
if TargetNode = nil then
|
||
Accept := false
|
||
else
|
||
begin
|
||
Accept := true;
|
||
if HaveNodeSub(SourceNode, TargetNode) then
|
||
Accept := false;
|
||
end;
|
||
end;
|
||
|
||
if Sender <> Source then
|
||
if Source is TcxDragControlObject then
|
||
begin
|
||
if TargetNode = nil then
|
||
Accept := false
|
||
else
|
||
begin
|
||
//if TargetNode.IsFirstNode then
|
||
// Accept := false
|
||
//else
|
||
//begin
|
||
Accept := true;
|
||
if FDirTypeInfo.DataSet is TpFIBDataSet then
|
||
FDragIDPointer := TpFIBDataSet(FDirTypeInfo.DataSet).FN(fnID).AsInteger;
|
||
//end;
|
||
end;
|
||
end;
|
||
|
||
if {(SourceNode.IsFirstNode) or} (TargetNode = nil) or (TargetNode = SourceNode) then
|
||
Accept := false;
|
||
{ except
|
||
end; }
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Tree_InterfTypeDragDrop(Sender, Source: TObject; X,
|
||
Y: Integer);
|
||
var TargetNode: TTreeNode;
|
||
SourceNode: TTreeNode;
|
||
CanSelectTargetNode: Boolean;
|
||
ScrPoint: TPoint;
|
||
begin
|
||
TargetNode := Tree_InterfType.GetNodeAt(X, Y);
|
||
SourceNode := Tree_InterfType.Selected;
|
||
if TargetNode = nil then
|
||
Exit;
|
||
|
||
//TcxDragControlObject(Source).Control
|
||
//TcxGridSite(TcxDragControlObject(Source).Control).Owner
|
||
//GT_Interfaces.d
|
||
CanSelectTargetNode := false;
|
||
if Source <> Sender then
|
||
if Source is TcxDragControlObject then
|
||
case GMouseButtonBeforeDrag of
|
||
mbLeft:
|
||
if FDragIDPointer > 0 then
|
||
begin
|
||
//Tree_InterfType.Selected := TargetNode;
|
||
if CheckChange then
|
||
MoveItemBetweenNodes(SourceNode, TargetNode, FDragIDPointer);
|
||
end;
|
||
mbRight:
|
||
begin
|
||
GSNode := SourceNode;
|
||
GTNode := TargetNode;
|
||
GetCursorPos(ScrPoint);
|
||
PopupMenu_DropToInterfType.Popup(ScrPoint.X, ScrPoint.Y);
|
||
end;
|
||
end;
|
||
|
||
if Source = Sender then
|
||
MoveNodes(SourceNode, TargetNode);
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.MoveItemBetweenNodes(ASrcNode, ATrgNode: TTreeNode; AID_Item: Integer);
|
||
var SrcDat: PObjectData;
|
||
TrgDat: PObjectData;
|
||
//strFilter: String;
|
||
//GroupName: String;
|
||
ItemName: String;
|
||
IDDirectoryTypeRel: Integer;
|
||
DirTypeWithItem: TDirectoryType;
|
||
SrcNodeWithItem: TTreeNode;
|
||
SavedRecNo: Integer;
|
||
//RecCount: Integer;
|
||
begin
|
||
if (ASrcNode = nil) or (ASrcNode.Data = nil) or (ATrgNode = nil) or (ATrgNode.Data = nil) then
|
||
Exit; //// EXIT /////
|
||
try
|
||
SrcDat := ASrcNode.Data;
|
||
TrgDat := ATrgNode.Data;
|
||
|
||
SrcNodeWithItem := nil;
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
DirTypeWithItem := GetDirectoryTypeByContentItem(AID_Item, FDirTypeInfo.MasterFieldName);
|
||
//*** <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
if DirTypeWithItem.ID = 0 then
|
||
InsertToDirecoryTypeRel(TrgDat.ObjectID, AID_Item, FDirTypeInfo.MasterFieldName)
|
||
else
|
||
begin
|
||
//*** <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if DirTypeWithItem.ID = TrgDat.ObjectID then
|
||
ShowMessageByType(Self.Handle, smtDisplay, cCaseForm_Msg26_1+' "'+DirTypeWithItem.Name+'" '+cCaseForm_Msg26_2+' '+FDirTypeInfo.TableCaption+' "'+ItemName+'"',
|
||
Application.Title, MB_ICONINFORMATION or MB_OK)
|
||
else //*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
begin
|
||
IDDirectoryTypeRel := GetIDDirTypeRelByIDPointer(AID_Item, FDirTypeInfo.MasterFieldName);
|
||
UpdateIntTableFieldByID(tnDirectoryTypeRel, fnIDDirectoryType, IDDirectoryTypeRel, TrgDat.ObjectID, qmPhisical);
|
||
SrcNodeWithItem := GetNodeFromTreeByID(DirTypeWithItem.ID);
|
||
end;
|
||
end;
|
||
|
||
SavedRecNo := FDirTypeInfo.DataSet.RecNo;
|
||
FDirTypeInfo.DataSet.DisableControls;
|
||
try
|
||
FDirTypeInfo.DataSet.Active := false;
|
||
FDirTypeInfo.DataSet.Active := True;
|
||
try
|
||
if SavedRecNo > -1 then // Tolik 28/12/2019 --
|
||
FDirTypeInfo.DataSet.RecNo := SavedRecNo;
|
||
except
|
||
end;
|
||
finally
|
||
FDirTypeInfo.DataSet.EnableControls;
|
||
EnableEditDel;
|
||
end;
|
||
|
||
//DefineTextNode(ASrcNode);
|
||
DefineTextNode(ATrgNode);
|
||
if Assigned(SrcNodeWithItem) then
|
||
DefineTextNode(SrcNodeWithItem);
|
||
end;
|
||
|
||
(*
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
GroupName := GetStringFromTableByID(tnDirectoryType, fnName, TrgDat.ObjectID, qmPhisical);
|
||
ItemName := GetStringFromTableByID(FDirTypeInfo.TableName, fnName, AID_Item, qmPhisical);
|
||
if GetIDDirTypeRelByParams(TrgDat.ObjectID, AID_Item, FDirTypeInfo.MasterFieldName) > 0 then
|
||
begin
|
||
FDirTypeInfo.DataSet.Locate(fnID, AID_Item, []);
|
||
ShowMessageByType(Self.Handle, smtDisplay, FDirTypeInfo.TableCaption+' "'+ItemName+'" <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "'+GroupName+'".',
|
||
Application.Title, MB_ICONINFORMATION or MB_OK);
|
||
//ShowMessageByType(Self.Handle, smtDisplay, '<27> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "'+GroupName+'" <20><><EFBFBD> <20><><EFBFBD><EFBFBD> '+FDirTypeInfo.TableCaption+' "'+ItemName+'"',
|
||
// Application.Title, MB_ICONINFORMATION or MB_OK)
|
||
end
|
||
else
|
||
begin
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...) <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
IDDirectoryTypeRel := GetIDDirTypeRelByParams(SrcDat.ObjectID, AID_Item, FDirTypeInfo.MasterFieldName);
|
||
|
||
if IDDirectoryTypeRel > 0 then
|
||
begin
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
UpdateIntTableFieldByID(tnDirectoryTypeRel, fnIDDirectoryType, IDDirectoryTypeRel, TrgDat.ObjectID, qmPhisical);
|
||
end;
|
||
|
||
if IDDirectoryTypeRel = 0 then
|
||
InsertToDirecoryTypeRel(TrgDat.ObjectID, AID_Item, FDirTypeInfo.MasterFieldName);
|
||
|
||
|
||
//SelectDSetByDirectoryType(TrgDat.ObjectID, FDirTypeInfo);
|
||
|
||
{FDirTypeInfo.DataSet.DisableControls;
|
||
try
|
||
FDirTypeInfo.DataSet.Active := false;
|
||
FDirTypeInfo.DataSet.Active := True;
|
||
FDirTypeInfo.DataSet.Locate(fnID, AID_Item, []);
|
||
finally
|
||
FDirTypeInfo.DataSet.EnableControls;
|
||
end;}
|
||
|
||
DefineTextNode(ASrcNode);
|
||
DefineTextNode(ATrgNode);
|
||
end;
|
||
end; *)
|
||
except
|
||
on E: Exception do AddExceptionToLog('TF_CaseForm.MoveInterface: '+E.Message);
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_MakeNodeExecute(Sender: TObject);
|
||
var NewNode: TTreeNode;
|
||
NewNodeName: String;
|
||
|
||
FieldNames: TStringList;
|
||
|
||
CurrNode: TTreeNode;
|
||
NewNodeData: PObjectData;
|
||
NewID: Integer;
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
|
||
CurrNode := Tree_InterfType.Selected;
|
||
NewNodeName := InputForm(GForm, cCaseForm_Msg27_1, cCaseForm_Msg27_2,'');
|
||
if NewNodeName <> '' then
|
||
begin
|
||
{FieldNames := TStringList.Create;
|
||
try
|
||
FieldNames.Add(fnName);
|
||
FieldNames.Add(fnParentID);
|
||
FieldNames.Add(fnDirItemType);
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
SQLBuilder(scsQOperat, qtInsert, tnDirectoryType, '', FieldNames, false);
|
||
scsQOperat.SetParamAsString(fnName, NewNodeName);
|
||
scsQOperat.SetParamAsInteger(fnParentID, PObjectData(CurrNode.Data).ObjectID);
|
||
scsQOperat.SetParamAsInteger(fnDirItemType, FDirTypeInfo.ItemType);
|
||
scsQOperat.ExecQuery;
|
||
NewID := GenIDFromTable(Query_Select, gnDirectoryTypeID, 0);
|
||
end;
|
||
finally
|
||
FieldNames.Free;
|
||
end; }
|
||
|
||
NewID := TF_Main(GForm).DM.InsertDirTypeFolder(NewNodeName, FDirTypeInfo.ItemType, PObjectData(CurrNode.Data).ObjectID);
|
||
|
||
NewNode := Tree_InterfType.Items.AddChild(CurrNode, NewNodeName);
|
||
NewNode.ImageIndex := 0;
|
||
NewNode.SelectedIndex := NewNode.ImageIndex;
|
||
NewData(NewNodeData, ttGuide);
|
||
|
||
NewNodeData.ObjectID := NewID;
|
||
NewNode.Data := NewNodeData;
|
||
DefineTextNode(NewNode.Parent);
|
||
//SetSortID(NewNode);
|
||
Tree_InterfType.Selected := NewNode;
|
||
end;
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_EditNodeExecute(Sender: TObject);
|
||
var
|
||
NewName: String;
|
||
CurrName: String;
|
||
begin
|
||
if Tree_InterfType.Selected.IsFirstNode then
|
||
Exit;
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
|
||
CurrName := Tree_InterfType.Selected.Text;
|
||
CutColFromStr(CurrName);
|
||
NewName := InputForm(GForm, cCaseForm_Msg28_1, cCaseForm_Msg28_2, CurrName);
|
||
if NewName <> '' then
|
||
RenameNode(Tree_InterfType.Selected, NewName);
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_DelNodeExecute(Sender: TObject);
|
||
var DelName: String;
|
||
IDDel: Integer;
|
||
SavedOnChange: TTVChangedEvent;
|
||
//InterfTypeRel: PDirectoryTypeRel;
|
||
//ListItem: TListItem;
|
||
//HaveBusyNode: Boolean;
|
||
{
|
||
procedure CheckNodeForBusyNode(AIDParent: Integer);
|
||
var SubDirsID: TList;
|
||
SubDirID: ^Integer;
|
||
i: Integer;
|
||
begin
|
||
with TF_Main(GForm) do
|
||
begin
|
||
SetSQLToQuery(DM.scsQSelect, 'SELECT ID FROM '+tnDirectoryType+' '+
|
||
'WHERE PARENT_ID = '''+ IntToStr(AIDParent) +''' ');
|
||
SubDirsID := Tlist.Create;
|
||
DM.IntFieldToList(SubDirsID, DM.scsQSelect, fnID);
|
||
for i := 0 to SubDirsID.Count - 1 do
|
||
begin
|
||
SubDirID := SubDirsID.Items[i];
|
||
CheckNodeForBusyNode(SubDirID^);
|
||
end;
|
||
FreeList(SubDirsID);
|
||
|
||
//SetSQLToQuery(DM.scsQSelect, ' SELECT ID_INTERFACE_TYPE, ID_INTERFACE, NAME FROM INTERFACE_TYPE_REL, INTERFACE '+
|
||
// ' WHERE (ID_INTERFACE_TYPE = '''+ IntToStr(AIDParent) +''') AND '+
|
||
// ' (ID_Interface in (Select ID_Interface from Interface_Relation) ) and'+
|
||
// ' (INTERFACE.ID = ID_INTERFACE) ');
|
||
|
||
SetSQLToQuery(DM.scsQSelect, 'SELECT '+fnIDDirectoryType+', ID_INTERFACE, NAME FROM INTERFACE_TYPE_REL, INTERFACE '+
|
||
' WHERE ('+fnIDDirectoryType+' = '''+ IntToStr(AIDParent) +''') AND '+
|
||
' (ID_Interface in (Select ID_Interface from Interface_Relation) ) and'+
|
||
' (INTERFACE.ID = ID_INTERFACE) ');
|
||
while Not DM.scsQSelect.Eof do
|
||
begin
|
||
ListItem := F_InputBox.ListView_Compons.Items.Add;
|
||
ListItem.Caption := DM.scsQSelect.GetFNAsString('Name');
|
||
ListItem.ImageIndex := -1;
|
||
New(InterfTypeRel);
|
||
InterfTypeRel.ID_Interface := DM.scsQSelect.GetFNAsInteger('ID_Interface');
|
||
InterfTypeRel.ID_InterfaceType := DM.scsQSelect.GetFNAsInteger('ID_Interface_Type');
|
||
ListItem.Data := InterfTypeRel;
|
||
HaveBusyNode := true;
|
||
DM.scsQSelect.Next;
|
||
end;
|
||
end;
|
||
end;}
|
||
|
||
procedure DelFolder(AID_Dir: Integer);
|
||
var SubDirsID: TList;
|
||
SubDirID: ^Integer;
|
||
i: Integer;
|
||
begin
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
SetSQLToQuery(scsQ, 'SELECT ID FROM '+tnDirectoryType+' '+
|
||
'WHERE PARENT_ID = '''+ IntToStr(AID_Dir) +''' ');
|
||
SubDirsID := Tlist.Create;
|
||
IntFieldToList(SubDirsID, scsQ, fnID);
|
||
for i := 0 to SubDirsID.Count - 1 do
|
||
begin
|
||
SubDirID := SubDirsID.Items[i];
|
||
DelFolder(SubDirID^);
|
||
end;
|
||
FreeList(SubDirsID);
|
||
|
||
DeleteRecordFromTableByID(tnDirectoryType, AID_Dir, qmPhisical);
|
||
//SetSQLToQuery(scsQOperat, ' DELETE FROM INTERFACE_TYPE ' +
|
||
// ' WHERE ID = '''+ IntToStr(AID_Dir) +''' ');
|
||
end;
|
||
end;
|
||
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
|
||
DelName := Tree_InterfType.Selected.Text;
|
||
CutColFromStr(DelName);
|
||
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
IDDel := PObjectData(Tree_InterfType.Selected.Data).ObjectID;
|
||
{HaveBusyNode := false;
|
||
CheckNodeForBusyNode(IDDel);
|
||
if HaveBusyNode then
|
||
with TF_Main(GForm).F_InputBox do
|
||
begin
|
||
GInputFormMode := imListForTree;
|
||
GListKind := lkBusyInterfaces;
|
||
GTreeKind := trkGuide;
|
||
|
||
Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||
Label_Messg.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> "'+ DelName +'" <20>.<2E>. <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ';
|
||
Show;
|
||
end
|
||
else }
|
||
|
||
if FDirTypeInfo.DataSet.RecordCount > 0 then
|
||
MessageModal(cCaseForm_Msg37, ApplicationName, MB_ICONINFORMATION or MB_OK)
|
||
else
|
||
//if MessageModal(cQuastDelDir+' "'+ DelName +'"('+cContents+' '+FDirTypeInfo.TableCaptionPlural+' '+cCaseForm_Msg2_2+')?',
|
||
// cCaseForm_Msg3, MB_ICONQUESTION or MB_YESNO ) = IDYES Then
|
||
if MessageModal(cCaseForm_Msg38+' "'+DelName+'"?', cCaseForm_Msg3, MB_ICONQUESTION or MB_YESNO ) = IDYES Then
|
||
begin
|
||
Tree_InterfType.Items.BeginUpdate;
|
||
try
|
||
SavedOnChange := Tree_InterfType.OnChange;
|
||
Tree_InterfType.OnChange := nil;
|
||
try
|
||
DelFolder(IDDel);
|
||
DeleteNode(Tree_InterfType.Selected);
|
||
finally
|
||
Tree_InterfType.OnChange := SavedOnChange;
|
||
if Assigned(Tree_InterfType.OnChange) then
|
||
Tree_InterfType.OnChange(Tree_InterfType, Tree_InterfType.Selected);
|
||
end;
|
||
finally
|
||
Tree_InterfType.Items.EndUpdate;
|
||
end;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_PanelFindExecute(Sender: TObject);
|
||
begin
|
||
Panel_Find.Visible := Act_PanelFind.Checked;
|
||
Splitter_GuideFind.Visible := Panel_Find.Visible;
|
||
if Panel_Find.Visible = true then
|
||
ButtonEdit_Find.SetFocus
|
||
else
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
ClearListView(ListView_Find);
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.ButtonEdit_FindPropertiesButtonClick(Sender: TObject;
|
||
AButtonIndex: Integer);
|
||
var IDList: TList;
|
||
IDAndName: PIDAndName;
|
||
|
||
i: Integer;
|
||
LCount: Integer;
|
||
ListItem: TListItem;
|
||
DirectoryTypeRel: PDirectoryTypeRel;
|
||
|
||
FindName: String;
|
||
CurrName: String;
|
||
begin
|
||
ListView_Find.OnChange := nil;
|
||
|
||
ClearListView(ListView_Find);
|
||
ButtonEdit_Find.Enabled := false;
|
||
Gauge.Visible := true;
|
||
Gauge.Progress := 0;
|
||
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
FindName := AnsiLowerCase(ButtonEdit_Find.Text);
|
||
|
||
SetSQLToQuery(scsQ, ' SELECT ID, NAME FROM '+FDirTypeInfo.TableName+' ');
|
||
|
||
IDList := TList.Create;
|
||
while Not scsQ.Eof do
|
||
begin
|
||
CurrName := AnsiLowerCase(scsQ.GetFNAsString('Name'));
|
||
if Pos(FindName, CurrName) <> 0 then
|
||
begin
|
||
GetMem(IDAndName, SizeOf(TIDAndName));
|
||
IDAndName.ID := scsQ.GetFNAsInteger('ID');
|
||
IDAndName.NAME := scsQ.GetFNAsString('Name');
|
||
IDList.Add(IDAndName);
|
||
end;
|
||
scsQ.Next;
|
||
end;
|
||
|
||
LCount := IDList.Count;
|
||
for i := 0 to LCount - 1 do
|
||
begin
|
||
IDAndName := IDList.Items[i];
|
||
SetSQLToQuery(scsQ, ' SELECT * FROM '+tnDirectoryTypeRel+' '+
|
||
' WHERE '+FDirTypeInfo.MasterFieldName+' = '''+ IntToStr(IDAndName.ID) +''' '
|
||
);
|
||
while Not scsQ.Eof do
|
||
begin
|
||
ListItem := ListView_Find.Items.Add;
|
||
ListItem.Caption := IDAndName.NAME;
|
||
GetMem(DirectoryTypeRel, SizeOf(TDirectoryTypeRel)); //New(InterfTypeRel);
|
||
DirectoryTypeRel.ID_Pointer := scsQ.GetFNAsInteger(FDirTypeInfo.MasterFieldName);
|
||
DirectoryTypeRel.ID_DirecoryType := scsQ.GetFNAsInteger(fnIDDirectoryType);
|
||
ListItem.Data := DirectoryTypeRel;
|
||
scsQ.Next;
|
||
end;
|
||
Gauge.Progress := Round(i / LCount * 100);
|
||
end;
|
||
FreeList(IDList);
|
||
end;
|
||
|
||
Gauge.Visible := false;
|
||
ButtonEdit_Find.Enabled := true;
|
||
ListView_Find.OnChange := ListView_FindChange;
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD> Enter ####
|
||
procedure TF_CaseForm.ButtonEdit_FindKeyPress(Sender: TObject;
|
||
var Key: Char);
|
||
begin
|
||
Button_Ok.Default := false;
|
||
if Key = #13 then
|
||
begin
|
||
ButtonEdit_FindPropertiesButtonClick(Self, 0);
|
||
Key := #0;
|
||
end;
|
||
Button_Ok.Default := true;
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.ListView_FindChange(Sender: TObject; Item: TListItem;
|
||
Change: TItemChange);
|
||
var Node: TTreeNode;
|
||
DirectoryTypeRel: PDirectoryTypeRel;
|
||
begin
|
||
if Item <> nil then
|
||
begin
|
||
DirectoryTypeRel := Item.Data;
|
||
Node := nil;
|
||
Node := FindNodeByID(DirectoryTypeRel.ID_DirecoryType);
|
||
if Node <> nil then
|
||
begin
|
||
Tree_InterfType.Selected := Node;
|
||
FDirTypeInfo.DataSet.Locate(fnID, DirectoryTypeRel.ID_Pointer, []);
|
||
//SearchRecord(TF_Main(GForm).DM.DataSet_INTERFACE, 'ID', InterfTypeRel.ID_Interface);
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_ExpandTreeExecute(Sender: TObject);
|
||
begin
|
||
//ExpandTree(GForm, ttGuide);
|
||
ExpandNode(Tree_InterfType.Selected, true);
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_CollapseTreeExecute(Sender: TObject);
|
||
begin
|
||
//CollapseTree(GForm, ttGuide);
|
||
CollapseNode(Tree_InterfType.Selected, true);
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_MoveNodeDownExecute(Sender: TObject);
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
MoveTreeNode(mtDown);
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_MoveNodeUpExecute(Sender: TObject);
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
MoveTreeNode(mtUp);
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Tree_InterfTypeEnter(Sender: TObject);
|
||
begin
|
||
{Act_MakeNode.ShortCut := ShortCut(VK_INSERT, []);
|
||
Act_EditNode.ShortCut := ShortCut(VK_F2, []);
|
||
Act_DelNode.ShortCut := ShortCut(VK_DELETE, []);
|
||
|
||
Act_Make.ShortCut := ShortCut(VK_NONAME, []);
|
||
Act_Edit.ShortCut := ShortCut(VK_NONAME, []);
|
||
Act_Del.ShortCut := ShortCut(VK_NONAME, []);}
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Panel_DataEnter(Sender: TObject);
|
||
begin
|
||
{Act_Make.ShortCut := ShortCut(VK_INSERT, []);
|
||
Act_Edit.ShortCut := ShortCut(VK_F2, []);
|
||
Act_Del.ShortCut := ShortCut(VK_DELETE, []);
|
||
|
||
Act_MakeNode.ShortCut := ShortCut(VK_NONAME, []);
|
||
Act_EditNode.ShortCut := ShortCut(VK_NONAME, []);
|
||
Act_DelNode.ShortCut := ShortCut(VK_NONAME, []);}
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> ButtonEdit_Find #####
|
||
procedure TF_CaseForm.ButtonEdit_FindEnter(Sender: TObject);
|
||
begin
|
||
{Act_MakeNode.ShortCut := ShortCut(VK_NONAME, []);
|
||
Act_EditNode.ShortCut := ShortCut(VK_NONAME, []);
|
||
Act_DelNode.ShortCut := ShortCut(VK_NONAME, []);
|
||
|
||
Act_Make.ShortCut := ShortCut(VK_NONAME, []);
|
||
Act_Edit.ShortCut := ShortCut(VK_NONAME, []);
|
||
Act_Del.ShortCut := ShortCut(VK_NONAME, []); }
|
||
end;
|
||
|
||
|
||
function TF_CaseForm.CheckNoUseCompData(ASql, ADelName: String; AMakeEdit: TMakeEdit;
|
||
ATableKind: TTableKind; AMessType: TShowMessageType; ANeedAnsw: boolean = True): Boolean;
|
||
const gdHe = 0;
|
||
gdIt = 1;
|
||
|
||
var prToDel: String;
|
||
prDeling: String;
|
||
prActToB: String;
|
||
prActIng: String;
|
||
prHeIt: String;
|
||
WhoDel: Integer;
|
||
CheckForm: Boolean;
|
||
|
||
function CheckForForm(AForm: TForm): Boolean;
|
||
begin
|
||
Result := false;
|
||
SetSQLToQuery(TF_Main(AForm).DM.scsQ, ASql);
|
||
if TF_Main(AForm).DM.scsQ.RecordCount = 0 then
|
||
Result := true
|
||
else
|
||
if AMessType = smtDisplay then
|
||
ShowList(AForm, trkCatalog, FFormMode, cCaseForm_Msg4_1+' '+ AnsiLowerCase(prActToB) +' '+ prToDel +' "' + ADelName +'"' + #13 +
|
||
cCaseForm_Msg4_2+' '+ prHeIt +' '+cCaseForm_Msg4_3+':', false);
|
||
end;
|
||
|
||
begin
|
||
Result := false;
|
||
try
|
||
WhoDel := gdIt;
|
||
|
||
prActToB := '';
|
||
prActIng := '';
|
||
|
||
case AMakeEdit of
|
||
meEdit:
|
||
begin
|
||
prActToB := cCaseForm_Msg4_4_1;
|
||
prActIng := cCaseForm_Msg4_4_2;
|
||
end;
|
||
meDel:
|
||
begin
|
||
prActToB := cCaseForm_Msg4_4_3;
|
||
prActIng := cCaseForm_Msg4_4_4;
|
||
end;
|
||
end;
|
||
|
||
case ATableKind of
|
||
tkProperty:
|
||
begin
|
||
prToDel := cCaseForm_Msg4_4_5;
|
||
prDeling := cCaseForm_Msg4_4_6;
|
||
WhoDel := gdIt;
|
||
end;
|
||
|
||
tkInterface:
|
||
begin
|
||
prToDel := cCaseForm_Msg4_4_7;
|
||
prDeling := cCaseForm_Msg4_4_8;
|
||
WhoDel := gdHe;
|
||
end;
|
||
|
||
tkNetType:
|
||
begin
|
||
prToDel := cCaseForm_Msg4_4_9;
|
||
prDeling := cCaseForm_Msg4_4_10;
|
||
WhoDel := gdHe;
|
||
end;
|
||
|
||
tkComponentTypes:
|
||
begin
|
||
prToDel := cCaseForm_Msg4_4_11;
|
||
prDeling := cCaseForm_Msg4_4_12;
|
||
WhoDel := gdHe;
|
||
end;
|
||
|
||
tkProducers:
|
||
begin
|
||
prToDel := cCaseForm_Msg4_4_13;
|
||
prDeling := cCaseForm_Msg4_4_14;
|
||
WhoDel := gdHe;
|
||
end;
|
||
|
||
tkCompStateType:
|
||
begin
|
||
prToDel := cCaseForm_Msg4_4_15;
|
||
prDeling := cCaseForm_Msg4_4_16;
|
||
WhoDel := gdHe;
|
||
end;
|
||
tkObjectIcon:
|
||
begin
|
||
prToDel := cCaseForm_Msg4_4_17;
|
||
prDeling := cCaseForm_Msg4_4_18;
|
||
WhoDel := gdIt;
|
||
end;
|
||
tkSuppliesKind:
|
||
begin
|
||
prToDel := cCaseForm_Msg4_4_19;
|
||
prDeling := cCaseForm_Msg4_4_20;
|
||
WhoDel := gdHe;
|
||
end;
|
||
end;
|
||
|
||
case WhoDel of
|
||
gdHe: prHeIt := cCaseForm_Msg4_5_1;
|
||
gdIt: prHeIt := cCaseForm_Msg4_5_2;
|
||
end;
|
||
|
||
CheckForm := CheckForForm(F_NormBase);
|
||
//if CheckForm then
|
||
// CheckForm := CheckForForm(F_ProjMan);
|
||
|
||
if CheckForm then
|
||
begin
|
||
if AMakeEdit = meDel then
|
||
begin
|
||
if ANeedAnsw then
|
||
begin
|
||
if MessageModal(prActToB +' '+ prToDel +' "' + ADelName +'" ?',
|
||
prActIng +' '+ prDeling,
|
||
MB_YESNO or MB_ICONQUESTION) = IDYES then
|
||
Result := true;
|
||
end
|
||
else
|
||
Result := true;
|
||
end
|
||
else
|
||
Result := true;
|
||
end;
|
||
except
|
||
on E: Exception do AddExceptionToLog('TF_CaseForm.CheckNoUseCompData: '+E.Message);
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
// ###################### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #############################
|
||
// #############################################################################
|
||
//
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.AddEditResource(AMakeEdit: TMakeEdit);
|
||
var ResourcesForm: TF_CaseForm;
|
||
ResourcesFormMode: TFormMode;
|
||
//ModRes: TModalResult;
|
||
qSQL: String;
|
||
ID_ResourceRel: Integer;
|
||
ID_Resource: Integer;
|
||
begin
|
||
ID_ResourceRel := -1;
|
||
ID_Resource := -1;
|
||
|
||
ResourcesFormMode := fmNone;
|
||
ResourcesForm := TF_CaseForm.Create(Owner, GForm, nil, itNone);
|
||
//ResourcesForm.FViewKind := vkResource;
|
||
case AMakeEdit of
|
||
meMake : ResourcesFormMode := fmMake;
|
||
meEdit:
|
||
begin
|
||
ResourcesFormMode := fmEdit;
|
||
ID_ResourceRel := F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.FN('ID').AsInteger;
|
||
ID_Resource := F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.FN('ID_NB_Resource').AsInteger;
|
||
ResourcesForm.SpinEdit_Kolvo.Value := RoundX(F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.FN('KOLVO').AsFloat, 10);
|
||
//ResourcesForm.SpinEdit_Kolvo.Value := F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.FN('KOLVO').AsFloat;
|
||
|
||
ResourcesForm.GIDToLocate := ID_Resource;
|
||
//DataSetLocateByID(F_NormBase.DM.DataSet_NB_RESOURCES, ID_Resource);
|
||
//SearchRecord(F_NormBase.DM.DataSet_NB_RESOURCES, fnID, ID_Resource);
|
||
end;
|
||
end;
|
||
ResourcesForm.GValue := IntToStr(ID_Resource);
|
||
//ModRes := ResourcesForm.ShowModal;
|
||
|
||
//if ModRes = mrOK then
|
||
if ResourcesForm.Execute(vkResource, ResourcesFormMode) then
|
||
with F_NormBase.DM.scsQOperat do
|
||
begin
|
||
case AMakeEdit of
|
||
meMake: qSQL := ' insert into nb_norm_resource_rel (id_nb_norm, id_nb_resource, kolvo) '+
|
||
' values (:id_nb_norm, :id_nb_resource, :kolvo) ';
|
||
meEdit: qSQL := ' update nb_norm_resource_rel set id_nb_norm = :id_nb_norm, id_nb_resource = :id_nb_resource, kolvo= :kolvo '+
|
||
' where id = '''+ IntToStr(ID_ResourceRel)+''' ';
|
||
end;
|
||
|
||
Close;
|
||
SQL.Clear;
|
||
SQL.Add(qSQL);
|
||
SetParamAsInteger('id_nb_norm', F_NormBase.DM.DataSet_NB_NORMS.FN('id').AsInteger);
|
||
SetParamAsInteger('id_nb_resource', F_NormBase.DM.DataSet_NB_RESOURCES.FN('id').AsInteger);
|
||
//ParamByName('ison').AsInteger := 1;
|
||
SetParamAsFloat('kolvo', ResourcesForm.SpinEdit_Kolvo.Value);
|
||
ExecQuery;
|
||
Close;
|
||
|
||
case AMakeEdit of
|
||
meMake:
|
||
begin
|
||
F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.Active := false;
|
||
F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.Active := true;
|
||
F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.Last;
|
||
end;
|
||
{meEdit:
|
||
F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.Refresh;}
|
||
end;
|
||
end;
|
||
F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.Refresh;
|
||
FreeAndNil(ResourcesForm);
|
||
end;
|
||
|
||
|
||
procedure TF_CaseForm.AddEditCompTypeProperty(AMakeEdit: TMakeEdit);
|
||
var
|
||
CurrCompTypeID: Integer;
|
||
PropFromTable: TProperty;
|
||
DataSet: TDataSet;
|
||
DataSource: TDataSource;
|
||
begin
|
||
ZeroMemory(@PropFromTable, SizeOf(TProperty));
|
||
try
|
||
with TF_Main(GForm) do
|
||
begin
|
||
CurrCompTypeID := -1;
|
||
DataSet := nil;
|
||
DataSource := nil;
|
||
if mtCompTypePropRelation <> nil then
|
||
begin
|
||
CurrCompTypeID := mtComponentType.FieldByName(fnID).AsInteger;
|
||
DataSet := mtCompTypePropRelation;
|
||
DataSource := dsCompTypePropRelation;
|
||
end
|
||
else
|
||
begin
|
||
CurrCompTypeID := DM.DataSet_COMPONENT_TYPES.FN(fnID).AsInteger;
|
||
DataSet := DM.DataSet_COMP_TYPE_PROP_RELATION;
|
||
DataSource := DM.DataSource_comp_type_prop_relation;
|
||
|
||
if FShowedTables.IndexOf(Ord(vkProperty)) <> -1 then
|
||
GSCSBase.NBSpravochnik.LoadProperties;
|
||
end;
|
||
|
||
if AMakeEdit = meEdit then
|
||
PropFromTable := DM.GetPropertyFromTable(DataSource);
|
||
if CreateFMakeEditPropRel.Execute(AMakeEdit, tkCompTypePropRelation, @PropFromTable, DataSet, itNone, MemTableProperties, nil) then
|
||
begin
|
||
PropFromTable.IDMaster := CurrCompTypeID;
|
||
|
||
case AMakeEdit of
|
||
meMake:
|
||
DataSet.Append;
|
||
meEdit:
|
||
DataSet.Edit;
|
||
end;
|
||
if DataSet.State <> dsBrowse then
|
||
begin
|
||
DM.SetPropertyToTable(DataSource, PropFromTable);
|
||
|
||
if mtCompTypePropRelation <> nil then
|
||
begin
|
||
DataSet.FieldByName(fnGuid).AsString := CreateGUID;
|
||
DataSet.FieldByName(fnIDComponentType).AsInteger := CurrCompTypeID;
|
||
DataSet.FieldByName(fnGuidComponentType).AsString := mtComponentType.FieldByName(fnGUID).AsString;
|
||
if AMakeEdit = meEdit then
|
||
DataSet.FieldByName(fnIsModified).AsBoolean := true;
|
||
end
|
||
else
|
||
TpFIBDataSet(DataSet).FN(fnIDComponentType).AsInteger := CurrCompTypeID;
|
||
DataSet.Post;
|
||
end;
|
||
end;
|
||
end;
|
||
except
|
||
on E: Exception do AddExceptionToLog('TF_CaseForm.AddEditCompTypeProperty: '+E.Message);
|
||
end;
|
||
|
||
|
||
{PropFormMode := fmNone;
|
||
PropertyForm := TF_CaseForm.Create(GForm, GForm);
|
||
try
|
||
try
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
case AMakeEdit of
|
||
meMake:
|
||
PropFormMode := fmMake;
|
||
meEdit:
|
||
begin
|
||
IDProperty := DataSet_COMP_TYPE_PROP_RELATION.FN('ID_PROPERTY').AsInteger;
|
||
PName := DataSet_COMP_TYPE_PROP_RELATION.FN('NAME').AsString;
|
||
if DataSet_COMP_TYPE_PROP_RELATION.FN('ISSTANDART').AsInteger = biTrue then
|
||
begin
|
||
MessageModal('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "'+ PName +'" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.',
|
||
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', MB_ICONINFORMATION or MB_OK);
|
||
Exit; ////// EXIT //////
|
||
end;
|
||
|
||
PropFormMode := fmEdit;
|
||
PropertyForm.GIDToLocate := IDProperty;
|
||
PropertyForm.GValue := DataSet_COMP_TYPE_PROP_RELATION.FN('PVALUE').AsString;
|
||
PropertyForm.GTakeIntoConnect := DataSet_COMP_TYPE_PROP_RELATION.FN('TAKE_INTO_CONNECT').AsInteger;
|
||
PropertyForm.GTakeIntoJoin := DataSet_COMP_TYPE_PROP_RELATION.FN('TAKE_INTO_JOIN').AsInteger;
|
||
end;
|
||
end;
|
||
|
||
//PropertyForm.GViewKind := vkProperty;
|
||
if DataSet_COMPONENT_TYPES.FN(fnIsLine).AsInteger = biTrue then
|
||
PropertyForm.GItemType := itComponLine;
|
||
if DataSet_COMPONENT_TYPES.FN(fnIsLine).AsInteger = biFalse then
|
||
PropertyForm.GItemType := itComponCon;
|
||
|
||
//PropertyForm.GItemType := itComponent;
|
||
//ModRes := PropertyForm.ShowModal;
|
||
//if ModRes = mrOk then
|
||
if PropertyForm.Execute(vkProperty, PropFormMode) then
|
||
begin
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
SetSQLToQuery(scsQSelect, 'select count(id) from '+tnCompTypePropRelation+ ' '+
|
||
'where ('+fnIDComponentType+' = '''+intToStr(DataSet_COMPONENT_TYPES.FN('ID').AsInteger)+''') and '+
|
||
'('+fnIDProperty+' = '''+intToStr(DataSet_PROPERTIES.FN('ID').AsInteger)+''' )');
|
||
if (AMakeEdit = meMake) and (scsQSelect.GetFNAsInteger(fnCount) > 0) then
|
||
ShowMessageByType(Self.Handle, smtDisplay, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '+DataSet_PROPERTIES.FN(fnName).AsString+' <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.', Application.Title, MB_ICONINFORMATION or MB_OK)
|
||
else
|
||
begin
|
||
DataSet_COMP_TYPE_PROP_RELATION.DisableControls;
|
||
GT_CompTypeProp.DataController.DataSource := nil;
|
||
try
|
||
if AMakeEdit = meMake then
|
||
begin
|
||
DataSet_COMP_TYPE_PROP_RELATION.Last;
|
||
DataSet_COMP_TYPE_PROP_RELATION.Append;
|
||
end
|
||
else
|
||
DataSet_COMP_TYPE_PROP_RELATION.Edit;
|
||
DataSet_COMP_TYPE_PROP_RELATION.FN('ID_COMPONENT_TYPE').AsInteger := DataSet_COMPONENT_TYPES.FN('ID').AsInteger;
|
||
DataSet_COMP_TYPE_PROP_RELATION.FN('ID_PROPERTY').AsInteger := DataSet_PROPERTIES.FN('ID').AsInteger;
|
||
DataSet_COMP_TYPE_PROP_RELATION.FN('PVALUE').AsString := PropertyForm.GValue;
|
||
DataSet_COMP_TYPE_PROP_RELATION.FN('TAKE_INTO_CONNECT').AsInteger := PropertyForm.GTakeIntoConnect;
|
||
DataSet_COMP_TYPE_PROP_RELATION.FN('TAKE_INTO_JOIN').AsInteger := PropertyForm.GTakeIntoJoin;
|
||
DataSet_COMP_TYPE_PROP_RELATION.FN('ISSTANDART').AsInteger := biFalse;
|
||
DataSet_COMP_TYPE_PROP_RELATION.Post;
|
||
//DataSet_COMP_TYPE_PROP_RELATION.Refresh;
|
||
//DataSet_COMP_TYPE_PROP_RELATION.Refresh
|
||
//DataSet_COMP_TYPE_PROP_RELATION.Active := false;
|
||
//DataSet_COMP_TYPE_PROP_RELATION.Active := true;
|
||
finally
|
||
DataSet_COMP_TYPE_PROP_RELATION.EnableControls;
|
||
DataSet_COMP_TYPE_PROP_RELATION.Refresh;
|
||
DataSet_COMPONENT_TYPES.Refresh;
|
||
GT_CompTypeProp.DataController.DataSource := DataSource_comp_type_prop_relation;
|
||
end;
|
||
end;
|
||
end;
|
||
end;
|
||
except
|
||
on E: Exception do AddExceptionToLog('TF_CaseForm.AddEdit<69>ompTypeProperty: '+E.Message);
|
||
end;
|
||
finally
|
||
FreeAndNil(PropertyForm);
|
||
end; }
|
||
end;
|
||
|
||
{
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.ParseNoWithGroupItems;
|
||
var
|
||
IDList: TList;
|
||
TopDat: PObjectData;
|
||
i: Integer;
|
||
ItemID: Integer;
|
||
begin
|
||
//FDirTypeInfo.
|
||
IDList := TList.Create;
|
||
try
|
||
with F_NormBase.DM do
|
||
begin
|
||
SetSQLToQuery(scsQSelect, 'select id from '+FDirTypeInfo.TableName+' '+
|
||
'where Not(id in (select '+FDirTypeInfo.MasterFieldName+' from '+tnDirectoryTypeRel+'))');
|
||
IntFieldToList(IDList, scsQSelect, fnID);
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
TopDat := Tree_InterfType.Items[0].Data;
|
||
for i := 0 to IDList.Count - 1 do
|
||
begin
|
||
ItemID := Integer(IDList[i]^);
|
||
InsertToDirecoryTypeRel(TopDat.ObjectID, ItemID, FDirTypeInfo.MasterFieldName);
|
||
end;
|
||
end;
|
||
finally
|
||
FreeList(IDList);
|
||
end;
|
||
end; }
|
||
|
||
procedure TF_CaseForm.AddEditInterfData(AFormMode: TFormMode);
|
||
var
|
||
InterfID: Integer;
|
||
InterfGUID: String;
|
||
begin
|
||
InterfID := -1;
|
||
InterfGUID := '';
|
||
with TF_Main(GForm) do
|
||
begin
|
||
if mtInterface <> nil then
|
||
begin
|
||
InterfID := mtInterface.FieldByName(fnID).AsInteger;
|
||
InterfGUID := mtInterface.FieldByName(fnGUID).AsString;
|
||
end
|
||
else
|
||
begin
|
||
InterfID := DM.DataSet_INTERFACE.FN(fnID).AsInteger;
|
||
InterfGUID := DM.DataSet_INTERFACE.FN(fnGUID).AsString;
|
||
end;
|
||
|
||
if PageControl_InterfData.ActivePage = tsInterfaceNorms then
|
||
CreateFMakeEditInterfNorm.MakeEdit(AFormMode, InterfGUID, InterfID, mtInterfaceNorms, mtNorms, MemTableComponTypes)
|
||
else
|
||
if PageControl_InterfData.ActivePage = tsInterfAccordance then
|
||
CreateFMakeEditInterfaceAccordance.MakeEdit(AFormMode, mtInterfaceAccordance, mtInterface);
|
||
end;
|
||
if AFormMode = fmMake then
|
||
EnableEditDelInterfData;
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_AddResourceRelExecute(Sender: TObject);
|
||
begin
|
||
AddEditResource(meMake);
|
||
EnableEditDelResourceRel;
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_EditResourceRelExecute(Sender: TObject);
|
||
begin
|
||
AddEditResource(meEdit);
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_DelResourceRelExecute(Sender: TObject);
|
||
var DelName: String;
|
||
begin
|
||
try
|
||
DelName := F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.FN('Name').AsString;
|
||
if MessageModal(cCaseForm_Msg5_1+' "'+ DelName +'" '+cCaseForm_Msg5_2+'?',
|
||
cCaseForm_Msg5_3, MB_ICONQUESTION or MB_YESNO) = IDYES then
|
||
begin
|
||
F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.Delete;
|
||
EnableEditDelResourceRel;
|
||
end;
|
||
except
|
||
on E: Exception do AddExceptionToLog('TF_CaseForm.Act_DelResourceRelExecute: '+E.Message);
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_MakeResourceExecute(Sender: TObject);
|
||
begin
|
||
//
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_EditResourceExecute(Sender: TObject);
|
||
begin
|
||
//
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_DelResourceExecute(Sender: TObject);
|
||
begin
|
||
//
|
||
end;
|
||
|
||
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_MakeTZExecute(Sender: TObject);
|
||
begin
|
||
//
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_EditTZExecute(Sender: TObject);
|
||
begin
|
||
//
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_DelTZExecute(Sender: TObject);
|
||
begin
|
||
//
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.GT_NB_NormsFocusedRecordChanged(
|
||
Sender: TcxCustomGridTableView; APrevFocusedRecord,
|
||
AFocusedRecord: TcxCustomGridRecord;
|
||
ANewItemRecordFocusingChanged: Boolean);
|
||
begin
|
||
EnableEditDelResourceRel;
|
||
end;
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.GT_NB_NormResourceRelCellClick(
|
||
Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
var fldIsOn: Integer;
|
||
begin
|
||
with TF_Main(GForm).DM do
|
||
try
|
||
try
|
||
if ACellViewInfo.Item.Index = 0 then //*** <20><><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||
begin
|
||
//RecordNo := MemTable_ResourcesRel.RecNo;
|
||
fldIsOn := DataSet_NB_NORM_RESOURCE_REL.FN('IsOn').AsInteger;
|
||
DataSet_NB_NORM_RESOURCE_REL.Edit;
|
||
DataSet_NB_NORM_RESOURCE_REL.FN('IsOn').AsInteger := 1 - fldIsOn;
|
||
DataSet_NB_NORM_RESOURCE_REL.Post;
|
||
AHandled := true;
|
||
end;
|
||
except
|
||
on E: Exception do AddExceptionToLog('TF_CaseForm.GT_NB_NormResourceRelCellClick: '+E.Message);
|
||
end;
|
||
finally
|
||
//MemTable_ResourcesRel.RecNo := RecordNo;
|
||
end;
|
||
end;
|
||
|
||
|
||
|
||
procedure TF_CaseForm.GT_NB_NormResourceRelEditValueChanged(
|
||
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
|
||
begin
|
||
//GT_NB_NormResourceRel.DataController
|
||
{GT_NB_NormResourceRel.DataController.UpdateData;
|
||
F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.UpdateRecord;
|
||
F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.Next;
|
||
F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL.Prior;
|
||
GT_NB_NormResourceRel.DataController.Post; }
|
||
//Beep;
|
||
//if AItem.Index = 0 then
|
||
// GT_NB_NormResourceRel.DataController.Post;
|
||
//GT_NB_NormResourceRel.DataController.Post;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_NB_NormResourceRelPRICEPropertiesValidate(
|
||
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
//var cost, price, AdditionalPrice, kolvo: Double;
|
||
begin {
|
||
Error := false;
|
||
with F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL do
|
||
begin
|
||
price := DisplayValue;
|
||
AdditionalPrice := FN(fnAdditionalPrice).AsFloat;
|
||
kolvo := FN(fnKolvo).AsFloat;
|
||
cost := (price + AdditionalPrice) * kolvo;
|
||
|
||
Edit;
|
||
FN(fnCost).AsFloat := cost;
|
||
FN(fnPrice).AsFloat := DisplayValue;
|
||
Post;
|
||
end; }
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_NB_NormResourceRelAdditionalPricePropertiesValidate(
|
||
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
//var cost, price, kolvo: Double;
|
||
begin {
|
||
Error := false;
|
||
with F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL do
|
||
begin
|
||
price := FN('Price').AsFloat;
|
||
kolvo := DisplayValue; //MemTable_ResourcesRel.FieldByName('kolvo').AsInteger;
|
||
cost := price * kolvo;
|
||
Edit;
|
||
FN('COST').AsFloat := cost;
|
||
FN('Kolvo').AsFloat := DisplayValue;
|
||
Post;
|
||
end; }
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_NB_NormResourceRelKOLVOPropertiesValidate(
|
||
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
//var cost, price, kolvo: Double;
|
||
begin {
|
||
Error := false;
|
||
with F_NormBase.DM.DataSet_NB_NORM_RESOURCE_REL do
|
||
begin
|
||
price := FN('Price').AsFloat;
|
||
kolvo := DisplayValue; //MemTable_ResourcesRel.FieldByName('kolvo').AsInteger;
|
||
cost := price * kolvo;
|
||
Edit;
|
||
FN('COST').AsFloat := cost;
|
||
FN('Kolvo').AsFloat := DisplayValue;
|
||
Post;
|
||
end; }
|
||
end;
|
||
|
||
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.GT_ComponentTypesFocusedRecordChanged(
|
||
Sender: TcxCustomGridTableView; APrevFocusedRecord,
|
||
AFocusedRecord: TcxCustomGridRecord;
|
||
ANewItemRecordFocusingChanged: Boolean);
|
||
begin
|
||
EnableEditCompTypeProperties;
|
||
end;
|
||
|
||
|
||
procedure TF_CaseForm.GT_ComponentTypesPortKindGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
if AText = '0' then
|
||
AText := cCaseForm_Msg29_1;
|
||
if AText = '1' then
|
||
AText := cCaseForm_Msg29_2;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_ComponentTypesActiveStateGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
if AText = '0' then
|
||
AText := cCaseForm_Msg30_1;
|
||
if AText = '1' then
|
||
AText := cCaseForm_Msg30_2;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_ComponentTypesIsLineGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
if AText = '0' then
|
||
AText := cCaseForm_Msg31_1;
|
||
if AText = '1' then
|
||
AText := cCaseForm_Msg31_2;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_CompTypePropPVALUEGetProperties(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AProperties: TcxCustomEditProperties);
|
||
begin
|
||
if ARecord.Values[6] <> null then
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
case ARecord.Values[6] of
|
||
dtFloat, dtInteger:
|
||
AProperties := EditRepositorySpinItem.Properties;
|
||
dtBoolean:
|
||
AProperties := EditRepositoryCheckBoxItem.Properties;
|
||
dtDate:
|
||
AProperties := EditRepositoryDateItem.Properties;
|
||
dtCompStateType:
|
||
AProperties := EditRepositoryLookupCompSateType.Properties;
|
||
dtColor:
|
||
AProperties := EditRepositoryColorComboBox.Properties;
|
||
dtCableCanalElementType:
|
||
AProperties := EditRepositoryLookupCableCanalElementType.Properties;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_CompTypePropPVALUEGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
//var
|
||
// CurrFloat: Double;
|
||
var DoSetDisplay: boolean; // IGOR 04/07/2019 --
|
||
begin
|
||
// IGOR 04/07/2019 --
|
||
DoSetDisplay := True;
|
||
if ARecord.Values[6] <> null then
|
||
begin
|
||
if (ARecord.Values[6] = dtBoolean) or (ARecord.Values[6] = dtCompStateType)
|
||
or (ARecord.Values[6] = dtColor) or (ARecord.Values[6] = dtCableCanalElementType) then
|
||
DoSetDisplay := False;
|
||
end;
|
||
if DoSetDisplay then
|
||
//
|
||
SetDisplayTextToGridTablePropValue(AText, ARecord, 6, 7, TF_Main(GForm).FUOM);
|
||
{if ARecord.Values[6] <> null then
|
||
case ARecord.Values[6] of
|
||
dtFloat:
|
||
try
|
||
CurrFloat := StrToFloatU(AText);
|
||
if GPropSysNameInUOM.IndexOf(ARecord.Values[7]) <> -1 then
|
||
CurrFloat := RoundCP(FloatInUOM(CurrFloat, umMetr, TF_Main(GForm).FUOM));
|
||
AText := FloatToStr(CurrFloat);
|
||
except
|
||
end;
|
||
dtDate:
|
||
try
|
||
AText := DateToStr(StrToDateU(AText));
|
||
except
|
||
end;
|
||
end;}
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_AddCompTypePropertyExecute(Sender: TObject);
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
AddEditCompTypeProperty(meMake);
|
||
EnableEditCompTypeProperties;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_EditCompTypePropertyExecute(Sender: TObject);
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
AddEditCompTypeProperty(meEdit);
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_DelCompTypePropertyExecute(Sender: TObject);
|
||
var DelName: String;
|
||
IsStandart: Integer;
|
||
MemTable: TkbmMemTable;
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
try
|
||
MemTable := mtCompTypePropRelation;
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
DelName := '';
|
||
IsStandart := biFalse;
|
||
if MemTable <> nil then
|
||
begin
|
||
DelName := MemTable.FieldByName(fnName).AsString;
|
||
IsStandart := MemTable.FieldByName(fnisStandart).AsInteger;
|
||
end
|
||
else
|
||
begin
|
||
DelName := DataSet_COMP_TYPE_PROP_RELATION.FN(fnName).AsString;
|
||
IsStandart := DataSet_COMP_TYPE_PROP_RELATION.FN(fnisStandart).AsInteger;
|
||
end;
|
||
if IsStandart = biTrue then
|
||
MessageModal(cCaseForm_Msg6_1+' "'+ DelName +'" '+cCaseForm_Msg6_2,
|
||
cCaseForm_Msg6_3, MB_ICONINFORMATION or MB_OK)
|
||
else
|
||
begin
|
||
if MessageModal(cCaseForm_Msg7_1+' "'+ DelName +'" ?',
|
||
cCaseForm_Msg7_2, MB_ICONQUESTION or MB_YESNO) = ID_YES then
|
||
begin
|
||
if MemTable <> nil then
|
||
MemTable.Delete
|
||
else
|
||
DataSet_COMP_TYPE_PROP_RELATION.Delete;
|
||
EnableEditCompTypeProperties;
|
||
end;
|
||
end;
|
||
end;
|
||
except
|
||
on E: Exception do AddExceptionToLog('TF_CaseForm.Act_DelCompTypePropertyExecute: '+E.Message);
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Timer_PostGridRecordTimer(Sender: TObject);
|
||
begin
|
||
//if GGridDBTable <> nil then
|
||
// GGridDBTable.DataController.Post;
|
||
//TTimer(Sender).Enabled := false;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_CompTypePropEditValueChanged(
|
||
Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem);
|
||
begin
|
||
//GGridDBTable := Sender;
|
||
//Timer_PostGridRecord.Enabled := true;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Panel_OkCancelResize(Sender: TObject);
|
||
begin
|
||
SetMiddleControlChilds(TControl(Sender), TControl(Self));
|
||
end;
|
||
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_AddInterfDataExecute(Sender: TObject);
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
AddEditInterfData(fmMake);
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_EditInterfDataExecute(Sender: TObject);
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
AddEditInterfData(fmEdit);
|
||
end;
|
||
|
||
// ##### <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #####
|
||
procedure TF_CaseForm.Act_DelInterfDataExecute(Sender: TObject);
|
||
var DelDataSet: TpFIBDataSet;
|
||
DelName: String;
|
||
MemTable: TkbmMemTable;
|
||
begin
|
||
if Not CheckChange then
|
||
Exit; ///// EXIT /////
|
||
|
||
DelDataSet := nil;
|
||
DelName := '';
|
||
MemTable := nil;
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
if PageControl_InterfData.ActivePage = tsInterfaceNorms then
|
||
begin
|
||
DelDataSet := DataSet_Interface_Norms;
|
||
DelName := cCaseForm_Msg8_2_1;
|
||
MemTable := mtInterfaceNorms;
|
||
end;
|
||
if PageControl_InterfData.ActivePage = tsInterfAccordance then
|
||
begin
|
||
DelDataSet := DataSet_InterfAccordance;
|
||
DelName := cCaseForm_Msg8_2_2;
|
||
MemTable := mtInterfaceAccordance;
|
||
end;
|
||
end;
|
||
|
||
if Assigned(DelDataSet) then
|
||
begin
|
||
if MessageModal(cCaseForm_Msg8_1+' '+DelName+'?', cCaseForm_Msg8_2_3, MB_YESNO or MB_ICONQUESTION) = IDYES then
|
||
begin
|
||
if MemTable <> nil then
|
||
MemTable.Delete
|
||
else
|
||
DelDataSet.Delete;
|
||
end;
|
||
end;
|
||
EnableEditDelInterfData;
|
||
end;
|
||
|
||
procedure TF_CaseForm.PageControl_InterfDataChange(Sender: TObject);
|
||
begin
|
||
if PageControl_InterfData.ActivePage = tsInterfaceNorms then
|
||
begin
|
||
Act_AddInterfData.Caption := cCaseForm_Msg32_1;
|
||
Act_EditInterfData.Caption := cCaseForm_Msg32_2;
|
||
Act_DelInterfData.Caption := cCaseForm_Msg32_3;
|
||
end;
|
||
|
||
if PageControl_InterfData.ActivePage = tsInterfAccordance then
|
||
begin
|
||
Act_AddInterfData.Caption := cCaseForm_Msg32_4;
|
||
Act_EditInterfData.Caption := cCaseForm_Msg32_5;
|
||
Act_DelInterfData.Caption := cCaseForm_Msg32_6;
|
||
end;
|
||
|
||
Act_AddInterfData.Hint := Act_AddInterfData.Caption;
|
||
Act_EditInterfData.Hint := Act_EditInterfData.Caption;
|
||
Act_DelInterfData.Hint := Act_DelInterfData.Caption;
|
||
|
||
EnableEditDelInterfData;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_InterfacesFocusedRecordChanged(
|
||
Sender: TcxCustomGridTableView; APrevFocusedRecord,
|
||
AFocusedRecord: TcxCustomGridRecord;
|
||
ANewItemRecordFocusingChanged: Boolean);
|
||
begin
|
||
EnableEditDelInterfData;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_InterfAccordanceInterfComponIslineGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
if AText = '0' then
|
||
AText := cCaseForm_Msg25_1
|
||
else
|
||
if AText = '1' then
|
||
AText := cCaseForm_Msg25_2
|
||
else
|
||
if AText = '2' then
|
||
AText := cCaseForm_Msg25_3;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_InterfAccordanceAccordComponIslineGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
if AText = '0' then
|
||
AText := cCaseForm_Msg25_1
|
||
else
|
||
if AText = '1' then
|
||
AText := cCaseForm_Msg25_2
|
||
else
|
||
if AText = '2' then
|
||
AText := cCaseForm_Msg25_3;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_InterfacesNAMEPropertiesValidate(Sender: TObject;
|
||
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
|
||
begin
|
||
with TF_Main(GForm).DM do
|
||
WriteToDataSet(DataSet_Interface, fnName, DisplayValue);
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_InterfacesConstructiveWidthPropertiesValidate(
|
||
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
begin
|
||
with TF_Main(GForm).DM do
|
||
if DisplayValue <> '' then
|
||
WriteToDataSet(DataSet_Interface, fnConstructiveWidth, DisplayValue)
|
||
else
|
||
WriteToDataSet(DataSet_Interface, fnConstructiveWidth, Null);
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_InterfacesIDNetTypePropertiesValidate(
|
||
Sender: TObject; var DisplayValue: Variant; var ErrorText: TCaption;
|
||
var Error: Boolean);
|
||
begin
|
||
//with TF_Main(GForm).DM do
|
||
// WriteToDataSet(DataSet_Interface, fnIDNetType, DisplayValue);
|
||
//with TF_Main(GForm).DM do
|
||
// DataSet_INTERFACE.UpdateRecord;
|
||
//GT_Interfaces.DataController.Post;
|
||
//GT_InterfacesIDNetType.DataBinding.
|
||
end;
|
||
|
||
procedure TF_CaseForm.pcDirectoriesChange(Sender: TObject);
|
||
var
|
||
ActiveViewKind: TViewKind;
|
||
//SavedOnMessage: TMessageEvent;
|
||
begin
|
||
ActiveViewKind := GetViewKindByTabSheet(TRzPageControl(Sender).ActivePage);
|
||
if ActiveViewKind <> vkNone then
|
||
begin
|
||
LockControl(Self, true);
|
||
try
|
||
PrepareForm(ActiveViewKind, FFormMode);
|
||
//ParseNoWithGroupItems;
|
||
finally
|
||
LockControl(Self, false);
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_NB_ResourcesRTypeGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
if AText <> '' then
|
||
begin
|
||
if (StrToInt(AText) = rtMat) then
|
||
AText := cCaseForm_Msg33_1
|
||
else
|
||
if (StrToInt(AText) = rtMachMech) then
|
||
AText := cCaseForm_Msg33_2
|
||
else
|
||
if (StrToInt(AText) = rtPrice) then
|
||
AText := cCaseForm_Msg33_3;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.pmPcDirectoriesPopup(Sender: TObject);
|
||
var
|
||
MenuItem: TMenuItem;
|
||
i: Integer;
|
||
TabSheet: TRzTabSheet;
|
||
begin
|
||
pmPcDirectories.Items.Clear;
|
||
for i := 0 to pcDirectories.PageCount - 1 do
|
||
begin
|
||
TabSheet := pcDirectories.Pages[i];
|
||
if TabSheet.TabVisible then
|
||
begin
|
||
MenuItem := TMenuItem.Create(pmPcDirectories);
|
||
MenuItem.Caption := TabSheet.Caption;
|
||
MenuItem.Tag := TabSheet.PageIndex;
|
||
MenuItem.OnClick := pcDirectoriesMenuClick;
|
||
if TabSheet.PageIndex = pcDirectories.ActivePageIndex then
|
||
MenuItem.Checked := true;
|
||
pmPcDirectories.Items.Add(MenuItem);
|
||
end;
|
||
end;
|
||
MenuItem := TMenuItem.Create(pmPcDirectories);
|
||
MenuItem.Caption := '-';
|
||
pmPcDirectories.Items.Add(MenuItem);
|
||
|
||
MenuItem := TMenuItem.Create(pmPcDirectories);
|
||
MenuItem.Caption := cCaseForm_Msg34;
|
||
pmPcDirectories.Items.Add(MenuItem);
|
||
|
||
XPMenu.Active := false;
|
||
XPMenu.Active := true;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Timer_CallMakeTimer(Sender: TObject);
|
||
begin
|
||
Timer_CallMake.Enabled := false;
|
||
Act_Make.Execute;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_EditObjectIconInCADExecute(Sender: TObject);
|
||
var
|
||
ProjectBLK: TMemoryStream;
|
||
ActiveBLK: TMemoryStream;
|
||
begin
|
||
ProjectBLK := nil;
|
||
ActiveBLK := nil;
|
||
|
||
if TF_Main(GForm).GDBMode = bkNormBase then
|
||
begin
|
||
ProjectBLK := TF_Main(GForm).DM.GetStreamFromDataSet(TF_Main(GForm).DM.DataSet_OBJECT_ICONS, fnProjBlk);
|
||
ActiveBLK := TF_Main(GForm).DM.GetStreamFromDataSet(TF_Main(GForm).DM.DataSet_OBJECT_ICONS, fnActiveBlk);
|
||
end
|
||
else
|
||
if TF_Main(GForm).GDBMode = bkProjectManager then
|
||
begin
|
||
ProjectBLK := TMemoryStream.Create;
|
||
ActiveBLK := TMemoryStream.Create;
|
||
SaveToStreamFromMT(mtObjectIcons, ProjectBLK, fnProjBlk);
|
||
SaveToStreamFromMT(mtObjectIcons, ActiveBLK, fnActiveBlk);
|
||
end;
|
||
if (ProjectBLK <> nil) or (ActiveBLK <> nil) then
|
||
begin
|
||
EditBlockOnCAD(ActiveBLK, ProjectBLK);
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
if ProjectBLK <> nil then
|
||
FreeAndNil(ProjectBLK);
|
||
if ActiveBLK <> nil then
|
||
FreeAndNil(ActiveBLK);
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.PopupMenu_TreePopup(Sender: TObject);
|
||
begin
|
||
//
|
||
end;
|
||
|
||
procedure TF_CaseForm.Tree_InterfTypeMouseDown(Sender: TObject;
|
||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
begin
|
||
if Button = mbRight then
|
||
Tree_InterfType.PopupMenu := nil;
|
||
end;
|
||
|
||
|
||
procedure TF_CaseForm.Tree_InterfTypeMouseUp(Sender: TObject;
|
||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
var
|
||
Node: TTreeNode;
|
||
ClientXY: TPoint;
|
||
ScreenXY: TPoint;
|
||
begin
|
||
if Button = mbRight then
|
||
begin
|
||
Tree_InterfType.PopupMenu := PopupMenu_Tree;
|
||
|
||
ScreenXY.X := X;
|
||
ScreenXY.Y := Y;
|
||
ClientXY := Tree_InterfType.ScreenToClient(ScreenXY);
|
||
|
||
Node := Tree_InterfType.GetNodeAt(ClientXY.X, ClientXY.Y);
|
||
if Node <> nil then
|
||
begin
|
||
Tree_InterfType.Selected := Node;
|
||
PopupMenu_Tree.Popup(ScreenXY.X, ScreenXY.Y);
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_CURRENCYMainGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
if AText = '0' then
|
||
AText := cMain_Msg33
|
||
else
|
||
if AText = '1' then
|
||
AText := cMain_Msg122
|
||
else
|
||
if AText = '2' then
|
||
AText := cMain_Msg123;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_ObjectIconsCellClick(
|
||
Sender: TcxCustomGridTableView;
|
||
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
|
||
AShift: TShiftState; var AHandled: Boolean);
|
||
var
|
||
Point: TPoint;
|
||
CurrColumnFieldName: String;
|
||
begin
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
{if AButton = mbRight then
|
||
begin
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>"
|
||
FDefIconType := oitNone;
|
||
if (FDefFileBmp <> '') and (FDefFileBlk <> '') then
|
||
if FileExists(FDefFileBmp) and FileExists(FDefFileBlk) then
|
||
begin
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
CurrColumnFieldName := TcxGridDBColumn(TcxGridTableView(Sender).Columns[ACellViewInfo.Item.Index]).DataBinding.FieldName;
|
||
if CurrColumnFieldName = fnProjBmp then
|
||
FDefIconType := oitProjectible
|
||
else
|
||
if CurrColumnFieldName = fnActiveBmp then
|
||
FDefIconType := oitActive;
|
||
end;
|
||
Act_SetIconFromCAD.Enabled := FDefIconType <> oitNone;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||
GetCursorPos(Point);
|
||
PopupMenu_Data.Popup(Point.X, Point.Y);
|
||
end;}
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_SetIconFromCADExecute(Sender: TObject);
|
||
begin
|
||
TF_Main(GForm).CreateFMakeEditObjectIcons.MakeEdit(fmEdit, mtObjectIcons, FDefIconName, FDefFileBmp, FDefFileBlk, FDefIconType);
|
||
FDefIconType := oitNone;
|
||
end;
|
||
|
||
procedure TF_CaseForm.pcDirectoriesMouseUp(Sender: TObject;
|
||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||
var
|
||
Point: TPoint;
|
||
begin
|
||
if Button = mbRight then
|
||
begin
|
||
GetCursorPos(Point);
|
||
pmPcDirectories.Popup(Point.X, Point.Y);
|
||
end;
|
||
end;
|
||
|
||
|
||
procedure TF_CaseForm.PopupMenu_DataPopup(Sender: TObject);
|
||
var
|
||
CurrColumnFieldName: String;
|
||
ScrPoint: TPoint;
|
||
Point: TPoint;
|
||
GridHitTestResult: TcxCustomGridHitTest;
|
||
ColumnIndex: Integer;
|
||
|
||
IDComponentTemplate: Integer;
|
||
begin
|
||
Act_EditObjectIconInCAD.Visible := false;
|
||
Act_SetIconFromCAD.Visible := false;
|
||
Act_ShowComponTempateInNB.Visible := false;
|
||
Act_DuplicateCompType.Visible := false;
|
||
case FViewKind of
|
||
vkObjectIcons:
|
||
begin
|
||
{Act_EditObjectIconInCAD.Visible := (GT_ObjectIcons.Controller.FocusedRecordIndex <> -1) and (FViewKind = vkObjectIcons);
|
||
Act_EditObjectIconInCAD.Enabled := Act_EditObjectIconInCAD.Visible and ExistsOpenedCAD;
|
||
Act_SetIconFromCAD.Visible := (GT_ObjectIcons.Controller.FocusedRecordIndex <> -1) and (TF_Main(GForm).GDBMode = bkNormBase);
|
||
Act_SetIconFromCAD.Enabled := false;}
|
||
if GT_ObjectIcons.Controller.FocusedRecordIndex <> -1 then
|
||
begin
|
||
Act_EditObjectIconInCAD.Visible := true;
|
||
Act_EditObjectIconInCAD.Enabled := ExistsOpenedCAD;
|
||
Act_SetIconFromCAD.Visible := (TF_Main(GForm).GDBMode = bkNormBase);
|
||
Act_SetIconFromCAD.Enabled := false;
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>"
|
||
FDefIconType := oitNone;
|
||
if (FDefFileBmp <> '') and (FDefFileBlk <> '') then
|
||
if FileExists(FDefFileBmp) and FileExists(FDefFileBlk) then
|
||
begin
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
GetCursorPos(ScrPoint);
|
||
Point := GT_ObjectIcons.Site.ScreenToClient(ScrPoint);
|
||
GridHitTestResult := GT_ObjectIcons.ViewInfo.GetHitTest(Point);
|
||
if (GridHitTestResult <> nil) and (GridHitTestResult.ViewInfo is TcxGridTableDataCellViewInfo) then
|
||
begin
|
||
ColumnIndex := TcxGridTableDataCellViewInfo(GridHitTestResult.ViewInfo).Item.Index;
|
||
CurrColumnFieldName := GT_ObjectIcons.Columns[ColumnIndex].DataBinding.FieldName;
|
||
if CurrColumnFieldName = fnProjBmp then
|
||
FDefIconType := oitProjectible
|
||
else
|
||
if CurrColumnFieldName = fnActiveBmp then
|
||
FDefIconType := oitActive;
|
||
end;
|
||
end;
|
||
Act_SetIconFromCAD.Enabled := FDefIconType <> oitNone;
|
||
end;
|
||
end;
|
||
vkComponentType:
|
||
if (GT_ComponentTypes.Controller.FocusedRecordIndex <> -1) and (TF_Main(GForm).GDBMode = bkNormBase) then
|
||
begin
|
||
Act_ShowComponTempateInNB.Visible := true;
|
||
IDComponentTemplate := TF_Main(GForm).DM.DataSet_COMPONENT_TYPES.FN(fnIDComponTemplate).AsInteger;
|
||
Act_ShowComponTempateInNB.Enabled := IDComponentTemplate <> 0;
|
||
Act_DuplicateCompType.Visible := true;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_ShowComponTempateInNBExecute(Sender: TObject);
|
||
var
|
||
IDComponentTemplate: Integer;
|
||
begin
|
||
IDComponentTemplate := TF_Main(GForm).DM.DataSet_COMPONENT_TYPES.FN(fnIDComponTemplate).AsInteger;
|
||
if IDComponentTemplate <> 0 then
|
||
TF_Main(GForm).SelectComponByIDInTree(IDComponentTemplate);
|
||
end;
|
||
|
||
|
||
function TF_CaseForm.CheckChange: Boolean;
|
||
begin
|
||
Result := true;
|
||
if (TF_Main(GForm).GDBMode = bkNormBase) and Not TF_Main(GForm).CheckWriteNB(true) then
|
||
Result := false;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_PropertiesMIN_VALUEGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
var
|
||
CurrFloat: Double;
|
||
begin
|
||
if ARecord.Values[3] <> null then
|
||
case ARecord.Values[3] of
|
||
dtFloat, dtInteger:
|
||
try
|
||
CurrFloat := StrToFloatU(AText);
|
||
if ARecord.Values[10] <> null then
|
||
PropValueInUOM(CurrFloat, ARecord.Values[10], umMetr, TF_Main(GForm).FUOM);
|
||
//if GPropSysNameInUOM.IndexOf(ARecord.Values[10]) <> -1 then
|
||
// CurrFloat := RoundCP(FloatInUOM(CurrFloat, umMetr, TF_Main(GForm).FUOM));
|
||
CurrFloat := RoundCP(CurrFloat);
|
||
AText := FloatToStr(CurrFloat);
|
||
except
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_PropertiesIZMGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
SetDisplayTextToGridTablePropIzm(AText, ARecord, 10, TF_Main(GForm).FUOM);
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_CompTypePropIZMGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
SetDisplayTextToGridTablePropIzm(AText, ARecord, 7, TF_Main(GForm).FUOM);
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_InterfacesConstructiveWidthGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
var
|
||
ValueFloat: Double;
|
||
begin
|
||
try
|
||
if AText <> '' then
|
||
begin
|
||
ValueFloat := StrToFloat_My(AText);
|
||
ValueFloat := FloatInUOM(ValueFloat, umMetr, TF_Main(GForm).FUOM);
|
||
AText := FloatToStr(RoundCP(ValueFloat));
|
||
end;
|
||
except
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_ComponentTypesCOORDZGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
begin
|
||
if AText <> IntToStr(-1) then
|
||
AText := GetDisplayTextInFLoatUOM(AText, TF_Main(GForm).FUOM);
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_GlobalMakeExecute(Sender: TObject);
|
||
begin
|
||
//
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_GlobalDelExecute(Sender: TObject);
|
||
begin
|
||
//
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_GlobalEditExecute(Sender: TObject);
|
||
begin
|
||
//
|
||
end;
|
||
|
||
|
||
procedure TF_CaseForm.Act_ImportExecute(Sender: TObject);
|
||
var
|
||
ExecRes: Boolean;
|
||
begin
|
||
if Not F_NormBase.CheckWriteNB(false) then
|
||
MessageModal(cNBIsReadOnly, ApplicationName, MB_ICONINFORMATION or MB_OK)
|
||
else
|
||
begin
|
||
ExecRes := false;
|
||
TF_Main(GForm).CreateFMasterUpdatePrice;
|
||
if pcDirectories.ActivePage = tsNBNorms then
|
||
ExecRes := TF_Main(GForm).F_MasterUpdatePrice.Execute(fmImportNorms, Self)
|
||
else
|
||
if pcDirectories.ActivePage = tsNBResources then
|
||
ExecRes := TF_Main(GForm).F_MasterUpdatePrice.Execute(fmImportResources, Self);
|
||
|
||
if ExecRes then
|
||
begin
|
||
BeginProgress;
|
||
try
|
||
RefreshNodes(TF_Main(GForm).F_MasterUpdatePrice.FInsertedDirTypeID);
|
||
finally
|
||
EndProgress;
|
||
end;
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_DuplicateCompTypeExecute(Sender: TObject);
|
||
var
|
||
SrcComponentType: TNBComponentType;
|
||
NBComponentType: TNBComponentType;
|
||
NBComponentTypeProp: TNBCompTypeProperty;
|
||
DirID: Integer;
|
||
DupName: String;
|
||
|
||
i: Integer;
|
||
begin
|
||
try
|
||
DirID := 0;
|
||
if Tree_InterfType.Selected <> nil then
|
||
if Tree_InterfType.Selected.Data <> nil then
|
||
DirID := PObjectData(Tree_InterfType.Selected.Data).ObjectID;
|
||
|
||
if DirID <> 0 then
|
||
begin
|
||
with TF_Main(GForm).DM do
|
||
begin
|
||
//SetSQLToFIBQuery(Query_Select, GetSQLByParams(qtSelect, tnComponentTypes, fnID+'=:'+fnID, nil, fnAll), true);
|
||
//Query_Select.Params[0].AsInteger := DataSet_COMPONENT_TYPES.FN(fnID).AsInteger;
|
||
//Query_Select.ExecQuery;
|
||
//if Query_Select.RecordCount > 0 then
|
||
//begin
|
||
// NBComponentType := TNBComponentType.Create(GForm);
|
||
// try
|
||
// NBComponentType.ComponentType := GetComponentTypeFromQuery(Query_Select);
|
||
// NBComponentType.Save(meMake);
|
||
//
|
||
// InsertToDirecoryTypeRel(DirID, NBComponentType.ComponentType.ID, GetMasterFNameByDirItemType(ditComponentType));
|
||
//
|
||
// finally
|
||
// FreeAndNil(NBComponentType);
|
||
// end;
|
||
// DataSet_COMPONENT_TYPES.ReopenLocate(fnID);
|
||
//end;
|
||
//Query_Select.Close;
|
||
end;
|
||
|
||
TF_Main(GForm).GSCSBase.NBSpravochnik.LoadComponentTypes;
|
||
SrcComponentType := TF_Main(GForm).GSCSBase.NBSpravochnik.GetComponentTypeByGUID(TF_Main(GForm).DM.DataSet_COMPONENT_TYPES.FN(fnGUID).AsString);
|
||
if SrcComponentType <> nil then
|
||
begin
|
||
DupName := InputForm(GForm, ApplicationName, cCaseForm_Msg40, SrcComponentType.ComponentType.Name, dtString);
|
||
if DupName <> '' then
|
||
begin
|
||
NBComponentType := TNBComponentType.Create(GForm);
|
||
try
|
||
NBComponentType.Assign(SrcComponentType);
|
||
NBComponentType.ComponentType.GUID := '';
|
||
NBComponentType.ComponentType.IDComponTemplate := 0;
|
||
NBComponentType.ComponentType.Name := DupName;
|
||
NBComponentType.Save(meMake);
|
||
|
||
TF_Main(GForm).DM.InsertToDirecoryTypeRel(DirID, NBComponentType.ComponentType.ID, GetMasterFNameByDirItemType(ditComponentType));
|
||
|
||
//*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
for i := 0 to NBComponentType.Properties.Count - 1 do
|
||
begin
|
||
NBComponentTypeProp := TNBCompTypeProperty(NBComponentType.Properties[i]);
|
||
NBComponentTypeProp.PropertyData.IDMaster := NBComponentType.ComponentType.ID;
|
||
TF_Main(GForm).DM.SavePropertyRelation(meMake, pkCompTypePropRel, @NBComponentTypeProp.PropertyData);
|
||
end;
|
||
finally
|
||
FreeAndNil(NBComponentType);
|
||
end;
|
||
TF_Main(GForm).DM.DataSet_COMPONENT_TYPES.ReopenLocate(fnID);
|
||
end;
|
||
end;
|
||
end;
|
||
except
|
||
on E: Exception do AddExceptionToLogExt(ClassName, MethodName(@TF_CaseForm.Act_DuplicateCompTypeExecute), E.Message);
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.pcDirectoriesChanging(Sender: TObject;
|
||
NewIndex: Integer; var AllowChange: Boolean);
|
||
begin
|
||
if Visible then
|
||
SaveSelectTabNode;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Act_CopyGUIDToClipboardExecute(Sender: TObject);
|
||
begin
|
||
if (FDirTypeInfo.DataSet <> nil) and (FDirTypeInfo.DataSet.Active) then
|
||
begin
|
||
Clipboard.AsText := FDirTypeInfo.DataSet.FieldByName(fnGUID).AsString;
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Tree_InterfTypeGetImageIndex(Sender: TObject;
|
||
Node: TTreeNode);
|
||
begin
|
||
if Node.Expanded then
|
||
Node.ImageIndex := tciiDirOpened
|
||
else
|
||
Node.ImageIndex := tciiDir;
|
||
Node.SelectedIndex := Node.ImageIndex;
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_NB_NormsLaborTimeGetDisplayText(
|
||
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
|
||
var AText: String);
|
||
var
|
||
//TimeUOM: Integer;
|
||
TimeMin: Integer;
|
||
Hr, Min: Integer;
|
||
begin
|
||
{if AText <> '' then
|
||
begin
|
||
TimeMin := StrToIntDef(AText, 0);
|
||
Hr := TimeMin div 60;
|
||
Min := TimeMin mod 60;
|
||
if (Hr <> 0) and (Min <> 0) then
|
||
AText := IntToStr(Hr)+'/'+IntToStr(Min);
|
||
|
||
//TimeUOM := ARecord.Values[GT_NB_NormsTimeUOM.Index];
|
||
//if TimeUOM <> 0 then
|
||
// AText := AText +' '+ GetTimeUOMName(TimeUOM);
|
||
end;}
|
||
AText := GetDisplayTextToNORMLaborTime(AText);
|
||
end;
|
||
|
||
procedure TF_CaseForm.GT_ObjectIconsCustomDrawCell(
|
||
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
|
||
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
||
begin
|
||
if Self.ActiveControl <> Sender.Site then
|
||
begin
|
||
if AViewInfo.RecordViewInfo.Focused then
|
||
begin
|
||
ACanvas.Brush.Color := ColorToRGB(clInactiveBorder) - $305050 ; // clGreen;
|
||
end
|
||
end
|
||
else
|
||
begin
|
||
if AViewInfo.RecordViewInfo.Focused and not AViewInfo.RecordViewInfo.Selected then
|
||
begin
|
||
if GetBValue(ColorToRGB(clHighlight)) < 200 then
|
||
ACanvas.Brush.Color := RGB(GetRValue(ColorToRGB(clHighlight)), GetGValue(ColorToRGB(clHighlight)),
|
||
GetBValue(ColorToRGB(clHighlight)) + $20) // + $100000;
|
||
else
|
||
ACanvas.Brush.Color := RGB(GetRValue(ColorToRGB(clHighlight)), GetGValue(ColorToRGB(clHighlight)),
|
||
GetBValue(ColorToRGB(clHighlight)) - $20) // + $100000;
|
||
end
|
||
end;
|
||
end;
|
||
|
||
procedure TF_CaseForm.Tree_InterfTypeCustomDrawItem(
|
||
Sender: TCustomTreeView; Node: TTreeNode; State: TCustomDrawState;
|
||
var DefaultDraw: Boolean);
|
||
begin
|
||
if (Self.ActiveControl <> Sender) and Node.Selected then
|
||
Sender.Canvas.Brush.Color := ColorToRGB(clInactiveBorder) - $305050 ; // clGreen;
|
||
end;
|
||
|
||
end.
|
||
|
||
|
||
|