mirror of
https://github.com/IRPTeam/IRP.git
synced 2025-09-16 08:56:27 +02:00
IRP-1
This commit is contained in:
@@ -22,9 +22,9 @@ Procedure SetAvailability(Object, Form) Export
|
||||
Break;
|
||||
EndIf;
|
||||
EndDo;
|
||||
Form.Items.Account.ReadOnly = BasedOnCashTransferOrder;
|
||||
Form.Items.Company.ReadOnly = BasedOnCashTransferOrder;
|
||||
Form.Items.Currency.ReadOnly = BasedOnCashTransferOrder;
|
||||
Form.Items.Account.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Account);
|
||||
Form.Items.Company.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Company);
|
||||
Form.Items.Currency.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Currency);
|
||||
EndIf;
|
||||
EndProcedure
|
||||
|
||||
@@ -200,8 +200,8 @@ Procedure PaymentListOnChange(Object, Form, Item) Export
|
||||
Row.Key = New UUID();
|
||||
EndIf;
|
||||
EndDo;
|
||||
//DocBankPaymentClient.FillPayees(Object, Form);
|
||||
//SetAvailability(Object, Form);
|
||||
DocBankPaymentClient.FillPayees(Object, Form);
|
||||
SetAvailability(Object, Form);
|
||||
EndProcedure
|
||||
|
||||
Procedure PaymentListOnActivateRow(Object, Form, Item) Export
|
||||
@@ -259,8 +259,38 @@ Procedure PaymentListBasisDocumentStartChoiceEnd(Result, AdditionalParameters) E
|
||||
EndProcedure
|
||||
|
||||
&AtClient
|
||||
Procedure PaymentListPlaningTransactionBasisOnChange(Object, ThisObject, Item) Export
|
||||
DocumentsClient.PaymentListPlaningTransactionBasisOnChange(Object, ThisObject, Item);
|
||||
Procedure PaymentListPlaningTransactionBasisOnChange(Object, Form, Item) Export
|
||||
CurrentData = Form.Items.PaymentList.CurrentData;
|
||||
|
||||
If CurrentData = Undefined Then
|
||||
Return;
|
||||
EndIf;
|
||||
|
||||
If ValueIsFilled(CurrentData.PlaningTransactionBasis)
|
||||
And TypeOf(CurrentData.PlaningTransactionBasis) = Type("DocumentRef.CashTransferOrder") Then
|
||||
CashTransferOrderInfo = DocCashTransferOrderServer.GetInfoForFillingBankPayment(CurrentData.PlaningTransactionBasis);
|
||||
If Not ValueIsFilled(Object.Account) Then
|
||||
Object.Account = CashTransferOrderInfo.Account;
|
||||
EndIf;
|
||||
|
||||
If Not ValueIsFilled(Object.Company) Then
|
||||
Object.Company = CashTransferOrderInfo.Company;
|
||||
EndIf;
|
||||
|
||||
If Not ValueIsFilled(Object.Currency) Then
|
||||
Object.Currency = CashTransferOrderInfo.Currency;
|
||||
EndIf;
|
||||
|
||||
ArrayOfPlaningTransactionBasises = New Array();
|
||||
ArrayOfPlaningTransactionBasises.Add(CurrentData.PlaningTransactionBasis);
|
||||
ArrayOfBalance = DocBankPaymentServer.GetDocumentTable_CashTransferOrder_ForClient(ArrayOfPlaningTransactionBasises, Object.Ref);
|
||||
If ArrayOfBalance.Count() Then
|
||||
RowOfBalance = ArrayOfBalance[0];
|
||||
CurrentData.Amount = RowOfBalance.Amount;
|
||||
EndIf;
|
||||
EndIf;
|
||||
|
||||
DocumentsClient.PaymentListPlaningTransactionBasisOnChange(Object, Form, Item);
|
||||
EndProcedure
|
||||
|
||||
Procedure TransactionBasisStartChoice(Object, Form, Item, ChoiceData, StandardProcessing) Export
|
||||
@@ -269,35 +299,43 @@ Procedure TransactionBasisStartChoice(Object, Form, Item, ChoiceData, StandardPr
|
||||
Return;
|
||||
EndIf;
|
||||
|
||||
If Object.TransactionType = PredefinedValue("Enum.OutgoingPaymentTransactionTypes.CurrencyExchange") Or
|
||||
Object.TransactionType = PredefinedValue("Enum.OutgoingPaymentTransactionTypes.CashTransferOrder") Then
|
||||
OpenSettings = DocumentsClient.GetOpenSettingsStructure();
|
||||
OpenSettings.ArrayOfFilters = New Array();
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Posted",
|
||||
True,
|
||||
DataCompositionComparisonType.Equal));
|
||||
If ValueIsFilled(Object.Account) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Sender",
|
||||
Object.Account,
|
||||
DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
OpenSettings = DocumentsClient.GetOpenSettingsStructure();
|
||||
OpenSettings.FormParameters = New Structure();
|
||||
OpenSettings.FormParameters.Insert("OwnerRef", Object.Ref);
|
||||
|
||||
ArrayOfChoisedDocuments = New Array();
|
||||
For Each Row In Object.PaymentList Do
|
||||
ArrayOfChoisedDocuments.Add(Row.PlaningTransactionBasis);
|
||||
EndDo;
|
||||
OpenSettings.FormParameters.Insert("ArrayOfChoisedDocuments", ArrayOfChoisedDocuments);
|
||||
|
||||
If ValueIsFilled(Object.Currency) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("SendCurrency",
|
||||
Object.Currency,
|
||||
DataCompositionComparisonType.Equal));
|
||||
OpenSettings.ArrayOfFilters = New Array();
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Posted", True, DataCompositionComparisonType.Equal));
|
||||
|
||||
// Account
|
||||
If ValueIsFilled(Object.Account) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Sender", Object.Account, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
||||
EndIf;
|
||||
// Company
|
||||
If ValueIsFilled(Object.Company) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Company", Object.Company, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("IsCurrensyExchange",
|
||||
Object.TransactionType = PredefinedValue("Enum.OutgoingPaymentTransactionTypes.CurrencyExchange"),
|
||||
DataCompositionComparisonType.Equal));
|
||||
// Currency
|
||||
If ValueIsFilled(Object.Currency) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("SendCurrency", Object.Currency, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
||||
If Object.TransactionType = PredefinedValue("Enum.OutgoingPaymentTransactionTypes.CurrencyExchange") Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("IsCurrensyExchange", True, DataCompositionComparisonType.Equal));
|
||||
|
||||
DocumentsClient.TransactionBasisStartChoice(Object, Form, Item, ChoiceData, StandardProcessing, OpenSettings);
|
||||
ElsIf Object.TransactionType = PredefinedValue("Enum.OutgoingPaymentTransactionTypes.CashTransferOrder") Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("IsCurrensyExchange", False, DataCompositionComparisonType.Equal));
|
||||
|
||||
OpenSettings.FormParameters = New Structure();
|
||||
OpenSettings.FormParameters.Insert("EndDate", EndOfDay(Object.Date));
|
||||
DocumentsClient.TransactionBasisStartChoice(Object, Form, Item, ChoiceData, StandardProcessing, OpenSettings);
|
||||
EndIf;
|
||||
|
||||
EndProcedure
|
||||
|
||||
Procedure OnActiveCell(Object, Form, Item, Cancel = Undefined) Export
|
||||
|
@@ -95,4 +95,88 @@ Procedure SetGroupItemsList(Object, Form)
|
||||
EndDo;
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
#EndRegion
|
||||
|
||||
Function GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments, EndOfDate = Undefined) Export
|
||||
TempTableManager = New TempTablesManager();
|
||||
Query = New Query();
|
||||
Query.TempTablesManager = TempTableManager;
|
||||
Query.Text = GetDocumentTable_CashTransferOrder_QueryText();
|
||||
Query.SetParameter("ArrayOfBasisDocuments", ArrayOfBasisDocuments);
|
||||
Query.SetParameter("UseArrayOfBasisDocuments", True);
|
||||
If EndOfDate = Undefined Then
|
||||
Query.SetParameter("EndOfDate", CurrentDate());
|
||||
Else
|
||||
Query.SetParameter("EndOfDate", EndOfDate);
|
||||
EndIf;
|
||||
|
||||
Query.Execute();
|
||||
Query.Text =
|
||||
"SELECT
|
||||
| tmp.BasedOn AS BasedOn,
|
||||
| tmp.TransactionType AS TransactionType,
|
||||
| tmp.Company AS Company,
|
||||
| tmp.Account AS Account,
|
||||
| tmp.TransitAccount AS TransitAccount,
|
||||
| tmp.Currency AS Currency,
|
||||
| tmp.Amount AS Amount,
|
||||
| tmp.PlaningTransactionBasis AS PlaningTransactionBasis
|
||||
|FROM
|
||||
| tmp_CashTransferOrder AS tmp";
|
||||
QueryResult = Query.Execute();
|
||||
Return QueryResult.Unload();
|
||||
EndFunction
|
||||
|
||||
Function GetDocumentTable_CashTransferOrder_QueryText() Export
|
||||
Return
|
||||
"SELECT ALLOWED
|
||||
| ""CashTransferOrder"" AS BasedOn,
|
||||
| CASE
|
||||
| WHEN Doc.SendCurrency = Doc.ReceiveCurrency
|
||||
| THEN VALUE(Enum.OutgoingPaymentTransactionTypes.CashTransferOrder)
|
||||
| ELSE VALUE(Enum.OutgoingPaymentTransactionTypes.CurrencyExchange)
|
||||
| END AS TransactionType,
|
||||
| PlaningCashTransactionsTurnovers.Company AS Company,
|
||||
| PlaningCashTransactionsTurnovers.Account AS Account,
|
||||
| PlaningCashTransactionsTurnovers.Account.TransitAccount AS TransitAccount,
|
||||
| PlaningCashTransactionsTurnovers.Currency AS Currency,
|
||||
| PlaningCashTransactionsTurnovers.AmountTurnover AS Amount,
|
||||
| PlaningCashTransactionsTurnovers.BasisDocument AS PlaningTransactionBasis
|
||||
|INTO tmp_CashTransferOrder
|
||||
|FROM
|
||||
| AccumulationRegister.PlaningCashTransactions.Turnovers(, &EndOfDate,,
|
||||
| CashFlowDirection = VALUE(Enum.CashFlowDirections.Outgoing)
|
||||
| AND CurrencyMovementType = VALUE(ChartOfCharacteristicTypes.CurrencyMovementType.SettlementCurrency)
|
||||
| AND CASE
|
||||
| WHEN &UseArrayOfBasisDocuments
|
||||
| THEN BasisDocument IN (&ArrayOfBasisDocuments)
|
||||
| ELSE TRUE
|
||||
| END) AS PlaningCashTransactionsTurnovers
|
||||
| INNER JOIN Document.CashTransferOrder AS Doc
|
||||
| ON PlaningCashTransactionsTurnovers.BasisDocument = Doc.Ref
|
||||
|WHERE
|
||||
| PlaningCashTransactionsTurnovers.Account.Type = VALUE(Enum.CashAccountTypes.Bank)
|
||||
| AND PlaningCashTransactionsTurnovers.AmountTurnover > 0";
|
||||
EndFunction
|
||||
|
||||
Function GetDocumentTable_CashTransferOrder_ForClient(ArrayOfBasisDocuments, ObjectRef = Undefined) Export
|
||||
EndOfDate = Undefined;
|
||||
If ValueIsFilled(ObjectRef) Then
|
||||
EndOfDate = New Boundary(ObjectRef.PointInTime(), BoundaryType.Excluding)
|
||||
EndIf;
|
||||
ArrayOfResults = New Array();
|
||||
ValueTable = GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments, EndOfDate);
|
||||
For Each Row In ValueTable Do
|
||||
NewRow = New Structure();
|
||||
NewRow.Insert("BasedOn" ,Row.BasedOn);
|
||||
NewRow.Insert("TransactionType" ,Row.TransactionType);
|
||||
NewRow.Insert("Company" ,Row.Company);
|
||||
NewRow.Insert("Account" ,Row.Account);
|
||||
NewRow.Insert("TransitAccount" ,Row.TransitAccount);
|
||||
NewRow.Insert("Currency" ,Row.Currency);
|
||||
NewRow.Insert("Amount" ,Row.Amount);
|
||||
NewRow.Insert("PlaningTransactionBasis" ,Row.PlaningTransactionBasis);
|
||||
ArrayOfResults.Add(NewRow);
|
||||
EndDo;
|
||||
Return ArrayOfResults;
|
||||
EndFunction
|
@@ -12,7 +12,37 @@ Procedure OnOpen(Object, Form, Cancel, AddInfo = Undefined) Export
|
||||
EndProcedure
|
||||
|
||||
Procedure SetAvailability(Object, Form) Export
|
||||
Return;
|
||||
ArrayAll = New Array();
|
||||
ArrayByType = New Array();
|
||||
DocBankReceiptServer.FillAttributesByType(Object.TransactionType, ArrayAll, ArrayByType);
|
||||
DocumentsClientServer.SetVisibilityItemsByArray(Form.Items, ArrayAll, ArrayByType);
|
||||
|
||||
If Object.TransactionType = PredefinedValue("Enum.IncomingPaymentTransactionType.CurrencyExchange")
|
||||
OR Object.TransactionType = PredefinedValue("Enum.IncomingPaymentTransactionType.CashTransferOrder") Then
|
||||
BasedOnCashTransferOrder = False;
|
||||
For Each Row In Object.PaymentList Do
|
||||
If TypeOf(Row.PlaningTransactionBasis) = Type("DocumentRef.CashTransferOrder")
|
||||
And ValueIsFilled(Row.PlaningTransactionBasis) Then
|
||||
BasedOnCashTransferOrder = True;
|
||||
Break;
|
||||
EndIf;
|
||||
EndDo;
|
||||
Form.Items.CurrencyExchange.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.CurrencyExchange);
|
||||
Form.Items.Account.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Account);
|
||||
Form.Items.Company.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Company);
|
||||
Form.Items.Currency.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Currency);
|
||||
|
||||
ArrayTypes = New Array();
|
||||
ArrayTypes.Add(Type("DocumentRef.CashTransferOrder"));
|
||||
Form.Items.PaymentListPlaningTransactionBasis.TypeRestriction = New TypeDescription(ArrayTypes);
|
||||
Else
|
||||
ArrayTypes = New Array();
|
||||
ArrayTypes.Add(Type("DocumentRef.CashTransferOrder"));
|
||||
ArrayTypes.Add(Type("DocumentRef.IncomingPaymentOrder"));
|
||||
ArrayTypes.Add(Type("DocumentRef.OutgoingPaymentOrder"));
|
||||
ArrayTypes.Add(Type("DocumentRef.ChequeBondTransactionItem"));
|
||||
Form.Items.PaymentListPlaningTransactionBasis.TypeRestriction = New TypeDescription(ArrayTypes);
|
||||
EndIf;
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
@@ -246,9 +276,8 @@ Procedure PaymentListPlaningTransactionBasisOnChange(Object, Form, Item) Export
|
||||
ArrayOfBalance = DocBankReceiptServer.GetDocumentTable_CashTransferOrder_ForClient(ArrayOfPlaningTransactionBasises);
|
||||
If ArrayOfBalance.Count() Then
|
||||
RowOfBalance = ArrayOfBalance[0];
|
||||
// CurrentData.Partner = RowOfBalance.Partner;
|
||||
// CurrentData.Amount = RowOfBalance.Amount;
|
||||
// CurrentData.AmountExchange = RowOfBalance.AmountExchange;
|
||||
CurrentData.Amount = RowOfBalance.Amount;
|
||||
CurrentData.AmountExchange = RowOfBalance.AmountExchange;
|
||||
EndIf;
|
||||
EndIf;
|
||||
|
||||
@@ -264,36 +293,25 @@ Procedure TransactionBasisStartChoice(Object, Form, Item, ChoiceData, StandardPr
|
||||
OpenSettings = DocumentsClient.GetOpenSettingsStructure();
|
||||
OpenSettings.ArrayOfFilters = New Array();
|
||||
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Posted",
|
||||
True,
|
||||
DataCompositionComparisonType.Equal));
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Posted", True, DataCompositionComparisonType.Equal));
|
||||
|
||||
If ValueIsFilled(Object.Account) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Receiver",
|
||||
Object.Account,
|
||||
DataCompositionComparisonType.Equal));
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Receiver", Object.Account, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
||||
If ValueIsFilled(Object.Company) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Company",
|
||||
Object.Company,
|
||||
DataCompositionComparisonType.Equal));
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Company", Object.Company, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
||||
If Object.TransactionType = PredefinedValue("Enum.IncomingPaymentTransactionType.CurrencyExchange") Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("IsCurrensyExchange",
|
||||
True,
|
||||
DataCompositionComparisonType.Equal));
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("IsCurrensyExchange", True, DataCompositionComparisonType.Equal));
|
||||
|
||||
If ValueIsFilled(Object.Currency) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("ReceiveCurrency",
|
||||
Object.Currency,
|
||||
DataCompositionComparisonType.Equal));
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("ReceiveCurrency", Object.Currency, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
||||
If ValueIsFilled(Object.CurrencyExchange) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("SendCurrency",
|
||||
Object.CurrencyExchange,
|
||||
DataCompositionComparisonType.Equal));
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("SendCurrency", Object.CurrencyExchange, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
||||
ArrayOfChoisedDocuments = New Array();
|
||||
@@ -304,18 +322,16 @@ Procedure TransactionBasisStartChoice(Object, Form, Item, ChoiceData, StandardPr
|
||||
OpenSettings.FormParameters = New Structure();
|
||||
OpenSettings.FormParameters.Insert("ArrayOfChoisedDocuments", ArrayOfChoisedDocuments);
|
||||
|
||||
OpenSettings.FormParameters.Insert("OwnerRef", Object.Ref);
|
||||
|
||||
DocumentsClient.TransactionBasisStartChoice(Object, Form, Item, ChoiceData, StandardProcessing, OpenSettings);
|
||||
|
||||
ElsIf Object.TransactionType = PredefinedValue("Enum.IncomingPaymentTransactionType.CashTransferOrder") Then
|
||||
If ValueIsFilled(Object.Currency) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("ReceiveCurrency",
|
||||
Object.Currency,
|
||||
DataCompositionComparisonType.Equal));
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("ReceiveCurrency", Object.Currency, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("IsCurrensyExchange",
|
||||
False,
|
||||
DataCompositionComparisonType.Equal));
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("IsCurrensyExchange", False, DataCompositionComparisonType.Equal));
|
||||
|
||||
ArrayOfChoisedDocuments = New Array();
|
||||
For Each Row In Object.PaymentList Do
|
||||
@@ -325,6 +341,8 @@ Procedure TransactionBasisStartChoice(Object, Form, Item, ChoiceData, StandardPr
|
||||
OpenSettings.FormParameters = New Structure();
|
||||
OpenSettings.FormParameters.Insert("ArrayOfChoisedDocuments", ArrayOfChoisedDocuments);
|
||||
|
||||
OpenSettings.FormParameters.Insert("OwnerRef", Object.Ref);
|
||||
|
||||
DocumentsClient.TransactionBasisStartChoice(Object, Form, Item, ChoiceData, StandardProcessing, OpenSettings);
|
||||
EndIf;
|
||||
|
||||
|
@@ -96,4 +96,142 @@ Procedure SetGroupItemsList(Object, Form)
|
||||
EndDo;
|
||||
EndProcedure
|
||||
|
||||
#EndRegion
|
||||
#EndRegion
|
||||
|
||||
Function GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments, EndOfDate = Undefined) Export
|
||||
TempTableManager = New TempTablesManager();
|
||||
Query = New Query();
|
||||
Query.TempTablesManager = TempTableManager;
|
||||
Query.Text = GetDocumentTable_CashTransferOrder_QueryText();
|
||||
Query.SetParameter("ArrayOfBasisDocuments", ArrayOfBasisDocuments);
|
||||
Query.SetParameter("UseArrayOfBasisDocuments", True);
|
||||
If EndOfDate = Undefined Then
|
||||
Query.SetParameter("EndOfDate", CurrentDate());
|
||||
Else
|
||||
Query.SetParameter("EndOfDate", EndOfDate);
|
||||
EndIf;
|
||||
|
||||
Query.Execute();
|
||||
Query.Text =
|
||||
"SELECT
|
||||
| tmp.BasedOn AS BasedOn,
|
||||
| tmp.TransactionType AS TransactionType,
|
||||
| tmp.Company AS Company,
|
||||
| tmp.Account AS Account,
|
||||
| tmp.Currency AS Currency,
|
||||
| tmp.CurrencyExchange AS CurrencyExchange,
|
||||
| tmp.Amount AS Amount,
|
||||
| tmp.PlaningTransactionBasis AS PlaningTransactionBasis,
|
||||
| tmp.TransitAccount AS TransitAccount,
|
||||
| tmp.AmountExchange AS AmountExchange
|
||||
|FROM
|
||||
| tmp_CashTransferOrder AS tmp";
|
||||
QueryResult = Query.Execute();
|
||||
Return QueryResult.Unload();
|
||||
EndFunction
|
||||
|
||||
Function GetDocumentTable_CashTransferOrder_QueryText() Export
|
||||
Return
|
||||
"SELECT ALLOWED
|
||||
| ""CashTransferOrder"" AS BasedOn,
|
||||
| CASE
|
||||
| WHEN Doc.SendCurrency = Doc.ReceiveCurrency
|
||||
| THEN VALUE(Enum.IncomingPaymentTransactionType.CashTransferOrder)
|
||||
| ELSE VALUE(Enum.IncomingPaymentTransactionType.CurrencyExchange)
|
||||
| END AS TransactionType,
|
||||
| PlaningCashTransactionsTurnovers.Company AS Company,
|
||||
| PlaningCashTransactionsTurnovers.Account AS Account,
|
||||
| PlaningCashTransactionsTurnovers.Currency AS Currency,
|
||||
| Doc.SendCurrency AS CurrencyExchange,
|
||||
| PlaningCashTransactionsTurnovers.AmountTurnover AS Amount,
|
||||
| PlaningCashTransactionsTurnovers.BasisDocument AS PlaningTransactionBasis
|
||||
|INTO tmp_IncomingMoney
|
||||
|FROM
|
||||
| AccumulationRegister.PlaningCashTransactions.Turnovers(,,,
|
||||
| CashFlowDirection = VALUE(Enum.CashFlowDirections.Incoming)
|
||||
| AND CurrencyMovementType = VALUE(ChartOfCharacteristicTypes.CurrencyMovementType.SettlementCurrency)
|
||||
| AND CASE
|
||||
| WHEN &UseArrayOfBasisDocuments
|
||||
| THEN BasisDocument IN (&ArrayOfBasisDocuments)
|
||||
| ELSE TRUE
|
||||
| END) AS PlaningCashTransactionsTurnovers
|
||||
| INNER JOIN Document.CashTransferOrder AS Doc
|
||||
| ON PlaningCashTransactionsTurnovers.BasisDocument = Doc.Ref
|
||||
|WHERE
|
||||
| PlaningCashTransactionsTurnovers.Account.Type = VALUE(Enum.CashAccountTypes.Bank)
|
||||
| AND PlaningCashTransactionsTurnovers.AmountTurnover > 0
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|SELECT
|
||||
| PlaningCashTransactions.Company AS Company,
|
||||
| Doc.SendCurrency AS SendCurrency,
|
||||
| PlaningCashTransactions.BasisDocument AS BasisDocument,
|
||||
| CAST(PlaningCashTransactions.Recorder AS Document.BankPayment).TransitAccount AS TransitAccount,
|
||||
| -SUM(PlaningCashTransactions.Amount) AS Amount
|
||||
|INTO tmp_OutgoingMoney
|
||||
|FROM
|
||||
| AccumulationRegister.PlaningCashTransactions AS PlaningCashTransactions
|
||||
| INNER JOIN Document.CashTransferOrder AS Doc
|
||||
| ON PlaningCashTransactions.BasisDocument = Doc.Ref
|
||||
| AND PlaningCashTransactions.CashFlowDirection = VALUE(Enum.CashFlowDirections.Outgoing)
|
||||
| AND
|
||||
| PlaningCashTransactions.CurrencyMovementType = VALUE(ChartOfCharacteristicTypes.CurrencyMovementType.SettlementCurrency)
|
||||
| AND CASE
|
||||
| WHEN &UseArrayOfBasisDocuments
|
||||
| THEN PlaningCashTransactions.BasisDocument IN (&ArrayOfBasisDocuments)
|
||||
| ELSE TRUE
|
||||
| END
|
||||
| AND PlaningCashTransactions.Account.Type = VALUE(Enum.CashAccountTypes.Bank)
|
||||
| AND PlaningCashTransactions.Amount < 0
|
||||
|GROUP BY
|
||||
| PlaningCashTransactions.Company,
|
||||
| Doc.SendCurrency,
|
||||
| PlaningCashTransactions.BasisDocument,
|
||||
| CAST(PlaningCashTransactions.Recorder AS Document.BankPayment).TransitAccount
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|SELECT
|
||||
| tmp_IncomingMoney.BasedOn AS BasedOn,
|
||||
| tmp_IncomingMoney.TransactionType AS TransactionType,
|
||||
| tmp_IncomingMoney.Company AS Company,
|
||||
| tmp_IncomingMoney.Account AS Account,
|
||||
| tmp_IncomingMoney.Currency AS Currency,
|
||||
| tmp_IncomingMoney.CurrencyExchange AS CurrencyExchange,
|
||||
| tmp_IncomingMoney.Amount AS Amount,
|
||||
| tmp_IncomingMoney.PlaningTransactionBasis AS PlaningTransactionBasis,
|
||||
| tmp_OutgoingMoney.TransitAccount AS TransitAccount,
|
||||
| tmp_OutgoingMoney.Amount AS AmountExchange
|
||||
|INTO tmp_CashTransferOrder
|
||||
|FROM
|
||||
| tmp_IncomingMoney AS tmp_IncomingMoney
|
||||
| LEFT JOIN tmp_OutgoingMoney AS tmp_OutgoingMoney
|
||||
| ON tmp_IncomingMoney.Company = tmp_OutgoingMoney.Company
|
||||
| AND tmp_IncomingMoney.CurrencyExchange = tmp_OutgoingMoney.SendCurrency
|
||||
| AND tmp_IncomingMoney.PlaningTransactionBasis = tmp_OutgoingMoney.BasisDocument";
|
||||
EndFunction
|
||||
|
||||
Function GetDocumentTable_CashTransferOrder_ForClient(ArrayOfBasisDocuments, ObjectRef = Undefined) Export
|
||||
EndOfDate = Undefined;
|
||||
If ValueIsFilled(ObjectRef) Then
|
||||
EndOfDate = New Boundary(ObjectRef.PointInTime(), BoundaryType.Excluding)
|
||||
EndIf;
|
||||
ArrayOfResults = New Array();
|
||||
ValueTable = GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments, EndOfDate);
|
||||
For Each Row In ValueTable Do
|
||||
NewRow = New Structure();
|
||||
NewRow.Insert("BasedOn", Row.BasedOn);
|
||||
NewRow.Insert("TransactionType" ,Row.TransactionType);
|
||||
NewRow.Insert("Company", Row.Company);
|
||||
NewRow.Insert("Account", Row.Account);
|
||||
NewRow.Insert("Currency", Row.Currency);
|
||||
NewRow.Insert("CurrencyExchange", Row.CurrencyExchange);
|
||||
NewRow.Insert("Amount", Row.Amount);
|
||||
NewRow.Insert("PlaningTransactionBasis", Row.PlaningTransactionBasis);
|
||||
NewRow.Insert("TransitAccount", Row.TransitAccount);
|
||||
NewRow.Insert("AmountExchange", Row.AmountExchange);
|
||||
ArrayOfResults.Add(NewRow);
|
||||
EndDo;
|
||||
Return ArrayOfResults;
|
||||
EndFunction
|
||||
|
@@ -21,9 +21,9 @@ Procedure SetAvailability(Object, Form) Export
|
||||
Break;
|
||||
EndIf;
|
||||
EndDo;
|
||||
Form.Items.CashAccount.ReadOnly = BasedOnCashTransferOrder;
|
||||
Form.Items.Company.ReadOnly = BasedOnCashTransferOrder;
|
||||
Form.Items.Currency.ReadOnly = BasedOnCashTransferOrder;
|
||||
Form.Items.CashAccount.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.CashAccount);
|
||||
Form.Items.Company.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Company);
|
||||
Form.Items.Currency.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Currency);
|
||||
EndIf;
|
||||
EndProcedure
|
||||
|
||||
@@ -298,17 +298,26 @@ Procedure TransactionBasisStartChoice(Object, Form, Item, ChoiceData, StandardPr
|
||||
OpenSettings.FormParameters = New Structure();
|
||||
OpenSettings.FormParameters.Insert("OwnerRef", Object.Ref);
|
||||
|
||||
ArrayOfChoisedDocuments = New Array();
|
||||
For Each Row In Object.PaymentList Do
|
||||
ArrayOfChoisedDocuments.Add(Row.PlaningTransactionBasis);
|
||||
EndDo;
|
||||
OpenSettings.FormParameters.Insert("ArrayOfChoisedDocuments", ArrayOfChoisedDocuments);
|
||||
|
||||
OpenSettings.ArrayOfFilters = New Array();
|
||||
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Posted", True, DataCompositionComparisonType.Equal));
|
||||
|
||||
// CashAccount
|
||||
If ValueIsFilled(Object.CashAccount) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Sender", Object.CashAccount, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
||||
// Company
|
||||
If ValueIsFilled(Object.Company) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("Company", Object.Company, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
||||
|
||||
// Currency
|
||||
If ValueIsFilled(Object.Currency) Then
|
||||
OpenSettings.ArrayOfFilters.Add(DocumentsClientServer.CreateFilterItem("SendCurrency", Object.Currency, DataCompositionComparisonType.Equal));
|
||||
EndIf;
|
||||
|
@@ -163,9 +163,10 @@ EndFunction
|
||||
Function GetDocumentTable_CashTransferOrder_ForClient(ArrayOfBasisDocuments, ObjectRef = Undefined) Export
|
||||
EndOfDate = Undefined;
|
||||
If ValueIsFilled(ObjectRef) Then
|
||||
EndOfDate = New Boundary(ObjectRef.PointInTime(), BoundaryType.Excluding)
|
||||
EndIf;
|
||||
ArrayOfResults = New Array();
|
||||
ValueTable = GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments);
|
||||
ValueTable = GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments, EndOfDate);
|
||||
For Each Row In ValueTable Do
|
||||
NewRow = New Structure();
|
||||
NewRow.Insert("BasedOn", Row.BasedOn);
|
||||
|
@@ -133,7 +133,7 @@ Function GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments, EndOfDate = U
|
||||
Return QueryResult.Unload();
|
||||
EndFunction
|
||||
|
||||
Function GetDocumentTable_CashTransferOrder_QueryText()
|
||||
Function GetDocumentTable_CashTransferOrder_QueryText() Export
|
||||
Return
|
||||
"SELECT ALLOWED
|
||||
| ""CashTransferOrder"" AS BasedOn,
|
||||
@@ -187,7 +187,7 @@ Function GetDocumentTable_CashTransferOrder_QueryText()
|
||||
| PlaningCashTransactionsTurnovers.Account,
|
||||
| PlaningCashTransactionsTurnovers.Currency,
|
||||
| Doc.SendCurrency,
|
||||
| PlaningCashTransactionsTurnovers.AmountTurnover,
|
||||
| CashInTransitBalance.AmountBalance,
|
||||
| PlaningCashTransactionsTurnovers.BasisDocument,
|
||||
| NULL,
|
||||
| 0
|
||||
@@ -202,6 +202,14 @@ Function GetDocumentTable_CashTransferOrder_QueryText()
|
||||
| END) AS PlaningCashTransactionsTurnovers
|
||||
| INNER JOIN Document.CashTransferOrder AS Doc
|
||||
| ON PlaningCashTransactionsTurnovers.BasisDocument = Doc.Ref
|
||||
| LEFT JOIN AccumulationRegister.CashInTransit.Balance(&EndOfDate,
|
||||
| CurrencyMovementType = VALUE(ChartOfCharacteristicTypes.CurrencyMovementType.SettlementCurrency)
|
||||
| AND CASE
|
||||
| WHEN &UseArrayOfBasisDocuments
|
||||
| THEN BasisDocument IN (&ArrayOfBasisDocuments)
|
||||
| ELSE TRUE
|
||||
| END) AS CashInTransitBalance
|
||||
| ON PlaningCashTransactionsTurnovers.BasisDocument = CashInTransitBalance.BasisDocument
|
||||
|WHERE
|
||||
| PlaningCashTransactionsTurnovers.Account.Type = VALUE(Enum.CashAccountTypes.Cash)
|
||||
| AND PlaningCashTransactionsTurnovers.AmountTurnover > 0
|
||||
|
@@ -87,7 +87,7 @@ Function GetInfoForFillingCashPayment(Ref) Export
|
||||
Query = New Query();
|
||||
Query.Text =
|
||||
"SELECT
|
||||
| CashTransferOrder.Receiver AS CashAccount,
|
||||
| CashTransferOrder.Sender AS CashAccount,
|
||||
| CashTransferOrder.Company,
|
||||
| CashTransferOrder.SendCurrency AS Currency,
|
||||
| CashTransferOrder.Ref
|
||||
@@ -126,3 +126,25 @@ Function GetInfoForFillingBankReceipt(Ref) Export
|
||||
EndIf;
|
||||
Return Result;
|
||||
EndFunction
|
||||
|
||||
Function GetInfoForFillingBankPayment(Ref) Export
|
||||
Result = New Structure("Ref, Account, Company, Currency, CurrencyExchange");
|
||||
Query = New Query();
|
||||
Query.Text =
|
||||
"SELECT
|
||||
| CashTransferOrder.Sender AS Account,
|
||||
| CashTransferOrder.Company,
|
||||
| CashTransferOrder.SendCurrency AS Currency,
|
||||
| CashTransferOrder.Ref
|
||||
|FROM
|
||||
| Document.CashTransferOrder AS CashTransferOrder
|
||||
|WHERE
|
||||
| CashTransferOrder.Ref = &Ref";
|
||||
Query.SetParameter("Ref", Ref);
|
||||
QueryResult = Query.Execute();
|
||||
QuerySelection = QueryResult.Select();
|
||||
If QuerySelection.Next() Then
|
||||
FillPropertyValues(Result, QuerySelection);
|
||||
EndIf;
|
||||
Return Result;
|
||||
EndFunction
|
||||
|
@@ -138,35 +138,37 @@ Function JoinDocumentsStructure(ArrayOfTables)
|
||||
EndFunction
|
||||
|
||||
Function GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments)
|
||||
Query = New Query();
|
||||
Query.Text =
|
||||
"SELECT ALLOWED
|
||||
| ""CashTransferOrder"" AS BasedOn,
|
||||
| CASE
|
||||
| WHEN Doc.SendCurrency = Doc.ReceiveCurrency
|
||||
| THEN VALUE(Enum.OutgoingPaymentTransactionTypes.CashTransferOrder)
|
||||
| ELSE VALUE(Enum.OutgoingPaymentTransactionTypes.CurrencyExchange)
|
||||
| END AS TransactionType,
|
||||
| PlaningCashTransactionsTurnovers.Company AS Company,
|
||||
| PlaningCashTransactionsTurnovers.Account AS Account,
|
||||
| PlaningCashTransactionsTurnovers.Account.TransitAccount AS TransitAccount,
|
||||
| PlaningCashTransactionsTurnovers.Currency AS Currency,
|
||||
| PlaningCashTransactionsTurnovers.AmountTurnover AS Amount,
|
||||
| PlaningCashTransactionsTurnovers.BasisDocument AS PlaningTransactionBasis
|
||||
|FROM
|
||||
| AccumulationRegister.PlaningCashTransactions.Turnovers(,,,
|
||||
| CashFlowDirection = VALUE(Enum.CashFlowDirections.Outgoing)
|
||||
| AND CurrencyMovementType = VALUE(ChartOfCharacteristicTypes.CurrencyMovementType.SettlementCurrency)
|
||||
| AND BasisDocument IN (&ArrayOfBasisDocuments)) AS PlaningCashTransactionsTurnovers
|
||||
| INNER JOIN Document.CashTransferOrder AS Doc
|
||||
| ON PlaningCashTransactionsTurnovers.BasisDocument = Doc.Ref
|
||||
|WHERE
|
||||
| PlaningCashTransactionsTurnovers.Account.Type = VALUE(Enum.CashAccountTypes.Bank)
|
||||
| AND PlaningCashTransactionsTurnovers.AmountTurnover > 0";
|
||||
Query.SetParameter("ArrayOfBasisDocuments", ArrayOfBasisDocuments);
|
||||
QueryResult = Query.Execute();
|
||||
// Query = New Query();
|
||||
// Query.Text =
|
||||
// "SELECT ALLOWED
|
||||
// | ""CashTransferOrder"" AS BasedOn,
|
||||
// | CASE
|
||||
// | WHEN Doc.SendCurrency = Doc.ReceiveCurrency
|
||||
// | THEN VALUE(Enum.OutgoingPaymentTransactionTypes.CashTransferOrder)
|
||||
// | ELSE VALUE(Enum.OutgoingPaymentTransactionTypes.CurrencyExchange)
|
||||
// | END AS TransactionType,
|
||||
// | PlaningCashTransactionsTurnovers.Company AS Company,
|
||||
// | PlaningCashTransactionsTurnovers.Account AS Account,
|
||||
// | PlaningCashTransactionsTurnovers.Account.TransitAccount AS TransitAccount,
|
||||
// | PlaningCashTransactionsTurnovers.Currency AS Currency,
|
||||
// | PlaningCashTransactionsTurnovers.AmountTurnover AS Amount,
|
||||
// | PlaningCashTransactionsTurnovers.BasisDocument AS PlaningTransactionBasis
|
||||
// |FROM
|
||||
// | AccumulationRegister.PlaningCashTransactions.Turnovers(,,,
|
||||
// | CashFlowDirection = VALUE(Enum.CashFlowDirections.Outgoing)
|
||||
// | AND CurrencyMovementType = VALUE(ChartOfCharacteristicTypes.CurrencyMovementType.SettlementCurrency)
|
||||
// | AND BasisDocument IN (&ArrayOfBasisDocuments)) AS PlaningCashTransactionsTurnovers
|
||||
// | INNER JOIN Document.CashTransferOrder AS Doc
|
||||
// | ON PlaningCashTransactionsTurnovers.BasisDocument = Doc.Ref
|
||||
// |WHERE
|
||||
// | PlaningCashTransactionsTurnovers.Account.Type = VALUE(Enum.CashAccountTypes.Bank)
|
||||
// | AND PlaningCashTransactionsTurnovers.AmountTurnover > 0";
|
||||
// Query.SetParameter("ArrayOfBasisDocuments", ArrayOfBasisDocuments);
|
||||
// QueryResult = Query.Execute();
|
||||
//
|
||||
// Result = QueryResult.Unload();
|
||||
|
||||
Result = QueryResult.Unload();
|
||||
Result = DocBankPaymentServer.GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments);
|
||||
|
||||
ErrorDocuments = New Array();
|
||||
For Each BasisDocument In ArrayOfBasisDocuments Do
|
||||
|
@@ -45,9 +45,9 @@ Procedure SetVisibilityAvailability() Export
|
||||
Break;
|
||||
EndIf;
|
||||
EndDo;
|
||||
ThisObject.Items.Account.ReadOnly = BasedOnCashTransferOrder;
|
||||
ThisObject.Items.Company.ReadOnly = BasedOnCashTransferOrder;
|
||||
ThisObject.Items.Currency.ReadOnly = BasedOnCashTransferOrder;
|
||||
ThisObject.Items.Account.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Account);
|
||||
ThisObject.Items.Company.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Company);
|
||||
ThisObject.Items.Currency.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Currency);
|
||||
|
||||
ArrayTypes = New Array();
|
||||
ArrayTypes.Add(Type("DocumentRef.CashTransferOrder"));
|
||||
|
@@ -145,81 +145,7 @@ Function JoinDocumentsStructure(ArrayOfTables)
|
||||
EndFunction
|
||||
|
||||
Function GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments)
|
||||
Query = New Query();
|
||||
Query.Text =
|
||||
"SELECT ALLOWED
|
||||
| ""CashTransferOrder"" AS BasedOn,
|
||||
| CASE
|
||||
| WHEN Doc.SendCurrency = Doc.ReceiveCurrency
|
||||
| THEN VALUE(Enum.IncomingPaymentTransactionType.CashTransferOrder)
|
||||
| ELSE VALUE(Enum.IncomingPaymentTransactionType.CurrencyExchange)
|
||||
| END AS TransactionType,
|
||||
| PlaningCashTransactionsTurnovers.Company AS Company,
|
||||
| PlaningCashTransactionsTurnovers.Account AS Account,
|
||||
| PlaningCashTransactionsTurnovers.Currency AS Currency,
|
||||
| Doc.SendCurrency AS CurrencyExchange,
|
||||
| PlaningCashTransactionsTurnovers.AmountTurnover AS Amount,
|
||||
| PlaningCashTransactionsTurnovers.BasisDocument AS PlaningTransactionBasis
|
||||
|INTO tmp_IncomingMoney
|
||||
|FROM
|
||||
| AccumulationRegister.PlaningCashTransactions.Turnovers(,,,
|
||||
| CashFlowDirection = VALUE(Enum.CashFlowDirections.Incoming)
|
||||
| AND CurrencyMovementType = VALUE(ChartOfCharacteristicTypes.CurrencyMovementType.SettlementCurrency)
|
||||
| AND BasisDocument IN (&ArrayOfBasisDocuments)) AS PlaningCashTransactionsTurnovers
|
||||
| INNER JOIN Document.CashTransferOrder AS Doc
|
||||
| ON PlaningCashTransactionsTurnovers.BasisDocument = Doc.Ref
|
||||
|WHERE
|
||||
| PlaningCashTransactionsTurnovers.Account.Type = VALUE(Enum.CashAccountTypes.Bank)
|
||||
| AND PlaningCashTransactionsTurnovers.AmountTurnover > 0
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|SELECT
|
||||
| PlaningCashTransactions.Company AS Company,
|
||||
| Doc.SendCurrency AS SendCurrency,
|
||||
| PlaningCashTransactions.BasisDocument AS BasisDocument,
|
||||
| CAST(PlaningCashTransactions.Recorder AS Document.BankPayment).TransitAccount AS TransitAccount,
|
||||
| -SUM(PlaningCashTransactions.Amount) AS Amount
|
||||
|INTO tmp_OutgoingMoney
|
||||
|FROM
|
||||
| AccumulationRegister.PlaningCashTransactions AS PlaningCashTransactions
|
||||
| INNER JOIN Document.CashTransferOrder AS Doc
|
||||
| ON PlaningCashTransactions.BasisDocument = Doc.Ref
|
||||
| AND PlaningCashTransactions.CashFlowDirection = VALUE(Enum.CashFlowDirections.Outgoing)
|
||||
| AND
|
||||
| PlaningCashTransactions.CurrencyMovementType = VALUE(ChartOfCharacteristicTypes.CurrencyMovementType.SettlementCurrency)
|
||||
| AND PlaningCashTransactions.BasisDocument IN (&ArrayOfBasisDocuments)
|
||||
| AND PlaningCashTransactions.Account.Type = VALUE(Enum.CashAccountTypes.Bank)
|
||||
| AND PlaningCashTransactions.Amount < 0
|
||||
|GROUP BY
|
||||
| PlaningCashTransactions.Company,
|
||||
| Doc.SendCurrency,
|
||||
| PlaningCashTransactions.BasisDocument,
|
||||
| CAST(PlaningCashTransactions.Recorder AS Document.BankPayment).TransitAccount
|
||||
|;
|
||||
|
|
||||
|////////////////////////////////////////////////////////////////////////////////
|
||||
|SELECT
|
||||
| tmp_IncomingMoney.BasedOn AS BasedOn,
|
||||
| tmp_IncomingMoney.TransactionType AS TransactionType,
|
||||
| tmp_IncomingMoney.Company AS Company,
|
||||
| tmp_IncomingMoney.Account AS Account,
|
||||
| tmp_IncomingMoney.Currency AS Currency,
|
||||
| tmp_IncomingMoney.CurrencyExchange AS CurrencyExchange,
|
||||
| tmp_IncomingMoney.Amount AS Amount,
|
||||
| tmp_IncomingMoney.PlaningTransactionBasis AS PlaningTransactionBasis,
|
||||
| tmp_OutgoingMoney.TransitAccount AS TransitAccount,
|
||||
| tmp_OutgoingMoney.Amount AS AmountExchange
|
||||
|FROM
|
||||
| tmp_IncomingMoney AS tmp_IncomingMoney
|
||||
| LEFT JOIN tmp_OutgoingMoney AS tmp_OutgoingMoney
|
||||
| ON tmp_IncomingMoney.Company = tmp_OutgoingMoney.Company
|
||||
| AND tmp_IncomingMoney.CurrencyExchange = tmp_OutgoingMoney.SendCurrency
|
||||
| AND tmp_IncomingMoney.PlaningTransactionBasis = tmp_OutgoingMoney.BasisDocument";
|
||||
Query.SetParameter("ArrayOfBasisDocuments", ArrayOfBasisDocuments);
|
||||
QueryResult = Query.Execute();
|
||||
|
||||
Result = QueryResult.Unload();
|
||||
Result = DocBankReceiptServer.GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments);
|
||||
|
||||
ErrorDocuments = New Array();
|
||||
For Each BasisDocument In ArrayOfBasisDocuments Do
|
||||
|
@@ -44,10 +44,10 @@ Procedure SetVisibilityAvailability() Export
|
||||
Break;
|
||||
EndIf;
|
||||
EndDo;
|
||||
ThisObject.Items.CurrencyExchange.ReadOnly = BasedOnCashTransferOrder;
|
||||
ThisObject.Items.Account.ReadOnly = BasedOnCashTransferOrder;
|
||||
ThisObject.Items.Company.ReadOnly = BasedOnCashTransferOrder;
|
||||
ThisObject.Items.Currency.ReadOnly = BasedOnCashTransferOrder;
|
||||
ThisObject.Items.CurrencyExchange.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.CurrencyExchange);
|
||||
ThisObject.Items.Account.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Account);
|
||||
ThisObject.Items.Company.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Company);
|
||||
ThisObject.Items.Currency.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Currency);
|
||||
|
||||
ArrayTypes = New Array();
|
||||
ArrayTypes.Add(Type("DocumentRef.CashTransferOrder"));
|
||||
|
@@ -142,36 +142,6 @@ Function JoinDocumentsStructure(ArrayOfTables)
|
||||
EndFunction
|
||||
|
||||
Function GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments)
|
||||
// Query = New Query();
|
||||
// Query.Text =
|
||||
// "SELECT ALLOWED
|
||||
// | ""CashTransferOrder"" AS BasedOn,
|
||||
// | CASE
|
||||
// | WHEN Doc.SendCurrency = Doc.ReceiveCurrency
|
||||
// | THEN VALUE(Enum.OutgoingPaymentTransactionTypes.CashTransferOrder)
|
||||
// | ELSE VALUE(Enum.OutgoingPaymentTransactionTypes.CurrencyExchange)
|
||||
// | END AS TransactionType,
|
||||
// | PlaningCashTransactionsTurnovers.Company AS Company,
|
||||
// | PlaningCashTransactionsTurnovers.Account AS CashAccount,
|
||||
// | PlaningCashTransactionsTurnovers.Currency AS Currency,
|
||||
// | PlaningCashTransactionsTurnovers.AmountTurnover AS Amount,
|
||||
// | PlaningCashTransactionsTurnovers.BasisDocument AS PlaningTransactionBasis,
|
||||
// | Doc.CashAdvanceHolder AS Partner
|
||||
// |FROM
|
||||
// | AccumulationRegister.PlaningCashTransactions.Turnovers(,,,
|
||||
// | CashFlowDirection = VALUE(Enum.CashFlowDirections.Outgoing)
|
||||
// | AND CurrencyMovementType = VALUE(ChartOfCharacteristicTypes.CurrencyMovementType.SettlementCurrency)
|
||||
// | AND BasisDocument IN (&ArrayOfBasisDocuments)) AS PlaningCashTransactionsTurnovers
|
||||
// | INNER JOIN Document.CashTransferOrder AS Doc
|
||||
// | ON PlaningCashTransactionsTurnovers.BasisDocument = Doc.Ref
|
||||
// |WHERE
|
||||
// | PlaningCashTransactionsTurnovers.Account.Type = VALUE(Enum.CashAccountTypes.Cash)
|
||||
// | AND PlaningCashTransactionsTurnovers.AmountTurnover > 0";
|
||||
// Query.SetParameter("ArrayOfBasisDocuments", ArrayOfBasisDocuments);
|
||||
// QueryResult = Query.Execute();
|
||||
//
|
||||
// Result = QueryResult.Unload();
|
||||
|
||||
Result = DocCashPaymentServer.GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments);
|
||||
|
||||
ErrorDocuments = New Array();
|
||||
|
@@ -45,9 +45,9 @@ Procedure SetVisibilityAvailability() Export
|
||||
Break;
|
||||
EndIf;
|
||||
EndDo;
|
||||
ThisObject.Items.CashAccount.ReadOnly = BasedOnCashTransferOrder;
|
||||
ThisObject.Items.Company.ReadOnly = BasedOnCashTransferOrder;
|
||||
ThisObject.Items.Currency.ReadOnly = BasedOnCashTransferOrder;
|
||||
ThisObject.Items.CashAccount.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.CashAccount);
|
||||
ThisObject.Items.Company.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Company);
|
||||
ThisObject.Items.Currency.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Currency);
|
||||
|
||||
ArrayTypes = New Array();
|
||||
ArrayTypes.Add(Type("DocumentRef.CashTransferOrder"));
|
||||
|
@@ -55,6 +55,49 @@
|
||||
</dataPath>
|
||||
<defaultItem>true</defaultItem>
|
||||
<titleLocation>None</titleLocation>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Choiced</name>
|
||||
<id>67</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<dataPath xsi:type="form:DataPath">
|
||||
<segments>List.Choiced</segments>
|
||||
</dataPath>
|
||||
<extendedTooltip>
|
||||
<name>ChoicedExtendedTooltip</name>
|
||||
<id>69</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<type>Label</type>
|
||||
<autoMaxWidth>true</autoMaxWidth>
|
||||
<autoMaxHeight>true</autoMaxHeight>
|
||||
<extInfo xsi:type="form:LabelDecorationExtInfo">
|
||||
<horizontalAlign>Left</horizontalAlign>
|
||||
</extInfo>
|
||||
</extendedTooltip>
|
||||
<contextMenu>
|
||||
<name>ChoicedContextMenu</name>
|
||||
<id>68</id>
|
||||
<visible>true</visible>
|
||||
<enabled>true</enabled>
|
||||
<userVisible>
|
||||
<common>true</common>
|
||||
</userVisible>
|
||||
<autoFill>true</autoFill>
|
||||
</contextMenu>
|
||||
<type>CheckBoxField</type>
|
||||
<editMode>Enter</editMode>
|
||||
<showInHeader>true</showInHeader>
|
||||
<headerHorizontalAlign>Left</headerHorizontalAlign>
|
||||
<showInFooter>true</showInFooter>
|
||||
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
|
||||
</items>
|
||||
<items xsi:type="form:FormField">
|
||||
<name>Number</name>
|
||||
<id>49</id>
|
||||
@@ -605,9 +648,16 @@
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>List.IsCurrensyExchange</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<notDefaultUseAlwaysAttributes xsi:type="form:DataPath">
|
||||
<segments>List.Choiced</segments>
|
||||
</notDefaultUseAlwaysAttributes>
|
||||
<main>true</main>
|
||||
<extInfo xsi:type="form:DynamicListExtInfo">
|
||||
<queryText>SELECT
|
||||
выбор когда &UseArrayOfChoisedDocuments тогда
|
||||
CashTransferOrder.Ref in (&ArrayOfChoisedDocuments) иначе ложь конец как Choiced,
|
||||
|
||||
|
||||
CashTransferOrder.Ref,
|
||||
CashTransferOrder.Number AS Number,
|
||||
CashTransferOrder.Date AS Date,
|
||||
|
@@ -2,68 +2,45 @@
|
||||
|
||||
&AtServer
|
||||
Procedure OnCreateAtServer(Cancel, StandardProcessing)
|
||||
|
||||
TempTableManager = New TempTablesManager();
|
||||
Query = New Query();
|
||||
Query.TempTablesManager = TempTableManager;
|
||||
|
||||
If TypeOf(Parameters.OwnerRef) = Type("DocumentRef.CashPayment") Then
|
||||
TempTableManager = New TempTablesManager();
|
||||
Query = New Query();
|
||||
Query.TempTablesManager = TempTableManager;
|
||||
Query.Text = DocCashPaymentServer.GetDocumentTable_CashTransferOrder_QueryText();
|
||||
Query.SetParameter("ArrayOfBasisDocuments", Undefined);
|
||||
Query.SetParameter("UseArrayOfBasisDocuments", False);
|
||||
If ValueIsFilled(Parameters.OwnerRef) Then
|
||||
Query.SetParameter("EndOfDate", New Boundary(Parameters.OwnerRef.PointInTime(), BoundaryType.Excluding));
|
||||
Else
|
||||
Query.SetParameter("EndOfDate", CurrentDate());
|
||||
EndIf;
|
||||
|
||||
Query.Execute();
|
||||
Query.Text =
|
||||
"SELECT
|
||||
| tmp.BasedOn AS BasedOn,
|
||||
| tmp.TransactionType AS TransactionType,
|
||||
| tmp.Company AS Company,
|
||||
| tmp.CashAccount AS CashAccount,
|
||||
| tmp.Currency AS Currency,
|
||||
| tmp.Amount AS Amount,
|
||||
| tmp.PlaningTransactionBasis AS PlaningTransactionBasis,
|
||||
| tmp.Partner AS Partner
|
||||
|FROM
|
||||
| tmp_CashTransferOrder AS tmp";
|
||||
QueryResult = Query.Execute();
|
||||
QueryTable = QueryResult.Unload();
|
||||
|
||||
List.Parameters.SetParameterValue("ArraytOfPlaningTransactionBasis", QueryTable.UnloadColumn("PlaningTransactionBasis"));
|
||||
//GetDocumentTable_CashTransferOrder(ArrayOfBasisDocuments, New Boundary(Parameters.Ref.PointInTime(), BoundaryType.Excluding));
|
||||
//List.QueryText = DocCashPaymentServer.GetDocumentTable_CashTransferOrder_QueryText() + " ; " + List.QueryText;
|
||||
ElsIf TypeOf(Parameters.OwnerRef) = Type("DocumentRef.CashReceipt") Then
|
||||
Query.Text = DocCashReceiptServer.GetDocumentTable_CashTransferOrder_QueryText();
|
||||
ElsIf TypeOf(Parameters.OwnerRef) = Type("DocumentRef.BankPayment") Then
|
||||
Query.Text = DocBankPaymentServer.GetDocumentTable_CashTransferOrder_QueryText();
|
||||
ElsIf TypeOf(Parameters.OwnerRef) = Type("DocumentRef.BankReceipt") Then
|
||||
Query.Text = DocBankReceiptServer.GetDocumentTable_CashTransferOrder_QueryText();
|
||||
EndIf;
|
||||
|
||||
Query.SetParameter("ArrayOfBasisDocuments", Undefined);
|
||||
Query.SetParameter("UseArrayOfBasisDocuments", False);
|
||||
If ValueIsFilled(Parameters.OwnerRef) Then
|
||||
Query.SetParameter("EndOfDate", New Boundary(Parameters.OwnerRef.PointInTime(), BoundaryType.Excluding));
|
||||
Else
|
||||
Query.SetParameter("EndOfDate", CurrentDate());
|
||||
EndIf;
|
||||
|
||||
Query.Execute();
|
||||
Query.Text =
|
||||
"SELECT
|
||||
| tmp.PlaningTransactionBasis AS PlaningTransactionBasis
|
||||
|FROM
|
||||
| tmp_CashTransferOrder AS tmp";
|
||||
QueryResult = Query.Execute();
|
||||
QueryTable = QueryResult.Unload();
|
||||
|
||||
List.Parameters.SetParameterValue("ArraytOfPlaningTransactionBasis", QueryTable.UnloadColumn("PlaningTransactionBasis"));
|
||||
If Parameters.Property("ArrayOfChoisedDocuments")
|
||||
And Parameters.ArrayOfChoisedDocuments.Count() Then
|
||||
List.Parameters.SetParameterValue("UseArrayOfChoisedDocuments", True);
|
||||
List.Parameters.SetParameterValue("ArrayOfChoisedDocuments", Parameters.ArrayOfChoisedDocuments);
|
||||
Else
|
||||
List.Parameters.SetParameterValue("UseArrayOfChoisedDocuments", False);
|
||||
List.Parameters.SetParameterValue("ArrayOfChoisedDocuments", Undefined);
|
||||
EndIf;
|
||||
|
||||
|
||||
|
||||
|
||||
//SELECT
|
||||
// CashTransferOrder.Ref,
|
||||
// CashTransferOrder.Number,
|
||||
// CashTransferOrder.Date,
|
||||
// CashTransferOrder.Company,
|
||||
// CashTransferOrder.Sender,
|
||||
// CashTransferOrder.SendCurrency,
|
||||
// CashTransferOrder.Receiver,
|
||||
// CashTransferOrder.ReceiveCurrency,
|
||||
// tmp.TransactionType AS TransactionType,
|
||||
// tmp.Amount AS Amount,
|
||||
// tmp.Partner AS Partner
|
||||
//FROM
|
||||
// tmp_CashTransferOrder AS tmp
|
||||
// INNER JOIN Document.CashTransferOrder AS CashTransferOrder
|
||||
// ON tmp.PlaningTransactionBasis = CashTransferOrder.Ref
|
||||
|
||||
// List.Parameters.SetParameterValue("EndOfDate", );
|
||||
//
|
||||
// If Parameters.Property("ArrayOfChoisedDocuments")
|
||||
// And Parameters.ArrayOfChoisedDocuments.Count() Then
|
||||
// List.Parameters.SetParameterValue("UseArrayOfChoisedDocuments", True);
|
||||
// List.Parameters.SetParameterValue("ArrayOfChoisedDocuments", Parameters.ArrayOfChoisedDocuments);
|
||||
// Else
|
||||
// List.Parameters.SetParameterValue("UseArrayOfChoisedDocuments", False);
|
||||
// List.Parameters.SetParameterValue("ArrayOfChoisedDocuments", Undefined);
|
||||
// EndIf;
|
||||
EndProcedure
|
||||
|
Reference in New Issue
Block a user