Word Layout Compile Bug #7672
Labels
accepted
reporting
ships-in-future-update
The issue is fixed in our 'master' branch and will ship in the next PREVIEW release
1. Describe the bug
While compiling a report extension with an existing Layout, the compiler gives the current error:
Failure while emitting metadata for object:'ReportExtension gsStandardSalesInvoice' (Length cannot be less than zero. (Parameter 'length')))
2. To Reproduce
Steps to reproduce the behavior:
tableextension 60100 gsSalesLine extends "Sales Line"
{
fields
{
field(60100; gsUnitPriceAfterDisc; Decimal)
{
Caption = 'Unit price (after discount)';
DataClassification = CustomerContent;
Editable = false;
}
}
}
reportextension 60101 gsStandardSalesOrderConf extends "Standard Sales - Order Conf."
{
WordLayout = './src/layout/gsStandardSalesOrderConf.docx';
dataset
{
add(Line)
{
column(gsUnitPriceAfterDisc; gsUnitPriceAfterDisc) { }
}
}
}
gsStandardSalesOrderConf.docx
3. Expected behavior
Compile and get an updated Dataset in the Word File
4. Actual behavior
Getting this error:
[Error - 10:30:52 AM] Please report this issue to https://github.com/microsoft/al/issues including information on how to reproduce it, if possible.
Processing of message 'al/createPackage' failed with error: 'One or more errors occurred. (Failure while emitting metadata for object:'ReportExtension gsStandardSalesInvoice' (Length cannot be less than zero. (Parameter 'length'))) (Failure while emitting metadata for object:'ReportExtension gsStandardSalesOrderConf' (Length cannot be less than zero. (Parameter 'length')))'
Details:
System.AggregateException: One or more errors occurred. (Failure while emitting metadata for object:'ReportExtension gsStandardSalesInvoice' (Length cannot be less than zero. (Parameter 'length'))) (Failure while emitting metadata for object:'ReportExtension gsStandardSalesOrderConf' (Length cannot be less than zero. (Parameter 'length')))
---> System.AggregateException: Failure while emitting metadata for object:'ReportExtension gsStandardSalesInvoice' (Length cannot be less than zero. (Parameter 'length'))
---> System.ArgumentOutOfRangeException: Length cannot be less than zero. (Parameter 'length')
at System.String.Substring(Int32 startIndex, Int32 length)
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportWordUtilities.<>c.b__6_0(String line) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportEmitterUtilities\ReportWordUtilities.cs:line 137
at System.Linq.Enumerable.SelectArrayIterator
2.MoveNext() at System.String.Join(String separator, IEnumerable
1 values)at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportWordUtilities.FillXmlPartDataWithExtendedInfo(String oldXmlPart) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportEmitterUtilities\ReportWordUtilities.cs:line 128
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportWordUtilities.UpdateWordFileIfNeeded(IFileSystem fileSystem, String docName, String officeCustomXmlPart, String officeCustomXmlPart_Extended) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportEmitterUtilities\ReportWordUtilities.cs:line 62
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportWordUtilities.GenerateWordLayout(ReportTypeSymbol report, IFileSystem fileSystem, String docName, Compilation compilation) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportEmitterUtilities\ReportWordUtilities.cs:line 37
at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportLayoutsGenerator.GenerateLayout(ReportTypeSymbol symbol, ApplicationObjectTypeSymbol declaringSymbol, DiagnosticBag diagnostics, ReportLayoutSymbol layoutSymbol, Action
4 generator) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportLayoutsGenerator.cs:line 46 at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportExtensionLayoutsEmitter.Emit(DiagnosticBag diagnostics) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportExtensionLayoutsEmitter.cs:line 21 at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.<>c__DisplayClass15_0.<PreMetadataEmit>b__0(DiagnosticBag diagnostics) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 226 at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.EmitNonObjectCode(Symbol objectType, Action
1 emitter) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 205--- End of inner exception stack trace ---
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.EmitNonObjectCode(Symbol objectType, Action
1 emitter) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 209 at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.PreMetadataEmit(ObjectTypeSymbol containingType) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 221 at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.CompileObject(ObjectTypeSymbol containingType) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 189 at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.VisitObjectType(ObjectTypeSymbol symbol) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 161 at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SymbolVisitor.VisitApplicationObjectType(ApplicationObjectTypeSymbol node) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Generated\SymbolVisitor.Generated.cs:line 351 at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SymbolVisitor.VisitApplicationObjectExtensionType(ApplicationObjectExtensionTypeSymbol node) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Generated\SymbolVisitor.Generated.cs:line 356 at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SymbolVisitor.VisitReportExtensionType(ReportExtensionTypeSymbol node) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Generated\SymbolVisitor.Generated.cs:line 286 at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ReportExtensionTypeSymbol.Accept(SymbolVisitor visitor) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Generated\Symbols.Generated.cs:line 1208 at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.<>c__DisplayClass11_0.<CompileModule>b__0(Symbol memberSymbol) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 129 --- End of inner exception stack trace --- at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.CompileModule(ModuleSymbol moduleSymbol) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 140 at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.CompileMethodBodies(Compilation compilation, ModuleBuilder moduleBeingBuiltOpt, Boolean hasDeclarationErrors, DiagnosticBag diagnostics, Predicate
1 filterOpt, Predicate1 radCompilationFilter, CancellationToken cancellationToken) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 103 at Microsoft.Dynamics.Nav.CodeAnalysis.Compilation.CompileImpl(ModuleBuilder moduleBuilder, Boolean emittingPdb, DiagnosticBag diagnostics, Predicate
1 filterOpt, Predicate1 radCompilationFilter, CancellationToken cancellationToken) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compilation\Compilation.cs:line 1202 at Microsoft.Dynamics.Nav.CodeAnalysis.Compilation.Compile(ModuleBuilder moduleBuilder, Boolean emittingPdb, DiagnosticBag diagnostics, Predicate
1 filterOpt, Predicate1 radCompilationFilter, CancellationToken cancellationToken) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compilation\Compilation.cs:line 1174 at Microsoft.Dynamics.Nav.CodeAnalysis.CommandLine.CommonCompiler.PackageTheModule(Compilation compilation, CompilerTextWriter consoleOutput, CancellationToken cancellationToken, ErrorLogger errorLogger, AnalyzerDriver analyzerDriver, Predicate
1 filterOpt, Predicate1 radCompilationFilter) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\CommandLine\CommonCompiler.cs:line 793 at Microsoft.Dynamics.Nav.CodeAnalysis.CommandLine.CommonCompiler.RunCoreImpl(CompilerTextWriter consoleOutput, ErrorLogger errorLogger, Compilation compilation, AnalyzerDriver analyzerDriver, IEnumerable
1 analyzerExceptionDiagnostics, IEnumerable1 additionalTextFiles, CancellationToken cancellationToken) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\CommandLine\CommonCompiler.cs:line 560 at Microsoft.Dynamics.Nav.CodeAnalysis.CommandLine.CommonCompiler.RunCore(CompilerTextWriter consoleOutput, ErrorLogger errorLogger, ITelemetryService telemetryService, CancellationToken cancellationToken) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\CommandLine\CommonCompiler.cs:line 490 at Microsoft.Dynamics.Nav.CodeAnalysis.CommandLine.CommonCompiler.Run(CompilerTextWriter consoleOutput, ITelemetryService telemetryService, CancellationToken cancellationToken) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\CommandLine\CommonCompiler.cs:line 340 at Microsoft.Dynamics.Nav.EditorServices.Protocol.Utility.ActiveProjectBuilder.Build(VsCodeWorkspace workspace, Project builtProject, StreamingTextWriter outputWriter, Boolean isRad, IList
1 args, CancellationToken cancellationToken, IResponseQueue responseQueue, ITelemetryService telemetryService, Boolean forceBuild, IList1 outputFiles, CustomTelemetryEvent telemetryEvent, String requestVsCodeExtensionVersion) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\Utility\ActiveProjectBuilder.cs:line 204 at Microsoft.Dynamics.Nav.EditorServices.Protocol.Utility.ActiveProjectBuilder.BuildWorkspaceAsync(CancellationToken cancellationToken, IFileSystem fileSystem, VsCodeWorkspace workspace, String projectDir, IList
1 args, Boolean buildDependencyPackage, Boolean isRad, IResponseQueue responseQueue, Boolean forceBuildOfAllDependencies, CustomTelemetryEvent telemetryEvent, ITelemetryService telemetryService, String vsCodeExtensionVersion) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\Utility\ActiveProjectBuilder.cs:line 115at Microsoft.Dynamics.Nav.EditorServices.Protocol.LanguageServer.Extensions.CreatePackageRequestHandler.HandleAsync(CreatePackageRequest request, Int32 requestId, CancellationToken cancellationToken) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\LanguageServer\Extensions\CreatePackageRequestHandler.cs:line 37
at Microsoft.Dynamics.Nav.EditorServices.Protocol.MessageProtocol.RequestHandlerBase
1.HandleAsync(JToken requestContents, Int32 requestId, CancellationToken cancellationToken) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\MessageProtocol\RequestHandlerBase.cs:line 84 at Microsoft.Dynamics.Nav.EditorServices.Protocol.RequestRegistry.Process(Message message) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.EditorServices.Protocol\Endpoints\RequestRegistry.cs:line 106 ---> (Inner Exception #1) System.AggregateException: Failure while emitting metadata for object:'ReportExtension gsStandardSalesOrderConf' (Length cannot be less than zero. (Parameter 'length')) ---> System.ArgumentOutOfRangeException: Length cannot be less than zero. (Parameter 'length') at System.String.Substring(Int32 startIndex, Int32 length) at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportWordUtilities.<>c.<FillXmlPartDataWithExtendedInfo>b__6_0(String line) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportEmitterUtilities\ReportWordUtilities.cs:line 137 at System.Linq.Enumerable.SelectArrayIterator
2.MoveNext()at System.String.Join(String separator, IEnumerable
1 values) at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportWordUtilities.FillXmlPartDataWithExtendedInfo(String oldXmlPart) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportEmitterUtilities\ReportWordUtilities.cs:line 128 at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportWordUtilities.UpdateWordFileIfNeeded(IFileSystem fileSystem, String docName, String officeCustomXmlPart, String officeCustomXmlPart_Extended) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportEmitterUtilities\ReportWordUtilities.cs:line 62 at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportWordUtilities.GenerateWordLayout(ReportTypeSymbol report, IFileSystem fileSystem, String docName, Compilation compilation) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportEmitterUtilities\ReportWordUtilities.cs:line 37 at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportLayoutsGenerator.GenerateLayout(ReportTypeSymbol symbol, ApplicationObjectTypeSymbol declaringSymbol, DiagnosticBag diagnostics, ReportLayoutSymbol layoutSymbol, Action
4 generator) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportLayoutsGenerator.cs:line 46at Microsoft.Dynamics.Nav.CodeAnalysis.Emit.ReportExtensionLayoutsEmitter.Emit(DiagnosticBag diagnostics) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Emitter\ReportExtensionLayoutsEmitter.cs:line 21
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.<>c__DisplayClass15_0.b__0(DiagnosticBag diagnostics) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 226
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.EmitNonObjectCode(Symbol objectType, Action
1 emitter) in D:\a\_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 205 --- End of inner exception stack trace --- at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.EmitNonObjectCode(Symbol objectType, Action
1 emitter) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 209at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.PreMetadataEmit(ObjectTypeSymbol containingType) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 221
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.CompileObject(ObjectTypeSymbol containingType) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 189
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.VisitObjectType(ObjectTypeSymbol symbol) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 161
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SymbolVisitor.VisitApplicationObjectType(ApplicationObjectTypeSymbol node) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Generated\SymbolVisitor.Generated.cs:line 351
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SymbolVisitor.VisitApplicationObjectExtensionType(ApplicationObjectExtensionTypeSymbol node) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Generated\SymbolVisitor.Generated.cs:line 356
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.SymbolVisitor.VisitReportExtensionType(ReportExtensionTypeSymbol node) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Generated\SymbolVisitor.Generated.cs:line 286
at Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ReportExtensionTypeSymbol.Accept(SymbolVisitor visitor) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Generated\Symbols.Generated.cs:line 1208
at Microsoft.Dynamics.Nav.CodeAnalysis.MethodCompiler.<>c__DisplayClass11_0.b__0(Symbol memberSymbol) in D:\a_work\1\s\source\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\Compiler\MethodCompiler.cs:line 129<---
5. Versions:
Version: 1.86.2 (user setup)
Commit: 903b1e9d8990623e3d7da1df3d33db3e42d80eda
Date: 2024-02-13T19:40:56.878Z
Electron: 27.2.3
ElectronBuildId: 26908389
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: 11.8.172.18-electron.0
OS: Windows_NT x64 10.0.22631
The text was updated successfully, but these errors were encountered: