diff --git a/IRP/src/CommonModules/OffsetOfAdvancesServer/Module.bsl b/IRP/src/CommonModules/OffsetOfAdvancesServer/Module.bsl
index f57043bb0a..e276d44e7a 100644
--- a/IRP/src/CommonModules/OffsetOfAdvancesServer/Module.bsl
+++ b/IRP/src/CommonModules/OffsetOfAdvancesServer/Module.bsl
@@ -119,12 +119,23 @@ Function OffsetOfAdvancesAndAging(Parameters) Export
Table_DocumentAndTransactionsKey.Columns.Add("Project" , RegMetadata.Dimensions.Project.Type);
// is vendor transaction or is customer transaction
Table_DocumentAndTransactionsKey.Columns.Add(Parameters.TransactionType , New TypeDescription("Boolean"));
+ Table_DocumentAndTransactionsKey.Columns.Add("Priority" , New TypeDescription("Number"));
+
+ FixedAmounts = New ValueTable();
+ FixedAmounts.Columns.Add("Company" , RegMetadata.Dimensions.Company.Type);
+ FixedAmounts.Columns.Add("Branch" , RegMetadata.Dimensions.Branch.Type);
+ FixedAmounts.Columns.Add("Currency" , RegMetadata.Dimensions.Currency.Type);
+ FixedAmounts.Columns.Add("Partner" , RegMetadata.Dimensions.Partner.Type);
+ FixedAmounts.Columns.Add("LegalName" , RegMetadata.Dimensions.LegalName.Type);
+ FixedAmounts.Columns.Add("Agreement" , RegMetadata.Dimensions.Agreement.Type);
+ FixedAmounts.Columns.Add("Amount" , RegMetadata.Resources.Amount.Type);
+ FixedAmounts.Columns.Add("PointInTime");
CreateTransactionsKeys(Parameters, Records_TransactionsKey, Records_OffsetAging, Table_DocumentAndTransactionsKey);
// Write transactions keys to TM1030B_TransactionsKey
Write_TM1030B_TransactionsKey(Parameters, Records_TransactionsKey);
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT
| DocAdv.Document,
@@ -137,7 +148,8 @@ Function OffsetOfAdvancesAndAging(Parameters) Export
|////////////////////////////////////////////////////////////////////////////////
|SELECT
| DocTrn.Document,
- | DocTrn.TransactionKeyUUID
+ | DocTrn.TransactionKeyUUID,
+ | DocTrn.Priority
|INTO tmp_DocTrn
|FROM
| &DocTrn AS DocTrn
@@ -148,7 +160,8 @@ Function OffsetOfAdvancesAndAging(Parameters) Export
| tmp_DocAdv.AdvanceKeyUUID AS AdvanceKeyUUID,
| NULL AS TransactionKeyUUID,
| tmp_DocAdv.Document.PointInTime AS PointInTime,
- | tmp_DocAdv.Document AS Document
+ | tmp_DocAdv.Document AS Document,
+ | 1 as Priority
|INTO tmp_AllKeys
|FROM
| tmp_DocAdv AS tmp_DocAdv
@@ -159,7 +172,8 @@ Function OffsetOfAdvancesAndAging(Parameters) Export
| NULL,
| tmp_DocTrn.TransactionKeyUUID,
| tmp_DocTrn.Document.PointInTime,
- | tmp_DocTrn.Document
+ | tmp_DocTrn.Document,
+ | tmp_DocTrn.Priority
|FROM
| tmp_DocTrn AS tmp_DocTrn
|;
@@ -169,17 +183,19 @@ Function OffsetOfAdvancesAndAging(Parameters) Export
| tmpAllKeys.AdvanceKeyUUID,
| tmpAllKeys.TransactionKeyUUID,
| tmpAllKeys.PointInTime,
- | tmpAllKeys.Document
+ | tmpAllKeys.Document,
+ | tmpAllKeys.Priority
|FROM
| tmp_AllKeys AS tmpAllKeys
|GROUP BY
| tmpAllKeys.AdvanceKeyUUID,
| tmpAllKeys.TransactionKeyUUID,
| tmpAllKeys.PointInTime,
- | tmpAllKeys.Document
+ | tmpAllKeys.Document,
+ | tmpAllKeys.Priority
|
|ORDER BY
- | PointInTime";
+ | tmpAllKeys.Priority, tmpAllKeys.PointInTime";
Query.SetParameter("DocAdv", Table_DocumentAndAdvancesKey);
Query.SetParameter("DocTrn", Table_DocumentAndTransactionsKey);
@@ -192,7 +208,7 @@ Function OffsetOfAdvancesAndAging(Parameters) Export
If ValueIsFilled(QuerySelection.AdvanceKeyUUID) Then
AdvanceRows = Table_DocumentAndAdvancesKey.FindRows(New Structure("AdvanceKeyUUID", QuerySelection.AdvanceKeyUUID));
- If Not AdvanceRows.Count() Then
+ If AdvanceRows.Count() = 0 Then
Raise StrTemplate(R().Error_DocumentAndAdvancesKeyNotFound, QuerySelection.AdvanceKeyUUID);
ENdIf;
AdvanceRecordData = CreateAdvanceRecordData(Parameters, AdvanceRows[0]);
@@ -241,7 +257,7 @@ Function OffsetOfAdvancesAndAging(Parameters) Export
Records_OffsetAging,
TransactionRecordData,
QuerySelection.PointInTime,
- QuerySelection.Document);
+ QuerySelection.Document, FixedAmounts, (TransactionRows[0].Priority = 0));
CreateTransactionsKeys(Parameters, Records_TransactionsKey, Records_OffsetAging,
Table_DocumentAndTransactionsKey,
@@ -272,7 +288,7 @@ Procedure OffsetAdvancesToTransactions(Parameters,
AdvanceRecordData,
PointInTime,
Document)
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT
| AdvancesBalance.Company,
@@ -349,7 +365,7 @@ Procedure DistributeAdvanceToTransaction(Parameters,
Records_OffsetAging,
NeedWriteAdvances)
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT
| TransactionsBalance.Company,
@@ -362,6 +378,7 @@ Procedure DistributeAdvanceToTransaction(Parameters,
| TransactionsBalance.Order,
| TransactionsBalance.Project,
| TransactionsBalance.AmountBalance AS TransactionAmount
+ |INTO tmp
|FROM
| AccumulationRegister.TM1030B_TransactionsKey.Balance(&AdvanceBoundary, Company = &Company
| AND Branch = &Branch
@@ -369,9 +386,60 @@ Procedure DistributeAdvanceToTransaction(Parameters,
| AND Partner = &Partner
| AND Agreement = &Agreement
| AND LegalName = &LegalName) AS TransactionsBalance
+ |;
+ |
+ |////////////////////////////////////////////////////////////////////////////////
+ |SELECT
+ | tmp.*,
+ | SUM(CASE
+ | WHEN T2018S_FixedOffsetOfAdvances.IsFixed IS NULL
+ | THEN 1
+ | ELSE 0
+ | END) AS Priority
+ |INTO tmp2
+ |FROM
+ | tmp AS tmp
+ | LEFT JOIN InformationRegister.T2018S_FixedOffsetOfAdvances AS T2018S_FixedOffsetOfAdvances
+ | ON tmp.Company = T2018S_FixedOffsetOfAdvances.Company
+ | AND tmp.Branch = T2018S_FixedOffsetOfAdvances.Branch
+ | AND tmp.Currency = T2018S_FixedOffsetOfAdvances.Currency
+ | AND tmp.Partner = T2018S_FixedOffsetOfAdvances.Partner
+ | AND tmp.LegalName = T2018S_FixedOffsetOfAdvances.LegalName
+ | AND tmp.Agreement = T2018S_FixedOffsetOfAdvances.Agreement
+ | AND tmp.Project = T2018S_FixedOffsetOfAdvances.Project
+ | AND tmp.Order = CASE
+ | WHEN T2018S_FixedOffsetOfAdvances.Order.ref IS NULL
+ | THEN undefined
+ | ELSE T2018S_FixedOffsetOfAdvances.Order
+ | END
+ | AND T2018S_FixedOffsetOfAdvances.IsFixed
+ | AND tmp.TransactionBasis = CASE
+ | WHEN T2018S_FixedOffsetOfAdvances.TransactionDocument.ref IS NULL
+ | THEN UNDEFINED
+ | ELSE T2018S_FixedOffsetOfAdvances.TransactionDocument
+ | END
+ | and T2018S_FixedOffsetOfAdvances.Document = &Ref
+ |GROUP BY
+ | tmp.Company,
+ | tmp.Branch,
+ | tmp.Currency,
+ | tmp.Partner,
+ | tmp.LegalName,
+ | tmp.Agreement,
+ | tmp.TransactionBasis,
+ | tmp.Order,
+ | tmp.Project,
+ | tmp.TransactionAmount
+ |;
+ |
+ |////////////////////////////////////////////////////////////////////////////////
+ |SELECT
+ | tmp2.*
+ |FROM
+ | tmp2 AS tmp2
|
|ORDER BY
- | TransactionBasis.PointInTime";
+ | tmp2.Priority, tmp2.TransactionBasis.PointInTime";
Point = New PointInTime(PointInTime.Date, Parameters.Object.Ref);
Boundary = New Boundary(Point, BoundaryType.Including);
@@ -383,6 +451,7 @@ Procedure DistributeAdvanceToTransaction(Parameters,
Query.SetParameter("Partner" , AdvanceRecordData.Partner);
Query.SetParameter("LegalName" , AdvanceRecordData.LegalName);
Query.SetParameter("Agreement" , AdvanceRecordData.Agreement);
+ Query.SetParameter("Ref" , Parameters.Object.Ref);
QueryResult = Query.Execute();
QuerySelection = QueryResult.Select();
@@ -463,8 +532,8 @@ Procedure OffsetTransactionsToAdvances(Parameters,
Records_OffsetAging,
TransactionRecordData,
PointInTime,
- Document)
- Query = New Query;
+ Document, FixedAmounts, IsFixed)
+ Query = New Query();
Query.Text =
"SELECT
| TransactionsBalance.AmountBalance AS TransactionAmount
@@ -505,15 +574,14 @@ Procedure OffsetTransactionsToAdvances(Parameters,
While QuerySelection.Next() Do
DistributeTransactionToAdvance(Parameters,
PointInTime,
- Document,
- //QuerySelection.TransactionKey,
+ Document,
TransactionRecordData,
QuerySelection.TransactionAmount,
Records_AdvancesKey,
Records_TransactionsKey,
Records_OffsetOfAdvances,
Records_OffsetAging,
- NeedWriteTransactions);
+ NeedWriteTransactions, FixedAmounts, IsFixed);
EndDo;
// Write ofsetted advances to TM1020B_AdvancesKey, Expense
If NeedWriteTransactions Then
@@ -522,7 +590,7 @@ Procedure OffsetTransactionsToAdvances(Parameters,
EndProcedure
Function FindRowKeyByAdvanceKey(Parameters, AdvanceRecordData, Document)
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT
| MAX(T2014S_AdvancesInfo.Key) AS Key
@@ -568,7 +636,7 @@ Function FindRowKeyByAdvanceKey(Parameters, AdvanceRecordData, Document)
EndFunction
Function FindRowKeyByTransactionKey(Parameters, TransactionRecordData, Document)
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT
| MAX(T2015S_TransactionsInfo.Key) AS Key
@@ -621,9 +689,9 @@ Procedure DistributeTransactionToAdvance(Parameters,
Records_TransactionsKey,
Records_OffsetOfAdvances,
Records_OffsetAging,
- NeedWriteTransactions)
+ NeedWriteTransactions, FixedAmounts, IsFixed)
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT
| AdvancesBalance.Company,
@@ -657,6 +725,22 @@ Procedure DistributeTransactionToAdvance(Parameters,
QueryResult = Query.Execute();
QuerySelection = QueryResult.Select();
+ Filter = New Structure();
+ Filter.Insert("Company" , TransactionRecordData.Company);
+ Filter.Insert("Branch" , TransactionRecordData.Branch);
+ Filter.Insert("Currency" , TransactionRecordData.Currency);
+ Filter.Insert("Partner" , TransactionRecordData.Partner);
+ Filter.Insert("LegalName" , TransactionRecordData.LegalName);
+ Filter.Insert("Agreement" , TransactionRecordData.Agreement);
+
+ AlreadyWriteoff = 0;
+ Rows = FixedAmounts.FindRows(Filter);
+ For Each Row In Rows Do
+ If Point.Compare(Row.PointInTime) < 0 Then
+ AlreadyWriteoff = AlreadyWriteoff + Row.Amount;
+ EndIf;
+ EndDo;
+
NeedWriteoff = TransactionAmount;
NeedWriteAdvances = False;
While QuerySelection.Next() Do
@@ -686,8 +770,20 @@ Procedure DistributeTransactionToAdvance(Parameters,
Continue;
EndIf;
- CanWriteoff = Min(QuerySelection.AdvanceAmount, NeedWriteoff);
+ _AdvanceAmount = 0;
+ If QuerySelection.AdvanceAmount - AlreadyWriteoff > 0 Then
+ _AdvanceAmount = QuerySelection.AdvanceAmount - AlreadyWriteoff;
+ EndIf;
+
+ CanWriteoff = Min(_AdvanceAmount, NeedWriteoff);
NeedWriteoff = NeedWriteoff - CanWriteoff;
+
+ If CanWriteoff > 0 And IsFixed Then
+ NewRow_FixedAmounts = FixedAmounts.Add();
+ FillPropertyValues(NewRow_FixedAmounts, TransactionRecordData);
+ NewRow_FixedAmounts.Amount = CanWriteoff;
+ NewRow_FixedAmounts.PointInTime = Point;
+ EndIf;
// Transactions
Add_TM1030B_TransactionsKey(AccumulationRecordType.Expense,
@@ -730,6 +826,41 @@ Procedure DistributeTransactionToAdvance(Parameters,
EndProcedure
Procedure Write_SelfRecords(Parameters, Records_OffsetOfAdvances, Records_OffsetAging)
+ For Each Row In Records_OffsetOfAdvances Do
+ If Not ValueIsFilled(Row.TransactionDocument) Then
+ Continue;
+ EndIf;
+ RecordSet = InformationRegisters.T2018S_FixedOffsetOfAdvances.CreateRecordSet();
+ RecordSet.Filter.Document.Set(Parameters.Object.Ref);
+ RecordSet.Filter.Company.Set(Row.Company);
+ RecordSet.Filter.Branch.Set(Row.Branch);
+ RecordSet.Filter.Currency.Set(Row.Currency);
+ RecordSet.Filter.Partner.Set(Row.Partner);
+ RecordSet.Filter.LegalName.Set(Row.LegalName);
+ RecordSet.Filter.Agreement.Set(Row.Agreement);
+ RecordSet.Filter.Order.Set(?(ValueIsFilled(Row.TransactionOrder), Row.TransactionOrder, Undefined));
+ RecordSet.Filter.Project.Set(Row.TransactionProject);
+ RecordSet.Filter.TransactionDocument.Set(Row.TransactionDocument);
+ RecordSet.Read();
+ If RecordSet.Count() = 0 Then
+ RecordSet.Add().IsFixed = False;
+ EndIf;
+ For Each Record In RecordSet Do
+ Record.Document = Parameters.Object.Ref;
+ Record.Company = Row.Company;
+ Record.Branch = Row.Branch;
+ Record.Currency = Row.Currency;
+ Record.Partner = Row.Partner;
+ Record.LegalName = Row.LegalName;
+ Record.Agreement = Row.Agreement;
+ Record.Order = ?(ValueIsFilled(Row.TransactionOrder), Row.TransactionOrder, Undefined);
+ Record.Project = Row.TransactionProject;
+ Record.TransactionDocument = Row.TransactionDocument;
+ Record.Amount = Row.Amount;
+ EndDo;
+ RecordSet.Write(True);
+ EndDo;
+
RecordersTotal = New ValueTable();
RecordersTotal.Columns.Add("Document");
RecordersTotal.Columns.Add("Company");
@@ -1262,7 +1393,7 @@ EndFunction
Procedure WriteTablesToTempTables(Parameters, Records_OffsetOfAdvances, Records_OffsetAging)
- Query = New Query;
+ Query = New Query();
Query.TempTablesManager = Parameters.TempTablesManager;
Query.Text =
"SELECT
@@ -1385,7 +1516,7 @@ EndProcedure
Function ReleaseAdvanceByOrder(Parameters, Records_AdvancesKey, Records_OffsetOfAdvances, Document, Date, AdvanceRecordData)
Write_TM1020B_AdvancesKey(Parameters, Records_AdvancesKey);
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT
| AdvancesBalance.AmountBalance AS AdvanceAmount
@@ -1495,7 +1626,7 @@ Function CreateAdvanceRecordData(Parameters, RecordData)
EndFunction
Procedure CreateAdvancesKeys(Parameters, Records_AdvancesKey, Records_OffsetOfAdvances, Table_DocumentAndAdvancesKey)
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT
| AdvInfo.Recorder AS Document,
@@ -1586,7 +1717,7 @@ Function CreateTransactionRecordData(Parameters, RecordData)
EndFunction
Procedure CreateTransactionsKeys(Parameters, Records_TransactionsKey, Records_OffsetAging, Table_DocumentAndTransactionsKey, FilterRecorder = Undefined)
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT
| TrnInfo.Date,
@@ -1611,16 +1742,66 @@ Procedure CreateTransactionsKeys(Parameters, Records_TransactionsKey, Records_Of
| THEN UNDEFINED
| ELSE TrnInfo.TransactionBasis
| END AS TransactionBasis
+ |INTO tmp
|FROM
| InformationRegister.T2015S_TransactionsInfo AS TrnInfo
|WHERE
| TrnInfo.Date BETWEEN BEGINOFPERIOD(&BeginOfPeriod, DAY) AND ENDOFPERIOD(&EndOfPeriod, DAY)
- | AND TrnInfo.Company = &Company
- | and case when &Filter_Branch then TrnInfo.Branch = &Branch else true end
- | AND CASE WHEN &Filter_Recorder THEN TrnInfo.Recorder = &Recorder ELSE TRUE END
+ | AND TrnInfo.Company = &Company
+ | AND CASE
+ | WHEN &Filter_Branch
+ | THEN TrnInfo.Branch = &Branch
+ | ELSE TRUE
+ | END
+ | AND CASE
+ | WHEN &Filter_Recorder
+ | THEN TrnInfo.Recorder = &Recorder
+ | ELSE TRUE
+ | END
| AND TrnInfo.%1
- |order by
- | TrnInfo.Recorder.PointInTime";
+ |;
+ |
+ |////////////////////////////////////////////////////////////////////////////////
+ |SELECT
+ | tmp.*,
+ | SUM(CASE
+ | WHEN T2018S_FixedOffsetOfAdvances.IsFixed IS NULL
+ | THEN 1
+ | ELSE 0
+ | END) AS Priority
+ |into tmp2
+ |FROM
+ | tmp AS tmp
+ | LEFT JOIN InformationRegister.T2018S_FixedOffsetOfAdvances AS T2018S_FixedOffsetOfAdvances
+ | ON tmp.Company = T2018S_FixedOffsetOfAdvances.Company
+ | AND tmp.Branch = T2018S_FixedOffsetOfAdvances.Branch
+ | AND tmp.Currency = T2018S_FixedOffsetOfAdvances.Currency
+ | AND tmp.Partner = T2018S_FixedOffsetOfAdvances.Partner
+ | AND tmp.LegalName = T2018S_FixedOffsetOfAdvances.LegalName
+ | AND tmp.Agreement = T2018S_FixedOffsetOfAdvances.Agreement
+ | AND tmp.Project = T2018S_FixedOffsetOfAdvances.Project
+ | AND tmp.Order = case when T2018S_FixedOffsetOfAdvances.Order.ref is null then &Order_EmptyRef
+ | else T2018S_FixedOffsetOfAdvances.Order end
+ | AND T2018S_FixedOffsetOfAdvances.IsFixed
+ | and tmp.TransactionBasis = case when T2018S_FixedOffsetOfAdvances.TransactionDocument.ref is null then undefined
+ | else T2018S_FixedOffsetOfAdvances.TransactionDocument end
+ | and T2018S_FixedOffsetOfAdvances.Document = &Ref
+ |GROUP BY
+ | tmp.Date,
+ | tmp.Document,
+ | tmp.Amount,
+ | tmp.IsDue,
+ | tmp.IsPaid,
+ | tmp.Company,
+ | tmp.Branch,
+ | tmp.Currency,
+ | tmp.Partner,
+ | tmp.LegalName,
+ | tmp.Agreement,
+ | tmp.Project,
+ | tmp.Order,
+ | tmp.TransactionBasis
+ |; select tmp2.* from tmp2 as tmp2 order by tmp2.Priority, tmp2.Document.PointInTime";
Query.Text = StrTemplate(Query.Text, Parameters.TransactionType);
@@ -1630,6 +1811,7 @@ Procedure CreateTransactionsKeys(Parameters, Records_TransactionsKey, Records_Of
Query.SetParameter("Branch" , Parameters.Object.Branch);
Query.SetParameter("Filter_Branch" , ValueIsFilled(Parameters.Object.Branch));
Query.SetParameter("Order_EmptyRef", Parameters.Order_EmptyRef);
+ Query.SetParameter("Ref", Parameters.Object.Ref);
If FilterRecorder <> Undefined Then
Query.SetParameter("Filter_Recorder", True);
@@ -1685,6 +1867,7 @@ Procedure CreateTransactionsKeys(Parameters, Records_TransactionsKey, Records_Of
New_DocKeys = Table_DocumentAndTransactionsKey.Add();
New_DocKeys.Document = QuerySelection.Document;
New_DocKeys.TransactionKeyUUID = TransactionKeyUUID;
+ New_DocKeys.Priority = QuerySelection.Priority;
FillPropertyValues(New_DocKeys, RecordData);
// Paid from customer or to vendor
@@ -1702,7 +1885,7 @@ Procedure CreateTransactionsKeys(Parameters, Records_TransactionsKey, Records_Of
EndProcedure
Procedure DistributeTransactionToAging(Parameters, PointInTime, Document, TransactionData, TransactionAmount, Records_OffsetAging, OffsetRecord)
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT DISTINCT
| RegAging.PaymentDate,
@@ -1904,7 +2087,7 @@ Procedure Write_TM1030B_TransactionsKey(Parameters, Records_TransactionsKey)
EndProcedure
Procedure Clear_SelfRecords(Parameters, IsUnposting = False)
- Query = New Query;
+ Query = New Query();
Query.Text =
"SELECT
| %1.Recorder
@@ -1980,6 +2163,12 @@ Procedure Clear_SelfRecords(Parameters, IsUnposting = False)
ClearRegisterRecords(Ref, TableOfRecorders_Accounting , "T1040T_AccountingAmounts" , "AdvancesClosing");
ClearRegisterRecords(Ref, TableOfRecorders_PartnersBalance, "R5020B_PartnersBalance" , "AdvancesClosing");
+ FixedOffsetOfAdvances = InformationRegisters.T2018S_FixedOffsetOfAdvances.CreateRecordSet();
+ FixedOffsetOfAdvances.Filter.Document.Set(Ref);
+ FixedOffsetOfAdvances.Filter.IsFixed.Set(False);
+ FixedOffsetOfAdvances.Clear();
+ FixedOffsetOfAdvances.Write();
+
If IsUnposting Then
For Each Row In TableOfRecorders_Accounting Do
AccountingServer.UpdateAccountingRelevance(Row.Recorder);
@@ -1992,7 +2181,7 @@ Procedure ClearRegisterRecords(DocRef, TableOfRecorders, RegisterName, AttrName)
RecordSet = AccumulationRegisters[RegisterName].CreateRecordSet();
RecordSet.Filter.Recorder.Set(Row.Recorder);
RecordSet.Read();
- ArrayForDelete = New Array;
+ ArrayForDelete = New Array();
For Each Record In RecordSet Do
If Record[AttrName] = DocRef Then
ArrayForDelete.Add(Record);
diff --git a/IRP/src/Configuration/Configuration.mdo b/IRP/src/Configuration/Configuration.mdo
index c5cd1b978c..019d17459d 100644
--- a/IRP/src/Configuration/Configuration.mdo
+++ b/IRP/src/Configuration/Configuration.mdo
@@ -1868,6 +1868,7 @@
InformationRegister.TranformedObjectsLink
InformationRegister.UserSettings
InformationRegister.DashboardSettings
+ InformationRegister.T2018S_FixedOffsetOfAdvances
AccumulationRegister.CashInTransit
AccumulationRegister.DELETE_R8010B_TradeAgentInventory
AccumulationRegister.DELETE_R8011B_TradeAgentSerialLotNumber
diff --git a/IRP/src/Documents/CustomersAdvancesClosing/Forms/DocumentForm/Form.form b/IRP/src/Documents/CustomersAdvancesClosing/Forms/DocumentForm/Form.form
index 48916dde69..2e19f5a58b 100644
--- a/IRP/src/Documents/CustomersAdvancesClosing/Forms/DocumentForm/Form.form
+++ b/IRP/src/Documents/CustomersAdvancesClosing/Forms/DocumentForm/Form.form
@@ -1,5 +1,5 @@
-
+
Number
1
@@ -274,6 +274,646 @@
true
+
+ FixedOffsetOfAdvances
+ 28
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances
+
+ None
+
+ FixedOffsetOfAdvancesIsFixed
+ 68
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.IsFixed
+
+ None
+
+ FixedOffsetOfAdvancesIsFixedExtendedTooltip
+ 70
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesIsFixedContextMenu
+ 69
+ true
+
+ CheckBoxField
+ Enter
+ true
+ Left
+ true
+
+
+
+ FixedOffsetOfAdvancesCompany
+ 41
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Company
+
+
+ FixedOffsetOfAdvancesCompanyExtendedTooltip
+ 43
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesCompanyContextMenu
+ 42
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesBranch
+ 44
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Branch
+
+
+ FixedOffsetOfAdvancesBranchExtendedTooltip
+ 46
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesBranchContextMenu
+ 45
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesCurrency
+ 47
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Currency
+
+
+ FixedOffsetOfAdvancesCurrencyExtendedTooltip
+ 49
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesCurrencyContextMenu
+ 48
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesPartner
+ 50
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Partner
+
+
+ FixedOffsetOfAdvancesPartnerExtendedTooltip
+ 52
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesPartnerContextMenu
+ 51
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesLegalName
+ 53
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.LegalName
+
+
+ FixedOffsetOfAdvancesLegalNameExtendedTooltip
+ 55
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesLegalNameContextMenu
+ 54
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ Filter.Partner
+
+ Items.FixedOffsetOfAdvances.CurrentData.Partner
+
+
+
+
+
+ FixedOffsetOfAdvancesAgreement
+ 56
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Agreement
+
+
+ FixedOffsetOfAdvancesAgreementExtendedTooltip
+ 58
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesAgreementContextMenu
+ 57
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+ Filter.Partner
+
+ Items.FixedOffsetOfAdvances.CurrentData.Partner
+
+
+
+
+
+ FixedOffsetOfAdvancesOrder
+ 59
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Order
+
+
+ FixedOffsetOfAdvancesOrderExtendedTooltip
+ 61
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesOrderContextMenu
+ 60
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesProject
+ 62
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Project
+
+
+ FixedOffsetOfAdvancesProjectExtendedTooltip
+ 64
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesProjectContextMenu
+ 63
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesTransactionDocument
+ 65
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.TransactionDocument
+
+
+ FixedOffsetOfAdvancesTransactionDocumentExtendedTooltip
+ 67
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesTransactionDocumentContextMenu
+ 66
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesAmount
+ 74
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Amount
+
+
+ FixedOffsetOfAdvancesAmountExtendedTooltip
+ 76
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesAmountContextMenu
+ 75
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesDocument
+ 71
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Document
+
+
+ FixedOffsetOfAdvancesDocumentExtendedTooltip
+ 73
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesDocumentContextMenu
+ 72
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesCommandBar
+ 29
+
+ FixedOffsetOfAdvancesSaveFixedOffset
+ 77
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvancesSaveFixedOffsetExtendedTooltip
+ 78
+ Label
+ true
+ true
+
+ Left
+
+
+ Form.Command.SaveFixedOffset
+ Auto
+ true
+ true
+ UserCmds
+ Auto
+
+ Left
+ true
+
+
+ BeforeAddRow
+ FixedOffsetOfAdvancesBeforeAddRow
+
+
+ FixedOffsetOfAdvancesSearchString
+ 32
+
+ FixedOffsetOfAdvancesSearchStringExtendedTooltip
+ 34
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesSearchStringContextMenu
+ 33
+ true
+
+ FixedOffsetOfAdvances
+
+ true
+
+
+
+ FixedOffsetOfAdvancesViewStatus
+ 38
+
+ FixedOffsetOfAdvancesViewStatusExtendedTooltip
+ 40
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesViewStatusContextMenu
+ 39
+ true
+
+ ViewStatusAddition
+ FixedOffsetOfAdvances
+
+ true
+
+
+
+ FixedOffsetOfAdvancesSearchControl
+ 35
+
+ FixedOffsetOfAdvancesSearchControlExtendedTooltip
+ 37
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesSearchControlContextMenu
+ 36
+ true
+
+ SearchControlAddition
+ FixedOffsetOfAdvances
+
+ true
+
+
+
+ FixedOffsetOfAdvancesExtendedTooltip
+ 31
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesContextMenu
+ 30
+ true
+
+ true
+ true
+ true
+ true
+ true
+ MultiRow
+
+ 1
+ 1
+ AutoUse
+ AutoUse
+ true
+ true
+ Auto
+ Auto
+ true
+ true
+ true
+ true
+ AsFileRef
+
+
FormCommandBar
-1
@@ -311,11 +951,270 @@
true
true
+
+ FixedOffsetOfAdvances
+
+ en
+ Fixed offset of advances
+
+ 2
+
+ ValueTable
+
+
+ true
+
+
+ true
+
+
+ Company
+
+ en
+ Company
+
+ 3
+
+ CatalogRef.Companies
+
+
+ true
+
+
+ true
+
+
+
+ Branch
+
+ en
+ Branch
+
+ 4
+
+ CatalogRef.BusinessUnits
+
+
+ true
+
+
+ true
+
+
+
+ Currency
+
+ en
+ Currency
+
+ 5
+
+ CatalogRef.Currencies
+
+
+ true
+
+
+ true
+
+
+
+ Partner
+
+ en
+ Partner
+
+ 6
+
+ CatalogRef.Partners
+
+
+ true
+
+
+ true
+
+
+
+ LegalName
+
+ en
+ Legal name
+
+ 7
+
+ CatalogRef.Companies
+
+
+ true
+
+
+ true
+
+
+
+ Agreement
+
+ en
+ Agreement
+
+ 8
+
+ CatalogRef.Agreements
+
+
+ true
+
+
+ true
+
+
+
+ Order
+
+ en
+ Order
+
+ 9
+
+ DocumentRef.SalesOrder
+
+
+ true
+
+
+ true
+
+
+
+ Project
+
+ en
+ Project
+
+ 10
+
+ CatalogRef.Projects
+
+
+ true
+
+
+ true
+
+
+
+ TransactionDocument
+
+ en
+ Transaction document
+
+ 11
+
+ DocumentRef.SalesReportFromTradeAgent
+ DocumentRef.CashTransferOrder
+ DocumentRef.PurchaseInvoice
+ DocumentRef.DebitNote
+ DocumentRef.CreditNote
+ DocumentRef.PurchaseReturn
+ DocumentRef.OpeningEntry
+ DocumentRef.SalesReturn
+ DocumentRef.SalesReportToConsignor
+ DocumentRef.SalesInvoice
+
+
+ true
+
+
+ true
+
+
+
+ IsFixed
+
+ en
+ Is fixed
+
+ 12
+
+ Boolean
+
+
+ true
+
+
+ true
+
+
+
+ Document
+
+ en
+ Document
+
+ 13
+
+ DocumentRef.CustomersAdvancesClosing
+
+
+ true
+
+
+ true
+
+
+
+ Amount
+
+ en
+ Amount
+
+ 14
+
+ DefinedType.typeAmount
+
+
+ true
+
+
+ true
+
+
+
+
+ SaveFixedOffset
+
+ en
+ Save fixed offset
+
+ 1
+
+
+ StdPicture.SaveFile
+
+
+
+ SaveFixedOffset
+
+
+ TextPicture
+ Auto
+
+
+ AfterWriteAtServer
+ AfterWriteAtServer
+
+
+ OnReadAtServer
+ OnReadAtServer
+
true
diff --git a/IRP/src/Documents/CustomersAdvancesClosing/Forms/DocumentForm/Module.bsl b/IRP/src/Documents/CustomersAdvancesClosing/Forms/DocumentForm/Module.bsl
index 0221823643..5a5a63b0ea 100644
--- a/IRP/src/Documents/CustomersAdvancesClosing/Forms/DocumentForm/Module.bsl
+++ b/IRP/src/Documents/CustomersAdvancesClosing/Forms/DocumentForm/Module.bsl
@@ -1,4 +1,86 @@
+&AtServer
+Procedure OnReadAtServer(CurrentObject)
+ FillFixedOffsetOfAdvances(CurrentObject.Ref);
+EndProcedure
+
+&AtServer
+Procedure AfterWriteAtServer(CurrentObject, WriteParameters)
+ FillFixedOffsetOfAdvances(CurrentObject.Ref);
+EndProcedure
+
+&AtClient
+Procedure SaveFixedOffset(Command)
+ SaveFixedOffsetAtServer();
+EndProcedure
+
+&AtServer
+Procedure SaveFixedOffsetAtServer()
+ RecordSet = InformationRegisters.T2018S_FixedOffsetOfAdvances.CreateRecordSet();
+ RecordSet.Filter.Document.Set(Object.Ref);
+ For Each Row In ThisObject.FixedOffsetOfAdvances Do
+ FillPropertyValues(RecordSet.Add(), Row);
+ EndDo;
+ RecordSet.Write();
+EndProcedure
+
+&AtClient
+Procedure FixedOffsetOfAdvancesBeforeAddRow(Item, Cancel, Clone, Parent, IsFolder, Parameter)
+ Cancel = True;
+
+ If Not ValueIsFilled(Object.Ref) Then
+ Callback = New CallbackDescription("WriteBeforAddNewRow", ThisObject);
+ ShowQueryBox(Callback, R().QuestionToUser_001, QuestionDialogMode.YesNo);
+ Else
+ FixedOffsetOfAdvancesAddRow();
+ EndIf;
+EndProcedure
+
+&AtClient
+Procedure WriteBeforAddNewRow(Result, Params) Export
+ If Result = DialogReturnCode.Yes And Write() Then
+ FixedOffsetOfAdvancesAddRow();
+ EndIf;
+EndProcedure
+
+&AtClient
+Procedure FixedOffsetOfAdvancesAddRow()
+ NewRow = ThisObject.FixedOffsetOfAdvances.Add();
+ NewRow.Document = Object.Ref;
+ NewRow.Company = Object.Company;
+ NewRow.Branch = Object.Branch;
+ NewRow.IsFixed = True;
+ Items.FixedOffsetOfAdvances.CurrentRow = NewRow.GetID();
+ If Items.FixedOffsetOfAdvances.CurrentRow <> Undefined Then
+ Items.FixedOffsetOfAdvances.ChangeRow();
+ EndIf;
+EndProcedure
+
+&AtServer
+Procedure FillFixedOffsetOfAdvances(DocRef)
+ If Not ValueIsFilled(DocRef) Then
+ Return;
+ EndIf;
+
+ Query = New Query();
+ Query.Text =
+ "SELECT *
+ |FROM
+ | InformationRegister.T2018S_FixedOffsetOfAdvances AS T2018S_FixedOffsetOfAdvances
+ |WHERE
+ | T2018S_FixedOffsetOfAdvances.Document = &DocRef";
+ Query.SetParameter("DocRef", DocRef);
+ QueryResult = Query.Execute();
+ QuerySelection = QueryResult.Select();
+
+ ThisObject.FixedOffsetOfAdvances.Clear();
+
+ While QuerySelection.Next() Do
+ NewRow = ThisObject.FixedOffsetOfAdvances.Add();
+ FillPropertyValues(NewRow, QuerySelection);
+ EndDo;
+EndProcedure
+
&AtServer
Procedure OnCreateAtServer(Cancel, StandardProcessing)
DocumentsServer.OnCreateAtServer(Object, ThisObject, Cancel, StandardProcessing);
diff --git a/IRP/src/Documents/VendorsAdvancesClosing/Forms/DocumentForm/Form.form b/IRP/src/Documents/VendorsAdvancesClosing/Forms/DocumentForm/Form.form
index 10a5daaf24..5dd76853be 100644
--- a/IRP/src/Documents/VendorsAdvancesClosing/Forms/DocumentForm/Form.form
+++ b/IRP/src/Documents/VendorsAdvancesClosing/Forms/DocumentForm/Form.form
@@ -412,6 +412,634 @@
true
+
+ FixedOffsetOfAdvances
+ 86
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances
+
+ None
+
+ FixedOffsetOfAdvancesIsFixed
+ 126
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.IsFixed
+
+ None
+
+ FixedOffsetOfAdvancesIsFixedExtendedTooltip
+ 128
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesIsFixedContextMenu
+ 127
+ true
+
+ CheckBoxField
+ Enter
+ true
+ Left
+ true
+
+
+
+ FixedOffsetOfAdvancesCompany
+ 99
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Company
+
+
+ FixedOffsetOfAdvancesCompanyExtendedTooltip
+ 101
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesCompanyContextMenu
+ 100
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesBranch
+ 102
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Branch
+
+
+ FixedOffsetOfAdvancesBranchExtendedTooltip
+ 104
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesBranchContextMenu
+ 103
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesCurrency
+ 105
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Currency
+
+
+ FixedOffsetOfAdvancesCurrencyExtendedTooltip
+ 107
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesCurrencyContextMenu
+ 106
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesPartner
+ 108
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Partner
+
+
+ FixedOffsetOfAdvancesPartnerExtendedTooltip
+ 110
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesPartnerContextMenu
+ 109
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesLegalName
+ 111
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.LegalName
+
+
+ FixedOffsetOfAdvancesLegalNameExtendedTooltip
+ 113
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesLegalNameContextMenu
+ 112
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesAgreement
+ 114
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Agreement
+
+
+ FixedOffsetOfAdvancesAgreementExtendedTooltip
+ 116
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesAgreementContextMenu
+ 115
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesOrder
+ 117
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Order
+
+
+ FixedOffsetOfAdvancesOrderExtendedTooltip
+ 119
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesOrderContextMenu
+ 118
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesProject
+ 120
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Project
+
+
+ FixedOffsetOfAdvancesProjectExtendedTooltip
+ 122
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesProjectContextMenu
+ 121
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesTransactionDocument
+ 123
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.TransactionDocument
+
+
+ FixedOffsetOfAdvancesTransactionDocumentExtendedTooltip
+ 125
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesTransactionDocumentContextMenu
+ 124
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesDocument
+ 129
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Document
+
+
+ FixedOffsetOfAdvancesDocumentExtendedTooltip
+ 131
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesDocumentContextMenu
+ 130
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesAmount
+ 132
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvances.Amount
+
+
+ FixedOffsetOfAdvancesAmountExtendedTooltip
+ 134
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesAmountContextMenu
+ 133
+ true
+
+ InputField
+ Enter
+ true
+ Left
+ true
+
+ true
+ true
+ true
+ true
+ true
+ true
+
+
+
+ FixedOffsetOfAdvancesCommandBar
+ 87
+
+ FixedOffsetOfAdvancesSaveFixedOffset
+ 135
+ true
+ true
+
+ true
+
+
+ FixedOffsetOfAdvancesSaveFixedOffsetExtendedTooltip
+ 136
+ Label
+ true
+ true
+
+ Left
+
+
+ Form.Command.SaveFixedOffset
+ Auto
+ true
+ true
+ UserCmds
+ Auto
+
+ Left
+ true
+
+
+ BeforeAddRow
+ FixedOffsetOfAdvancesBeforeAddRow
+
+
+ FixedOffsetOfAdvancesSearchString
+ 90
+
+ FixedOffsetOfAdvancesSearchStringExtendedTooltip
+ 92
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesSearchStringContextMenu
+ 91
+ true
+
+ FixedOffsetOfAdvances
+
+ true
+
+
+
+ FixedOffsetOfAdvancesViewStatus
+ 96
+
+ FixedOffsetOfAdvancesViewStatusExtendedTooltip
+ 98
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesViewStatusContextMenu
+ 97
+ true
+
+ ViewStatusAddition
+ FixedOffsetOfAdvances
+
+ true
+
+
+
+ FixedOffsetOfAdvancesSearchControl
+ 93
+
+ FixedOffsetOfAdvancesSearchControlExtendedTooltip
+ 95
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesSearchControlContextMenu
+ 94
+ true
+
+ SearchControlAddition
+ FixedOffsetOfAdvances
+
+ true
+
+
+
+ FixedOffsetOfAdvancesExtendedTooltip
+ 89
+ Label
+ true
+ true
+
+ Left
+
+
+
+ FixedOffsetOfAdvancesContextMenu
+ 88
+ true
+
+ true
+ true
+ true
+ true
+ true
+ MultiRow
+
+ 1
+ 1
+ AutoUse
+ AutoUse
+ true
+ true
+ Auto
+ Auto
+ true
+ true
+ true
+ true
+ AsFileRef
+
+
FormCommandBar
-1
@@ -449,6 +1077,236 @@
true
true
+
+ FixedOffsetOfAdvances
+
+ en
+ Fixed offset of advances
+
+ 2
+
+ ValueTable
+
+
+ true
+
+
+ true
+
+
+ Company
+
+ en
+ Company
+
+ 3
+
+ CatalogRef.Companies
+
+
+ true
+
+
+ true
+
+
+
+ Branch
+
+ en
+ Branch
+
+ 4
+
+ CatalogRef.BusinessUnits
+
+
+ true
+
+
+ true
+
+
+
+ Currency
+
+ en
+ Currency
+
+ 5
+
+ CatalogRef.Currencies
+
+
+ true
+
+
+ true
+
+
+
+ Partner
+
+ en
+ Partner
+
+ 6
+
+ CatalogRef.Partners
+
+
+ true
+
+
+ true
+
+
+
+ LegalName
+
+ en
+ Legal name
+
+ 7
+
+ CatalogRef.Companies
+
+
+ true
+
+
+ true
+
+
+
+ Agreement
+
+ en
+ Agreement
+
+ 8
+
+ CatalogRef.Agreements
+
+
+ true
+
+
+ true
+
+
+
+ Order
+
+ en
+ Order
+
+ 9
+
+ DocumentRef.PurchaseOrder
+
+
+ true
+
+
+ true
+
+
+
+ Project
+
+ en
+ Project
+
+ 10
+
+ CatalogRef.Projects
+
+
+ true
+
+
+ true
+
+
+
+ TransactionDocument
+
+ en
+ Transaction document
+
+ 11
+
+ DocumentRef.SalesReportFromTradeAgent
+ DocumentRef.CashTransferOrder
+ DocumentRef.PurchaseInvoice
+ DocumentRef.DebitNote
+ DocumentRef.CreditNote
+ DocumentRef.PurchaseReturn
+ DocumentRef.OpeningEntry
+ DocumentRef.SalesReturn
+ DocumentRef.SalesReportToConsignor
+ DocumentRef.SalesInvoice
+
+
+ true
+
+
+ true
+
+
+
+ IsFixed
+
+ en
+ Is fixed
+
+ 12
+
+ Boolean
+
+
+ true
+
+
+ true
+
+
+
+ Document
+
+ en
+ Document
+
+ 13
+
+ DocumentRef.VendorsAdvancesClosing
+
+
+ true
+
+
+ true
+
+
+
+ Amount
+
+ en
+ Amount
+
+ 14
+
+ DefinedType.typeAmount
+
+
+ true
+
+
+ true
+
+
+
SetNewNumber
@@ -475,11 +1333,40 @@
Picture
Auto
+
+ SaveFixedOffset
+
+ en
+ Save fixed offset
+
+ 2
+
+
+ StdPicture.SaveFile
+
+
+
+ SaveFixedOffset
+
+
+ TextPicture
+ Auto
+
+
+ OnReadAtServer
+ OnReadAtServer
+
+
+ AfterWriteAtServer
+ AfterWriteAtServer
+
true
diff --git a/IRP/src/Documents/VendorsAdvancesClosing/Forms/DocumentForm/Module.bsl b/IRP/src/Documents/VendorsAdvancesClosing/Forms/DocumentForm/Module.bsl
index e2e77c9780..3c9f1bac5b 100644
--- a/IRP/src/Documents/VendorsAdvancesClosing/Forms/DocumentForm/Module.bsl
+++ b/IRP/src/Documents/VendorsAdvancesClosing/Forms/DocumentForm/Module.bsl
@@ -1,4 +1,86 @@
+&AtServer
+Procedure OnReadAtServer(CurrentObject)
+ FillFixedOffsetOfAdvances(CurrentObject.Ref);
+EndProcedure
+
+&AtServer
+Procedure AfterWriteAtServer(CurrentObject, WriteParameters)
+ FillFixedOffsetOfAdvances(CurrentObject.Ref);
+EndProcedure
+
+&AtClient
+Procedure SaveFixedOffset(Command)
+ SaveFixedOffsetAtServer();
+EndProcedure
+
+&AtServer
+Procedure SaveFixedOffsetAtServer()
+ RecordSet = InformationRegisters.T2018S_FixedOffsetOfAdvances.CreateRecordSet();
+ RecordSet.Filter.Document.Set(Object.Ref);
+ For Each Row In ThisObject.FixedOffsetOfAdvances Do
+ FillPropertyValues(RecordSet.Add(), Row);
+ EndDo;
+ RecordSet.Write();
+EndProcedure
+
+&AtClient
+Procedure FixedOffsetOfAdvancesBeforeAddRow(Item, Cancel, Clone, Parent, IsFolder, Parameter)
+ Cancel = True;
+
+ If Not ValueIsFilled(Object.Ref) Then
+ Callback = New CallbackDescription("WriteBeforAddNewRow", ThisObject);
+ ShowQueryBox(Callback, R().QuestionToUser_001, QuestionDialogMode.YesNo);
+ Else
+ FixedOffsetOfAdvancesAddRow();
+ EndIf;
+EndProcedure
+
+&AtClient
+Procedure WriteBeforAddNewRow(Result, Params) Export
+ If Result = DialogReturnCode.Yes And Write() Then
+ FixedOffsetOfAdvancesAddRow();
+ EndIf;
+EndProcedure
+
+&AtClient
+Procedure FixedOffsetOfAdvancesAddRow()
+ NewRow = ThisObject.FixedOffsetOfAdvances.Add();
+ NewRow.Document = Object.Ref;
+ NewRow.Company = Object.Company;
+ NewRow.Branch = Object.Branch;
+ NewRow.IsFixed = True;
+ Items.FixedOffsetOfAdvances.CurrentRow = NewRow.GetID();
+ If Items.FixedOffsetOfAdvances.CurrentRow <> Undefined Then
+ Items.FixedOffsetOfAdvances.ChangeRow();
+ EndIf;
+EndProcedure
+
+&AtServer
+Procedure FillFixedOffsetOfAdvances(DocRef)
+ If Not ValueIsFilled(DocRef) Then
+ Return;
+ EndIf;
+
+ Query = New Query();
+ Query.Text =
+ "SELECT *
+ |FROM
+ | InformationRegister.T2018S_FixedOffsetOfAdvances AS T2018S_FixedOffsetOfAdvances
+ |WHERE
+ | T2018S_FixedOffsetOfAdvances.Document = &DocRef";
+ Query.SetParameter("DocRef", DocRef);
+ QueryResult = Query.Execute();
+ QuerySelection = QueryResult.Select();
+
+ ThisObject.FixedOffsetOfAdvances.Clear();
+
+ While QuerySelection.Next() Do
+ NewRow = ThisObject.FixedOffsetOfAdvances.Add();
+ FillPropertyValues(NewRow, QuerySelection);
+ EndDo;
+EndProcedure
+
&AtServer
Procedure OnCreateAtServer(Cancel, StandardProcessing)
DocumentsServer.OnCreateAtServer(Object, ThisObject, Cancel, StandardProcessing);
diff --git a/IRP/src/InformationRegisters/T2018S_FixedOffsetOfAdvances/ManagerModule.bsl b/IRP/src/InformationRegisters/T2018S_FixedOffsetOfAdvances/ManagerModule.bsl
new file mode 100644
index 0000000000..d409e3eb1e
--- /dev/null
+++ b/IRP/src/InformationRegisters/T2018S_FixedOffsetOfAdvances/ManagerModule.bsl
@@ -0,0 +1,17 @@
+#Region AccessObject
+
+// Get access key.
+// See Role.TemplateInformationRegisters
+//
+// Returns:
+// Structure - Get access key:
+// * Company - CatalogRef.Companies -
+// * Branch - CatalogRef.BusinessUnits -
+Function GetAccessKey() Export
+ AccessKeyStructure = New Structure;
+ AccessKeyStructure.Insert("Company", Catalogs.Companies.EmptyRef());
+ AccessKeyStructure.Insert("Branch", Catalogs.BusinessUnits.EmptyRef());
+ Return AccessKeyStructure;
+EndFunction
+
+#EndRegion
\ No newline at end of file
diff --git a/IRP/src/InformationRegisters/T2018S_FixedOffsetOfAdvances/T2018S_FixedOffsetOfAdvances.mdo b/IRP/src/InformationRegisters/T2018S_FixedOffsetOfAdvances/T2018S_FixedOffsetOfAdvances.mdo
new file mode 100644
index 0000000000..8bdfb065e2
--- /dev/null
+++ b/IRP/src/InformationRegisters/T2018S_FixedOffsetOfAdvances/T2018S_FixedOffsetOfAdvances.mdo
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+
+
+
+
+ T2018S_FixedOffsetOfAdvances
+
+ en
+ T2018S Fixed offset of advances
+
+ InDialog
+ Managed
+
+ Amount
+
+ en
+ Amount
+
+
+ DefinedType.typeAmount
+
+
+
+ Use
+ Use
+
+
+
+ Document
+
+ en
+ Document
+
+
+ DocumentRef.VendorsAdvancesClosing
+ DocumentRef.CustomersAdvancesClosing
+
+
+
+ true
+ Use
+ Use
+ true
+
+ true
+ true
+
+
+ IsFixed
+
+ en
+ Is fixed
+
+
+ Boolean
+
+
+
+ Use
+ Use
+
+ true
+
+
+ Company
+
+ en
+ Company
+
+
+ CatalogRef.Companies
+
+
+
+ Use
+ Use
+
+ true
+
+
+ Branch
+
+ en
+ Branch
+
+
+ CatalogRef.BusinessUnits
+
+
+
+ Use
+ Use
+
+ true
+
+
+ Currency
+
+ en
+ Currency
+
+
+ CatalogRef.Currencies
+
+
+
+ Use
+ Use
+
+ true
+
+
+ Partner
+
+ en
+ Partner
+
+
+ CatalogRef.Partners
+
+
+
+ Use
+ Use
+
+ true
+
+
+ LegalName
+
+ en
+ Legal name
+
+
+ CatalogRef.Companies
+
+
+
+ Use
+ Use
+
+ true
+
+
+ Agreement
+
+ en
+ Agreement
+
+
+ CatalogRef.Agreements
+
+
+
+ Use
+ Use
+
+ true
+
+
+ Order
+
+ en
+ Order
+
+
+ DocumentRef.PurchaseOrder
+ DocumentRef.SalesOrder
+
+
+
+ Use
+ Use
+
+ true
+
+
+ Project
+
+ en
+ Project
+
+
+ CatalogRef.Projects
+
+
+
+ Use
+ Use
+
+ true
+
+
+ TransactionDocument
+
+ en
+ Transaction document
+
+
+ DocumentRef.SalesReportFromTradeAgent
+ DocumentRef.CashTransferOrder
+ DocumentRef.PurchaseInvoice
+ DocumentRef.DebitNote
+ DocumentRef.CreditNote
+ DocumentRef.PurchaseReturn
+ DocumentRef.OpeningEntry
+ DocumentRef.SalesReturn
+ DocumentRef.SalesReportToConsignor
+ DocumentRef.SalesInvoice
+
+
+
+ Use
+ Use
+
+ true
+
+
diff --git a/IRP/src/Roles/TemplateInformationRegisters/Rights.rights b/IRP/src/Roles/TemplateInformationRegisters/Rights.rights
index 6b9e0c19a4..5dfc2a3422 100644
--- a/IRP/src/Roles/TemplateInformationRegisters/Rights.rights
+++ b/IRP/src/Roles/TemplateInformationRegisters/Rights.rights
@@ -1596,6 +1596,20 @@
true
+