mirror of
				https://github.com/IRPTeam/IRP.git
				synced 2025-10-30 23:17:46 +02:00 
			
		
		
		
	
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							481ea060f9
						
					
				
				
					commit
					f8be04252b
				
			
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,2 @@ | ||||
| IRP/.settings/*.* | ||||
| IRP/.settings/Default.cset | ||||
| *.prefs | ||||
| *.cset | ||||
|   | ||||
| @@ -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 | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										3
									
								
								IRP/.settings/com.e1c.g5.v8.dt.check.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								IRP/.settings/com.e1c.g5.v8.dt.check.prefs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| activeProfile=All_Errors | ||||
| disableMassiveChecks=false | ||||
| eclipse.preferences.version=1 | ||||
							
								
								
									
										2
									
								
								IRP/.settings/com.e1c.v8codestyle.autosort.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								IRP/.settings/com.e1c.v8codestyle.autosort.prefs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| eclipse.preferences.version=1 | ||||
| topObjects=false | ||||
							
								
								
									
										3
									
								
								IRP/.settings/com.e1c.v8codestyle.bsl.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								IRP/.settings/com.e1c.v8codestyle.bsl.prefs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| addModuleStrictTypesAnnotation=false | ||||
| createModuleStructure=false | ||||
| eclipse.preferences.version=1 | ||||
							
								
								
									
										3
									
								
								IRP/.settings/com.e1c.v8codestyle.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								IRP/.settings/com.e1c.v8codestyle.prefs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| commonChecks=true | ||||
| eclipse.preferences.version=1 | ||||
| standardChecks=true | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -36,4 +36,3 @@ Procedure SetCompanyFilter() | ||||
| EndProcedure | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| &AtClient | ||||
| Procedure NewWriteProcessing(NewObject, Source, StandardProcessing) | ||||
| 	//@skip-check unknown-method-property | ||||
| 	ThisObject.List.QueryText = LocalizationEvents.ReplaceDescriptionLocalizationPrefix(ThisObject.List.QueryText); | ||||
| EndProcedure | ||||
| @@ -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" | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -54,6 +54,7 @@ Procedure ExternalDataProcessorOnActivateRow(Item) | ||||
| 	If CurrentRow = Undefined Then | ||||
| 		Return; | ||||
| 	EndIf; | ||||
| 	//@skip-check unknown-method-property | ||||
| 	PutSettingsToTempStorage(CurrentRow.LineNumber); | ||||
| EndProcedure | ||||
|  | ||||
|   | ||||
| @@ -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/> | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -682,7 +682,6 @@ Function GetAdditionalSettings(RowOwner, TableOfSettings) | ||||
| 	 | ||||
| 	RowOwner.Rows.Add(NewRow_Documents); | ||||
| 	 | ||||
| 	 | ||||
| 	// Link \ Unlink document rows | ||||
| 	FullName = "Documents.LinkUnlinkDocumentRows.Settings"; | ||||
| 	 | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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; | ||||
|  | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -13,7 +13,6 @@ Procedure FillStructureDataByObject(StructureData, Val Object, Val Attr, Val Val | ||||
| 		Return; | ||||
| 	EndIf; | ||||
|  | ||||
| 	 | ||||
| 	LastStructure = StructureData; | ||||
| 	For Index = 1 To NameList.UBound() Do | ||||
| 		 | ||||
|   | ||||
| @@ -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()); | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -215,5 +215,3 @@ EndProcedure | ||||
| #EndRegion | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -1030,7 +1030,7 @@ Function TransformToTypeBySource(Data, Source) | ||||
| EndFunction | ||||
|  | ||||
| Function ToXMLString(Data) | ||||
| 	// @skip-check Undefined function | ||||
| 	// @skip-check undefined-function | ||||
| 	Return XMLString(Data); | ||||
| EndFunction | ||||
|  | ||||
|   | ||||
| @@ -82,7 +82,7 @@ Function IsUseSimpleMode() Export | ||||
| EndFunction | ||||
|  | ||||
| Function IsUseFixedAssets() Export | ||||
| 	Return GetFunctionalOption("UseFixedAsstes"); | ||||
| 	Return GetFunctionalOption("UseFixedAssets"); | ||||
| EndFunction | ||||
|  | ||||
| Function IsUseShipmentConfirmationAndGoodsReceipts() Export | ||||
|   | ||||
| @@ -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); | ||||
| 	 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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
											
										
									
								
							| @@ -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 | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -86,13 +86,3 @@ Procedure Cancel(Command) | ||||
| EndProcedure | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -123,7 +123,7 @@ Function DeductionList() | ||||
| 		|	Table.Ref = &Ref"; | ||||
| EndFunction | ||||
|  | ||||
| 	 | ||||
|  | ||||
| #EndRegion | ||||
|  | ||||
| #Region Posting_MainTables | ||||
|   | ||||
| @@ -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( | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -136,7 +136,6 @@ Procedure FillRegisterRecords() | ||||
| 			NewRowError.ErrorDescription = "empty Credit"; | ||||
| 		EndIf; | ||||
| 		 | ||||
| 		 | ||||
| 		DataByAnalytics = AccountingServer.GetDataByAccountingAnalytics(ThisObject.Basis, Row); | ||||
| 		 | ||||
| 		If Not ValueIsFilled(DataByAnalytics.Amount) Then | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -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	 | ||||
|   | ||||
| @@ -355,9 +355,3 @@ EndProcedure | ||||
| #EndRegion | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -552,5 +552,3 @@ EndFunction | ||||
| #EndRegion | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -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); | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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); | ||||
|   | ||||
| @@ -179,4 +179,3 @@ Procedure WeekendsBeforeDeleteRow(Item, Cancel) | ||||
| EndProcedure | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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"); | ||||
| 	 | ||||
|   | ||||
| @@ -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 | ||||
|     } | ||||
|   } | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
							
								
								
									
										2
									
								
								Unit/.settings/com.e1c.g5.v8.dt.check.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								Unit/.settings/com.e1c.g5.v8.dt.check.prefs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| disableMassiveChecks=false | ||||
| eclipse.preferences.version=1 | ||||
							
								
								
									
										17
									
								
								Unit/.settings/com.e1c.g5.v8.dt.formatter.bsl.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								Unit/.settings/com.e1c.g5.v8.dt.formatter.bsl.prefs
									
									
									
									
									
										Normal 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 | ||||
							
								
								
									
										2
									
								
								Unit/.settings/com.e1c.g5.v8.dt.lcore.ui.templates.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								Unit/.settings/com.e1c.g5.v8.dt.lcore.ui.templates.prefs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| IRP={"templates"\:[]} | ||||
| eclipse.preferences.version=1 | ||||
							
								
								
									
										2
									
								
								Unit/.settings/com.e1c.langtool.v8.dt.bsl.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								Unit/.settings/com.e1c.langtool.v8.dt.bsl.prefs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| eclipse.preferences.version=1 | ||||
| translatorProperties/checkVariableDuplicatesResolveLevel=doNotCheck | ||||
							
								
								
									
										2
									
								
								Unit/.settings/com.e1c.langtool.v8.dt.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								Unit/.settings/com.e1c.langtool.v8.dt.prefs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| eclipse.preferences.version=1 | ||||
| translationProperties/fillEmptyInterfaceTranslationFromSource=true | ||||
							
								
								
									
										2
									
								
								Unit/.settings/com.e1c.langtool.v8.dt.ui.prefs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								Unit/.settings/com.e1c.langtool.v8.dt.ui.prefs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| com.e1c.langtool.v8.dt.ui.enableTranslationRefactoring=true | ||||
| eclipse.preferences.version=1 | ||||
| @@ -1,2 +1,2 @@ | ||||
| eclipse.preferences.version=1 | ||||
| topObjects=true | ||||
| topObjects=false | ||||
|   | ||||
| @@ -1,3 +1,3 @@ | ||||
| addModuleStrictTypesAnnotation=true | ||||
| addModuleStrictTypesAnnotation=false | ||||
| createModuleStructure=false | ||||
| eclipse.preferences.version=1 | ||||
|   | ||||
| @@ -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> | ||||
|   | ||||
| @@ -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> | ||||
| @@ -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 | ||||
|  | ||||
| @@ -0,0 +1,2 @@ | ||||
| // @strict-types | ||||
|  | ||||
| @@ -0,0 +1,2 @@ | ||||
| // @strict-types | ||||
|  | ||||
| @@ -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> | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
| 	 | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user