1
0
mirror of https://github.com/IRPTeam/IRP.git synced 2025-10-30 23:17:46 +02:00

#2337 #IRP-128 Check document posting (#2347)

This commit is contained in:
Dmitry Sherstobitov
2024-01-11 18:00:23 +03:00
committed by GitHub
parent 481ea060f9
commit f8be04252b
93 changed files with 3169 additions and 991 deletions

4
.gitignore vendored
View File

@@ -1,2 +1,2 @@
IRP/.settings/*.*
IRP/.settings/Default.cset
*.prefs
*.cset

View File

@@ -1,356 +0,0 @@
{
"version": 1,
"settings": {
"md-standard-attribute-synonym-empty": {
"enabled": false
},
"right-administration": {
"enabled": false
},
"use-non-recommended-method": {
"enabled": false
},
"module-region-empty": {
"enabled": false
},
"mdo-scheduled-job-description": {
"enabled": false
},
"right-configuration-extensions-administration": {
"enabled": false
},
"common-module-name-client-cached": {
"enabled": false
},
"dynamic-access-method-not-found": {
"enabled": false
},
"module-empty-method": {
"enabled": false
},
"right-data-administration": {
"enabled": false
},
"change-and-validate-instead-of-around": {
"enabled": false
},
"constructor-function-return-section": {
"enabled": false
},
"right-interactive-clear-deletion-mark-predefined-data": {
"enabled": false
},
"method-param-value-type": {
"enabled": false
},
"doc-comment-field-type-strict": {
"enabled": false
},
"role-right-has-rls": {
"enabled": false
},
"method-too-many-params": {
"enabled": false
},
"scheduled-job-periodicity-too-short": {
"enabled": false
},
"doc-comment-ref-link": {
"enabled": false
},
"doc-comment-return-section-type": {
"enabled": false
},
"right-interactive-set-deletion-mark-predefined-data": {
"enabled": false
},
"module-structure-event-regions": {
"enabled": false
},
"right-update-database-configuration": {
"enabled": false
},
"right-start-thick-client": {
"enabled": false
},
"module-structure-var-in-region": {
"enabled": false
},
"right-start-web-client": {
"enabled": false
},
"right-interactive-open-external-data-processors": {
"enabled": false
},
"new-color": {
"enabled": false
},
"ql-constants-in-binary-operation": {
"enabled": false
},
"data-exchange-load": {
"enabled": false
},
"common-module-type": {
"enabled": false
},
"bsl-variable-name-invalid": {
"enabled": false
},
"doc-comment-collection-item-type": {
"enabled": false
},
"module-unused-local-variable": {
"enabled": false
},
"right-delete": {
"enabled": false
},
"common-module-name-global": {
"enabled": false
},
"common-module-name-cached": {
"enabled": false
},
"right-view-event-log": {
"enabled": false
},
"notify-description-to-server-procedure": {
"enabled": false
},
"mdo-name-length": {
"enabled": false
},
"missing-temporary-file-deletion": {
"enabled": false
},
"right-interactive-delete-predefined-data": {
"enabled": false
},
"module-structure-init-code-in-region": {
"enabled": false
},
"right-start-external-connection": {
"enabled": false
},
"doc-comment-use-minus": {
"enabled": false
},
"right-interactive-delete-marked-predefined-data": {
"enabled": false
},
"property-return-type": {
"enabled": false
},
"unsafe-password-ib-storage": {
"enabled": false
},
"right-exclusive-mode": {
"enabled": false
},
"module-unused-method": {
"enabled": false
},
"right-interactive-open-external-reports": {
"enabled": false
},
"configuration-data-lock-mode": {
"enabled": false
},
"manager-module-named-self-reference": {
"enabled": false
},
"common-module-name-client-server": {
"enabled": false
},
"doc-comment-procedure-return-section": {
"enabled": false
},
"bsl-canonical-pragma": {
"enabled": false
},
"form-list-ref-use-always-flag-disabled": {
"enabled": false
},
"ql-temp-table-index": {
"enabled": false
},
"subsystem-synonym-too-long": {
"enabled": false
},
"lock-out-of-try": {
"enabled": false
},
"db-object-ref-non-ref-type": {
"enabled": false
},
"doc-comment-redundant-parameter-section": {
"enabled": false
},
"right-interactive-delete": {
"enabled": false
},
"structure-consructor-value-type": {
"enabled": false
},
"event-heandler-boolean-param": {
"enabled": false
},
"doc-comment-parameter-in-description-suggestion": {
"enabled": false
},
"doc-comment-complex-type-with-link": {
"enabled": false
},
"doc-comment-export-function-return-section": {
"enabled": false
},
"ql-like-expression-with-field": {
"enabled": false
},
"input-field-list-choice-mode": {
"enabled": false
},
"doc-comment-parameter-section": {
"enabled": false
},
"form-self-reference": {
"enabled": false
},
"empty-except-statement": {
"enabled": false
},
"doc-comment-field-name": {
"enabled": false
},
"form-module-missing-pragma": {
"enabled": false
},
"doc-comment-field-in-description-suggestion": {
"enabled": false
},
"right-active-users": {
"enabled": false
},
"module-structure-top-region": {
"enabled": false
},
"right-output-to-printer-file-clipboard": {
"enabled": false
},
"right-all-functions-mode": {
"enabled": false
},
"common-module-name-server-call": {
"enabled": false
},
"ql-camel-case-string-literal": {
"enabled": false
},
"common-module-named-self-reference": {
"enabled": false
},
"module-accessibility-at-client": {
"enabled": false
},
"module-structure-method-in-regions": {
"enabled": false
},
"doc-comment-field-type": {
"enabled": false
},
"ql-virtual-table-filters": {
"enabled": false
},
"server-execution-safe-mode": {
"enabled": false
},
"ql-join-to-sub-query": {
"enabled": false
},
"using-isinrole": {
"enabled": false
},
"common-module-name-server-call-cached": {
"enabled": false
},
"doc-comment-type": {
"enabled": false
},
"form-dynamic-list-item-title": {
"enabled": false
},
"reading-attribute-from-database": {
"enabled": false
},
"invocation-form-event-handler": {
"enabled": false
},
"right-start-automation": {
"enabled": false
},
"common-module-name-client": {
"enabled": false
},
"bsl-nstr-string-literal-format": {
"enabled": false
},
"ql-cast-to-max-number": {
"enabled": false
},
"function-return-value-type": {
"enabled": false
},
"invocation-parameter-type-intersect": {
"enabled": false
},
"ql-using-for-update": {
"enabled": false
},
"export-method-in-command-form-module": {
"enabled": false
},
"form-module-pragma": {
"enabled": false
},
"variable-value-type": {
"enabled": false
},
"db-object-anyref-type": {
"enabled": false
},
"md-list-object-presentation": {
"enabled": false
},
"right-start-thin-client": {
"enabled": false
},
"form-list-ref-user-visibility-enabled": {
"enabled": false
},
"module-structure-form-event-regions": {
"enabled": false
},
"form-items-single-event-handler": {
"enabled": false
},
"query-in-loop": {
"enabled": false
},
"structure-consructor-too-many-keys": {
"enabled": false
},
"form-list-field-ref-not-added": {
"enabled": false
},
"module-self-reference": {
"enabled": false
},
"statement-type-change": {
"enabled": false
},
"right-save-user-data": {
"enabled": false
}
}
}

View File

@@ -0,0 +1,3 @@
activeProfile=All_Errors
disableMassiveChecks=false
eclipse.preferences.version=1

View File

@@ -0,0 +1,2 @@
eclipse.preferences.version=1
topObjects=false

View File

@@ -0,0 +1,3 @@
addModuleStrictTypesAnnotation=false
createModuleStructure=false
eclipse.preferences.version=1

View File

@@ -0,0 +1,3 @@
commonChecks=true
eclipse.preferences.version=1
standardChecks=true

View File

@@ -99,7 +99,7 @@ Procedure Expenses_LoadRecords(CalculationMovementCostRef) Export
PostingDataTables = New Map();
ExpenseTableSettings = PostingServer.PostingTableSettings(RecordSet.Metadata().Name, ExpenseTable, RecordSet);
ExpenseTableSettings = PostingServer.PostingTableSettings(ExpenseTable, RecordSet);
PostingDataTables.Insert(RecordSet.Metadata(), ExpenseTableSettings);
ArrayOfPostingInfo = New Array();

View File

@@ -73,7 +73,7 @@ Procedure BookValueOfFixedAsset_LoadRecords(CalculationMovementCostRef) Export
PostingDataTables = New Map();
BookValueTableSettings = PostingServer.PostingTableSettings(RecordSet.Metadata().Name, BookValueTable, RecordSet);
BookValueTableSettings = PostingServer.PostingTableSettings(BookValueTable, RecordSet);
PostingDataTables.Insert(RecordSet.Metadata(), BookValueTableSettings);
ArrayOfPostingInfo = New Array();

View File

@@ -36,4 +36,3 @@ Procedure SetCompanyFilter()
EndProcedure

View File

@@ -159,6 +159,7 @@ Procedure SetSettings()
EndProcedure
&AtClient
// @skip-check unknown-method-property
Procedure ChangingFormBySettings()
If Items.ViewPictures.Check Then
Items.GroupMainLeft.Group = ChildFormItemsGroup.Vertical;

View File

@@ -1,4 +1,5 @@
&AtClient
Procedure NewWriteProcessing(NewObject, Source, StandardProcessing)
//@skip-check unknown-method-property
ThisObject.List.QueryText = LocalizationEvents.ReplaceDescriptionLocalizationPrefix(ThisObject.List.QueryText);
EndProcedure

View File

@@ -262,6 +262,7 @@ Procedure OrderOrderAvailableFieldsSelection(Item, RowSelected, Field, StandardP
EndIf;
ElsIf TypeOf(SelectedAreas[0]) = Type("SpreadsheetDocumentRange") Then
If SelectedAreas.Count() Then
//@skip-check unknown-method-property
SelectedAreas[0].Merge();
EndIf;
If RowSelectedString = "BarcodePicture" Or RowSelectedString = "QRPicture" Or RowSelectedString = "ItemPicture"

View File

@@ -24,6 +24,7 @@ EndProcedure
&AtClient
Async Procedure QuantityOnChange(Item)
//@skip-check unknown-method-property
TableIsFilled = Object.ExtDimensionTypes.Count() > 0;
If TableIsFilled Then
@@ -32,6 +33,7 @@ Async Procedure QuantityOnChange(Item)
If TableIsFilled And Answer = DialogReturnCode.OK Then
For Each Row In Object.ExtDimensionTypes Do
//@skip-check unknown-method-property
Row.Quantity = Object.Quantity;
EndDo;
EndIf;
@@ -39,6 +41,7 @@ EndProcedure
&AtClient
Async Procedure CurrencyOnChange(Item)
//@skip-check unknown-method-property
TableIsFilled = Object.ExtDimensionTypes.Count() > 0;
If TableIsFilled Then
@@ -47,6 +50,7 @@ Async Procedure CurrencyOnChange(Item)
If TableIsFilled And Answer = DialogReturnCode.OK Then
For Each Row In Object.ExtDimensionTypes Do
//@skip-check unknown-method-property
Row.Currency = Object.Currency;
EndDo;
EndIf;

View File

@@ -54,6 +54,7 @@ Procedure ExternalDataProcessorOnActivateRow(Item)
If CurrentRow = Undefined Then
Return;
EndIf;
//@skip-check unknown-method-property
PutSettingsToTempStorage(CurrentRow.LineNumber);
EndProcedure

View File

@@ -629,6 +629,37 @@
<items xsi:type="form:FormGroup">
<name>GroupJobList</name>
<id>89</id>
<items xsi:type="form:Button">
<name>DoNotCloseForm</name>
<id>135</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>DoNotCloseFormExtendedTooltip</name>
<id>136</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>
<commandName>Form.Command.DoNotCloseForm</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
<locationInCommandBar>InAdditionalSubmenu</locationInCommandBar>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -763,6 +794,7 @@
<editMode>Enter</editMode>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<extInfo xsi:type="form:ImageFieldExtInfo">
<width>3</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
@@ -770,6 +802,93 @@
<fileDragMode>AsFileRef</fileDragMode>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>JobListPercent</name>
<id>129</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>JobList.Percent</segments>
</dataPath>
<extendedTooltip>
<name>JobListPercentExtendedTooltip</name>
<id>131</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>JobListPercentContextMenu</name>
<id>130</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<width>3</width>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>en</key>
<value>Job list group icon</value>
</title>
<width>3</width>
<horizontalStretch>false</horizontalStretch>
<groupHorizontalAlign>Center</groupHorizontalAlign>
<extendedTooltip>
<name>JobListGroupIconExtendedTooltip</name>
<id>86</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>
<type>ColumnGroup</type>
<extInfo xsi:type="form:ColumnGroupExtInfo">
<group>Vertical</group>
<showTitle>true</showTitle>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>JobListGroupPercent</name>
<id>127</id>
<items xsi:type="form:FormField">
<name>JobListStatus</name>
<id>49</id>
@@ -807,7 +926,9 @@
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
@@ -818,6 +939,57 @@
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>JobListPercentIndicator</name>
<id>132</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>JobList.PercentIndicator</segments>
</dataPath>
<extendedTooltip>
<name>JobListPercentIndicatorExtendedTooltip</name>
<id>134</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>JobListPercentIndicatorContextMenu</name>
<id>133</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -825,11 +997,11 @@
</userVisible>
<title>
<key>en</key>
<value>Job list group icon</value>
<value>Job list group percent</value>
</title>
<extendedTooltip>
<name>JobListGroupIconExtendedTooltip</name>
<id>86</id>
<name>JobListGroupPercentExtendedTooltip</name>
<id>128</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -844,7 +1016,7 @@
</extendedTooltip>
<type>ColumnGroup</type>
<extInfo xsi:type="form:ColumnGroupExtInfo">
<group>InCell</group>
<group>Vertical</group>
<showTitle>true</showTitle>
</extInfo>
</items>
@@ -883,6 +1055,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
@@ -931,6 +1104,7 @@
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
@@ -997,20 +1171,115 @@
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>JobListEnd</name>
<id>29</id>
<items xsi:type="form:FormGroup">
<name>JobListGroupEnd</name>
<id>139</id>
<items xsi:type="form:FormField">
<name>JobListEnd</name>
<id>29</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>JobList.End</segments>
</dataPath>
<extendedTooltip>
<name>JobListEndExtendedTooltip</name>
<id>31</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>JobListEndContextMenu</name>
<id>30</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>JobListCallbackDone</name>
<id>141</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>JobList.CallbackDone</segments>
</dataPath>
<extendedTooltip>
<name>JobListCallbackDoneExtendedTooltip</name>
<id>143</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>JobListCallbackDoneContextMenu</name>
<id>142</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<readOnly>true</readOnly>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>JobList.End</segments>
</dataPath>
<title>
<key>en</key>
<value>Job list group end</value>
</title>
<extendedTooltip>
<name>JobListEndExtendedTooltip</name>
<id>31</id>
<name>JobListGroupEndExtendedTooltip</name>
<id>140</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -1023,28 +1292,10 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>JobListEndContextMenu</name>
<id>30</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<type>ColumnGroup</type>
<extInfo xsi:type="form:ColumnGroupExtInfo">
<group>InCell</group>
<showTitle>true</showTitle>
</extInfo>
</items>
<visible>true</visible>
@@ -1228,18 +1479,119 @@
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>JobListEndAt</name>
<id>35</id>
<items xsi:type="form:FormGroup">
<name>JobListGroupSpeed</name>
<id>137</id>
<items xsi:type="form:FormField">
<name>JobListSpeed</name>
<id>32</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>JobList.Speed</segments>
</dataPath>
<extendedTooltip>
<name>JobListSpeedExtendedTooltip</name>
<id>34</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>JobListSpeedContextMenu</name>
<id>33</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>JobListEndAt</name>
<id>35</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible/>
<dataPath xsi:type="form:DataPath">
<segments>JobList.EndAt</segments>
</dataPath>
<extendedTooltip>
<name>JobListEndAtExtendedTooltip</name>
<id>37</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>JobListEndAtContextMenu</name>
<id>36</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible/>
<dataPath xsi:type="form:DataPath">
<segments>JobList.EndAt</segments>
</dataPath>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>en</key>
<value>Job list group speed</value>
</title>
<extendedTooltip>
<name>JobListEndAtExtendedTooltip</name>
<id>37</id>
<name>JobListGroupSpeedExtendedTooltip</name>
<id>138</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -1252,76 +1604,10 @@
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>JobListEndAtContextMenu</name>
<id>36</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>JobListSpeed</name>
<id>32</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible/>
<dataPath xsi:type="form:DataPath">
<segments>JobList.Speed</segments>
</dataPath>
<extendedTooltip>
<name>JobListSpeedExtendedTooltip</name>
<id>34</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>JobListSpeedContextMenu</name>
<id>33</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
<type>ColumnGroup</type>
<extInfo xsi:type="form:ColumnGroupExtInfo">
<group>Vertical</group>
<showTitle>true</showTitle>
</extInfo>
</items>
<autoCommandBar>
@@ -2287,6 +2573,61 @@
<common>true</common>
</edit>
</columns>
<columns>
<name>PercentIndicator</name>
<title>
<key>en</key>
<value>Percent indicator</value>
</title>
<id>30</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>Percent</name>
<title>
<key>en</key>
<value>Percent</value>
</title>
<id>31</id>
<valueType>
<types>Number</types>
<numberQualifiers>
<precision>3</precision>
</numberQualifiers>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
<columns>
<name>CallbackDone</name>
<title>
<key>en</key>
<value>Callback done</value>
</title>
<id>33</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</columns>
</attributes>
<attributes>
<name>UpdatePause</name>
@@ -2478,6 +2819,40 @@
<common>true</common>
</edit>
</attributes>
<attributes>
<name>DoNotCloseForm</name>
<title>
<key>en</key>
<value>Do not close form</value>
</title>
<id>32</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>CallbackWhenAllJobsDone</name>
<title>
<key>en</key>
<value>Callback when all jobs done</value>
</title>
<id>34</id>
<valueType>
<types>Boolean</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>UpdateStatuses</name>
<title>
@@ -2499,6 +2874,23 @@
<representation>TextPicture</representation>
<currentRowUse>Auto</currentRowUse>
</formCommands>
<formCommands>
<name>DoNotCloseForm</name>
<title>
<key>en</key>
<value>Do not close form on complete</value>
</title>
<id>2</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>DoNotCloseForm</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
</formCommands>
<parameters>
<name>JobDataSettings</name>
<valueType/>

View File

@@ -1,9 +1,20 @@
// @strict-types
&AtClient
Procedure DoNotCloseForm(Command)
DoNotCloseForm = Not DoNotCloseForm;
Items.DoNotCloseForm.Check = DoNotCloseForm;
EndProcedure
&AtServer
Procedure OnCreateAtServer(Cancel, StandardProcessing)
JobDataSettings = Parameters.JobDataSettings; // See BackgroundJobAPIServer.JobDataSettings
If JobDataSettings.JobSettings.Count() = 0 Then
Cancel = True;
Return;
EndIf;
CallbackFunction = JobDataSettings.CallbackFunction;
CallbackModule = JobDataSettings.CallbackModule;
@@ -13,6 +24,7 @@ Procedure OnCreateAtServer(Cancel, StandardProcessing)
DontContinueOnError = JobDataSettings.StopOnErrorAnyJob;
MaxJobStream = JobDataSettings.JobLimitCount;
CallbackWhenAllJobsDone = JobDataSettings.CallbackWhenAllJobsDone;
EndProcedure
&AtClient
@@ -23,7 +35,7 @@ Procedure OnOpen(Cancel)
EndIf;
CheckJobStatus();
Title = FormOwner.Title + " [ Jobs: " + JobList.Count() + " ]";
Title = FormOwner.Title + " [Jobs: " + JobList.Count() + "]";
EndProcedure
&AtClient
@@ -33,29 +45,46 @@ EndProcedure
&AtClient
Procedure CheckJobStatus() Export
If CheckJobStatusAtServer() Then
AttachIdleHandler("CheckJobStatus", UpdatePause, True);
Else
AllJobDone = CheckJobStatusAtServer();
If AllJobDone Then
DetachIdleHandler("CheckJobStatus");
Items.FormUpdateStatuses.Visible = False;
If Not IsBlankString(CallbackFunction) Then
JobsResult = GetJobsResult();
If DontContinueOnError Then
For Each JobData In JobsResult Do
If Not JobData.Result Then
Return;
EndIf;
EndDo;
EndIf;
If IsBlankString(CallbackModule) Then
Execute "FormOwner." + CallbackFunction + "(JobsResult)";
Close();
Else
Callback(JobsResult);
EndIf;
EndIf;
Else
AttachIdleHandler("CheckJobStatus", UpdatePause, True);
EndIf;
UpdateLabels();
RunCallbackForOwner(AllJobDone);
EndProcedure
&AtClient
Procedure RunCallbackForOwner(AllJobDone)
Items.FormUpdateStatuses.Enabled = False;
If IsBlankString(CallbackFunction) Then
Return;
EndIf;
JobsResult = GetJobsResult();
If JobsResult.Count() = 0 Then
Return;
EndIf;
If DontContinueOnError And CallbackWhenAllJobsDone Then
For Each JobData In JobsResult Do
If Not JobData.Result Then
MaxJobStream = 0;
Return;
EndIf;
EndDo;
EndIf;
If IsBlankString(CallbackModule) Then
Execute "FormOwner." + CallbackFunction + "(JobsResult, AllJobDone)";
Else
Callback(JobsResult);
EndIf;
If Not DoNotCloseForm And AllJobDone Then
Close();
EndIf;
Items.FormUpdateStatuses.Enabled = True;
EndProcedure
&AtClient
@@ -68,7 +97,7 @@ EndProcedure
&AtServer
Procedure Callback(JobsResult)
Execute "CallbackModule" + "." + CallbackFunction + "(JobsResult)";
Execute "CallbackModule" + "." + CallbackFunction + "(JobsResult, AllJobDone)";
EndProcedure
&AtServer
@@ -83,10 +112,10 @@ Function CheckJobStatusAtServer()
BackgroundJobAPIServer.RunJobs(JobList, MaxJobStream);
For Each Row In JobList Do
If Row.Status = Enums.JobStatus.Active OR Row.Status = Enums.JobStatus.Wait Then
Return True;
Return False;
EndIf;
EndDo;
Return False;
Return True;
EndFunction

View File

@@ -682,7 +682,6 @@ Function GetAdditionalSettings(RowOwner, TableOfSettings)
RowOwner.Rows.Add(NewRow_Documents);
// Link \ Unlink document rows
FullName = "Documents.LinkUnlinkDocumentRows.Settings";

View File

@@ -231,6 +231,7 @@ Function GetSettingsComposerFilter(SettingsComposer, Name)
FindField = New DataCompositionField(Name);
For Each Item In SettingsComposer.Settings.Filter.Items Do
If Item.LeftValue = FindField Then
//@skip-check unknown-method-property
UserFilterItem = SettingsComposer.UserSettings.Items.Find(Item.UserSettingID);
Filter = New Structure();
Filter.Insert("Value", UserFilterItem.RightValue);

View File

@@ -98,7 +98,6 @@ Procedure SelectLedgerType_MultipleDocuments(Result, AdditionalParameters) Expor
EndProcedure
Procedure AddExtDimensionRow(Object, Form, AnalyticRow, AnalyticType, ExtDimType, ExtDim)
If Not ValueIsFilled(ExtDim) Then
Return;

View File

@@ -65,7 +65,6 @@ Function GetOperationsDefinition()
Map.Insert(AO.ForeignCurrencyRevaluation_DR_R2020B_AdvancesFromCustomers_CR_R5021T_Revenues , New Structure("ByRow, RequestTable", True, True));
Map.Insert(AO.ForeignCurrencyRevaluation_DR_R5022T_Expenses_CR_R2020B_AdvancesFromCustomers , New Structure("ByRow, RequestTable", True, True));
Return Map;
EndFunction
@@ -198,7 +197,6 @@ Function ExtractValueByType(ObjectData, RowData, ArrayOfTypes, AdditionalAnalyti
EndIf;
EndDo;
Return Undefined;
EndFunction
@@ -715,8 +713,6 @@ Function __GetT9012S_AccountsPartner(Period, Company, LedgerTypeVariant, Partner
QueryResults = Query.ExecuteBatch();
Result = New Structure();
Result.Insert("AccountAdvancesVendor" , Undefined);
Result.Insert("AccountTransactionsVendor" , Undefined);
@@ -1258,11 +1254,10 @@ Function GetAccountingData_LandedCost(Parameters)
CurrenciesTable = Parameters.Recorder.Currencies.UnloadColumns();
CurrenciesServer.UpdateCurrencyTable(CurrenciesTableParams, CurrenciesTable);
CurrenciesParameters = New Structure();
PostingDataTables = New Map();
TableAccountingAmountsSettings = PostingServer.PostingTableSettings(RecordSet_AccountingAmounts.Metadata().Name, TableAccountingAmounts, RecordSet_AccountingAmounts);
TableAccountingAmountsSettings = PostingServer.PostingTableSettings(TableAccountingAmounts, RecordSet_AccountingAmounts);
PostingDataTables.Insert(RecordSet_AccountingAmounts.Metadata(), TableAccountingAmountsSettings);
ArrayOfPostingInfo = New Array();
@@ -1616,7 +1611,6 @@ Procedure CreateJE_ByArrayRefs(ArrayOfRefs, ArrayOfLedgerTypes) Export
DocumentTable.Columns.Add("Document", Metadata.Documents.JournalEntry.Attributes.Basis.Type);
DocumentTable.Columns.Add("LedgerType", New TypeDescription("CatalogRef.LedgerTypes"));
For Each Ref In ArrayOfRefs Do
AvailableLedgerTypes = GetLedgerTypesByCompany(Ref, Ref.Date, Ref.Company);
For Each LedgerTpe In ArrayOfLedgerTypes Do
@@ -1719,8 +1713,3 @@ EndProcedure
#EndRegion

View File

@@ -38,7 +38,6 @@ Procedure CreateUser(UserObject) Export
User.Roles.Add(Metadata.Roles[Row.Name]);
EndDo;
Else
User.Roles.Add(Metadata.Roles.FullAccessInArea);
User.Roles.Add(Metadata.Roles.RunThinClient);
User.Roles.Add(Metadata.Roles.RunWebClient);
EndIf;

View File

@@ -5,6 +5,12 @@
// JobDataSettings - See JobDataSettings
Procedure OpenJobForm(JobDataSettings, OwnerForm) Export
OpenForm("CommonForm.BackgroundMultiJob", New Structure("JobDataSettings", JobDataSettings), OwnerForm, , , , , FormWindowOpeningMode.LockOwnerWindow);
If JobDataSettings.CallbackWhenAllJobsDone Then
OpenMode = FormWindowOpeningMode.LockOwnerWindow;
Else
OpenMode = FormWindowOpeningMode.Independent;
EndIf;
OpenForm("CommonForm.BackgroundMultiJob", New Structure("JobDataSettings", JobDataSettings), OwnerForm, , , , , OpenMode);
EndProcedure

View File

@@ -24,6 +24,7 @@ EndFunction
// * ProcedurePath - String -
// * JobLimitCount - Number - If = 0 then all tasks are launched simultaneously.
// * StopOnErrorAnyJob - Boolean -
// * CallbackWhenAllJobsDone - Boolean -
// * JobSettings - Array Of See JobSettings
Function JobDataSettings() Export
Settings = New Structure;
@@ -33,6 +34,7 @@ Function JobDataSettings() Export
Settings.Insert("JobLimitCount", 5);
Settings.Insert("StopOnErrorAnyJob", True);
Settings.Insert("JobSettings", New Array);
Settings.Insert("CallbackWhenAllJobsDone", True);
Return Settings;
EndFunction
@@ -43,6 +45,7 @@ EndFunction
// * Percent - Number -
// * Log - String -
// * Data - String -
// * Speed - String -
// * End - Boolean -
Function NotifySettings() Export
Settings = New Structure;
@@ -50,6 +53,7 @@ Function NotifySettings() Export
Settings.Insert("Log", "");
Settings.Insert("DataAddress", Undefined);
Settings.Insert("End", False);
Settings.Insert("Speed", "");
Return Settings;
EndFunction
@@ -191,7 +195,7 @@ Procedure FillJobInfo(Job, JobRow)
MsgArray = New Array; // Array Of String
If JobRow.NonJobData = Undefined Then
UsrMsg = Job.GetUserMessages();
UsrMsg = Job.GetUserMessages(True);
If Job.State = BackgroundJobState.Active Then
JobRow.Status = Enums.JobStatus.Active;
ElsIf Job.State = BackgroundJobState.Canceled Then
@@ -204,7 +208,7 @@ Procedure FillJobInfo(Job, JobRow)
JobRow.Status = Enums.JobStatus.EmptyRef();
EndIf;
Else
UsrMsg = GetUserMessages();
UsrMsg = GetUserMessages(True);
JobRow.Status = Job.State;
EndIf;
@@ -228,9 +232,16 @@ Procedure FillJobInfo(Job, JobRow)
If Not IsBlankString(NotifySettings.Log) Then
LogData.Insert(0, NotifySettings.Log);
EndIf;
If Not IsBlankString(NotifySettings.Speed) Then
JobRow.Speed = NotifySettings.Speed;
EndIf;
If NotifySettings.End Then
JobRow.DataAddress = NotifySettings.DataAddress;
NotifySettings.Percent = 100;
EndIf;
If NotifySettings.Percent > 0 Then
JobRow.Percent = NotifySettings.Percent;
JobRow.PercentIndicator = Left("|||||||||||||||||||||||||||||||||||||||||||||||||", Int(NotifySettings.Percent / 2));
EndIf;
Else
MsgArray.Insert(0, Message.Text);
@@ -255,7 +266,7 @@ EndProcedure
// Get jobs result.
//
// Parameters:
// JobList Job list
// JobList - See CommonForm.BackgroundMultiJob.JobList
//
// Returns:
// Array Of Structure:
@@ -265,10 +276,21 @@ Function GetJobsResult(JobList) Export
Array = New Array; // Array Of Structure
For Each Row In JobList Do
Str = New Structure;
Str.Insert("Result", Row.Status = Enums.JobStatus.Completed);
Str.Insert("CacheKey", Row.DataAddress);
Array.Add(Str);
If Row.CallbackDone Then
Continue;
EndIf;
If Row.Status = Enums.JobStatus.Completed
OR Row.Status = Enums.JobStatus.Failed Then
Str = New Structure;
Str.Insert("Result", Row.Status = Enums.JobStatus.Completed);
Str.Insert("CacheKey", Row.DataAddress);
Array.Add(Str);
Row.CallbackDone = True;
EndIf;
EndDo;
Return Array;

View File

@@ -175,6 +175,8 @@ Function ProcessBarcodes(Barcodes, Settings)
BarcodeResult = BarcodeServer.SearchByBarcodes(Barcodes, ServerSettings);
// TODO: is error?
//@skip-check wrong-type-expression
Settings.Result.FoundedItems = BarcodeResult.FoundedItems;
Settings.Result.Barcodes = BarcodeResult.Barcodes;

View File

@@ -1004,7 +1004,11 @@ EndFunction
// Returns:
// BinaryData - String from base64 ZIP
Function StringFromBase64ZIP(Base64Zip, FileName = Undefined) Export
MStream = New MemoryStream(GetBinaryDataBufferFromBase64String(Base64Zip));
If TypeOf(Base64Zip) = Type("BinaryData") Then
MStream = New MemoryStream(GetBinaryDataBufferFromBinaryData(Base64Zip));
Else
MStream = New MemoryStream(GetBinaryDataBufferFromBase64String(Base64Zip));
EndIf;
ZIP = New ZipFileReader(MStream);
TmpFileName = TempFilesDir();
ZIP.Extract(ZIP.Items[0], TmpFileName);

View File

@@ -13,7 +13,6 @@ Procedure FillStructureDataByObject(StructureData, Val Object, Val Attr, Val Val
Return;
EndIf;
LastStructure = StructureData;
For Index = 1 To NameList.UBound() Do

View File

@@ -12,6 +12,7 @@ Procedure CopyToClipboard(Object, Form) Export
Notify = New NotifyDescription("CopyToClipboardAfterSetSettings", Form);
OpenSettings = New Structure;
If Not Object = Undefined Then
//@skip-check unknown-method-property
OpenSettings.Insert("Ref", Object.Ref);
EndIf;
OpenSettings.Insert("CopySettings", CopySettings());
@@ -62,6 +63,7 @@ Procedure PasteFromClipboard(Object, Form) Export
Notify = New NotifyDescription("PasteFromClipboardAfterSetSettings", Form);
OpenSettings = New Structure;
If Not Object = Undefined Then
//@skip-check unknown-method-property
OpenSettings.Insert("Ref", Object.Ref);
EndIf;
OpenSettings.Insert("PasteSettings", PasteSettings());

View File

@@ -42,8 +42,6 @@ Procedure PreparePostingDataTables(Parameters, CurrencyTable, AddInfo = Undefine
_PaymentList.Columns.Add("LegalName");
_PaymentList.Columns.Add("Key");
_PaymentList.Columns.Add("BasisDocument");
If Parameters.Metadata = Metadata.Documents.CashReceipt Or Parameters.Metadata = Metadata.Documents.BankReceipt Then
DocumentCondition = True;

View File

@@ -215,5 +215,3 @@ EndProcedure
#EndRegion

View File

@@ -1429,6 +1429,7 @@ Function GetParametersPickupItems(Object, Form, AddInfo)
ServerParameters = ControllerClientServer_V2.GetServerParameters(Object);
ServerParameters.TableName = "ItemList";
//@skip-check transfer-object-between-client-server
FormParameters = ControllerClientServer_V2.GetFormParameters(Form);
ServerSideParameters = New Structure();
ServerSideParameters.Insert("ServerParameters", ServerParameters);

View File

@@ -1030,7 +1030,7 @@ Function TransformToTypeBySource(Data, Source)
EndFunction
Function ToXMLString(Data)
// @skip-check Undefined function
// @skip-check undefined-function
Return XMLString(Data);
EndFunction

View File

@@ -82,7 +82,7 @@ Function IsUseSimpleMode() Export
EndFunction
Function IsUseFixedAssets() Export
Return GetFunctionalOption("UseFixedAsstes");
Return GetFunctionalOption("UseFixedAssets");
EndFunction
Function IsUseShipmentConfirmationAndGoodsReceipts() Export

View File

@@ -980,7 +980,6 @@ Function GetBatchWiseBalance(CalculationSettings)
TableOfReturnedBatches.Columns.Add("AllocatedRevenueAmount" , RegMetadata.Resources.AllocatedRevenueAmount.Type);
TableOfReturnedBatches.Columns.Add("AllocatedRevenueTaxAmount" , RegMetadata.Resources.AllocatedRevenueTaxAmount.Type);
TableOfReturnedBatches.Columns.Add("InvoiceAmountBalance" , RegMetadata.Resources.InvoiceAmount.Type);
TableOfReturnedBatches.Columns.Add("InvoiceTaxAmountBalance" , RegMetadata.Resources.InvoiceTaxAmount.Type);

View File

@@ -1052,7 +1052,6 @@ Function Strings(Lang) Export
Strings.Insert("Error_139", NStr("en = 'Description not unique [%1]'", Lang));
Strings.Insert("Error_140", NStr("en = 'Partner type is required'", Lang));
Strings.Insert("Error_FillTotalAmount", NStr("en = 'Fill total amount. Row: [%1]'", Lang));
// manufacturing errors

View File

@@ -225,7 +225,6 @@ Function FillBillOfMaterialsTableCorrection(Parameters) Export
Row.BasisQuantity, Row.CurrentBasisQuantity, Row.BusinessUnit, Parameters);
EndDo;
For Each Row In ExpandedTable Do
FillPropertyValues(QueryTable.Add(), Row);
EndDo;

View File

@@ -5,6 +5,7 @@ Function RECOGNIZE_SPEECH() Export
If AppRun = Undefined Then
Return Undefined;
Else
//@skip-check unknown-method-property
Return AppRun.AdditionalData.Get("query").Value;
EndIf;
EndFunction

View File

@@ -888,11 +888,11 @@ Procedure Write_SelfRecords(Parameters,
// Currency calculation
PostingDataTables = New Map();
RecordSet_AdvancesSettings = PostingServer.PostingTableSettings(RecordSet_Advances.Metadata().Name, TableAdvances, RecordSet_Advances);
RecordSet_AdvancesSettings = PostingServer.PostingTableSettings(TableAdvances, RecordSet_Advances);
PostingDataTables.Insert(RecordSet_Advances.Metadata() , RecordSet_AdvancesSettings);
RecordSet_TransactionsSettings = PostingServer.PostingTableSettings(RecordSet_Transactions.Metadata().Name, TableTransactions, RecordSet_Transactions);
RecordSet_TransactionsSettings = PostingServer.PostingTableSettings(TableTransactions, RecordSet_Transactions);
PostingDataTables.Insert(RecordSet_Transactions.Metadata() , RecordSet_TransactionsSettings);
RecordSet_AccountingAmountsSettings = PostingServer.PostingTableSettings(RecordSet_AccountingAmounts.Metadata().Name, TableAccountingAmounts, RecordSet_AccountingAmounts);
RecordSet_AccountingAmountsSettings = PostingServer.PostingTableSettings(TableAccountingAmounts, RecordSet_AccountingAmounts);
PostingDataTables.Insert(RecordSet_AccountingAmounts.Metadata(), RecordSet_AccountingAmountsSettings);
ArrayOfPostingInfo = New Array();

View File

@@ -97,8 +97,6 @@ Function UploadPicture(File, Volume) Export
IntegrationSettings = PictureViewerServer.GetIntegrationSettingsFile();
EndIf;
FileID = String(New UUID());
FileInfo.FileID = FileID;
FileInfo.FileName = File.FileRef.Name;

View File

@@ -22,7 +22,11 @@ Procedure Post(DocObject, Cancel, PostingMode, AddInfo = Undefined) Export
EndIf;
// Multi currency integration
CurrencyTable = CommonFunctionsClientServer.GetFromAddInfo(AddInfo, "CurrencyTable");
CurrencyTable = Undefined;
If Parameters.DocumentDataTables.Property("CurrencyTable") Then
CurrencyTable = Parameters.DocumentDataTables.CurrencyTable;
EndIf;
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
RegisteredRecords = RegisterRecords(Parameters);
@@ -701,9 +705,10 @@ EndProcedure
Function CheckBalance_R4011B_FreeStocks(Ref, Tables, RecordType, Unposting, AddInfo = Undefined) Export
Parameters = New Structure();
Parameters.Insert("RegisterName" , "R4011B_FreeStocks");
Parameters.Insert("Operation" , "R4011B_FreeStocks");
Parameters.Insert("Metadata" , Metadata.AccumulationRegisters.R4011B_FreeStocks);
Parameters.Insert("Operation" , Metadata.AccumulationRegisters.R4011B_FreeStocks.Synonym);
Parameters.Insert("TempTablesManager" , New TempTablesManager());
Parameters.Insert("BalancePeriod", Undefined);
Return CheckBalance(Ref, Parameters, Tables, RecordType, Unposting, AddInfo);
EndFunction
@@ -718,9 +723,10 @@ EndFunction
Function CheckBalance_R4010B_ActualStocks(Ref, Tables, RecordType, Unposting, AddInfo = Undefined) Export
Parameters = New Structure();
Parameters.Insert("RegisterName" , "R4010B_ActualStocks");
Parameters.Insert("Operation" , "R4010B_ActualStocks");
Parameters.Insert("Metadata" , Metadata.AccumulationRegisters.R4010B_ActualStocks);
Parameters.Insert("Operation" , Metadata.AccumulationRegisters.R4010B_ActualStocks.Synonym);
Parameters.Insert("TempTablesManager" , New TempTablesManager());
Parameters.Insert("BalancePeriod", Undefined);
Return CheckBalance(Ref, Parameters, Tables, RecordType, Unposting, AddInfo);
EndFunction
@@ -735,14 +741,12 @@ EndFunction
Function CheckBalance(Ref, Parameters, Tables, RecordType, Unposting, AddInfo = Undefined)
IsFreeStock = Upper(Parameters.RegisterName) = Upper("R4011B_FreeStocks");
IsFreeStock = Parameters.Metadata = Metadata.AccumulationRegisters.R4011B_FreeStocks;
If RecordType = AccumulationRecordType.Expense Then
If IsFreeStock Then
Parameters.Insert("BalancePeriod", Undefined);
Else
Parameters.Insert("BalancePeriod",
CommonFunctionsClientServer.GetFromAddInfo(AddInfo, "BalancePeriod", New Boundary(Ref.PointInTime(), BoundaryType.Including)));
If Not IsFreeStock Then
Parameters.BalancePeriod =
CommonFunctionsClientServer.GetFromAddInfo(AddInfo, "BalancePeriod", New Boundary(Ref.PointInTime(), BoundaryType.Including));
EndIf;
CheckResult = CheckBalance_ExecuteQuery(Ref, Parameters, Tables, RecordType, Unposting, AddInfo);
@@ -754,8 +758,6 @@ Function CheckBalance(Ref, Parameters, Tables, RecordType, Unposting, AddInfo =
Return True;
EndIf;
Parameters.Insert("BalancePeriod" , Undefined);
Parameters.Insert("TempTablesManager" , New TempTablesManager());
CheckResult = CheckBalance_ExecuteQuery(Ref, Parameters, Tables, RecordType, Unposting, AddInfo);
If IsFreeStock Then
@@ -892,8 +894,8 @@ Function CheckBalance_ExecuteQuery(Ref, Parameters, Tables, RecordType, Unpostin
|;";
BalanceRegisterTable =
?(Upper(Parameters.RegisterName) = Upper("R4010B_ActualStocks"),
QueryText_R4010B_ActualStocks, QueryText_R4011B_FreeStocks);
?(Parameters.Metadata = Metadata.AccumulationRegisters.R4010B_ActualStocks,
QueryText_R4010B_ActualStocks, QueryText_R4011B_FreeStocks);
Query = New Query();
Query.TempTablesManager = Parameters.TempTablesManager;
@@ -1018,7 +1020,7 @@ Function CheckBalance_ExecuteQuery(Ref, Parameters, Tables, RecordType, Unpostin
| Lack.LackOfBalance,
| Lack.Unposting";
Query.Text = StrTemplate(Query.Text, Parameters.RegisterName);
Query.Text = StrTemplate(Query.Text, Parameters.Metadata.Name);
If Tables.Records_Exists.Columns.Find("SerialLotNumber") = Undefined Then
Tables.Records_Exists.Columns.Add("SerialLotNumber", New TypeDescription("CatalogRef.SerialLotNumbers"));
@@ -1145,7 +1147,6 @@ Function GetRegisterRecords(Parameters)
EndFunction
Procedure SetPostingDataTable(PostingDataTables, Parameters, Name, VT, RegisterRecords = Undefined) Export
If RegisterRecords = Undefined Then
RegisterRecords = GetRegisterRecords(Parameters);
EndIf;
@@ -1154,28 +1155,25 @@ Procedure SetPostingDataTable(PostingDataTables, Parameters, Name, VT, RegisterR
If Parameters.PostingByRef Then
RecSetData.Filter.Recorder.Set(Parameters.Object);
EndIf;
Settings = PostingTableSettings(Name, VT, RecSetData);
Settings = PostingTableSettings(VT, RecSetData);
PostingDataTables.Insert(RecSetData.Metadata(), Settings);
EndProcedure
// Posting table settings.
//
// Parameters:
// RegisterName - String -
// Table - ValueTable -
// RecSetData - InformationRegisterRecordSetInformationRegisterName, AccountingRegisterRecordSetAccountingRegisterName, CalculationRegisterRecordSetCalculationRegisterName, AccumulationRegisterRecordSetAccumulationRegisterName - Rec set data
//
// Returns:
// Structure - Posting table settings:
// * RegisterName - String -
// * PrepareTable - ValueTable -
// * WriteInTransaction - Boolean -
// * Metadata - MetadataObjectInformationRegister, MetadataObjectAccountingRegister, MetadataObjectCalculationRegister, MetadataObjectAccumulationRegister -
// * RecordSet_Document - AccumulationRegisterRecordSet, InformationRegisterRecordSet -
// * RecordType - Undefined, AccumulationRecordType -
Function PostingTableSettings(RegisterName, Table, RecSetData) Export
Function PostingTableSettings(Table, RecSetData) Export
Settings = New Structure;
Settings.Insert("RegisterName", RegisterName);
Settings.Insert("PrepareTable", Table);
Settings.Insert("WriteInTransaction", True);
Settings.Insert("Metadata", RecSetData.Metadata());
@@ -1295,6 +1293,7 @@ EndProcedure
// Returns:
// Array Of Structure - Check document array:
// * Ref - DocumentRefDocumentName -
// * Error - String -
// * RegInfo - Array Of Structure:
// ** RegName - String -
Function CheckDocumentArray(DocumentArray, isJob = False) Export
@@ -1312,9 +1311,10 @@ Function CheckDocumentArray(DocumentArray, isJob = False) Export
Return Errors;
EndIf;
If DocumentArray[0].GetObject().RegisterRecords.Count() = 0 Then
If DocumentArray[0].GetObject().RegisterRecords.Count() = 0
OR SkipOnCheckPosting(DocumentArray[0].Metadata()) Then
Msg = BackgroundJobAPIServer.NotifySettings();
Msg.Log = "Document type: " + DocumentArray[0].Metadata().Name + " can not be posted.";
Msg.Log = "Document type: " + DocumentArray[0].Metadata().Name + " not supported document type.";
Msg.End = True;
Msg.DataAddress = CommonFunctionsServer.PutToCache(Errors);
BackgroundJobAPIServer.NotifyStream(Msg);
@@ -1326,29 +1326,64 @@ Function CheckDocumentArray(DocumentArray, isJob = False) Export
Msg.Log = "Start check: " + DocumentArray.Count();
BackgroundJobAPIServer.NotifyStream(Msg);
EndIf;
Count = 0;
LastPercentLogged = 0;
StartDate = CurrentUniversalDateInMilliseconds();
For Each Doc In DocumentArray Do
DocObject = Doc;
Parameters = GetPostingParameters(DocObject, PostingMode, AddInfo);
// Multi currency integration
CurrencyTable = CommonFunctionsClientServer.GetFromAddInfo(AddInfo, "CurrencyTable");
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
RegisteredRecords = RegisterRecords(Parameters);
BeginTransaction();
If RegisteredRecords.Count() > 0 Then
DocObject = Doc;
Try
Parameters = GetPostingParameters(DocObject, PostingMode, AddInfo);
CurrencyTable = Undefined;
If Parameters.DocumentDataTables.Property("CurrencyTable") Then
CurrencyTable = Parameters.DocumentDataTables.CurrencyTable;
EndIf;
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
RegisteredRecords = RegisterRecords(Parameters);
If RegisteredRecords.Count() > 0 Then
Result = New Structure;
Result.Insert("Ref", Doc);
Result.Insert("RegInfo", New Array);
Result.Insert("Error", "");
For Each Reg In RegisteredRecords Do
RegInfo = New Structure;
RegInfo.Insert("RegName", Reg.Key.FullName());
RegInfo.Insert("NewPostingData", Reg.Value.RecordSet.Unload());
Result.RegInfo.Add(RegInfo);
EndDo;
Errors.Add(Result);
EndIf;
Except
Msg = BackgroundJobAPIServer.NotifySettings();
Msg.Log = "Error: " + DocObject + ":" + Chars.LF + ErrorProcessing.DetailErrorDescription(ErrorInfo());
BackgroundJobAPIServer.NotifyStream(Msg);
Result = New Structure;
Result.Insert("Ref", Doc);
Result.Insert("RegInfo", New Array);
For Each Reg In RegisteredRecords Do
RegInfo = New Structure;
RegInfo.Insert("RegName", Reg.Key.FullName());
Result.RegInfo.Add(RegInfo);
EndDo;
Result.Insert("Error", Msg.Log);
Errors.Add(Result);
EndTry;
RollbackTransaction();
Count = Count + 1;
Percent = 100 * Count / DocumentArray.Count();
If isJob And (Percent - LastPercentLogged >= 1) Then
LastPercentLogged = Int(Percent);
Msg = BackgroundJobAPIServer.NotifySettings();
DateDiff = CurrentUniversalDateInMilliseconds() - StartDate;
Msg.Speed = Format(1000 * Count / DateDiff, "NFD=2; NG=") + " doc/sec";
Msg.Percent = Percent;
BackgroundJobAPIServer.NotifyStream(Msg);
EndIf;
EndDo;
If isJob Then
@@ -1361,4 +1396,174 @@ Function CheckDocumentArray(DocumentArray, isJob = False) Export
Return Errors;
EndFunction
Function SkipOnCheckPosting(Doc)
Array = New Array;
Array.Add(Metadata.Documents.CalculationMovementCosts);
Return Not Array.Find(Doc) = Undefined;
EndFunction
// Posting document array.
//
// Parameters:
// DocumentArray - Array of DocumentRefDocumentName - Document array
// isJob - Boolean -
//
// Returns:
// Array Of Structure - Check document array:
// * Ref - DocumentRefDocumentName -
// * Error - String -
Function PostingDocumentArray(DocumentArray, isJob = False) Export
Errors = New Array;
If isJob And DocumentArray.Count() = 0 Then
Msg = BackgroundJobAPIServer.NotifySettings();
Msg.Log = "Empty doc list: " + DocumentArray.Count();
Msg.End = True;
Msg.DataAddress = CommonFunctionsServer.PutToCache(Errors);
BackgroundJobAPIServer.NotifyStream(Msg);
Return Errors;
EndIf;
Count = 0;
LastPercentLogged = 0;
StartDate = CurrentUniversalDateInMilliseconds();
For Each Doc In DocumentArray Do
Try
Result = New Structure;
Result.Insert("Ref", Doc);
Result.Insert("Error", "");
If Doc.Posted Then
Doc.GetObject().Write(DocumentWriteMode.Posting);
Else
Result.Error = String(Doc) + " - Not posted";
EndIf;
Errors.Add(Result);
Except
Msg = BackgroundJobAPIServer.NotifySettings();
Msg.Log = "Error: " + Doc + ":" + Chars.LF + ErrorProcessing.DetailErrorDescription(ErrorInfo());
BackgroundJobAPIServer.NotifyStream(Msg);
Result = New Structure;
Result.Insert("Ref", Doc);
Result.Insert("Error", Msg.Log);
Errors.Add(Result);
EndTry;
Count = Count + 1;
Percent = 100 * Count / DocumentArray.Count();
If isJob And (Percent - LastPercentLogged >= 1) Then
LastPercentLogged = Int(Percent);
Msg = BackgroundJobAPIServer.NotifySettings();
DateDiff = CurrentUniversalDateInMilliseconds() - StartDate;
Msg.Speed = Format(1000 * Count / DateDiff, "NFD=2; NG=") + " doc/sec";
Msg.Percent = Percent;
BackgroundJobAPIServer.NotifyStream(Msg);
EndIf;
EndDo;
If isJob Then
Msg = BackgroundJobAPIServer.NotifySettings();
Msg.End = True;
Msg.DataAddress = CommonFunctionsServer.PutToCache(Errors);
BackgroundJobAPIServer.NotifyStream(Msg);
EndIf;
Return Errors;
EndFunction
// Posting document array.
//
// Parameters:
// DocumentArray - Array of Structure:
// * Ref - DocumentRefDocumentName -
// * NewMovement - ValueStorage -
// * RegName - String -
// isJob - Boolean -
//
// Returns:
// Array Of Structure - Check document array:
// * Ref - DocumentRefDocumentName -
// * Error - String -
Function WriteDocumentsRecords(DocumentArray, isJob = False) Export
SetSafeMode(True);
Errors = New Array;
If isJob And DocumentArray.Count() = 0 Then
Msg = BackgroundJobAPIServer.NotifySettings();
Msg.Log = "Empty doc list: " + DocumentArray.Count();
Msg.End = True;
Msg.DataAddress = CommonFunctionsServer.PutToCache(Errors);
BackgroundJobAPIServer.NotifyStream(Msg);
Return Errors;
EndIf;
Count = 0;
LastPercentLogged = 0;
StartDate = CurrentUniversalDateInMilliseconds();
For Each Doc In DocumentArray Do
Try
Result = New Structure;
Result.Insert("Ref", Doc.Ref);
Result.Insert("RegName", Doc.RegName);
Result.Insert("Error", "");
NewMovement = Doc.NewMovement.Get(); // ValueTable
If Not Doc.Ref.Posted And NewMovement.Count() > 0 Then
Result.Error = String(Doc.Ref) + " - Not posted. Can not update records";
Else
Parts = StrSplit(Doc.RegName, ".");
CreateRecordSet = Eval(Parts[0] + "s." + Parts[1] + ".CreateRecordSet()"); // AccumulationRegisterRecordSet
//@skip-check unknown-method-property
CreateRecordSet.Filter.Recorder.Set(Doc.Ref);
NewMovement.FillValues(Doc.Ref, "Recorder");
CreateRecordSet.Load(NewMovement);
CreateRecordSet.Write(True);
EndIf;
Errors.Add(Result);
Except
Msg = BackgroundJobAPIServer.NotifySettings();
Msg.Log = "Error: " + Doc + ":" + Chars.LF + ErrorProcessing.DetailErrorDescription(ErrorInfo());
BackgroundJobAPIServer.NotifyStream(Msg);
Result = New Structure;
Result.Insert("Ref", Doc);
Result.Insert("Error", Msg.Log);
Result.Insert("RegName", Doc.RegName);
Errors.Add(Result);
EndTry;
Count = Count + 1;
Percent = 100 * Count / DocumentArray.Count();
If isJob And (Percent - LastPercentLogged >= 1) Then
LastPercentLogged = Int(Percent);
Msg = BackgroundJobAPIServer.NotifySettings();
DateDiff = CurrentUniversalDateInMilliseconds() - StartDate;
Msg.Speed = Format(1000 * Count / DateDiff, "NFD=2; NG=") + " doc/sec";
Msg.Percent = Percent;
BackgroundJobAPIServer.NotifyStream(Msg);
EndIf;
EndDo;
If isJob Then
Msg = BackgroundJobAPIServer.NotifySettings();
Msg.End = True;
Msg.DataAddress = CommonFunctionsServer.PutToCache(Errors);
BackgroundJobAPIServer.NotifyStream(Msg);
EndIf;
Return Errors;
EndFunction
#EndRegion

View File

@@ -241,7 +241,6 @@ Function GetLinkedDocumentsFilter_RRR(Object) Export
Filter.Insert("TransactionTypeRGR" , PredefinedValue("Enum.RetailGoodsReceiptTransactionTypes.ReturnFromCustomer"));
Filter.Insert("RetailCustomer" , Object.RetailCustomer);
Filter.Insert("Ref" , Object.Ref);
VisibleFields = New Structure();

View File

@@ -180,6 +180,14 @@ Procedure Posting_RowID(Source, Cancel, PostingMode) Export
Posting_TM1010B_RowIDMovements_POC(Source, Cancel, PostingMode);
EndIf;
If Is(Source).RSR OR Is(Source).RRR Then
If Source.StatusType = Enums.RetailReceiptStatusTypes.Canceled
OR Source.StatusType = Enums.RetailReceiptStatusTypes.Postponed Then
UndoPosting_RowIDUndoPosting(Source, Cancel);
Return;
EndIf;
EndIf;
If Source.Metadata().TabularSections.Find("RowIDInfo") = Undefined Then
Return;
EndIf;

View File

@@ -28,6 +28,7 @@ Procedure Undopost(DocObject, Cancel, AddInfo = Undefined) Export
Parameters.Insert("LockDataSources", New Map);
Parameters.Insert("PostingDataTables", New Map);
Parameters.Insert("Metadata", DocObject.Ref.Metadata());
Parameters.Insert("PostingByRef", False);
Module = Documents[DocObject.Ref.Metadata().Name]; // DocumentManager.SalesOrder

View File

@@ -248,6 +248,7 @@ Procedure RowDragCheck(Item, DragParameters, StandardProcessing)
If FindStartElement.LineNumber < FindEndElement.LineNumber Then
Return;
Else
//@skip-check unknown-method-property
For Index = FindEndElement.LineNumber To FindStartElement.LineNumber - 2 Do
If Not Object.RowParts[Index].isWhitespace Then
Return;

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,9 @@
&AtClient
Procedure OnOpen(Cancel)
OnlyPosted = True;
EndProcedure
&AtClient
Procedure FillDocuments(Command)
DocumentList.Clear();
@@ -88,8 +93,9 @@ EndFunction
//
// Parameters:
// Result - See BackgroundJobAPIServer.GetJobsResult
// AllJobDone - Boolean
&AtServer
Procedure GetJobsForCheckDocuments_Callback(Result) Export
Procedure GetJobsForCheckDocuments_Callback(Result, AllJobDone) Export
CheckListTree = FormAttributeToValue("CheckList");
DocumentErrors = New Array;
ErrorsDescriptions = AdditionalDocumentTableControlReuse.GetAllErrorsDescription();
@@ -373,18 +379,36 @@ Function GetJobsForCheckPostingDocuments()
JobDataSettings = BackgroundJobAPIServer.JobDataSettings();
JobDataSettings.CallbackFunction = "GetJobsForCheckPostingDocuments_Callback";
JobDataSettings.ProcedurePath = "PostingServer.CheckDocumentArray";
JobDataSettings.CallbackWhenAllJobsDone = False;
DocsInPack = 100;
For Each TypeItem In TypesTable Do
DocumentsRows = DocumentList.FindRows(New Structure("DocumentType", TypeItem.DocumentType));
DocumentTable = DocumentList.Unload(DocumentsRows, "Ref, Date, Picture");
JobSettings = BackgroundJobAPIServer.JobSettings();
JobSettings.ProcedureParams.Add(DocumentTable.UnloadColumn("Ref"));
JobSettings.ProcedureParams.Add(True);
JobSettings.Description = String(TypeItem.DocumentType) + ": " + DocumentTable.Count();
JobDataSettings.JobSettings.Add(JobSettings);
StreamArray = New Array;
Pack = 1;
TotalDocs = DocumentsRows.Count();
For Each Row In DocumentsRows Do
StreamArray.Add(Row.Ref);
If StreamArray.Count() = DocsInPack Then
JobSettings = BackgroundJobAPIServer.JobSettings();
JobSettings.ProcedureParams.Add(StreamArray);
JobSettings.ProcedureParams.Add(True);
JobSettings.Description = String(TypeItem.DocumentType) + ": " + Pack + " * (" + DocsInPack + ") / " + TotalDocs;
JobDataSettings.JobSettings.Add(JobSettings);
StreamArray = New Array;
Pack = Pack + 1;
EndIf;
EndDo;
If StreamArray.Count() > 0 Then
JobSettings = BackgroundJobAPIServer.JobSettings();
JobSettings.ProcedureParams.Add(StreamArray);
JobSettings.ProcedureParams.Add(True);
JobSettings.Description = String(TypeItem.DocumentType) + ": " + Pack + " * (" + StreamArray.Count() + ") / " + TotalDocs;
JobDataSettings.JobSettings.Add(JobSettings);
EndIf;
EndDo;
Return JobDataSettings;
@@ -394,9 +418,118 @@ EndFunction
//
// Parameters:
// Result - See BackgroundJobAPIServer.GetJobsResult
// AllJobDone - Boolean -
&AtServer
Procedure GetJobsForCheckPostingDocuments_Callback(Result) Export
PostingInfoTree = FormAttributeToValue("PostingInfo");
Procedure GetJobsForCheckPostingDocuments_Callback(Result, AllJobDone) Export
DocumentErrors = New Array;
SkipRegFilled = SkipCheckRegisters.Count() > 0;
TreeRow = PostingInfo.GetItems();
For Each Row In Result Do
If Not Row.Result Then
Continue;
EndIf;
RegInfoArray = CommonFunctionsServer.GetFromCache(Row.CacheKey);
For Each DocRow In RegInfoArray Do
ParentRow = TreeRow.Add();
ParentRow.Ref = DocRow.Ref;
ParentRow.DocumentType = TypeOf(DocRow.Ref);
ParentRow.Date = DocRow.Ref.Date;
ParentRow.Errors = DocRow.Error;
For Each RegInfoData In DocRow.RegInfo Do
If SkipRegFilled And Not SkipCheckRegisters.FindByValue(RegInfoData.RegName) = Undefined Then
Continue;
EndIf;
NewRow = ParentRow.GetItems().Add();
FillPropertyValues(NewRow, RegInfoData);
NewRow.Date = ParentRow.Date;
NewRow.Ref = ParentRow.Ref;
NewRow.DocumentType = ParentRow.DocumentType;
NewRow.NewMovement = New ValueStorage(RegInfoData.NewPostingData, New Deflation(9));
EndDo;
If SkipRegFilled And ParentRow.GetItems().Count() = 0 Then
TreeRow.Delete(ParentRow);
EndIf;
EndDo;
EndDo;
EndProcedure
&AtClient
Procedure CheckAllPostInfo(Command)
For Each Row In Items.PostingInfo.SelectedRows Do
RowData = PostingInfo.FindByID(Row);
RowData.Select = True;
EndDo;
EndProcedure
&AtClient
Procedure UncheckAllPostInfo(Command)
For Each Row In Items.PostingInfo.SelectedRows Do
RowData = PostingInfo.FindByID(Row);
RowData.Select = False;
EndDo;
EndProcedure
&AtClient
Procedure PostingInfoPostSelectedDocument(Command)
JobSettingsArray = GetJobsForPostSelectedDocument();
BackgroundJobAPIClient.OpenJobForm(JobSettingsArray, ThisObject);
EndProcedure
&AtServer
Function GetJobsForPostSelectedDocument()
JobDataSettings = BackgroundJobAPIServer.JobDataSettings();
JobDataSettings.CallbackFunction = "GetJobsForPostSelectedDocument_Callback";
JobDataSettings.ProcedurePath = "PostingServer.PostingDocumentArray";
JobDataSettings.CallbackWhenAllJobsDone = False;
DocsInPack = 100;
StreamArray = New Array;
For Each Row In PostingInfo.GetItems() Do
If Not Row.Select OR Row.Processed Then
Continue;
EndIf;
Pack = 1;
StreamArray.Add(Row.Ref);
If StreamArray.Count() = DocsInPack Then
JobSettings = BackgroundJobAPIServer.JobSettings();
JobSettings.ProcedureParams.Add(StreamArray);
JobSettings.ProcedureParams.Add(True);
JobSettings.Description = "Posting: " + Pack + " * (" + DocsInPack + ")";
JobDataSettings.JobSettings.Add(JobSettings);
StreamArray = New Array;
Pack = Pack + 1;
EndIf;
EndDo;
If StreamArray.Count() > 0 Then
JobSettings = BackgroundJobAPIServer.JobSettings();
JobSettings.ProcedureParams.Add(StreamArray);
JobSettings.ProcedureParams.Add(True);
JobSettings.Description = "Posting: " + Pack + " * (" + StreamArray.Count() + ")";
JobDataSettings.JobSettings.Add(JobSettings);
EndIf;
Return JobDataSettings;
EndFunction
// Get jobs for check posting documents callback.
//
// Parameters:
// Result - See BackgroundJobAPIServer.GetJobsResult
// AllJobDone - Boolean -
&AtServer
Procedure GetJobsForPostSelectedDocument_Callback(Result, AllJobDone) Export
Tree = FormAttributeToValue("PostingInfo");
DocumentErrors = New Array;
For Each Row In Result Do
@@ -406,21 +539,274 @@ Procedure GetJobsForCheckPostingDocuments_Callback(Result) Export
RegInfoArray = CommonFunctionsServer.GetFromCache(Row.CacheKey);
For Each DocRow In RegInfoArray Do
ParentRow = PostingInfoTree.Rows.Add();
ParentRow.Ref = DocRow.Ref;
ParentRow.Date = DocRow.Ref.Date;
For Each RegInfoData In DocRow.RegInfo Do
NewRow = ParentRow.Rows.Add();
FillPropertyValues(NewRow, RegInfoData);
NewRow.Date = ParentRow.Date;
NewRow.Ref = ParentRow.Ref;
EndDo;
Found = Tree.Rows.FindRows(New Structure("Ref, RegName", DocRow.Ref, ""), True);
Found[0].Errors = DocRow.Error;
Found[0].Processed = True;
EndDo;
EndDo;
ValueToFormAttribute(Tree, "PostingInfo");
EndProcedure
&AtClient
Procedure ShowPosingDiff(Command)
Items.PostingInfoShowPostingDiff.Check = Not Items.PostingInfoShowPostingDiff.Check;
Items.GroupDiff.Visible = Items.PostingInfoShowPostingDiff.Check;
PostingInfoTree.Rows.Sort("Date, Ref, RegName", True);
ValueToFormAttribute(PostingInfoTree, "PostingInfo");
If Not Items.GroupDiff.Visible Then
PostingInfo_ClearTables();
EndIf;
EndProcedure
&AtClient
Procedure PostingInfoBeforeRowChange(Item, Cancel)
If Not Item.CurrentItem = Items.PostingInfoRegName Then
Return;
EndIf;
Cancel = True;
CurrentMovement.Clear();
NewMovement.Clear();
If Not Items.GroupDiff.Visible Then
Return;
EndIf;
CurrentRow = Items.PostingInfo.CurrentData;
If CurrentRow = Undefined Then
Return;
EndIf;
If IsBlankString(CurrentRow.RegName) Then
Return;
EndIf;
If Not CurrentRegName = CurrentRow.RegName Then
PostingInfo_ClearTables();
CurrentRegName = CurrentRow.RegName;
PostingInfo_CreateTable(CurrentRow.NewMovement);
EndIf;
PostingInfo_UpdateTable(CurrentRow.Ref, CurrentRow.NewMovement);
EndProcedure
&AtServer
Procedure PostingInfo_UpdateTable(Ref, NewMovementStorage)
Query = New Query("SELECT * FROM " + CurrentRegName + " WHERE Recorder = &Ref");
Query.SetParameter("Ref", Ref);
CurrentMovement.Load(Query.Execute().Unload());
NewMovement.Load(NewMovementStorage.Get());
EndProcedure
&AtServer
Procedure PostingInfo_CreateTable(NewMovementStorage)
Table = NewMovementStorage.Get(); // ValueTable
ArrayAddedAttributes = New Array; // Array Of FormAttribute
For Each Column In Table.Columns Do
If Column.Name = "PointInTime" Or Column.Name = "Recorder" Then
Continue;
EndIf;
TypeDescription = New TypeDescription(Column.ValueType);
AttributeDescription = New FormAttribute(Column.Name, TypeDescription, "CurrentMovement");
ArrayAddedAttributes.Add(AttributeDescription);
AttributeDescription = New FormAttribute(Column.Name, TypeDescription, "NewMovement");
ArrayAddedAttributes.Add(AttributeDescription);
EndDo;
ChangeAttributes(ArrayAddedAttributes);
For Each Column In Table.Columns Do
If Column.Name = "PointInTime" Or Column.Name = "Recorder" Then
Continue;
EndIf;
NewColumn = Items.Add("CurrentMovement" + Column.Name, Type("FormField"), Items.CurrentMovement); // FormField
NewColumn.Title = Column.Name;
NewColumn.DataPath = "CurrentMovement." + Column.Name;
NewColumn.Type = FormFieldType.InputField;
NewColumn = Items.Add("NewMovement" + Column.Name, Type("FormField"), Items.NewMovement); // FormField
NewColumn.Title = Column.Name;
NewColumn.DataPath = "NewMovement." + Column.Name;
NewColumn.Type = FormFieldType.InputField;
EndDo;
EndProcedure
&AtServer
Procedure PostingInfo_ClearTables()
ArrayRemovedAttributes = New Array; // Array Of String
For Each Column In CurrentMovement.Unload().Columns Do // ValueTableColumn
ArrayRemovedAttributes.Add("CurrentMovement." + Column.Name);
ItemElement = Items.Find("CurrentMovement" + Column.Name);
If ItemElement = Undefined Then
Continue;
EndIf;
Items.Delete(Items.Find("CurrentMovement" + Column.Name));
EndDo;
For Each Column In NewMovement.Unload().Columns Do // ValueTableColumn
ArrayRemovedAttributes.Add("NewMovement." + Column.Name);
ItemElement = Items.Find("CurrentMovement" + Column.Name);
If ItemElement = Undefined Then
Continue;
EndIf;
Items.Delete(Items.Find("NewMovement" + Column.Name));
EndDo;
ChangeAttributes(, ArrayRemovedAttributes);
CurrentRegName = "";
EndProcedure
&AtClient
Procedure PostingInfoWriteRecordSet(Command)
JobSettingsArray = GetJobsForWriteRecordSet();
BackgroundJobAPIClient.OpenJobForm(JobSettingsArray, ThisObject);
EndProcedure
&AtServer
Function GetJobsForWriteRecordSet()
JobDataSettings = BackgroundJobAPIServer.JobDataSettings();
JobDataSettings.CallbackFunction = "GetJobsForWriteRecordSet_Callback";
JobDataSettings.ProcedurePath = "PostingServer.WriteDocumentsRecords";
JobDataSettings.CallbackWhenAllJobsDone = False;
DocsInPack = 100;
StreamArray = New Array;
For Each Doc In PostingInfo.GetItems() Do
For Each Row In Doc.GetItems() Do
If Not Row.Select OR Row.Processed Then
Continue;
EndIf;
Pack = 1;
Str = New Structure;
Str.Insert("Ref", Row.Ref);
Str.Insert("NewMovement", Row.NewMovement);
Str.Insert("RegName", Row.RegName);
StreamArray.Add(Str);
If StreamArray.Count() = DocsInPack Then
JobSettings = BackgroundJobAPIServer.JobSettings();
JobSettings.ProcedureParams.Add(StreamArray);
JobSettings.ProcedureParams.Add(True);
JobSettings.Description = "Write records: " + Pack + " * (" + DocsInPack + ")";
JobDataSettings.JobSettings.Add(JobSettings);
StreamArray = New Array;
Pack = Pack + 1;
EndIf;
EndDo;
EndDo;
If StreamArray.Count() > 0 Then
JobSettings = BackgroundJobAPIServer.JobSettings();
JobSettings.ProcedureParams.Add(StreamArray);
JobSettings.ProcedureParams.Add(True);
JobSettings.Description = "Write records: " + Pack + " * (" + StreamArray.Count() + ")";
JobDataSettings.JobSettings.Add(JobSettings);
EndIf;
Return JobDataSettings;
EndFunction
// Get jobs for check posting documents callback.
//
// Parameters:
// Result - See BackgroundJobAPIServer.GetJobsResult
// AllJobDone - Boolean -
&AtServer
Procedure GetJobsForWriteRecordSet_Callback(Result, AllJobDone) Export
Tree = FormAttributeToValue("PostingInfo");
DocumentErrors = New Array;
For Each Row In Result Do
If Not Row.Result Then
Continue;
EndIf;
RegInfoArray = CommonFunctionsServer.GetFromCache(Row.CacheKey);
For Each DocRow In RegInfoArray Do
Found = Tree.Rows.FindRows(New Structure("Ref, RegName", DocRow.Ref, DocRow.RegName), True);
Found[0].Errors = DocRow.Error;
Found[0].Processed = True;
EndDo;
EndDo;
ValueToFormAttribute(Tree, "PostingInfo");
EndProcedure
&AtClient
Async Procedure PostingInfoExportData(Command)
DialogParameters = New GetFilesDialogParameters();
BD = PostingInfoExportDataAtServer();
Address = PutToTempStorage(BD, UUID);
GetFileFromServerAsync(Address, "Data.zip", DialogParameters);
EndProcedure
&AtServer
Function PostingInfoExportDataAtServer()
Tree = FormAttributeToValue("PostingInfo");
Data = CommonFunctionsServer.SerializeXMLUseXDTO(Tree);
BD = CommonFunctionsServer.StringToBase64ZIP(Data, "Data", True);
Return BD;
EndFunction
&AtClient
Async Procedure PostingInfoImportData(Command)
DialogParameters = New PutFilesDialogParameters(, False, "Data file|*.zip;");
PlacedFileDescription = Await PutFileToServerAsync(, , , DialogParameters); // PlacedFileDescription
If PlacedFileDescription.PutFileCanceled Then
Return;
EndIf;
PostingInfoImportDataAtServer(PlacedFileDescription.Address);
EndProcedure
&AtServer
Procedure PostingInfoImportDataAtServer(Address)
File = GetFromTempStorage(Address);
BD = CommonFunctionsServer.StringFromBase64ZIP(File);
Data = GetStringFromBinaryData(BD);
Tree = CommonFunctionsServer.DeserializeXMLUseXDTO(Data);
ValueToFormAttribute(Tree, "PostingInfo");
EndProcedure
&AtClient
Procedure PostingInfoClearSkipRows(Command)
If SkipCheckRegisters.Count() = 0 Then
Return;
EndIf;
ClearRows();
EndProcedure
&AtServer
Procedure ClearRows()
Tree = FormAttributeToValue("PostingInfo");
For Each Reg In SkipCheckRegisters Do
Found = Tree.Rows.FindRows(New Structure("RegName", Reg.Value), True);
For Each DelRow In Found Do
ParentRow = DelRow.Parent;
ParentRow.Rows.Delete(DelRow);
If ParentRow.Rows.Count() = 0 Then
Tree.Rows.Delete(ParentRow);
EndIf;
EndDo;
EndDo;
ValueToFormAttribute(Tree, "PostingInfo");
EndProcedure
#EndRegion

View File

@@ -791,6 +791,7 @@ Procedure ItemListControlCodeStringStateClick() Export
Params.Insert("RowKey", CurrentData.Key);
Params.Insert("Item", CurrentData.Item);
Params.Insert("ItemKey", CurrentData.ItemKey);
//@skip-check unknown-method-property
Params.Insert("LineNumber", CurrentData.LineNumber);
Params.Insert("isReturn", isReturn);
Notify = New NotifyDescription("ItemListControlCodeStringStateOpeningEnd", ThisObject, Params);

View File

@@ -86,13 +86,3 @@ Procedure Cancel(Command)
EndProcedure

View File

@@ -51,23 +51,19 @@ Procedure PostingCheckBeforeWrite(Ref, Cancel, PostingMode, Parameters, AddInfo
EndIf;
EndIf;
PostingDataTables = New Map;
R6070T_OtherPeriodsExpenses = Metadata.AccumulationRegisters.R6070T_OtherPeriodsExpenses;
R6070TSettings = PostingServer.PostingTableSettings(R6070T_OtherPeriodsExpenses.Name, OtherPeriodsExpensesByBasis, Parameters.Object.RegisterRecords.R6070T_OtherPeriodsExpenses);
R6070TSettings.WriteInTransaction = Parameters.IsReposting;
PostingDataTables.Insert(R6070T_OtherPeriodsExpenses, R6070TSettings);
Parameters.Insert("PostingDataTables", PostingDataTables);
PostingServer.SetPostingDataTable(Parameters.PostingDataTables, Parameters, R6070T_OtherPeriodsExpenses.Name, OtherPeriodsExpensesByBasis);
Parameters.PostingDataTables[R6070T_OtherPeriodsExpenses].WriteInTransaction = Parameters.IsReposting;
CostAllocationObject = Parameters.Object;
Parameters.Object = Basis;
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
Parameters.Object = CostAllocationObject;
For Each RowRecordSet In Parameters.PostingDataTables.Get(R6070T_OtherPeriodsExpenses).PrepareTable Do
For Each RowRecordSet In Parameters.PostingDataTables[R6070T_OtherPeriodsExpenses].PrepareTable Do
FillPropertyValues(TableOtherPeriodsExpensesRecalculated.Add(), RowRecordSet);
EndDo;
Parameters.PostingDataTables.Delete(R6070T_OtherPeriodsExpenses);
EndDo;
Tables.R6070T_OtherPeriodsExpenses = TableOtherPeriodsExpensesRecalculated;
@@ -84,29 +80,24 @@ Procedure PostingCheckBeforeWrite(Ref, Cancel, PostingMode, Parameters, AddInfo
EndIf;
EndIf;
PostingDataTables = New Map;
T6060S_BatchCostAllocationInfo = Metadata.InformationRegisters.T6060S_BatchCostAllocationInfo;
T6060SSettings = PostingServer.PostingTableSettings(T6060S_BatchCostAllocationInfo.Name, BatchCostAllocationInfoByBasis, Parameters.Object.RegisterRecords.T6060S_BatchCostAllocationInfo);
T6060SSettings.WriteInTransaction = Parameters.IsReposting;
PostingDataTables.Insert(T6060S_BatchCostAllocationInfo, T6060SSettings);
PostingServer.SetPostingDataTable(Parameters.PostingDataTables, Parameters, T6060S_BatchCostAllocationInfo.Name, BatchCostAllocationInfoByBasis);
Parameters.PostingDataTables[T6060S_BatchCostAllocationInfo].WriteInTransaction = Parameters.IsReposting;
Parameters.Insert("PostingDataTables", PostingDataTables);
CostAllocationObject = Parameters.Object;
Parameters.Object = Row.Basis;
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
Parameters.Object = CostAllocationObject;
For Each RowRecordSet In Parameters.PostingDataTables.Get(T6060S_BatchCostAllocationInfo).PrepareTable Do
For Each RowRecordSet In Parameters.PostingDataTables[T6060S_BatchCostAllocationInfo].PrepareTable Do
FillPropertyValues(BatchCostAllocationInfoRecalculated.Add(), RowRecordSet);
EndDo;
Parameters.PostingDataTables.Delete(T6060S_BatchCostAllocationInfo);
EndDo;
BatchCostAllocationInfoRecalculated = BatchCostAllocationInfoRecalculated.Copy(
New Structure("CurrencyMovementType", CurrencyMovementType));
BatchCostAllocationInfoRecalculated.GroupBy(
"Period, Company, Document, Store, ItemKey, Currency, CurrencyMovementType", "Amount, AmountTax");
BatchCostAllocationInfoRecalculated.GroupBy("Period, Company, Document, Store, ItemKey, Currency, CurrencyMovementType", "Amount, AmountTax");
Tables.T6060S_BatchCostAllocationInfo = BatchCostAllocationInfoRecalculated;
BatchKeysInfo = BatchCostAllocationInfoRecalculated.Copy();

View File

@@ -123,7 +123,7 @@ Function DeductionList()
| Table.Ref = &Ref";
EndFunction
#EndRegion
#Region Posting_MainTables

View File

@@ -51,23 +51,19 @@ Procedure PostingCheckBeforeWrite(Ref, Cancel, PostingMode, Parameters, AddInfo
EndIf;
EndIf;
PostingDataTables = New Map;
R6080T_OtherPeriodsRevenues = Metadata.AccumulationRegisters.R6080T_OtherPeriodsRevenues;
R6080TSettings = PostingServer.PostingTableSettings(R6080T_OtherPeriodsRevenues.Name, OtherPeriodsRevenuesByBasis, Parameters.Object.RegisterRecords.R6080T_OtherPeriodsRevenues);
R6080TSettings.WriteInTransaction = Parameters.IsReposting;
PostingDataTables.Insert(R6080T_OtherPeriodsRevenues, R6080TSettings);
PostingServer.SetPostingDataTable(Parameters.PostingDataTables, Parameters, R6080T_OtherPeriodsRevenues.Name, OtherPeriodsRevenuesByBasis);
Parameters.PostingDataTables[R6080T_OtherPeriodsRevenues].WriteInTransaction = Parameters.IsReposting;
Parameters.Insert("PostingDataTables", PostingDataTables);
RevenueAllocationObject = Parameters.Object;
Parameters.Object = Basis;
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
Parameters.Object = RevenueAllocationObject;
For Each RowRecordSet In Parameters.PostingDataTables.Get(R6080T_OtherPeriodsRevenues).PrepareTable Do
For Each RowRecordSet In Parameters.PostingDataTables[R6080T_OtherPeriodsRevenues].PrepareTable Do
FillPropertyValues(TableOtherPeriodsRevenuesRecalculated.Add(), RowRecordSet);
EndDo;
Parameters.PostingDataTables.Delete(R6080T_OtherPeriodsRevenues);
EndDo;
Tables.R6080T_OtherPeriodsRevenues = TableOtherPeriodsRevenuesRecalculated;
@@ -85,23 +81,19 @@ Procedure PostingCheckBeforeWrite(Ref, Cancel, PostingMode, Parameters, AddInfo
EndIf;
EndIf;
PostingDataTables = New Map;
T6070S_BatchRevenueAllocationInfo = Metadata.InformationRegisters.T6070S_BatchRevenueAllocationInfo;
T6070SSettings = PostingServer.PostingTableSettings(T6070S_BatchRevenueAllocationInfo.Name, BatchRevenueAllocationInfoByBasis, Parameters.Object.RegisterRecords.T6070S_BatchRevenueAllocationInfo);
T6070SSettings.WriteInTransaction = Parameters.IsReposting;
PostingDataTables.Insert(T6070S_BatchRevenueAllocationInfo, T6070SSettings);
Parameters.Insert("PostingDataTables", PostingDataTables);
PostingServer.SetPostingDataTable(Parameters.PostingDataTables, Parameters, T6070S_BatchRevenueAllocationInfo.Name, BatchRevenueAllocationInfoByBasis);
Parameters.PostingDataTables[T6070S_BatchRevenueAllocationInfo].WriteInTransaction = Parameters.IsReposting;
RevenueAllocationObject = Parameters.Object;
Parameters.Object = Row.Basis;
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
Parameters.Object = RevenueAllocationObject;
For Each RowRecordSet In Parameters.PostingDataTables.Get(T6070S_BatchRevenueAllocationInfo).PrepareTable Do
For Each RowRecordSet In Parameters.PostingDataTables[T6070S_BatchRevenueAllocationInfo].PrepareTable Do
FillPropertyValues(BatchRevenueAllocationInfoRecalculated.Add(), RowRecordSet);
EndDo;
Parameters.PostingDataTables.Delete(T6070S_BatchRevenueAllocationInfo);
EndDo;
BatchRevenueAllocationInfoRecalculated = BatchRevenueAllocationInfoRecalculated.Copy(

View File

@@ -182,7 +182,6 @@ Procedure SetVisibilityAvailability(Object, Form)
Form.Items.Company.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Company);
Form.Items.Currency.ReadOnly = BasedOnCashTransferOrder And ValueIsFilled(Object.Currency);
If IsTransferFromPOS Then
ArrayTypes.Add(Type("DocumentRef.CashStatement"));
Else

View File

@@ -601,7 +601,6 @@ Function GetAnalytics_VendorTransactionExpenses(Parameters)
// Debit - Analytics
AccountingServer.SetDebitExtDimensions(Parameters, AccountingAnalytics);
Credit = AccountingServer.GetT9014S_AccountsExpenseRevenue(AccountParameters, Parameters.RowData.ExpenseType);
If ValueIsFilled(Credit.Account) Then
AccountingAnalytics.Credit = Credit.Account;

View File

@@ -600,7 +600,6 @@ Function GetAnalytics_CustomerTransactionRevenues(Parameters)
// Debit - Analytics
AccountingServer.SetDebitExtDimensions(Parameters, AccountingAnalytics);
Credit = AccountingServer.GetT9014S_AccountsExpenseRevenue(AccountParameters, Parameters.RowData.RevenueType);
If ValueIsFilled(Credit.Account) Then
AccountingAnalytics.Credit = Credit.Account;

View File

@@ -136,7 +136,6 @@ Procedure FillRegisterRecords()
NewRowError.ErrorDescription = "empty Credit";
EndIf;
DataByAnalytics = AccountingServer.GetDataByAccountingAnalytics(ThisObject.Basis, Row);
If Not ValueIsFilled(DataByAnalytics.Amount) Then

View File

@@ -32,7 +32,6 @@ Procedure PostingCheckBeforeWrite(Ref, Cancel, PostingMode, Parameters, AddInfo
QueryArray = GetQueryTextsMasterTables();
PostingServer.SetRegisters(Tables, Ref);
Tables.R3010B_CashOnHand.Columns.Add("Key", Metadata.DefinedTypes.typeRowID.Type);
Tables.R1020B_AdvancesToVendors.Columns.Add("Key", Metadata.DefinedTypes.typeRowID.Type);
Tables.R1021B_VendorsTransactions.Columns.Add("Key", Metadata.DefinedTypes.typeRowID.Type);
@@ -123,9 +122,8 @@ Procedure Calculate_BatchKeysInfo(Ref, Parameters, AddInfo)
EndDo;
T6020S_BatchKeysInfo = Metadata.InformationRegisters.T6020S_BatchKeysInfo;
T6020SSettings = PostingServer.PostingTableSettings(T6020S_BatchKeysInfo.Name, BatchKeysInfo, Parameters.Object.RegisterRecords.T6020S_BatchKeysInfo);
T6020SSettings.WriteInTransaction = Parameters.IsReposting;
Parameters.PostingDataTables.Insert(T6020S_BatchKeysInfo, T6020SSettings);
PostingServer.SetPostingDataTable(Parameters.PostingDataTables, Parameters, T6020S_BatchKeysInfo.Name, BatchKeysInfo);
Parameters.PostingDataTables[T6020S_BatchKeysInfo].WriteInTransaction = Parameters.IsReposting;
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
CurrenciesServer.ExcludePostingDataTable(Parameters, T6020S_BatchKeysInfo);

View File

@@ -579,7 +579,6 @@ Procedure DrawFormTablePriceKeyList()
New Structure("Name, DataPath, OwnerName, FormName", NewColumn_Price.Name, Table.Name + "."
+ NewColumn_Price.Name, Undefined, ""));
ThisObject.ChangeAttributes(ArrayOfAttributes);
// Form columns

View File

@@ -355,9 +355,3 @@ EndProcedure
#EndRegion

View File

@@ -266,9 +266,8 @@ Procedure Calculate_BatchKeysInfo(Ref, Parameters, AddInfo)
EndDo;
T6020S_BatchKeysInfo = Metadata.InformationRegisters.T6020S_BatchKeysInfo;
T6020SSettings = PostingServer.PostingTableSettings(T6020S_BatchKeysInfo.Name, BatchKeysInfo, Parameters.Object.RegisterRecords.T6020S_BatchKeysInfo);
T6020SSettings.WriteInTransaction = Parameters.IsReposting;
Parameters.PostingDataTables.Insert(T6020S_BatchKeysInfo, T6020SSettings);
PostingServer.SetPostingDataTable(Parameters.PostingDataTables, Parameters, T6020S_BatchKeysInfo.Name, BatchKeysInfo);
Parameters.PostingDataTables[T6020S_BatchKeysInfo].WriteInTransaction = Parameters.IsReposting;
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
CurrenciesServer.ExcludePostingDataTable(Parameters, T6020S_BatchKeysInfo);

View File

@@ -13,6 +13,11 @@ Function PostingGetDocumentDataTables(Ref, Cancel, PostingMode, Parameters, AddI
QueryArray = GetQueryTextsSecondaryTables();
Parameters.Insert("QueryParameters", GetAdditionalQueryParameters(Ref));
PostingServer.ExecuteQuery(Ref, QueryArray, Parameters);
If ValueIsFilled(Ref.PurchaseOrder) Then
Tables.Insert("CurrencyTable", Ref.PurchaseOrder.Currencies.Unload());
EndIf;
Return Tables;
EndFunction

View File

@@ -20,9 +20,6 @@ Procedure BeforeDelete(Cancel)
EndProcedure
Procedure Posting(Cancel, PostingMode)
If ValueIsFilled(ThisObject.PurchaseOrder) Then
ThisObject.AdditionalProperties.Insert("CurrencyTable", ThisObject.PurchaseOrder.Currencies.Unload());
EndIf;
PostingServer.Post(ThisObject, Cancel, PostingMode, ThisObject.AdditionalProperties);
EndProcedure

View File

@@ -794,6 +794,7 @@ Procedure ItemListControlCodeStringStateClick() Export
Params.Insert("RowKey", CurrentData.Key);
Params.Insert("Item", CurrentData.Item);
Params.Insert("ItemKey", CurrentData.ItemKey);
//@skip-check unknown-method-property
Params.Insert("LineNumber", CurrentData.LineNumber);
Params.Insert("isReturn", False);
Notify = New NotifyDescription("ItemListControlCodeStringStateOpeningEnd", ThisObject, Params);

View File

@@ -886,6 +886,7 @@ Procedure ItemListControlCodeStringStateClick() Export
Params.Insert("RowKey", CurrentData.Key);
Params.Insert("Item", CurrentData.Item);
Params.Insert("ItemKey", CurrentData.ItemKey);
//@skip-check unknown-method-property
Params.Insert("LineNumber", CurrentData.LineNumber);
Params.Insert("isReturn", True);
Notify = New NotifyDescription("ItemListControlCodeStringStateOpeningEnd", ThisObject, Params);

View File

@@ -42,7 +42,6 @@ EndProcedure
Function PostingGetPostingDataTables(Ref, Cancel, PostingMode, Parameters, AddInfo = Undefined) Export
PostingDataTables = New Map;
PostingServer.SetPostingDataTables(PostingDataTables, Parameters);
CashInTransit = Metadata.AccumulationRegisters.CashInTransit;
PostingServer.SetPostingDataTable(PostingDataTables, Parameters, CashInTransit.Name, Parameters.DocumentDataTables[CashInTransit.Name]);
@@ -125,6 +124,7 @@ Procedure Calculate_BatchKeysInfo(Ref, Parameters, AddInfo)
|WHERE
| RetailReturnReceiptItemList.Ref = &Ref
| AND NOT RetailReturnReceiptItemList.IsService
| AND RetailReturnReceiptItemList.Ref.StatusType = VALUE(ENUM.RetailReceiptStatusTypes.Completed)
|GROUP BY
| RetailReturnReceiptItemList.ItemKey,
| RetailReturnReceiptItemList.Store,
@@ -190,6 +190,7 @@ Procedure Calculate_BatchKeysInfo(Ref, Parameters, AddInfo)
| tmpItemList AS tmpItemList
| LEFT JOIN tmpSourceOfOrigins AS tmpSourceOfOrigins
| ON tmpItemList.Key = tmpSourceOfOrigins.Key
|
|;
|
|////////////////////////////////////////////////////////////////////////////////
@@ -206,6 +207,7 @@ Procedure Calculate_BatchKeysInfo(Ref, Parameters, AddInfo)
| BatchKeys.CreateBatch
| FROM
| tmpBatchKeysInfo AS BatchKeys)
| AND StatusType = VALUE(ENUM.RetailReceiptStatusTypes.Completed)
|;
|
|////////////////////////////////////////////////////////////////////////////////
@@ -233,9 +235,8 @@ Procedure Calculate_BatchKeysInfo(Ref, Parameters, AddInfo)
EndDo;
T6020S_BatchKeysInfo = Metadata.InformationRegisters.T6020S_BatchKeysInfo;
T6020SSettings = PostingServer.PostingTableSettings(T6020S_BatchKeysInfo.Name, BatchKeysInfo, Parameters.Object.RegisterRecords.T6020S_BatchKeysInfo);
T6020SSettings.WriteInTransaction = Parameters.IsReposting;
Parameters.PostingDataTables.Insert(T6020S_BatchKeysInfo, T6020SSettings);
PostingServer.SetPostingDataTable(Parameters.PostingDataTables, Parameters, T6020S_BatchKeysInfo.Name, BatchKeysInfo);
Parameters.PostingDataTables[T6020S_BatchKeysInfo].WriteInTransaction = Parameters.IsReposting;
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
CurrenciesServer.ExcludePostingDataTable(Parameters, T6020S_BatchKeysInfo);
@@ -706,7 +707,9 @@ Function CashInTransit()
| Document.RetailReturnReceipt.Payments AS Payments
|WHERE
| Payments.Ref = &Ref
| AND Payments.PostponedPayment";
| AND Payments.PostponedPayment
| AND Payments.Ref.StatusType = VALUE(ENUM.RetailReceiptStatusTypes.Completed)";
EndFunction
Function R9010B_SourceOfOriginStock()
@@ -1155,7 +1158,9 @@ Function T3010S_RowIDInfo()
| ON RowIDInfo.Ref = &Ref
| AND ItemList.Ref = &Ref
| AND RowIDInfo.Key = ItemList.Key
| AND RowIDInfo.Ref = ItemList.Ref";
| AND RowIDInfo.Ref = ItemList.Ref
|WHERE
| ItemList.Ref.StatusType = VALUE(ENUM.RetailReceiptStatusTypes.Completed) ";
EndFunction
Function T6010S_BatchesInfo()
@@ -1245,7 +1250,8 @@ Function R8014T_ConsignorSales()
| LEFT JOIN SourceOfOrigins AS SourceOfOrigins
| ON ItemList.Key = SourceOfOrigins.Key
|WHERE
| ItemList.IsConsignorStocks";
| ItemList.IsConsignorStocks
| AND ItemList.StatusType = VALUE(ENUM.RetailReceiptStatusTypes.Completed)";
EndFunction
#EndRegion

View File

@@ -69,11 +69,6 @@ Procedure BeforeDelete(Cancel)
EndProcedure
Procedure Posting(Cancel, PostingMode)
If ThisObject.StatusType <> Enums.RetailReceiptStatusTypes.Completed Then
UndopostingServer.Undopost(ThisObject, Cancel, ThisObject.AdditionalProperties);
RowIDInfoPrivileged.UndoPosting_RowIDUndoPosting(ThisObject, Cancel);
Return;
EndIf;
PostingServer.Post(ThisObject, Cancel, PostingMode, ThisObject.AdditionalProperties);
RowIDInfoPrivileged.Posting_RowID(ThisObject, Cancel, PostingMode);
EndProcedure

View File

@@ -897,6 +897,7 @@ Procedure ItemListControlCodeStringStateClick() Export
Params.Insert("RowKey", CurrentData.Key);
Params.Insert("Item", CurrentData.Item);
Params.Insert("ItemKey", CurrentData.ItemKey);
//@skip-check unknown-method-property
Params.Insert("LineNumber", CurrentData.LineNumber);
Params.Insert("isReturn", False);
Notify = New NotifyDescription("ItemListControlCodeStringStateOpeningEnd", ThisObject, Params);

View File

@@ -1027,7 +1027,8 @@ Function R2021B_CustomersTransactions()
|FROM
| InformationRegister.T2010S_OffsetOfAdvances AS OffsetOfAdvances
|WHERE
| OffsetOfAdvances.Document = &Ref";
| OffsetOfAdvances.Document = &Ref
| AND NOT OffsetOfAdvances.Document = VALUE(ENUM.RetailReceiptStatusTypes.Canceled)";
EndFunction
Function R5015B_OtherPartnersTransactions()
@@ -1189,7 +1190,9 @@ Function T3010S_RowIDInfo()
| ON RowIDInfo.Ref = &Ref
| AND ItemList.Ref = &Ref
| AND RowIDInfo.Key = ItemList.Key
| AND RowIDInfo.Ref = ItemList.Ref";
| AND RowIDInfo.Ref = ItemList.Ref
|WHERE
| ItemList.Ref.StatusType = VALUE(ENUM.RetailReceiptStatusTypes.Completed)";
EndFunction
Function T6020S_BatchKeysInfo()
@@ -1338,7 +1341,9 @@ Function T1050T_AccountingQuantities()
| ItemList.Quantity
|INTO T1050T_AccountingQuantities
|FROM
| ItemList AS ItemList";
| ItemList AS ItemList
|WHERE
| ItemList.StatusType = VALUE(ENUM.RetailReceiptStatusTypes.Completed)";
EndFunction
Function GetAccountingAnalytics(Parameters) Export

View File

@@ -89,12 +89,6 @@ Procedure BeforeDelete(Cancel)
EndProcedure
Procedure Posting(Cancel, PostingMode)
If ThisObject.StatusType = Enums.RetailReceiptStatusTypes.Postponed
OR ThisObject.StatusType = Enums.RetailReceiptStatusTypes.Canceled Then
UndopostingServer.Undopost(ThisObject, Cancel, ThisObject.AdditionalProperties);
RowIDInfoPrivileged.UndoPosting_RowIDUndoPosting(ThisObject, Cancel);
Return;
EndIf;
PostingServer.Post(ThisObject, Cancel, PostingMode, ThisObject.AdditionalProperties);
RowIDInfoPrivileged.Posting_RowID(ThisObject, Cancel, PostingMode);
EndProcedure

View File

@@ -552,5 +552,3 @@ EndFunction
#EndRegion

View File

@@ -49,7 +49,6 @@ Procedure FillCheckProcessing(Cancel, CheckedAttributes)
Cancel = True;
EndIf;
If Not Cancel = True Then
LinkedFilter = RowIDInfoClientServer.GetLinkedDocumentsFilter_RSC(ThisObject);
RowIDInfoTable = ThisObject.RowIDInfo.Unload();

View File

@@ -116,7 +116,6 @@ Function SalesOrderPrint(Ref, Param)
AreaListHeaderTAX.Parameters.NameTAX = LocalizationEvents.DescriptionRefLocalization(TaxVat, Spreadsheet.LanguageCode);
Spreadsheet.Join(AreaListHeaderTAX);
Choice = New Structure("Ref", SelectionHeader.Ref);
FindRow = SelectionItems.FindRows(Choice);

View File

@@ -15,6 +15,11 @@ Function PostingGetDocumentDataTables(Ref, Cancel, PostingMode, Parameters, AddI
QueryArray = GetQueryTextsSecondaryTables();
Parameters.Insert("QueryParameters", GetAdditionalQueryParameters(Ref));
PostingServer.ExecuteQuery(Ref, QueryArray, Parameters);
If ValueIsFilled(Ref.SalesOrder) Then
Tables.Insert("CurrencyTable", Ref.SalesOrder.Currencies.Unload());
EndIf;
Return Tables;
EndFunction

View File

@@ -22,9 +22,6 @@ Procedure BeforeDelete(Cancel)
EndProcedure
Procedure Posting(Cancel, PostingMode)
If ValueIsFilled(ThisObject.SalesOrder) Then
ThisObject.AdditionalProperties.Insert("CurrencyTable", ThisObject.SalesOrder.Currencies.Unload());
EndIf;
PostingServer.Post(ThisObject, Cancel, PostingMode, ThisObject.AdditionalProperties);
EndProcedure

View File

@@ -223,9 +223,8 @@ Procedure Calculate_BatchKeysInfo(Ref, Parameters, AddInfo)
EndDo;
T6020S_BatchKeysInfo = Metadata.InformationRegisters.T6020S_BatchKeysInfo;
T6020SSettings = PostingServer.PostingTableSettings(T6020S_BatchKeysInfo.Name, BatchKeysInfo, Parameters.Object.RegisterRecords.T6020S_BatchKeysInfo);
T6020SSettings.WriteInTransaction = Parameters.IsReposting;
Parameters.PostingDataTables.Insert(T6020S_BatchKeysInfo, T6020SSettings);
PostingServer.SetPostingDataTable(Parameters.PostingDataTables, Parameters, T6020S_BatchKeysInfo.Name, BatchKeysInfo);
Parameters.PostingDataTables[T6020S_BatchKeysInfo].WriteInTransaction = Parameters.IsReposting;
CurrenciesServer.PreparePostingDataTables(Parameters, CurrencyTable, AddInfo);
CurrenciesServer.ExcludePostingDataTable(Parameters, T6020S_BatchKeysInfo);

View File

@@ -179,4 +179,3 @@ Procedure WeekendsBeforeDeleteRow(Item, Cancel)
EndProcedure

View File

@@ -35,7 +35,6 @@ Function GetApplyingFilters(SelectedAction, DetailValuesMap) Export
Result.Insert("UserFilters", New Map());
Result.Insert("DetailsFilters", New Map());
// Parameter [Period] from this report to parameter [Period] other report (trial balance by account)
Result.DataParameters.Insert("Period", "Period");

View File

@@ -1,214 +1,54 @@
{
"version": 1,
"settings": {
"md-standard-attribute-synonym-empty": {
"enabled": false
},
"configuration-data-lock-mode": {
"enabled": false
},
"common-module-name-client-server": {
"enabled": false
},
"right-administration": {
"enabled": false
},
"use-non-recommended-method": {
"enabled": false
},
"module-region-empty": {
"enabled": false
},
"mdo-scheduled-job-description": {
"enabled": false
},
"ql-temp-table-index": {
"enabled": false
},
"lock-out-of-try": {
"enabled": false
},
"right-configuration-extensions-administration": {
"enabled": false
},
"common-module-name-client-cached": {
"enabled": false
},
"right-interactive-delete": {
"enabled": false
},
"right-data-administration": {
"enabled": false
},
"event-heandler-boolean-param": {
"enabled": false
},
"right-interactive-clear-deletion-mark-predefined-data": {
"enabled": false
},
"doc-comment-export-function-return-section": {
"enabled": false
},
"input-field-list-choice-mode": {
"enabled": false
},
"doc-comment-parameter-section": {
"enabled": false
},
"role-right-has-rls": {
"enabled": false
},
"method-too-many-params": {
"enabled": false
},
"empty-except-statement": {
"enabled": false
},
"form-module-missing-pragma": {
"enabled": false
},
"doc-comment-return-section-type": {
"enabled": false
},
"right-active-users": {
"enabled": false
},
"module-structure-top-region": {
"enabled": false
},
"right-interactive-set-deletion-mark-predefined-data": {
"enabled": false
},
"right-output-to-printer-file-clipboard": {
"enabled": false
},
"module-structure-event-regions": {
"enabled": false
},
"right-start-thick-client": {
"enabled": false
},
"right-update-database-configuration": {
"enabled": false
},
"right-all-functions-mode": {
"enabled": false
},
"module-structure-var-in-region": {
"enabled": false
},
"common-module-name-server-call": {
"enabled": false
},
"right-start-web-client": {
"enabled": false
},
"ql-camel-case-string-literal": {
"enabled": false
},
"right-interactive-open-external-data-processors": {
"enabled": false
},
"module-accessibility-at-client": {
"constructor-function-return-section": {
"enabled": false
},
"module-structure-method-in-regions": {
"enabled": false
},
"doc-comment-field-type": {
"typed-value-adding-to-untyped-collection": {
"enabled": false
},
"ql-virtual-table-filters": {
"form-ql-hub": {
"enabled": false
},
"new-color": {
"doc-comment-parameter-section": {
"enabled": false
},
"ql-join-to-sub-query": {
"property-return-type": {
"properties": {
"excludeTopMdObjectNamePattern": "R()"
}
},
"ql-temp-table-index": {
"enabled": false
},
"using-isinrole": {
"reading-attribute-from-database": {
"enabled": false
},
"common-module-name-server-call-cached": {
"enabled": false
},
"data-exchange-load": {
"enabled": false
},
"common-module-type": {
"enabled": false
},
"invocation-form-event-handler": {
"enabled": false
},
"right-start-automation": {
"enabled": false
},
"doc-comment-collection-item-type": {
"enabled": false
},
"form-named-element-name": {
"enabled": false
},
"common-module-name-client": {
"enabled": false
},
"common-module-name-global": {
"enabled": false
},
"ql-cast-to-max-number": {
"enabled": false
},
"common-module-name-cached": {
"enabled": false
},
"right-view-event-log": {
"enabled": false
},
"ql-using-for-update": {
"enabled": false
},
"export-method-in-command-form-module": {
"enabled": false
},
"right-interactive-delete-predefined-data": {
"enabled": false
},
"right-start-external-connection": {
"enabled": false
},
"form-module-pragma": {
"enabled": false
},
"right-interactive-delete-marked-predefined-data": {
"enabled": false
},
"md-list-object-presentation": {
"enabled": false
},
"right-start-thin-client": {
"bsl-variable-name-invalid": {
"enabled": false
},
"module-structure-form-event-regions": {
"enabled": false
},
"invocation-form-event-handler": {
"enabled": false
},
"query-in-loop": {
"enabled": false
},
"structure-consructor-too-many-keys": {
"module-structure-top-region": {
"enabled": false
},
"right-exclusive-mode": {
"enabled": false
"module-consecutive-blank-lines": {
"enabled": true
},
"module-self-reference": {
"enabled": false
},
"right-save-user-data": {
"enabled": false
},
"right-interactive-open-external-reports": {
"dcs-ql-hub": {
"enabled": false
}
}

View File

@@ -7,5 +7,5 @@ MOBILE_SERVER=false
MOBILE_THIN_CLIENT=false
SERVER=true
THIN_CLIENT=true
WEB_CLIENT=true
WEB_CLIENT=false
eclipse.preferences.version=1

View File

@@ -0,0 +1,2 @@
disableMassiveChecks=false
eclipse.preferences.version=1

View File

@@ -0,0 +1,17 @@
alwaysEndWithSemicolon=false
autowrapBinary=no_wrap
autowrapInvocation=no_wrap
autowrapMethodParameters=no_wrap
creatorEmptyBrackets=never brackets
defaultValuesInitialized=true
eclipse.preferences.version=1
formattingOn=false
indentMethodInternal=false
invocationEmptyParamsDelimited=false
keywordStandard=CamelCase
noindent_preprocessor=false
projectSpecificSettingsInited=true
showWhitespaceCharacters=false
softFormatassignmentStatement=false
spacesForTabs=false
whitespaceMethodParamsDelimited=false

View File

@@ -0,0 +1,2 @@
IRP={"templates"\:[]}
eclipse.preferences.version=1

View File

@@ -0,0 +1,2 @@
eclipse.preferences.version=1
translatorProperties/checkVariableDuplicatesResolveLevel=doNotCheck

View File

@@ -0,0 +1,2 @@
eclipse.preferences.version=1
translationProperties/fillEmptyInterfaceTranslationFromSource=true

View File

@@ -0,0 +1,2 @@
com.e1c.langtool.v8.dt.ui.enableTranslationRefactoring=true
eclipse.preferences.version=1

View File

@@ -1,2 +1,2 @@
eclipse.preferences.version=1
topObjects=true
topObjects=false

View File

@@ -1,3 +1,3 @@
addModuleStrictTypesAnnotation=true
addModuleStrictTypesAnnotation=false
createModuleStructure=false
eclipse.preferences.version=1

View File

@@ -106,6 +106,7 @@
<enums>Enum.ItemTypes</enums>
<enums>Enum.REP_ReportParametrTypes</enums>
<reports>Report.REP_Barcodes</reports>
<dataProcessors>DataProcessor.Unit_CheckAllTypeData</dataProcessors>
<dataProcessors>DataProcessor.Unit_RunTest</dataProcessors>
<informationRegisters>InformationRegister.AttachedFiles</informationRegisters>
<informationRegisters>InformationRegister.ExpenseRevenueTypeSettings</informationRegisters>

View File

@@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormField">
<name>Info</name>
<id>3</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Info</segments>
</dataPath>
<extendedTooltip>
<name>InfoExtendedTooltip</name>
<id>5</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>InfoContextMenu</name>
<id>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<autoFill>true</autoFill>
</contextMenu>
<type>TextDocumentField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:TextDocFieldExtInfo">
<width>50</width>
<autoMaxWidth>true</autoMaxWidth>
<height>10</height>
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch>
</extInfo>
</items>
<autoCommandBar>
<name>FormCommandBar</name>
<id>-1</id>
<items xsi:type="form:Button">
<name>FormCheck</name>
<id>1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>FormCheckExtendedTooltip</name>
<id>2</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>
<commandName>Form.Command.Check</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
<enabled>true</enabled>
<showTitle>true</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>Object</name>
<id>1</id>
<valueType>
<types>DataProcessorObject.Unit_CheckAllTypeData</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<main>true</main>
</attributes>
<attributes>
<name>Info</name>
<title>
<key>en</key>
<value>Info</value>
</title>
<id>2</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<formCommands>
<name>Check</name>
<title>
<key>en</key>
<value>Check</value>
</title>
<id>1</id>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>Check</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:ObjectFormExtInfo"/>
</form:Form>

View File

@@ -0,0 +1,65 @@
// @strict-types
&AtClient
Procedure Check(Command)
CheckAtServer();
EndProcedure
&AtServer
Procedure CheckAtServer()
Msg = New Array; // Array of String
Meta = New Array; // Array Of MetadataObjectCollection
Meta.Add(Metadata.Catalogs);
Meta.Add(Metadata.Documents);
Meta.Add(Metadata.ChartsOfAccounts);
Meta.Add(Metadata.ChartsOfCalculationTypes);
Meta.Add(Metadata.ChartsOfCharacteristicTypes);
Meta.Add(Metadata.InformationRegisters);
Meta.Add(Metadata.AccountingRegisters);
Meta.Add(Metadata.AccumulationRegisters);
AttributeForSplit = New Array; // Array Of String
AttributeForSplit.Add("Type");
AttributeForSplit.Add("TransactionType");
AttributeForSplit.Add("EquipmentType");
AttributeForSplit.Add("SpecialOfferType");
AttributeForSplit.Add("DocumentType");
AttributeForSplit.Add("OfferGroupType");
For Each Metainfo In Meta Do
Msg.Add("--------------------------------------------");
For Each Doc In Metainfo Do // MetadataObjectDocument
Query = New Query("SELECT DataInfo.* FROM " + Doc.FullName() + " AS DataInfo");
Data = Query.Execute().Unload();
Msg.Add(Doc.FullName() + ": " + Data.Count());
MetadataType = Enums.MetadataTypes[StrSplit(Doc.FullName(), ".")[0]];
For Each Row In AttributeForSplit Do
If MetadataInfo.hasAttributes(MetadataType) Then
If Not Doc.Attributes.Find(Row) = Undefined Then
Type = Doc.Attributes[Row].Type.Types()[0];
MetaType = Metadata.FindByType(Type);
If MetaType = Undefined Then
Continue;
EndIf;
If StrSplit(MetaType.FullName(), ".")[0] = "Enum" Then
For Each EnumData In MetaType.EnumValues Do
MetaValue = Enums[MetaType.Name][EnumData.Name];
DataCount = Data.FindRows(New Structure(Row, MetaValue));
Msg.Add(" " + Row + " - " + Type + " - " + MetaValue + ": " + DataCount.Count());
EndDo;
EndIf;
EndIf;
EndIf
EndDo;
EndDo;
ENdDo;
Info = StrConcat(Msg, Chars.LF);
EndProcedure

View File

@@ -0,0 +1,2 @@
// @strict-types

View File

@@ -0,0 +1,2 @@
// @strict-types

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:DataProcessor xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c64d2c8b-e42d-4dc7-b820-6ce9b1d452d5">
<producedTypes>
<objectType typeId="fcf7ec31-6ae5-4d55-bd43-5e6d092f881a" valueTypeId="b4a964ba-90b1-4c87-83be-6cf10c7ef43c"/>
<managerType typeId="781a4252-b904-484a-aad9-621fac95580e" valueTypeId="d5cbada2-4ab1-408d-869e-df8f6027d7e6"/>
</producedTypes>
<name>Unit_CheckAllTypeData</name>
<synonym>
<key>en</key>
<value>(Unit) Check all type data</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<defaultForm>DataProcessor.Unit_CheckAllTypeData.Form.Form</defaultForm>
<forms uuid="7cdeb923-66e0-4b54-afa0-f3834bc6a563">
<name>Form</name>
<synonym>
<key>en</key>
<value>Form</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
</mdclass:DataProcessor>

View File

@@ -94,6 +94,7 @@ Scenario: _0206003 сheck data verification in Goods receipt
And I input "10.03.2023" text in the field named "DateBegin"
And I input "10.03.2023" text in the field named "DateEnd"
And I click the button named "Select"
And I remove checkbox "Only posted"
And in the table "DocumentList" I click "Fill documents" button
And in the table "DocumentList" I click "Check documents" button
* Check report
@@ -115,6 +116,7 @@ Scenario: _0206004 сheck data verification in Inventory transfer
And I input "10.03.2023" text in the field named "DateBegin"
And I input "10.03.2023" text in the field named "DateEnd"
And I click the button named "Select"
And I remove checkbox "Only posted"
And in the table "DocumentList" I click "Fill documents" button
And in the table "DocumentList" I click "Check documents" button
* Check report
@@ -142,6 +144,7 @@ Scenario: _0206005 сheck data verification in Inventory transfer order
And I input "10.03.2023" text in the field named "DateBegin"
And I input "10.03.2023" text in the field named "DateEnd"
And I click the button named "Select"
And I remove checkbox "Only posted"
And in the table "DocumentList" I click "Fill documents" button
And in the table "DocumentList" I click "Check documents" button
* Check report
@@ -167,6 +170,7 @@ Scenario: _0206006 сheck data verification in Internal supply request
And I input "10.03.2023" text in the field named "DateBegin"
And I input "10.03.2023" text in the field named "DateEnd"
And I click the button named "Select"
And I remove checkbox "Only posted"
And in the table "DocumentList" I click "Fill documents" button
And in the table "DocumentList" I click "Check documents" button
* Check report
@@ -191,6 +195,7 @@ Scenario: _0206007 сheck data verification in Sales order
And I input "10.03.2023" text in the field named "DateBegin"
And I input "10.03.2023" text in the field named "DateEnd"
And I click the button named "Select"
And I remove checkbox "Only posted"
And in the table "DocumentList" I click "Fill documents" button
And in the table "DocumentList" I click "Check documents" button
* Check report

View File

@@ -245,8 +245,8 @@ Scenario:_800005 check remaining stock control in the Sales order
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use SC and GR)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -258,8 +258,8 @@ Scenario:_800005 check remaining stock control in the Sales order
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use SC and does not use GR)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -271,8 +271,8 @@ Scenario:_800005 check remaining stock control in the Sales order
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use GR and does not use SC)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -284,8 +284,8 @@ Scenario:_800005 check remaining stock control in the Sales order
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Change procurement (purchase and cancel) and check remaining stock control
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -319,8 +319,8 @@ Scenario:_800005 check remaining stock control in the Sales order
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Cancel posting SO
And I click "Cancel posting" button
Then user message window does not contain messages
@@ -406,8 +406,8 @@ Scenario:_800008 check remaining stock control in the Sales invoice (without SO)
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use SC and GR)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -421,8 +421,8 @@ Scenario:_800008 check remaining stock control in the Sales invoice (without SO)
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use GR and does not use SC)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -434,8 +434,8 @@ Scenario:_800008 check remaining stock control in the Sales invoice (without SO)
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Change items and post document
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -547,7 +547,7 @@ Scenario:_800009 check remaining stock control serial lot numbers in the Sales i
Then "1C:Enterprise" window is opened
And I activate "1C:Enterprise" window
And I click the button named "OK"
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010B_ActualStocks remaining: 28 . Required: 30 . Lacking: 2 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010 Actual stocks remaining: 28 . Required: 30 . Lacking: 2 ." substring will appear in 10 seconds
* Change quantity and post document
And I activate field named "ItemListQuantity" in "ItemList" table
And I select current line in "ItemList" table
@@ -664,8 +664,8 @@ Scenario:_800011 check remaining stock control in the Retail sales receipt
* Check remaining stock control (store does not use SC and GR)
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use SC and GR)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -677,8 +677,8 @@ Scenario:_800011 check remaining stock control in the Retail sales receipt
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use SC and does not use GR)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -690,8 +690,8 @@ Scenario:_800011 check remaining stock control in the Retail sales receipt
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use GR and does not use SC)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -703,8 +703,8 @@ Scenario:_800011 check remaining stock control in the Retail sales receipt
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Change items and post document
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -823,7 +823,7 @@ Scenario:_800012 check remaining stock control serial lot numbers in the Retail
Then "1C:Enterprise" window is opened
And I activate "1C:Enterprise" window
And I click the button named "OK"
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010B_ActualStocks remaining: 5 . Required: 6 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010 Actual stocks remaining: 5 . Required: 6 . Lacking: 1 ." substring will appear in 10 seconds
* Change quantity and post document
And I activate field named "ItemListSerialLotNumbersPresentation" in "ItemList" table
And I select current line in "ItemList" table
@@ -926,8 +926,8 @@ Scenario:_800014 check remaining stock control in the Bundling
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use SC and GR)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -938,8 +938,8 @@ Scenario:_800014 check remaining stock control in the Bundling
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use SC and does not use GR)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -950,8 +950,8 @@ Scenario:_800014 check remaining stock control in the Bundling
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use GR and does not use SC)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -962,8 +962,8 @@ Scenario:_800014 check remaining stock control in the Bundling
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Change items and post document
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -1089,8 +1089,8 @@ Scenario:_800017 check remaining stock control in the Stock adjustment as write
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4010B_ActualStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4010B_ActualStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4010 Actual stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4010 Actual stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use SC and GR)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -1101,8 +1101,8 @@ Scenario:_800017 check remaining stock control in the Stock adjustment as write
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4010B_ActualStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4010B_ActualStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4010 Actual stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4010 Actual stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use SC and does not use GR)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -1113,8 +1113,8 @@ Scenario:_800017 check remaining stock control in the Stock adjustment as write
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4010B_ActualStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4010B_ActualStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4010 Actual stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4010 Actual stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use GR and does not use SC)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -1125,8 +1125,8 @@ Scenario:_800017 check remaining stock control in the Stock adjustment as write
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4010B_ActualStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4010B_ActualStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4010 Actual stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4010 Actual stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Change items and post document
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -1230,7 +1230,7 @@ Scenario:_800018 check remaining stock control serial lot number in the Stock ad
Then "1C:Enterprise" window is opened
And I activate "1C:Enterprise" window
And I click the button named "OK"
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010B_ActualStocks remaining: 5 . Required: 6 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010 Actual stocks remaining: 5 . Required: 6 . Lacking: 1 ." substring will appear in 10 seconds
* Change quantity and post document
And I move to "Items" tab
And I activate field named "ItemListSerialLotNumbersPresentation" in "ItemList" table
@@ -1337,8 +1337,8 @@ Scenario:_800020 check remaining stock control in the Purchase return
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Change items and post document
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -1442,7 +1442,7 @@ Scenario:_800021 check remaining stock control in the Purchase return
Then "1C:Enterprise" window is opened
And I activate "1C:Enterprise" window
And I click the button named "OK"
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010B_ActualStocks remaining: 5 . Required: 6 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010 Actual stocks remaining: 5 . Required: 6 . Lacking: 1 ." substring will appear in 10 seconds
* Change quantity and post document
And I activate field named "ItemListSerialLotNumbersPresentation" in "ItemList" table
And I select current line in "ItemList" table
@@ -1546,8 +1546,8 @@ Scenario:_800022 check remaining stock control in the shipment confirmation
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Check remaining stock control (store use SC and does not use GR)
And I click Choice button of the field named "Store"
And I go to line in "List" table
@@ -1558,8 +1558,8 @@ Scenario:_800022 check remaining stock control in the shipment confirmation
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011B_FreeStocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011B_FreeStocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress Dress/A-8] R4011 Free stocks remaining: 100 . Required: 110 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Trousers 38/Yellow] R4011 Free stocks remaining: 0 . Required: 1 . Lacking: 1 ." substring will appear in 10 seconds
* Change items and post document
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -1656,7 +1656,7 @@ Scenario:_800023 check remaining stock control serial lot number in the shipment
Then "1C:Enterprise" window is opened
And I activate "1C:Enterprise" window
And I click the button named "OK"
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010B_ActualStocks remaining: 5 . Required: 6 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010 Actual stocks remaining: 5 . Required: 6 . Lacking: 1 ." substring will appear in 10 seconds
* Change quantity and post document
And I activate field named "ItemListSerialLotNumbersPresentation" in "ItemList" table
And I select current line in "ItemList" table
@@ -1701,7 +1701,7 @@ Scenario:_800032 check remaining stock control when unpost/change Unbundling
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "[Dress Dress/A-8] R4011B_FreeStocks remaining: 102 . Required: 105 . Lacking: 3 ." substring will appear in 10 seconds
Then I wait that in user messages the "[Dress Dress/A-8] R4011 Free stocks remaining: 102 . Required: 105 . Lacking: 3 ." substring will appear in 10 seconds
* Change quantity back
And I input "10,000" text in "Quantity" field
And I save "CurrentDate() - 10800" in "$$$$PreviousDate1$$$$" variable
@@ -1768,7 +1768,7 @@ Scenario:_800032 check remaining stock control when unpost/change Unbundling
And I click "Cancel posting" button
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [3] [Dress M/Brown] R4011B_FreeStocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Dress M/Brown] R4011 Free stocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
* Change quantity in the Unbundling
And I go to line in "ItemList" table
| 'Item' | 'Item key' | 'Quantity' |
@@ -1779,7 +1779,7 @@ Scenario:_800032 check remaining stock control when unpost/change Unbundling
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [3] [Dress M/Brown] R4011B_FreeStocks remaining: 20 . Required: 10 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Dress M/Brown] R4011 Free stocks remaining: 20 . Required: 10 . Lacking: 10 ." substring will appear in 10 seconds
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
| 'Dress' | 'M/Brown' |
@@ -1835,7 +1835,7 @@ Scenario:_800032 check remaining stock control when unpost/change Unbundling
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [Dress M/Brown] R4011B_FreeStocks remaining: 10 . Required: 11 . Lacking: 1 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Dress M/Brown] R4011 Free stocks remaining: 10 . Required: 11 . Lacking: 1 ." substring will appear in 10 seconds
And I close all client application windows
@@ -1850,8 +1850,8 @@ Scenario:_800036 check remaining stock control when unpost/change Sales return
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011B_FreeStocks remaining: 160 . Required: 0 . Lacking: 160 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Bag ODS] R4011B_FreeStocks remaining: 40 . Required: 0 . Lacking: 40 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011 Free stocks remaining: 160 . Required: 0 . Lacking: 160 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Bag ODS] R4011 Free stocks remaining: 40 . Required: 0 . Lacking: 40 ." substring will appear in 10 seconds
* Try change quantity (less than in the SI)
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -1863,7 +1863,7 @@ Scenario:_800036 check remaining stock control when unpost/change Sales return
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011B_FreeStocks remaining: 160 . Required: 128 . Lacking: 32 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011 Free stocks remaining: 160 . Required: 128 . Lacking: 32 ." substring will appear in 10 seconds
* Delete string and try to post
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -1872,7 +1872,7 @@ Scenario:_800036 check remaining stock control when unpost/change Sales return
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [High shoes 39/19SD] R4011B_FreeStocks remaining: 160 . Required: 80 . Lacking: 80 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [High shoes 39/19SD] R4011 Free stocks remaining: 160 . Required: 80 . Lacking: 80 ." substring will appear in 10 seconds
And I close all client application windows
* Add one more string and check posting
Given I open hyperlink "e1cib/list/Document.SalesReturn"
@@ -1909,7 +1909,7 @@ Scenario:_800040 check remaining stock control when unpost/change Stock adjustme
And I click "Cancel posting" button
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
* Try change quantity in StockAdjustmentAsSurplus (less than in the SI)
And I click Choice button of the field named "Currency"
And I go to line in "List" table
@@ -1923,7 +1923,7 @@ Scenario:_800040 check remaining stock control when unpost/change Stock adjustme
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 6 . Lacking: 4 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 6 . Lacking: 4 ." substring will appear in 10 seconds
* Delete string from StockAdjustmentAsSurplus and try to post
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -1932,7 +1932,7 @@ Scenario:_800040 check remaining stock control when unpost/change Stock adjustme
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
And I close all client application windows
* Add one more string and check posting
Given I open hyperlink "e1cib/list/Document.StockAdjustmentAsSurplus"
@@ -1985,7 +1985,7 @@ Scenario:_800042 check remaining stock control when post Physical inventory
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Dress XS/Blue] R4011B_FreeStocks remaining: 0 . Required: 2 . Lacking: 2 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Dress XS/Blue] R4011 Free stocks remaining: 0 . Required: 2 . Lacking: 2 ." substring will appear in 10 seconds
And I delete "$$NumberPhysicalInventory1$$" variable
And I save the value of "Number" field as "$$NumberPhysicalInventory1$$"
And I close all client application windows
@@ -2022,8 +2022,8 @@ Scenario:_800043 check remaining stock control when unpost Physical inventory
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Bag ODS] R4011B_FreeStocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Bag ODS] R4011 Free stocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
* Try change quantity (less than in the SI)
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -2035,7 +2035,7 @@ Scenario:_800043 check remaining stock control when unpost Physical inventory
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 6 . Lacking: 4 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 6 . Lacking: 4 ." substring will appear in 10 seconds
* Delete string and try to post
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -2044,7 +2044,7 @@ Scenario:_800043 check remaining stock control when unpost Physical inventory
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
And I close all client application windows
* Add one more string and check posting
Given I open hyperlink "e1cib/list/Document.PhysicalInventory"
@@ -2083,8 +2083,8 @@ Scenario:_800044 check remaining stock control when unpost/change Retail return
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Bag ODS] R4011B_FreeStocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Bag ODS] R4011 Free stocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
* Try change quantity (less than in the SI)
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -2104,7 +2104,7 @@ Scenario:_800044 check remaining stock control when unpost/change Retail return
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 6 . Lacking: 4 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 6 . Lacking: 4 ." substring will appear in 10 seconds
* Delete string and try to post
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -2119,7 +2119,7 @@ Scenario:_800044 check remaining stock control when unpost/change Retail return
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
And I close all client application windows
* Add one more string and check posting
Given I open hyperlink "e1cib/list/Document.RetailReturnReceipt"
@@ -2163,8 +2163,8 @@ Scenario:_800046 check remaining stock control when post/change Inventory transf
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [Shirt 36/Red] R4011B_FreeStocks remaining: 0 . Required: 25 . Lacking: 25 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Shirt 38/Black] R4011B_FreeStocks remaining: 3 . Required: 20 . Lacking: 17 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Shirt 36/Red] R4011 Free stocks remaining: 0 . Required: 25 . Lacking: 25 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Shirt 38/Black] R4011 Free stocks remaining: 3 . Required: 20 . Lacking: 17 ." substring will appear in 10 seconds
And I delete "$$NumberInventoryTransferOrder1$$" variable
And I save the value of "Number" field as "$$NumberInventoryTransferOrder1$$"
* Try to post Inventory transfer order (no balance to write off), status Wait
@@ -2243,7 +2243,7 @@ Scenario:_800046 check remaining stock control when post/change Inventory transf
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [Shirt 38/Black] R4011B_FreeStocks remaining: 0 . Required: 5 . Lacking: 5 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Shirt 38/Black] R4011 Free stocks remaining: 0 . Required: 5 . Lacking: 5 ." substring will appear in 10 seconds
And I select "Wait" exact value from "Status" drop-down list
And I click the button named "FormPost"
Then system warning window does not appear
@@ -2273,8 +2273,8 @@ Scenario:_800048 check remaining stock control when unpost/change Inventory tran
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [High shoes 39/19SD] R4011B_FreeStocks remaining: 80 . Required: 0 . Lacking: 80 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Bag ODS] R4011B_FreeStocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [High shoes 39/19SD] R4011 Free stocks remaining: 80 . Required: 0 . Lacking: 80 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Bag ODS] R4011 Free stocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
* Try change quantity (less than in the SI)
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -2286,7 +2286,7 @@ Scenario:_800048 check remaining stock control when unpost/change Inventory tran
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [High shoes 39/19SD] R4011B_FreeStocks remaining: 80 . Required: 48 . Lacking: 32 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [High shoes 39/19SD] R4011 Free stocks remaining: 80 . Required: 48 . Lacking: 32 ." substring will appear in 10 seconds
* Delete string and try to post
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -2295,7 +2295,7 @@ Scenario:_800048 check remaining stock control when unpost/change Inventory tran
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [] [High shoes 39/19SD] R4011B_FreeStocks remaining: 80 . Required: 0 . Lacking: 80 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [] [High shoes 39/19SD] R4011 Free stocks remaining: 80 . Required: 0 . Lacking: 80 ." substring will appear in 10 seconds
And I close all client application windows
* Add one more string and check posting
Given I open hyperlink "e1cib/list/Document.InventoryTransfer"
@@ -2335,8 +2335,8 @@ Scenario:_800050 check remaining stock control when unpost/change Opening entry
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [10] [High shoes 39/19SD] R4011B_FreeStocks remaining: 80 . Required: 0 . Lacking: 80 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [11] [Bag ODS] R4011B_FreeStocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [10] [High shoes 39/19SD] R4011 Free stocks remaining: 80 . Required: 0 . Lacking: 80 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [11] [Bag ODS] R4011 Free stocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
* Trying to change quantity in the Opening entry (less than is posted SI)
And I move to "Inventory" tab
And I go to line in "Inventory" table
@@ -2348,7 +2348,7 @@ Scenario:_800050 check remaining stock control when unpost/change Opening entry
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [13] [Bag ODS] R4011B_FreeStocks remaining: 20 . Required: 8 . Lacking: 12 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [13] [Bag ODS] R4011 Free stocks remaining: 20 . Required: 8 . Lacking: 12 ." substring will appear in 10 seconds
And I close all client application windows
* Trying to delete string in the Opening entry (less than is posted SI)
Given I open hyperlink "e1cib/list/Document.OpeningEntry"
@@ -2365,7 +2365,7 @@ Scenario:_800050 check remaining stock control when unpost/change Opening entry
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [] [Bag ODS] R4011B_FreeStocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [] [Bag ODS] R4011 Free stocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
And I close all client application windows
* Add one more string and check posting
Given I open hyperlink "e1cib/list/Document.OpeningEntry"
@@ -2539,7 +2539,7 @@ Scenario:_800051 check remaining stock control in the Work Sheet
Then "1C:Enterprise" window is opened
And I click the button named "OK"
Then there are lines in TestClient message log
| 'Line No. [1] [Material 1 Material 1] R4010B_ActualStocks remaining: 10 . Required: 42 . Lacking: 32 .' |
| 'Line No. [1] [Material 1 Material 1] R4010 Actual stocks remaining: 10 . Required: 42 . Lacking: 32 .' |
And I close all client application windows
@@ -2623,7 +2623,7 @@ Scenario:_800052 check remaining stock control in the Work Order
Then "1C:Enterprise" window is opened
And I click the button named "OK"
Then there are lines in TestClient message log
| 'Line No. [1] [Material 1 Material 1] R4011B_FreeStocks remaining: 10 . Required: 42 . Lacking: 32 .' |
| 'Line No. [1] [Material 1 Material 1] R4011 Free stocks remaining: 10 . Required: 42 . Lacking: 32 .' |
And I close all client application windows
@@ -2638,8 +2638,8 @@ Scenario:_800055 check remaining stock control when unpost/change Sales order cl
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011B_FreeStocks remaining: 80 . Required: 0 . Lacking: 80 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Bag ODS] R4011B_FreeStocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011 Free stocks remaining: 80 . Required: 0 . Lacking: 80 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Bag ODS] R4011 Free stocks remaining: 20 . Required: 0 . Lacking: 20 ." substring will appear in 10 seconds
And I close all client application windows
Scenario:_800056 check remaining stock control when unpost/change Goods receipt
@@ -2652,7 +2652,7 @@ Scenario:_800056 check remaining stock control when unpost/change Goods receipt
And I click "Cancel posting" button
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
* Try change quantity (less than in the SI)
And I activate "Quantity" field in "ItemList" table
And I select current line in "ItemList" table
@@ -2661,7 +2661,7 @@ Scenario:_800056 check remaining stock control when unpost/change Goods receipt
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 6 . Lacking: 4 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 6 . Lacking: 4 ." substring will appear in 10 seconds
* Delete string and try to post
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -2670,7 +2670,7 @@ Scenario:_800056 check remaining stock control when unpost/change Goods receipt
And I click the button named "FormPost"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [] [High shoes 39/19SD] R4011B_FreeStocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [] [High shoes 39/19SD] R4011 Free stocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
And I close all client application windows
* Add one more string and check posting
Given I open hyperlink "e1cib/list/Document.GoodsReceipt"
@@ -2710,7 +2710,7 @@ Scenario:_800060 check remaining stock control serial lot number when unpost inc
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010B_ActualStocks remaining: 5 . Required: 0 . Lacking: 5 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010 Actual stocks remaining: 5 . Required: 0 . Lacking: 5 ." substring will appear in 10 seconds
And I close all client application windows
* Try unpost Purchase invoice
Given I open hyperlink "e1cib/list/Document.PurchaseInvoice"
@@ -2721,7 +2721,7 @@ Scenario:_800060 check remaining stock control serial lot number when unpost inc
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010B_ActualStocks remaining: 5 . Required: 0 . Lacking: 5 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010 Actual stocks remaining: 5 . Required: 0 . Lacking: 5 ." substring will appear in 10 seconds
And I close all client application windows
* Try unpost Stock Adjustment as surplus
Given I open hyperlink "e1cib/list/Document.StockAdjustmentAsSurplus"
@@ -2732,7 +2732,7 @@ Scenario:_800060 check remaining stock control serial lot number when unpost inc
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010B_ActualStocks remaining: 5 . Required: 0 . Lacking: 5 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010 Actual stocks remaining: 5 . Required: 0 . Lacking: 5 ." substring will appear in 10 seconds
And I close all client application windows
* Try unpost Physical inventory
Given I open hyperlink "e1cib/list/Document.PhysicalInventory"
@@ -2743,7 +2743,7 @@ Scenario:_800060 check remaining stock control serial lot number when unpost inc
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010B_ActualStocks remaining: 5 . Required: 0 . Lacking: 5 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010 Actual stocks remaining: 5 . Required: 0 . Lacking: 5 ." substring will appear in 10 seconds
And I close all client application windows
* Try unpost Goods receipt
Given I open hyperlink "e1cib/list/Document.GoodsReceipt"
@@ -2754,7 +2754,7 @@ Scenario:_800060 check remaining stock control serial lot number when unpost inc
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [3] [Product 3 with SLN UNIQ] R4011B_FreeStocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [3] [Product 3 with SLN UNIQ] R4011 Free stocks remaining: 10 . Required: 0 . Lacking: 10 ." substring will appear in 10 seconds
And I close all client application windows
* Try unpost Inventory transfer
Given I open hyperlink "e1cib/list/Document.InventoryTransfer"
@@ -2765,7 +2765,7 @@ Scenario:_800060 check remaining stock control serial lot number when unpost inc
And I click the button named "FormUndoPosting"
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [2] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010B_ActualStocks remaining: 5 . Required: 0 . Lacking: 5 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [2] [Product 1 with SLN PZU] Serial lot number [8908899879] R4010 Actual stocks remaining: 5 . Required: 0 . Lacking: 5 ." substring will appear in 10 seconds
And I close all client application windows
@@ -2815,7 +2815,7 @@ Scenario:_800070 check stock control in the Stock adjustment as surplus
Then "1C:Enterprise" window is opened
And I click the button named "OK"
Then there are lines in TestClient message log
| 'Line No. [1] [Chewing gum Mint/Mango] R4011B_FreeStocks remaining: 3 . Required: 2 . Lacking: 1 .' |
| 'Line No. [1] [Chewing gum Mint/Mango] R4011 Free stocks remaining: 3 . Required: 2 . Lacking: 1 .' |
And I close all client application windows
@@ -2888,7 +2888,7 @@ Scenario:_800080 set/remove checkbox Negative stock control from store and check
And I click "Post" button
Then "1C:Enterprise" window is opened
And I click "OK" button
Then I wait that in user messages the "Line No. [1] [Dress XS/Blue] R4011B_FreeStocks remaining: 0 . Required: 15 000 . Lacking: 15 000 ." substring will appear in 10 seconds
Then I wait that in user messages the "Line No. [1] [Dress XS/Blue] R4011 Free stocks remaining: 0 . Required: 15 000 . Lacking: 15 000 ." substring will appear in 10 seconds
And I close all client application windows
@@ -2941,7 +2941,7 @@ Scenario:_800082 check of FreeStock balance control without date limitation
Then "1C:Enterprise" window is opened
And I click the button named "OK"
Then there are lines in TestClient message log
|'Line No. [1] [Dress Dress/A-8] R4011B_FreeStocks remaining: 92 . Required: 93 . Lacking: 1 .'|
|'Line No. [1] [Dress Dress/A-8] R4011 Free stocks remaining: 92 . Required: 93 . Lacking: 1 .'|
* Change quantity (more then free stock in the second line, first line is the same as quantity in the free stock)
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -2959,7 +2959,7 @@ Scenario:_800082 check of FreeStock balance control without date limitation
Then "1C:Enterprise" window is opened
And I click the button named "OK"
Then there are lines in TestClient message log
|'Line No. [2] [Product 3 with SLN UNIQ] R4011B_FreeStocks remaining: 10 . Required: 11 . Lacking: 1 .'|
|'Line No. [2] [Product 3 with SLN UNIQ] R4011 Free stocks remaining: 10 . Required: 11 . Lacking: 1 .'|
* Change qauntity (less then free stock)
And I go to line in "ItemList" table
| 'Item' | 'Item key' |
@@ -3137,7 +3137,7 @@ Scenario:_800085 check stock control in the Production (store with and without s
Then "1C:Enterprise" window is opened
And I click the button named "OK"
Then there are lines in TestClient message log
|'Line No. [2] [Material 2 Material 2] R4010B_ActualStocks remaining: 20 . Required: 58 . Lacking: 38 .'|
|'Line No. [2] [Material 2 Material 2] R4010 Actual stocks remaining: 20 . Required: 58 . Lacking: 38 .'|
* Try post (store not use stock control, materials are not enough)
And I activate "Writeoff store" field in "Materials" table
And I select current line in "Materials" table
@@ -3157,7 +3157,7 @@ Scenario:_800085 check stock control in the Production (store with and without s
Then "1C:Enterprise" window is opened
And I click the button named "OK"
Then there are lines in TestClient message log
|'Line No. [2] [Material 2 Material 2] R4010B_ActualStocks remaining: 20 . Required: 58 . Lacking: 38 .'|
|'Line No. [2] [Material 2 Material 2] R4010 Actual stocks remaining: 20 . Required: 58 . Lacking: 38 .'|
And I close all client application windows