public void ChangeFooter() { const string bookmarkName = "footer_table1"; const string val = "Пользователь"; IBSDataObject bo = new BsDataObjectMock("TestBo"); var printParams = new Params(); printParams.SetParams("BookmarkName", bookmarkName); var printScript = new StringBuilder(); printScript.Append("var wordDoc = (IWordDocument) args[1];"); printScript.Append("var p = new ParamsMock(args[3]);"); printScript.Append("var bkmName = (string) p.GetValue(\"BookmarkName\", \"\");"); printScript.Append("var bkms = (IWordDocumentBookmarks) wordDoc.Bookmarks;"); printScript.Append($"bkms.Item(bkmName).Text = \"{val}\";"); var printService = KonturPrintService; var printServiceParams = new Params(); printServiceParams.SetParams("Bo", bo); printServiceParams.SetParams("TemplatePath", templatePath); printServiceParams.SetParams("FileName", tmpPath); printServiceParams.SetParams("ErrorStr", ""); printServiceParams.SetParams("Params", printParams); printService.PrintScripts = new[] { printScript.ToString() }; Assert.IsTrue(printService.Print((int)PrintDocumentType.WordTemplate, printServiceParams)); using (var doc = WordprocessingDocument.Open(tmpPath, false)) { var bookmarks = new WordDocumentBookmarks(doc); Assert.AreEqual(bookmarks.Item(bookmarkName).Text, val); } }
public void FillWordTable() { const string bookmarkName = "fondsalary_table"; const string partName = "Main"; IBSDataObject bo = new BsDataObjectMock("TestBo"); var parts = bo.Parts as PartsMock; parts.AddItem(partName, new SKRecordsetMock()); var part = parts.Item(partName); part.AddNew(new object[] { "Field1", "Field2", "Field3" }, new object[] { "оклад", "руб.", "1000" }); part.AddNew(new object[] { "Field1", "Field2", "Field3" }, new object[] { "премия", "руб.", "2000" }); part.AddNew(new object[] { "Field1", "Field2", "Field3" }, new object[] { "отпускные", "руб.", "3000" }); var printParams = new Params(); printParams.SetParams("BookmarkName", bookmarkName); printParams.SetParams("Parts", parts); printParams.SetParams("PartName", partName); var printScript = new StringBuilder(); printScript.Append("var wordDoc = (IWordDocument) args[1];\r\n"); printScript.Append("var p = new ParamsMock(args[3]);\r\n"); printScript.Append("var parts = (PartsMock) p.GetValue(\"parts\", (PartsMock) null);\r\n"); printScript.Append("var bkmName = (string) p.GetValue(\"BookmarkName\", \"\");\r\n"); printScript.Append("var partName = (string) p.GetValue(\"PartName\", \"\");\r\n"); printScript.Append("var bkms = (IWordDocumentBookmarks) wordDoc.Bookmarks;\r\n"); printScript.Append("var tbl = (IWordDocumentTable) bkms.Item(bkmName).Table;\r\n"); printScript.Append("var part = (SKRecordsetMock) parts.Item(partName);\r\n"); printScript.Append("part.MoveFirst();\r\n"); printScript.Append("int i = 3;\r\n"); printScript.Append("while (!part.EOF) {\r\n"); printScript.Append("tbl.Rows.Add();\r\n"); printScript.Append("i++;\r\n"); printScript.Append("for (int j = 0; j < part.Fields.Count; j++) {\r\n"); printScript.Append("var cell = tbl.Cell(i, j + 1);\r\n"); printScript.Append("cell.Text = (string) part.Fields[j].Value;}\r\n"); printScript.Append("part.MoveNext(); }\r\n"); printParams.SetParams("PrintScript", printScript.ToString()); var printService = KonturPrintService; var printServiceParams = new Params(); printServiceParams.SetParams("Bo", bo); printServiceParams.SetParams("TemplatePath", templatePath); printServiceParams.SetParams("FileName", tmpPath); printServiceParams.SetParams("ErrorStr", ""); printServiceParams.SetParams("Params", printParams); Assert.IsTrue(printService.Print((int)PrintDocumentType.WordTemplate, printServiceParams)); using (var doc = WordprocessingDocument.Open(tmpPath, false)) { var bookmarks = new WordDocumentBookmarks(doc); var tbl = bookmarks.Item(bookmarkName).Table; part.MoveFirst(); Assert.AreEqual(tbl.Cell(4, 1).Text, part.Fields[0].Value); } }
public void FillFooters() { const string bookmarkName = "footer_table1"; const string val = "Пользователь"; IBSDataObject bo = new BsDataObjectMock("TestBo"); var printParams = new Params(); printParams.SetParams("BookmarkName", bookmarkName); var printScript = new StringBuilder(); printScript.Append("var wordDoc = (IWordDocument) args[1];\r\n"); printScript.Append("var p = new ParamsMock(args[3]);\r\n"); printScript.Append("var footers = (IWordDocumentHeadersFooters) wordDoc.Footers;\r\n"); printScript.Append("var firstFooter = footers.Item(1);\r\n"); printScript.Append("var table = firstFooter.Tables.Item(1);\r\n"); printScript.Append($"table.Cell(1, 1).Text = \"{val}\";\r\n"); printScript.Append("var pageEnumerator = wordDoc.PageEnumerator;\r\n"); printScript.Append("for (int i = 2; i <= footers.Count; i++) {\r\n"); printScript.Append("var f = (IPrintObject) footers.Item(i);\r\n"); printScript.Append("var t = f.GetCopyOf(table as IPrintObject);\r\n"); printScript.Append("var ft = footers.Item(i).Tables.Item(1);\r\n"); printScript.Append("var cell = (IPrintObject) ft.Cell(1, 2);\r\n"); printScript.Append("cell.GetCopyOf(pageEnumerator);\r\n"); printScript.Append("};\r\n"); var printService = KonturPrintService; var printServiceParams = new Params(); printServiceParams.SetParams("Bo", bo); printServiceParams.SetParams("TemplatePath", templatePath); printServiceParams.SetParams("FileName", tmpPath); printServiceParams.SetParams("ErrorStr", ""); printServiceParams.SetParams("Params", printParams); printService.PrintScripts = new[] { printScript.ToString() }; Assert.IsTrue(printService.Print((int)PrintDocumentType.WordTemplate, printServiceParams)); using (var doc = WordprocessingDocument.Open(tmpPath, false)) { var footers = new WordDocumentFooters(doc); var footer = footers.Item(1); var table = footer.Tables.Item(1); Assert.AreEqual(table.Cell(1, 1).Text, val); footer = footers.Item(2); table = footer.Tables.Item(1); Assert.AreEqual(table.Cell(1, 1).Text, val); Assert.IsTrue(table.Cell(1, 2).Text.Contains("стр.")); } }
public void PrintWordByXMachine() { const string bookmarkName = "order_number"; const string partName = "Main"; IBSDataObject bo = new BsDataObjectMock("TestBo"); var parts = bo.Parts as PartsMock; parts.AddItem(partName, new SKRecordsetMock()); var ndoc = "4532"; ((SKRecordsetMock)parts.Item(partName)).AddNew(new object[] { "ndoc" }, new object[] { ndoc }); var printParams = new Params(); printParams.SetParams("BookmarkName", bookmarkName); printParams.SetParams("Parts", parts); printParams.SetParams("PartName", partName); printParams.SetParams("FieldName", "ndoc"); var printScript = new StringBuilder(); printScript.Append("var wordDoc = (IWordDocument) args[1];"); printScript.Append("var p = new ParamsMock(args[3]);"); printScript.Append("var parts = (PartsMock) p.GetValue(\"parts\", (PartsMock) null);"); printScript.Append("var bkmName = (string) p.GetValue(\"BookmarkName\", \"\");"); printScript.Append("var partName = (string) p.GetValue(\"PartName\", \"\");"); printScript.Append("var fldName = (string) p.GetValue(\"FieldName\", \"\");"); printScript.Append("var bkms = (IWordDocumentBookmarks) wordDoc.Bookmarks;"); printScript.Append("bkms.Item(bkmName).Text = (string) parts.Item(partName).Fields[fldName].Value;"); printParams.SetParams("PrintScript", printScript.ToString()); var printService = KonturPrintService; var printServiceParams = new Params(); printServiceParams.SetParams("Bo", bo); printServiceParams.SetParams("TemplatePath", templatePath); printServiceParams.SetParams("FileName", tmpPath); printServiceParams.SetParams("ErrorStr", ""); printServiceParams.SetParams("Params", printParams); Assert.IsTrue(printService.Print((int)PrintDocumentType.WordTemplate, printServiceParams)); using (var doc = WordprocessingDocument.Open(tmpPath, false)) { var bookmarks = new WordDocumentBookmarks(doc); Assert.AreEqual(bookmarks.Item(bookmarkName).Text, ndoc); } }
public void FillHeadersAndFooters() { const string bookmarkName = "footer_table1"; const string val = "Пользователь"; IBSDataObject bo = new BsDataObjectMock("TestBo"); var printParams = new Params(); printParams.SetParams("BookmarkName", bookmarkName); var printScript = new StringBuilder(); printScript.Append("var wordDoc = (IWordDocument) args[1];\r\n"); printScript.Append("var p = new ParamsMock(args[3]);\r\n"); printScript.Append("var pageEnumerator = wordDoc.PageEnumerator;\r\n"); printScript.Append("var footers = (IWordDocumentHeadersFooters) wordDoc.Footers;\r\n"); printScript.Append("var f = footers.Item(1);\r\n"); printScript.Append("var table = f.Tables.Item(1);\r\n"); printScript.Append($"table.Cell(1, 1).Text = \"{val}\";\r\n"); printScript.Append("var headers = (IWordDocumentHeadersFooters) wordDoc.Headers;\r\n"); printScript.Append("headers.Create(2);\r\n"); printScript.Append("var h = (IPrintObject) headers.Item(1);\r\n"); printScript.Append("pageEnumerator.CopyTo(h);\r\n"); var printService = KonturPrintService; var printServiceParams = new Params(); printServiceParams.SetParams("Bo", bo); printServiceParams.SetParams("TemplatePath", templatePath); printServiceParams.SetParams("FileName", tmpPath); printServiceParams.SetParams("ErrorStr", ""); printServiceParams.SetParams("Params", printParams); printService.PrintScripts = new[] { printScript.ToString() }; Assert.IsTrue(printService.Print((int)PrintDocumentType.WordTemplate, printServiceParams)); using (var doc = WordprocessingDocument.Open(tmpPath, false)) { var footers = new WordDocumentFooters(doc); var footer = footers.Item(1); var table = footer.Tables.Item(1); Assert.AreEqual(table.Cell(1, 1).Text, val); var headers = new WordDocumentHeaders(doc); Assert.IsNotNull(headers.Item(1)); Assert.IsNotNull(headers.Item(2)); } }
public void TestBaseTemplate() { SKBS.IBSDataObject bo = new BsDataObjectMock(); var parts = bo.Parts as PartsMock; parts.AddItem("Main", new SKRecordsetMock()); parts.AddItem("Rekv", new SKRecordsetMock()); parts.AddItem("FuelMove", new SKRecordsetMock()); var tmpPath = System.IO.Path.Combine(TestDirectory, @"../../TestTemplate/TestResult.xlsx"); const string sheet1 = "WorkSheet1"; const string sheet2 = "Test2"; var c1 = 3; var c2 = 5; var okpo = 354; var seria = "4124t"; var ndoc = "4532"; ((SKRecordsetMock)parts.Item("Main")).AddNew(new object[] { "Seria", "Count", "ndoc" }, new object[] { seria, c1, ndoc }); ((SKRecordsetMock)parts.Item("Rekv")).AddNew(new object[] { "OKPO", "Count" }, new object[] { okpo, c2 }); var fuelTankCode = 1; var fuelMoveCorrectNormConsumption = 10; ((SKRecordsetMock)parts.Item("FuelMove")).AddNew(new object[] { "NormConsumption", "FuelTankCode" }, new object[] { fuelMoveCorrectNormConsumption, fuelTankCode }); ((SKRecordsetMock)parts.Item("FuelMove")).AddNew(new object[] { "NormConsumption", "FuelTankCode" }, new object[] { -10, -10 }); var excelTemplateDocument = PrintDocumentFactory.GetPrintDocument(PrintDocumentType.ExcelTemplate); excelTemplateDocument.AddBo("TestBo", bo); var templatePath = System.IO.Path.Combine(TestDirectory, @"../../TestTemplate/TestTemplate.xlsx"); excelTemplateDocument.LoadTemplate(templatePath); excelTemplateDocument.ProcessDocument(); excelTemplateDocument.PrintToPath(tmpPath); using (var doc = SpreadsheetDocument.Open(tmpPath, true)) { Assert.AreEqual(seria, GetCellValue(doc, sheet1, "A1")); Assert.AreEqual(seria, GetCellValue(doc, sheet1, "A2")); Assert.AreEqual(c1.ToString(), GetCellValue(doc, sheet1, "B1")); Assert.AreEqual(c2.ToString(), GetCellValue(doc, sheet1, "B2")); Assert.AreEqual(okpo.ToString(), GetCellValue(doc, sheet1, "D6")); Assert.AreEqual(ndoc, GetCellValue(doc, sheet2, "A1")); } }
public void PrintByPrintScripts() { const string bookmarkName = "order_number"; const string bookmarkName1 = "fondsalary_table_col"; const string text = "123"; const string text1 = "456"; IBSDataObject bo = new BsDataObjectMock("TestBo"); var printParams = new Params(); var printService = KonturPrintService; var printServiceParams = new Params(); printServiceParams.SetParams("Bo", bo); printServiceParams.SetParams("TemplatePath", templatePath); printServiceParams.SetParams("FileName", tmpPath); printServiceParams.SetParams("ErrorStr", ""); printServiceParams.SetParams("Params", printParams); var printScript = new StringBuilder(); printScript.Append("var wordDoc = (IWordDocument) args[1];"); printScript.Append("var p = new ParamsMock(args[3]);"); printScript.Append("var bkms = (IWordDocumentBookmarks) wordDoc.Bookmarks;"); printScript.Append($"bkms.Item(\"{bookmarkName}\").Text = \"{text}\";"); printParams.SetParams("PrintScript", printScript.ToString()); printScript = new StringBuilder(); printScript.Append("var wordDoc = (IWordDocument) args[1];"); printScript.Append("var p = new ParamsMock(args[3]);"); printScript.Append("var bkms = (IWordDocumentBookmarks) wordDoc.Bookmarks;"); printScript.Append($"bkms.Item(\"{bookmarkName1}\").Text = \"{text1}\";"); printService.PrintScripts = new[] { printScript.ToString() }; Assert.IsTrue(printService.Print((int)PrintDocumentType.WordTemplate, printServiceParams)); using (var doc = WordprocessingDocument.Open(tmpPath, false)) { var bookmarks = new WordDocumentBookmarks(doc); Assert.AreEqual(bookmarks.Item(bookmarkName).Text, text); Assert.AreEqual(bookmarks.Item(bookmarkName1).Text, text1); } }
public void GetPrintDocument() { IBSDataObject bo = new BsDataObjectMock("TestBo"); var printParams = new Params(); var printScript = new StringBuilder(); printScript.Append("var wordDoc = (IWordDocument) args[1];\r\n"); var printService = KonturPrintService; var printServiceParams = new Params(); printServiceParams.SetParams("Bo", bo); printServiceParams.SetParams("TemplatePath", templatePath); printServiceParams.SetParams("FileName", tmpPath); printServiceParams.SetParams("ErrorStr", ""); printServiceParams.SetParams("Params", printParams); var printDocument = (IWordDocument)printService.GetPrintDocument((int)PrintDocumentType.WordTemplate, printServiceParams); Assert.IsNotNull(printDocument); Assert.IsNotNull(printDocument.Bookmarks); }