1
0
mirror of https://github.com/IRPTeam/IRP.git synced 2025-09-16 08:56:27 +02:00
This commit is contained in:
AzureAD\ANDREYVOROBYOV
2020-01-29 12:01:00 +02:00
parent c125c26675
commit 857a221cf2
16 changed files with 516 additions and 273 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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);

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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"));

View File

@@ -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

View File

@@ -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"));

View File

@@ -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();

View File

@@ -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"));

View File

@@ -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
выбор когда &amp;UseArrayOfChoisedDocuments тогда
CashTransferOrder.Ref in (&amp;ArrayOfChoisedDocuments) иначе ложь конец как Choiced,
CashTransferOrder.Ref,
CashTransferOrder.Number AS Number,
CashTransferOrder.Date AS Date,

View File

@@ -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