Skip to content

Commit ca46146

Browse files
author
Antonio Novoa
committed
Facade and init appTest
1 parent d315eff commit ca46146

13 files changed

+462
-17
lines changed
Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
{
22
"version": "0.2.0",
33
"configurations": [
4+
{
5+
"name": "CDX - Development Sandbox",
6+
"request": "launch",
7+
"type": "al",
8+
"environmentType": "Sandbox",
9+
"environmentName": "DEVELOPMENT",
10+
"startupObjectId": 80800,
11+
"startupObjectType": "Page",
12+
"breakOnError": "All",
13+
"launchBrowser": true,
14+
"enableLongRunningSqlStatements": true,
15+
"enableSqlInformationDebugger": true,
16+
"tenant": "7be8f1f7-bc67-46c0-9487-d836aad47bea"
17+
}
418
]
5-
}
19+
}
Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
1+
{
2+
"name": "Dependency-Graph-Ruleset",
3+
"rules": [
4+
{
5+
"id": "AA0005",
6+
"action": "Error",
7+
"justification": "Only use BEGIN..END to enclose compound statements"
8+
},
9+
{
10+
"id": "AA0008",
11+
"action": "Error",
12+
"justification": "Function calls should have parenthesis even if they do not have any parameters"
13+
},
14+
{
15+
"id": "AA0013",
16+
"action": "Error",
17+
"justification": "When BEGIN follows THEN, ELSE, DO, it should be on the same line, preceded by one space characte."
18+
},
19+
{
20+
"id": "AA0018",
21+
"action": "Error",
22+
"justification": "The END, IF, REPEAT, UNTIL, FOR, WHILE, and CASE statement should always start a line."
23+
},
24+
{
25+
"id": "AA0022",
26+
"action": "Error",
27+
"justification": "An IF followed by two or more ELSE IF should be replaced with a CASE."
28+
},
29+
{
30+
"id": "AA0073",
31+
"action": "Error",
32+
"justification": "The name of temporary variable must be prefixed with Temp."
33+
},
34+
{
35+
"id": "AA0074",
36+
"action": "Error",
37+
"justification": "TextConst and Label variable names should have an approved suffix."
38+
},
39+
{
40+
"id": "AA0137",
41+
"action": "Error",
42+
"justification": "Standard only gives notice, better error to avoid leaving garbage behind"
43+
},
44+
{
45+
"id": "AA0150",
46+
"action": "Error",
47+
"justification": "Do not declare parameters by reference if their values are never changed."
48+
},
49+
{
50+
"id": "AA0175",
51+
"action": "Error",
52+
"justification": "Only find record if you need to use it."
53+
},
54+
{
55+
"id": "AA0181",
56+
"action": "Error",
57+
"justification": "The FindSet() or Find() methods must be used only in connection with the Next() method."
58+
},
59+
{
60+
"id": "AA0194",
61+
"action": "Error",
62+
"justification": "Only write actions that have an effect."
63+
},
64+
{
65+
"id": "AA0198",
66+
"action": "Error",
67+
"justification": "Do not use identical names for local and global variables."
68+
},
69+
{
70+
"id": "AA0462",
71+
"action": "Error",
72+
"justification": "The CalcDate should only be used with DataFormula variables. Alternatively the string should be enclosed using the <> symbols."
73+
},
74+
{
75+
"id": "AA0202",
76+
"action": "Error",
77+
"justification": "To avoid confusion, do not give local variables the same name as fields, methods, or actions in the same scope."
78+
},
79+
{
80+
"id": "AA0203",
81+
"action": "Error",
82+
"justification": "To avoid confusion, do not give methods the same name as fields or actions in the same scope."
83+
},
84+
{
85+
"id": "AA0204",
86+
"action": "Error",
87+
"justification": "To avoid confusion, do not give global variables the same name as fields, methods, or actions in the same scope."
88+
},
89+
{
90+
"id": "AA0205",
91+
"action": "Error",
92+
"justification": "Variables must be initialized before usage."
93+
},
94+
{
95+
"id": "AA0206",
96+
"action": "Error",
97+
"justification": "The value assigned to a variable must be used."
98+
},
99+
{
100+
"id": "AA0211",
101+
"action": "Error",
102+
"justification": "Avoids a runtime error from using CalcFields on a field that is not a FlowField or a field of type Blob."
103+
},
104+
{
105+
"id": "AA0225",
106+
"action": "Error",
107+
"justification": "You must specify a caption in the Caption property for Fields that exist on page objects."
108+
},
109+
{
110+
"id": "AA0226",
111+
"action": "Error",
112+
"justification": "The value of the Caption property of Fields must be filled in."
113+
},
114+
{
115+
"id": "AA0228",
116+
"action": "Error",
117+
"justification": "The local method must be used; otherwise removed."
118+
},
119+
{
120+
"id": "AA0231",
121+
"action": "Error",
122+
"justification": "StrSubstNo or string concatenation must not be used as a parameter in the Error method."
123+
},
124+
{
125+
"id": "AA0233",
126+
"action": "Error",
127+
"justification": "Use Get(), FindFirst() and FindLast() without Next() method."
128+
},
129+
{
130+
"id": "AA0237",
131+
"action": "Error",
132+
"justification": "The name of non-temporary variables must not be prefixed with Temp."
133+
},
134+
{
135+
"id": "AA0244",
136+
"action": "Error",
137+
"justification": "Do not use identical names for parameters and global variables."
138+
},
139+
{
140+
"id": "AA0245",
141+
"action": "Error",
142+
"justification": "To avoid confusion, do not give parameters the same name as fields, methods, or actions in the same scope."
143+
},
144+
{
145+
"id": "AW0004",
146+
"action": "Error",
147+
"justification": "A Blob cannot be used as a source expression for a page field."
148+
},
149+
{
150+
"id": "AW0005",
151+
"action": "Error",
152+
"justification": "Actions should use the Image property."
153+
},
154+
{
155+
"id": "AW0006",
156+
"action": "Error",
157+
"justification": "Pages and reports should use the UsageCategory and ApplicationArea properties to be searchable."
158+
},
159+
{
160+
"id": "AS0087",
161+
"action": "Error",
162+
"justification": "Translations of enum value captions must not contain commas"
163+
},
164+
{
165+
"id": "AS0098",
166+
"action": "Error",
167+
"justification": "An affix is needed."
168+
},
169+
{
170+
"id": "AS0099",
171+
"action": "Error",
172+
"justification": "The member ID should be within the allowed range"
173+
},
174+
{
175+
"id": "LC0001",
176+
"action": "Error",
177+
"justification": "FlowFields should not be editable."
178+
},
179+
{
180+
"id": "LC0003",
181+
"action": "Error",
182+
"justification": "Do not use an Object ID for properties or variable declarations"
183+
},
184+
{
185+
"id": "LC0004",
186+
"action": "Error",
187+
"justification": "DrillDownPageId and LookupPageId must be filled in table when table is used in list page."
188+
},
189+
{
190+
"id": "LC0005",
191+
"action": "Error",
192+
"justification": "The casing of variable/method usage must align with the definition."
193+
},
194+
{
195+
"id": "LC0008",
196+
"action": "Error",
197+
"justification": "Filter operators should not be used in SetRange."
198+
},
199+
{
200+
"id": "LC0011",
201+
"action": "Error",
202+
"justification": "Every object needs to specify a value for the Access property. Either true or false"
203+
},
204+
{
205+
"id": "LC0012",
206+
"action": "Error",
207+
"justification": "Using hardcoded IDs in functions like Codeunit.Run() is not allowed."
208+
},
209+
{
210+
"id": "LC0013",
211+
"action": "Error",
212+
"justification": "Any table with a single field in the PK of type code or text, should have set NotBlank on the PK field."
213+
},
214+
{
215+
"id": "LC0014",
216+
"action": "Error",
217+
"justification": "The Caption of permissionset objects should not exceed the maximum length."
218+
},
219+
{
220+
"id": "LC0016",
221+
"action": "Error",
222+
"justification": "Caption is missing."
223+
},
224+
{
225+
"id": "LC0017",
226+
"action": "Error",
227+
"justification": "Write to FlowFields"
228+
},
229+
{
230+
"id": "LC0018",
231+
"action": "Error",
232+
"justification": "Events in internal codeunits are not accessible to extensions and should therefore be avoided."
233+
},
234+
{
235+
"id": "LC0019",
236+
"action": "Error",
237+
"justification": "If Data Classification is set on the Table. Fields do not need the same classification."
238+
},
239+
{
240+
"id": "LC0020",
241+
"action": "Error",
242+
"justification": "If Application Area is set on the TablePage. Controls do not need the same classification."
243+
},
244+
{
245+
"id": "LC0023",
246+
"action": "Error",
247+
"justification": "Always provide fieldsgroups DropDown and Brick on tables."
248+
},
249+
{
250+
"id": "AS0084",
251+
"action": "None",
252+
"justification": "The ID range assigned to the extension must be within the allowed range"
253+
},
254+
{
255+
"id": "AA0470",
256+
"action": "None",
257+
"justification": "Disabled due to placeholder ext translation problems"
258+
},
259+
{
260+
"id": "AA0232",
261+
"action": "None",
262+
"justification": "Error rule SIFT https://github.com/MicrosoftDocs/dynamics365smb-devitpro-pb/issues/2549"
263+
},
264+
{
265+
"id": "AS0092",
266+
"action": "None",
267+
"justification": "At the moment we do not use telemetry"
268+
}
269+
]
270+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"al.enableCodeAnalysis": true,
3+
"al.codeAnalyzers": [
4+
"${CodeCop}",
5+
"${UICop}",
6+
"${PerTenantExtensionCop}",
7+
"${AppSourceCop}",
8+
"${analyzerFolder}BusinessCentral.LinterCop.dll"
9+
],
10+
"al.enableCodeActions": true,
11+
"al.ruleSetPath": "./.vscode/ruleset.json",
12+
"CRS.FileNamePattern": "<ObjectNameShort>.<ObjectTypeShortPascalCase>.al",
13+
"CRS.FileNamePatternExtensions": "<ObjectNameShort>.<ObjectTypeShortPascalCase>.al",
14+
"CRS.FileNamePatternPageCustomizations": "<ObjectNameShort>.<ObjectTypeShortPascalCase>.al",
15+
"CRS.OnSaveAlFileAction": "DoNothing",
16+
"CRS.RenameWithGit": true,
17+
"editor.formatOnSave": true,
18+
"CRS.ObjectNameSuffix": "_ANJ",
19+
"rest-client.rememberCookiesForSubsequentRequests": false,
20+
"editor.codeActionsOnSave": {
21+
"source.fixAll.al": true
22+
},
23+
"alOutline.codeActionsOnSave": [
24+
"SortProperties",
25+
"SortVariables",
26+
"FormatDocument"
27+
]
28+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.2 xliff-core-1.2-transitional.xsd">
3+
<file datatype="xml" source-language="en-US" target-language="en-US" original="Dependency-Graph.Test">
4+
<body>
5+
<group id="body" />
6+
</body>
7+
</file>
8+
</xliff>

Dependency-Graph.Test/app.json

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@
33
"name": "Dependency-Graph.Test",
44
"publisher": "ANJ",
55
"version": "1.0.0.0",
6-
"brief": "",
7-
"description": "",
8-
"privacyStatement": "",
9-
"EULA": "",
10-
"help": "",
11-
"url": "",
12-
"logo": "",
6+
"brief": "App to test Dependency-Graph",
7+
"description": "App to test Dependency-Graph",
8+
"privacyStatement": "https://github.com/NovoaDev/Dependency-Graph-BCExt",
9+
"EULA": "https://github.com/NovoaDev/Dependency-Graph-BCExt",
10+
"help": "https://github.com/NovoaDev/Dependency-Graph-BCExt",
11+
"url": "https://github.com/NovoaDev/Dependency-Graph-BCExt",
12+
"logo": "res/logo.png",
13+
"contextSensitiveHelpUrl": "https://github.com/NovoaDev/Dependency-Graph-BCExt",
1314
"dependencies": [
1415
{
1516
"publisher": "Microsoft",
@@ -22,6 +23,12 @@
2223
"name": "Any",
2324
"id": "e7320ebb-08b3-4406-b1ec-b4927d3e280b",
2425
"version": "22.0.0.0"
26+
},
27+
{
28+
"id": "3c9a4c22-42f6-4e8f-8b96-744c7fef331f",
29+
"name": "Dependency-Graph",
30+
"publisher": "ANJ",
31+
"version": "3.6.0.0"
2532
}
2633
],
2734
"screenshots": [],
@@ -34,11 +41,13 @@
3441
}
3542
],
3643
"features": [
37-
"NoImplicitWith"
44+
"NoImplicitWith",
45+
"TranslationFile"
3846
],
3947
"resourceExposurePolicy": {
4048
"allowDebugging": true,
4149
"allowDownloadingSource": false,
4250
"includeSourceInSymbolFile": false
43-
}
51+
},
52+
"runtime": "11.0"
4453
}

Dependency-Graph.Test/res/logo.png

6.8 KB
Loading

Dependency-Graph/DependencyGraphANJ.permissionset.al

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@ permissionset 80800 DependencyGraph_ANJ
2222
codeunit GenerateTables_ANJ = X,
2323
codeunit GenerateRelationsTable_ANJ = X,
2424
codeunit MarkdownMgmt_ANJ = X,
25-
page MarkdownViewer_ANJ = X;
25+
page MarkdownViewer_ANJ = X,
26+
codeunit DependencyGraphFacade_ANJ = X;
2627
}

0 commit comments

Comments
 (0)