คุณสมบัติของการสร้างรายงานใน 1C v8 ในโหมดไคลเอนต์แบบหนา
จะเลือกตัวเลือกอย่างไร?
- วางปุ่ม "เลือกตัวเลือก" บนแผงรายงาน
- วางฟิลด์ "OnDate" บนแบบฟอร์ม
รหัสตัวอย่าง:
การเลือก = cnOptions.SelectItem(); หากตัวเลือก = ไม่ได้กำหนดไว้ ให้ส่งคืน; สิ้นสุดถ้า;
SettingsComposer.LoadSettings (selection.Value);
สร้าง(); สิ้นสุดขั้นตอน
ขั้นตอน OnDateOnChange (องค์ประกอบ) สร้าง (); สิ้นสุดขั้นตอน
ขั้นตอนการสร้าง()FormElements.Result.Clear(); การตั้งค่า Composer.Settings.DataParameters.SetParameterValue ("ระยะเวลา", ToDate); ComposeResult (FormElements ผล); สิ้นสุดขั้นตอน
ขั้นตอนในการเปิด() OnDate = CurrentDate(); สร้าง(); สิ้นสุดขั้นตอน
คุณสมบัติการสร้างรายงานผ่านระบบควบคุมการเข้าออก
การสร้างรายงานทีละขั้นตอน
- สร้างรายงานในโหนดรายงาน
- สร้างเค้าโครงในรายงานประเภทเป็น Data Layout Scheme
- ในคุณสมบัติรายงาน ให้ตั้งค่า: รูปแบบโครงร่างข้อมูลพื้นฐาน = โครงร่างที่สร้างขึ้น
- ในคุณสมบัติรายงาน ให้ตั้งค่าระบบย่อยที่เป็นของมัน (รายงานใน Enterprise จะแสดงในแผงการนำทางด้านบน)
- สร้างแบบสอบถามในเค้าโครง (รายการ: เพิ่มชุดข้อมูล - แบบสอบถาม)
- ในแท็บตัวเลือกสำหรับเค้าโครง คุณต้องยกเลิกการเลือกบรรทัดทั้งหมดในคอลัมน์ Availability Restriction - เช่น พารามิเตอร์ทั้งหมดจะพร้อมสำหรับการแก้ไขโดยผู้ใช้
- ในแท็บการตั้งค่าของเค้าโครงในหน้าต่างที่แสดงโหนดรายงานคุณจะต้องสร้างการจัดกลุ่มใหม่โดยไม่ต้องระบุฟิลด์การจัดกลุ่ม - เส้นรายละเอียดจะถูกสร้างขึ้น
- ในแท็บการตั้งค่าของเค้าโครง ในหน้าต่างที่แสดงชุดบุ๊กมาร์กเพิ่มเติม ให้เลือกเพิ่มเติม แท็บพารามิเตอร์ - ทำเครื่องหมายพารามิเตอร์ทั้งหมดด้วยเครื่องหมายถูกและในแต่ละพารามิเตอร์ให้คลิกองค์ประกอบคุณสมบัติขององค์ประกอบการตั้งค่าผู้ใช้ หน้าต่างการตั้งค่าพารามิเตอร์จะเปิดขึ้นโดยที่คุณต้องทำเครื่องหมายในช่อง - รวมพารามิเตอร์ในการตั้งค่าผู้ใช้
- ในแท็บการตั้งค่าของเค้าโครง ในหน้าต่างที่แสดงชุดบุ๊กมาร์กเพิ่มเติม ให้เลือกเพิ่มเติม แท็บ SelectedFields - คุณต้องเพิ่มคอลัมน์ที่จะแสดงในรายงาน
- เปิดใช้ Enterprise เปิดรายงาน ตั้งค่าพารามิเตอร์ สร้าง (ตรวจสอบว่าได้เลือกตัวเลือกการสร้างรายงานหลักแล้ว)
จะเพิ่มพารามิเตอร์ที่ไม่สามารถแก้ไขได้โดยผู้ใช้ได้อย่างไร?
ตัวอย่างเช่น เราต้องตั้งค่าพารามิเตอร์การสืบค้น "Infobase"
- ในแบบฟอร์มเค้าโครงเค้าโครง บนแท็บตัวเลือก ให้ยกเลิกการเลือกช่องทำเครื่องหมาย "รวมในช่องที่มีอยู่" และ "จำกัดความพร้อมใช้งาน" สำหรับพารามิเตอร์ที่ต้องการ
- ในแบบฟอร์มเค้าโครงเค้าโครง บนแท็บการตั้งค่า บนแท็บย่อยพารามิเตอร์ (ที่ด้านล่าง) ให้ยกเลิกการเลือกพารามิเตอร์ที่ต้องการ เปิดคุณสมบัติ (ปุ่มพร้อมประแจ) ในแบบฟอร์มนี้:
- ยกเลิกการเลือกแฟล็ก "รวมในการตั้งค่าผู้ใช้"
- ตั้งค่าโหมดการแก้ไขเป็น "ไม่พร้อมใช้งาน"
- ในโมดูลแบบฟอร์มรายงานในตัวจัดการเหตุการณ์ "เมื่อโหลดตัวเลือกบนเซิร์ฟเวอร์" (คุณสามารถทำได้เมื่อเปิด แต่ไม่ใช่เมื่อสร้างบนเซิร์ฟเวอร์เนื่องจากมีการดำเนินการก่อนที่จะโหลดการตั้งค่ารายงานและการตั้งค่าจะถูกเขียนทับ) ตั้งค่าโดยทางโปรแกรม พารามิเตอร์:
//การตั้งค่าพารามิเตอร์การตั้งค่า = Report.Settings Composer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase); สิ้นสุดขั้นตอน
จะตั้งค่าตัวเลือกรายงานได้อย่างไร?
- ในแบบฟอร์มเค้าโครงเค้าโครงบนแท็บการตั้งค่าในฟิลด์ด้านซ้าย คุณสามารถสร้างตัวเลือกรายงานที่จำเป็นได้
จะตั้งค่าการจัดกลุ่มได้อย่างไร?
- ในแบบฟอร์มโครงร่างเค้าโครงบนแท็บการตั้งค่าในช่องด้านบนขวา คุณสามารถสร้างการจัดกลุ่มที่จำเป็นได้
จะแสดงรายงานโดยทางโปรแกรมได้อย่างไร?
ในโมดูลแบบฟอร์ม:
ThisForm.ComposeResult();
สิ้นสุดขั้นตอน
จะทดสอบรายงานได้อย่างไร?
คุณต้องทำ:
- วิธีที่สะดวกที่สุดในการสร้างสถานการณ์ในการทดสอบไคลเอนต์คือผ่านตารางสถานการณ์
- รับแบบฟอร์มรายงาน - form = GetForm("Report.Process Movement.Form.ReportForm");
- โหลดชุดตัวเลือกรายงานที่ต้องการ - ตั้งค่าพารามิเตอร์ส่วนขยายแบบฟอร์มรายงาน "Variant Key" (ชื่อของการตั้งค่าในเค้าโครงองค์ประกอบข้อมูล)
- โหลดการตั้งค่ารายงานที่จำเป็น - ? การกรอกพารามิเตอร์ส่วนขยายแบบฟอร์มรายงาน "UserSettings" (ประเภท "UserDataCompositionSettings") ไม่ได้ผลทุกอย่างซับซ้อนดูด้านล่าง
- แบบฟอร์มเปิด - form.Open()
- ดำเนินการสร้าง - form.ArrangeResult();
- ตรวจสอบเนื้อหาของแบบฟอร์มเอกสารสเปรดชีต ผลลัพธ์ - คงจะดีถ้ามีฟังก์ชันเปรียบเทียบกับ mxl อ้างอิง
- แบบฟอร์มปิด - form.Close(); - หรือบางทีคุณไม่จำเป็นต้องเปิดมันคุณต้องตรวจสอบ
ดูสิ่งนี้ด้วย
- คำอธิบาย: เมนูวิธีใช้/ผู้ช่วยไวยากรณ์/แท็บเนื้อหา/ออบเจ็กต์อินเทอร์เฟซแอปพลิเคชันที่ได้รับการจัดการ/ส่วนขยายแบบฟอร์มที่ได้รับการจัดการ/ส่วนขยายแบบฟอร์มที่ได้รับการจัดการสำหรับตัวเลือกรายงาน/แบบฟอร์ม
จะโหลดการตั้งค่ารายงานที่จำเป็นได้อย่างไร?
เอกสารประกอบอธิบายว่ามีพารามิเตอร์สำหรับการขยายแบบฟอร์มรายงาน "UserSettings" ประเภท "UserDataCompositionSettings" แต่มีโครงสร้างวัตถุที่ซับซ้อนมากจึงไม่สามารถใช้งานได้
รูปแบบการทำงานจริง:
1. สร้างพารามิเตอร์ในรายงาน
- ประเภทรอบระยะเวลา StandardPeriod
- การเลือกประเภท ValueList (โครงสร้างจะดีกว่า แต่ไม่อยู่ในรายการประเภทพารามิเตอร์ รวมถึงประเภทที่กำหนดเอง)
2. เราส่งพารามิเตอร์ที่จำเป็นไปยังขั้นตอน GetForm:
การเลือก = รายการค่าใหม่; Selection.Add(Testing.GetObject(stSituation, "BP1"), "BusinessProcess");
stParameters = โครงสร้างใหม่ ("คีย์ตัวแปร, ระยะเวลา, การเลือก", "หลัก", ระยะเวลา, การเลือก); // OpenFormModal("Report.Process Movement.Form.ReportForm", stParameters); form = GetForm("Report.Process Movement.Form.ReportForm", stParameters);
3. ตั้งค่าพารามิเตอร์ในตัวจัดการเหตุการณ์แบบฟอร์ม
&ในขั้นตอนเซิร์ฟเวอร์ SetCustomSettingsValue(การตั้งค่า ชื่อ ค่า) สำหรับแต่ละองค์ประกอบจากการตั้งค่าองค์ประกอบวนซ้ำ ถ้า TypeValue(องค์ประกอบ) = Type("DataCompositionSettingsParameterValue") จากนั้น ถ้า String(element.Parameter) = ชื่อ จากนั้น element.Value = Value; element.Use = จริง; สิ้นสุดถ้า; สิ้นสุดถ้า; สิ้นสุดรอบ; สิ้นสุดขั้นตอน
&ในขั้นตอนเซิร์ฟเวอร์ SetCustomSelectionValue(การตั้งค่า ชื่อ ค่า) สำหรับแต่ละองค์ประกอบจากการตั้งค่าองค์ประกอบ วนซ้ำ ถ้า TypeValue(องค์ประกอบ) = ประเภท("การเลือกองค์ประกอบข้อมูล") จากนั้น สำหรับการเลือกแต่ละรายการจากองค์ประกอบ องค์ประกอบวนซ้ำ ถ้าแถว(selection.LeftValue) = ชื่อ จากนั้นเลือก .RightValue = Value; Selection.Use = จริง; สิ้นสุดถ้า; สิ้นสุดรอบ; สิ้นสุดถ้า; สิ้นสุดรอบ; สิ้นสุดขั้นตอน
&ขั้นตอนบนเซิร์ฟเวอร์เมื่อโหลดตัวเลือกบนเซิร์ฟเวอร์ (การตั้งค่า)
ชื่อของ CurrentVariant = มุมมองของ CurrentVariant;
การตั้งค่า = รายงานการตั้งค่าผู้แต่งการตั้งค่า; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);
สิ้นสุดขั้นตอน
&ขั้นตอนบนเซิร์ฟเวอร์เมื่อโหลดการตั้งค่า UserSettingsOnServer (การตั้งค่า) = Report.Settings Linker.UserSettings;
<>"00010101" จากนั้น การตั้งค่า = Report.Settings Composer.UserSettings; SetCustomSettingValue (การตั้งค่า "ระยะเวลา" พารามิเตอร์ ระยะเวลา); สิ้นสุดถ้า;
ssBusinessProcess = spGet (พารามิเตอร์ การเลือก "กระบวนการทางธุรกิจ"); ถ้า ssBusinessProcess<>ไม่ได้กำหนด จากนั้น SetCustomSelectionValue (การตั้งค่า "BusinessProcess", ssBusinessProcess); สิ้นสุดถ้า;
สิ้นสุดขั้นตอน
หมายเหตุ:
- มีพารามิเตอร์ข้อมูล ซึ่งก็คือสิ่งที่ตั้งค่าไว้ในพารามิเตอร์คำขอ ACS
- บางส่วนถูกกำหนดไว้ในการตั้งค่าตัวเลือกใน UserSettings (ในคุณสมบัติพารามิเตอร์จะมีการตั้งค่าสถานะ "รวมในการตั้งค่าผู้ใช้"
- แม้ว่าคุณจะโหลดค่าที่จำเป็นลงในพารามิเตอร์ข้อมูลเมื่อโหลดบนเซิร์ฟเวอร์ จากนั้นแบบฟอร์มจะเปิดขึ้นซึ่งการตั้งค่าที่บันทึกไว้ครั้งล่าสุดจะถูกโหลดโดยอัตโนมัติ การตั้งค่าเหล่านี้ "ขัดจังหวะ" การตั้งค่าข้อมูลเมื่อสร้างรายงาน
- ในตัวจัดการ WhenLoadingUserSettingsOnServer วัตถุการตั้งค่าที่ส่งผ่านคือ คัดลอกการตั้งค่าจริง ดังนั้นหากต้องการเปลี่ยนการตั้งค่าที่ปรากฏบนแบบฟอร์มคุณต้องกรอกออบเจ็กต์ Report.Settings Composer.UserSettings
จะสร้างพารามิเตอร์การสืบค้น (รายการ) หลายรายการใน ACS ได้อย่างไร
แบบสอบถามต้องใช้นิพจน์ "ใน (&ชื่อพารามิเตอร์)"(ดูนิพจน์บูลีนในภาษาคิวรี 1Cv8)
เมื่อตั้งค่าเค้าโครงของแผนภาพ ACS บนแท็บ "พารามิเตอร์" คุณจะต้องทำเครื่องหมายในช่องในคอลัมน์ "รายการค่าที่มีอยู่" สำหรับพารามิเตอร์นี้ ในกรณีนี้ เมื่อคุณเลือกพารามิเตอร์ ACS จะแสดงแบบฟอร์มแก้ไขรายการซึ่งคุณสามารถเพิ่มค่าพารามิเตอร์ใดๆ ได้
จะทำให้พารามิเตอร์การสืบค้นปิดการใช้งานในระบบควบคุมการเข้าใช้งานได้อย่างไร?
ในแบบสอบถาม SKD คุณต้องใช้โครงสร้างที่ล้อมรอบด้วยเครื่องหมายปีกกา "{}" .
หากไม่ได้ทำเครื่องหมายในช่องสำหรับพารามิเตอร์ที่เกี่ยวข้องในแบบฟอร์มรายงาน (แผงการตั้งค่าด่วน) โครงสร้างนี้จะถูกลบออกจากคำขอ
ดูรายละเอียดเพิ่มเติม ส่วนขยายภาษาแบบสอบถามสำหรับระบบการจัดองค์ประกอบข้อมูล (1Cv8)
จะสร้างรายงานแบบกระจายคอลัมน์ได้อย่างไร?
ในการดำเนินการนี้ ในการตั้งค่าตัวเลือกรายงาน (แก้ไขเค้าโครงเค้าโครงข้อมูล แท็บ "การตั้งค่า" ช่องที่ด้านบนขวา) คุณต้องเพิ่ม "ตาราง" เป็นกลุ่มแรก
หลังจากนั้นสาขา "แถว" และ "คอลัมน์" จะปรากฏในโหนด "ตาราง" ซึ่งมีการเพิ่มการจัดกลุ่มที่จำเป็น
จะกำหนดรูปแบบเอาต์พุตของฟิลด์ได้อย่างไร?
ในตัวแก้ไขเค้าโครงการจัดองค์ประกอบข้อมูล บนแท็บ "ชุดข้อมูล" ในพื้นที่ด้านขวาบนจะมีรายการฟิลด์รายงาน
มีความเป็นไปได้สองประการ:
- ตั้งค่าคอลัมน์ "View Expression"
- ที่นี่คุณสามารถป้อนนิพจน์ภาษาที่สร้างสตริงที่ต้องการได้
- มันใช้ไม่ได้กับเขตข้อมูลทรัพยากร
- ตั้งค่าของคอลัมน์ "การออกแบบ"
- ในการออกแบบมีคุณสมบัติ "รูปแบบ" - ค่านี้คล้ายกับพารามิเตอร์ของฟังก์ชันภาษา "รูปแบบ" คุณสามารถตั้งค่าลักษณะที่ต้องการได้
- ไม่สามารถแปลงประเภทได้ที่นี่
สำหรับฟิลด์ทรัพยากร คุณสามารถระบุนิพจน์การคำนวณได้ (แท็บ "ทรัพยากร") - ตัวอย่างเช่น
จำนวน(เวลา)/3600.0
เพื่อแปลงจากวินาทีเป็นชั่วโมง
คุณสามารถตั้งค่าความแม่นยำที่ต้องการได้ผ่านช่อง "การออกแบบ" บนแท็บ "ชุดข้อมูล"
คุณสมบัติของการตั้งค่าพารามิเตอร์สำหรับระบบการจัดองค์ประกอบข้อมูล
มีพารามิเตอร์อย่างน้อยสามประเภทและต้องมีการประมวลผลที่แตกต่างกัน:
ตัวเลือกข้อมูล
พารามิเตอร์ข้อมูลถูกกำหนดไว้ในคำขอ (แหล่งข้อมูล) ของระบบควบคุมการเข้าออก
พารามิเตอร์ข้อมูลจะถูกส่งผ่านไปยังคำขอแหล่งข้อมูลและกำหนดข้อมูลที่จะดึงข้อมูล
ออบเจ็กต์ Settings Composer มีคุณสมบัติพิเศษสำหรับการทำงานกับพารามิเตอร์ข้อมูล การตั้งค่า Composer.Settings.Data ตัวเลือก
คุณสามารถตั้งค่าได้ด้วยการโทรเช่น
การคัดเลือก
การเลือกจะถูกซ้อนทับกับข้อมูลที่ได้รับ หลังจากแยกจากแหล่งข้อมูล
วัตถุการตั้งค่านักแต่งเพลงมีคุณสมบัติพิเศษสำหรับการทำงานกับการเลือก ComposerSettings.Settings.Selection.
ตัวอย่างเช่น:
สำหรับแต่ละองค์ประกอบ จากพารามิเตอร์ องค์ประกอบการเลือกรอบการเลือก = Settings.Selection.Elements.Add(Type("องค์ประกอบการเลือกองค์ประกอบของข้อมูล")); Selection Element.Comparison Type = DataComposition Comparition Type.Equal; SelectionElement.LeftValue = NewDataCompositionField(element.View); SelectionElement.RightValue = องค์ประกอบค่า; สิ้นสุดรอบ;
การตั้งค่าที่กำหนดเอง
การกำหนดค่าตามความชอบของผู้ใช้จะกำหนดข้อมูลที่ผู้ใช้สามารถปรับแต่งบนแบบฟอร์มได้
การตั้งค่าผู้ใช้สามารถแสดงบนแบบฟอร์มในตารางพิเศษและสามารถเรียกใช้งานได้โดยคลิกปุ่ม "การตั้งค่า" และจากเมนู "การทำงานทั้งหมด"
การตั้งค่าที่กำหนดเอง เชื่อมต่อแล้วด้วยพารามิเตอร์ข้อมูลและการเลือกด้วยวิธีที่ค่อนข้างซับซ้อน การเชื่อมต่อนี้สามารถกำหนดค่าด้วยสายตาได้ แต่การทำงานกับพารามิเตอร์เหล่านี้โดยทางโปรแกรมนั้นไม่สะดวกอย่างยิ่ง
จนถึงตอนนี้เรายังไม่พบสิ่งใดที่ดีไปกว่าการตั้งค่าของคอลเลกชันที่มีอยู่ โดยดัชนีซึ่งแน่นอนว่าอาจหายไปได้เมื่อเปลี่ยนเค้าโครง ACS ในโปรแกรมแก้ไขภาพ
นอกจากนี้ หากพารามิเตอร์ข้อมูลบางตัวได้รับการประกาศโดยผู้ใช้กำหนด การตั้งค่าทางโปรแกรมของพารามิเตอร์ข้อมูล (ดูด้านบน) ยังไม่เพียงพอ ค่าที่เรียกคืนของการตั้งค่าผู้ใช้จะแทนที่การตั้งค่าของพารามิเตอร์ข้อมูล ดังนั้นการตั้งค่าจึงไม่มีประโยชน์สำหรับพารามิเตอร์ดังกล่าว พารามิเตอร์ข้อมูลจำเป็นต้องทำการติดตั้งทันที การตั้งค่าแบบกำหนดเอง.
ตำแหน่งที่สะดวกในการตั้งค่าที่ต้องการคือตัวจัดการเหตุการณ์ "เมื่อ LoadingUserSettingsOnServer" ของส่วนขยายแบบฟอร์มรายงาน
ถ้าพารามิเตอร์.ระยะเวลา.วันที่สิ้นสุด<>"00010101" จากนั้น การตั้งค่า = Report.Settings Composer.UserSettings; Settings.Elements.Value = Options.Period; สิ้นสุดถ้า;
สิ้นสุดขั้นตอน
การใช้แหล่งข้อมูลเป็นวัตถุ
หากต้องการใช้ชุดข้อมูลประเภทออบเจ็กต์ คุณต้องส่งแหล่งข้อมูลภายนอกไปยังวิธี Initialize ของออบเจ็กต์ตัวประมวลผลองค์ประกอบข้อมูล
DecryptionData = ไม่ได้กำหนด; LayoutLinker = newDataLayoutLayoutLinker; LayoutLayout = LayoutLinker.Execute(DataCompositionScheme, SettingsLinker.Settings, DecryptionData);
CompositionProcessor = ใหม่ DataCompositionProcessor; LayoutProcessor.Initialize (LayoutLayout, โครงสร้างใหม่ ("ข้อมูล", GetDataExternalSource ()), DecryptionData);
มีการแนบตัวอย่างง่ายๆ (เพื่อให้ตัวอย่างใช้งานได้ คุณต้องมีไดเร็กทอรี "คู่สัญญา" และ "ข้อตกลงคู่สัญญา")
ในตัวออกแบบแบบสอบถาม เมื่อถูกเรียกจากแบบฟอร์มการตั้งค่าแหล่งข้อมูล สำหรับเค้าร่างองค์ประกอบข้อมูล มีแท็บ "ลักษณะ" ซึ่งการใช้งานไม่ได้อธิบายไว้อย่างชัดเจนในเอกสารประกอบ ในบทความนี้ ฉันจะพยายามอธิบายว่า ACS ใช้คุณลักษณะอย่างไรและทำไม
ในตัวออกแบบแบบสอบถาม เมื่อถูกเรียกจากแบบฟอร์มการตั้งค่าแหล่งข้อมูล สำหรับเค้าร่างองค์ประกอบข้อมูล มีแท็บ "ลักษณะ" ซึ่งการใช้งานไม่ได้อธิบายไว้อย่างชัดเจนในเอกสารประกอบ ในบทความนี้ ฉันจะพยายามอธิบายว่า ACS ใช้คุณลักษณะอย่างไรและทำไม การกำหนดค่าทั่วไปใช้กลไกของคุณสมบัติและค่าคุณสมบัติอย่างจริงจัง ซึ่งพร้อมใช้งานสำหรับวัตถุเกือบทุกชนิด ในหนังสืออ้างอิงเบื้องต้น กลไกนี้ถูกนำมาใช้ในการกำหนดค่า 7.7 ขณะนี้กลไกนี้ถูกนำไปใช้โดยใช้แผนประเภทลักษณะเฉพาะและการลงทะเบียนข้อมูล แต่แนวคิดยังคงเหมือนเดิม เมื่อฉันพบความต้องการใช้กลไกนี้เป็นครั้งแรกในโครงการควบคุมการเข้าถึง ฉันต้องดิ้นรนเป็นเวลานานโดยจัดระเบียบคำสั่งที่ซ้อนกัน รวมเข้ากับตัวเลือกหลัก และทำให้สมองของฉันสับสนเกี่ยวกับวิธีการคำนึงถึงความเป็นไปได้ที่จะเกิดขึ้น คุณสมบัติประเภทใหม่ที่ไม่มีอยู่ในเวลาของการพัฒนารายงาน กลไกคุณสมบัติทั้งหมดนั้นเรียบง่ายและสมเหตุสมผลจากมุมมองของผู้ใช้ ไม่ได้ให้ความสำคัญกับการประมวลผลปกติใดๆ จนกว่าฉันจะเข้าใจแท็บ "คุณลักษณะ" ตารางบนแท็บไม่แน่นอนมากไม่ว่าคุณจะป้อนทั้งบรรทัดอย่างถูกต้องหรือปฏิเสธที่จะเข้าสู่บรรทัดเลย ระบบจะไม่อนุญาตให้คุณออกจากบรรทัดที่เติมไม่สมบูรณ์ "ไว้ใช้ภายหลัง" เรามาดูรายละเอียดเฉพาะกันดีกว่า คอลัมน์แรก: ประเภท – ที่นี่เราเลือกประเภทของออบเจ็กต์ที่จะแนบคุณลักษณะ เช่น “DirectoryLink.Nomenclature” ซึ่งหมายความว่าตอนนี้สำหรับออบเจ็กต์ทั้งหมดตามประเภทที่ระบุ จะสามารถรับค่าคุณสมบัติได้ ถัดไป ในคอลัมน์ถัดไป แหล่งที่มาของมุมมอง เราต้องตั้งค่าพารามิเตอร์ของแหล่งที่มาของมุมมองคุณสมบัติ ตัวเลือกตารางและแบบสอบถามเป็นไปได้ ฉันจะบอกคุณว่าทำไมจึงจำเป็นต้องใช้ตัวเลือกแบบสอบถามในภายหลัง ตอนนี้เรามาเลือกรายการในตารางกันดีกว่า ในคอลัมน์ประเภทของลักษณะ เราต้องเลือกตารางฐานข้อมูลที่เก็บประเภทลักษณะที่ต้องการไว้ ในตัวอย่างของเราจะเป็น "แผนประเภทของลักษณะคุณสมบัติของวัตถุ" นอกจากนี้ค่าที่เราสามารถเลือกได้ในคอลัมน์คีย์ฟิลด์ ฟิลด์ชื่อ และฟิลด์ประเภทค่าจะขึ้นอยู่กับฟิลด์ของตารางที่เราเลือกโดยตรง ในฟิลด์คีย์ เราเลือกลิงก์ ในฟิลด์ชื่อ – มุมมอง (นี่คือสิ่งที่ผู้ใช้จะเห็นเป็นชื่อของคุณลักษณะ) และในฟิลด์ประเภท ตามลำดับ คือ ValueType ตอนนี้เรามาดูแหล่งที่มาของค่านิยมกันดีกว่า แหล่งที่มาของค่าของเราจะเป็นการลงทะเบียนข้อมูล “ObjectPropertyValues” ดังนั้นเราจึงเลือกตารางในคอลัมน์แหล่งที่มาของค่าและ “InformationRegister.ObjectPropertyValues” ในคอลัมน์ค่าลักษณะเฉพาะ ในคอลัมน์ Object, Property, Value ให้เลือกฟิลด์ที่สอดคล้องกันของการลงทะเบียน Object, Property, Value ดูเหมือนว่านั่นคือทั้งหมดที่ เราไปที่การตั้งค่าสคีมา เพิ่มการจัดกลุ่มตามผลิตภัณฑ์ และเพิ่มการจัดกลุ่มรอง เช่น ตามแบรนด์ เราก็มีคุณสมบัติดังกล่าว เราขยายรายการรายละเอียดของการจัดกลุ่มระบบการตั้งชื่อ และ... เราไม่เห็นคุณสมบัติใดๆ ที่นั่น: ความจริงก็คือเราอยู่ในตัวกำหนดค่า ซึ่งไม่มีการเข้าถึงข้อมูล จะทำการตั้งค่าที่จำเป็นได้อย่างไร? วิธีที่สะดวกที่สุดในการทำเช่นนี้คือการใช้คอนโซลการจัดองค์ประกอบข้อมูล คอนโซลบนดิสก์ ITS หรือคอนโซลที่รวมอยู่ในระบบย่อย "เครื่องมือสำหรับนักพัฒนา" แต่คุณสามารถเปิดการตั้งค่ารายงานในโหมดองค์กรได้ เรามาเปิดการตั้งค่าเดียวกัน แต่ในโหมดองค์กร: อย่างที่คุณเห็น เราได้เพิ่ม "รายละเอียด" ใหม่ และ...
คำถาม: SKD ฉันจะเปิดแบบฟอร์มการเลือกที่จำเป็นสำหรับพารามิเตอร์ได้อย่างไร
สวัสดีตอนบ่าย มีรายงานเกี่ยวกับระบบควบคุมการเข้าใช้งานประกอบด้วยพารามิเตอร์ Brand - type Directory.Nomenclature ฉันจะเรียกแบบฟอร์มการเลือกเฉพาะสำหรับพารามิเตอร์นี้ได้อย่างไร ฉันลองใช้ SKD บนแท็บ "พารามิเตอร์" เลือกพารามิเตอร์ที่ต้องการ - ดับเบิลคลิกที่คอลัมน์ "ตัวเลือกการแก้ไข" - ทำเครื่องหมายที่ช่อง "แบบฟอร์มการเลือก" และป้อนค่า Directory.Nomenclature.Form.SelectionFormRequired เมื่อเรียกใช้รายงาน แบบฟอร์มการเลือกจะยังคงใช้ตามค่าเริ่มต้น ไม่ใช่แบบฟอร์มที่ระบุไว้ใน "แบบฟอร์มการคัดเลือก" การกำหนดค่า UT รูปแบบปกติ โปรดบอกฉันทีว่ามีอะไรผิดปกติที่ไหน?
คำตอบ:วลีสำคัญ แบบฟอร์มปกติ เปลี่ยนไปใช้รูปแบบที่ได้รับการจัดการ
คำถาม: เลือกค่าในแบบฟอร์มการเลือก
คำตอบ:
คำถาม: ปุ่ม "เลือก" บนแบบฟอร์มการเลือกหรือวิธีคลิกปุ่ม "เลือก"
สวัสดีตอนบ่าย
การสมัครปกติ
คุณคิดอย่างไรกับการคลิกปุ่ม "เลือก" บนแบบฟอร์มการเลือกเอกสาร/ไดเร็กทอรี
การคลิกเมาส์และ COM ไม่มีระบบอัตโนมัติ
Wishlist: ในแบบฟอร์มการเลือก จำลองการกดปุ่ม “เลือก”
คำตอบ:ดูเหมือนว่าฉันได้แก้ไขปัญหาแล้ว...ทำการทดสอบสองสามครั้ง
เพิ่มหลังจาก 17 นาที
จนถึงตอนนี้มันใช้งานได้ดังนี้:
1ซี | ||
|
คำถาม: เหตุใดจึงไม่เลือกค่าจากแบบฟอร์มการเลือกอีกต่อไป
คำตอบ:
คำถาม: โปรดช่วยฉันตั้งค่าการเลือกในแบบฟอร์มการเลือกไดเรกทอรี
คำตอบ:
คำถาม: เลือกแบบฟอร์มพร้อมตัวเลือกสำหรับรายการค่า
สวัสดีตอนบ่าย. ฉันต้องการความช่วยเหลือจากคุณในการแก้ปัญหาง่ายๆ
Confa ZUP 2 .5 .113 .1 มีรายงานภายนอก รายงานมีแอตทริบิวต์ "รายการฐาน" ประเภทรายการค่า
มีแบบรายงาน. ในแบบฟอร์มรายงาน ฟิลด์ "รายการอินพุตของฐาน", ValueType = "รายการของค่า" และ ListValue type = "DirectoryLink.ObjectPropertiesValue"
จะเปิดแบบฟอร์มการคัดเลือกโดยเจ้าของทรัพย์สินได้อย่างไร?
ขอบคุณล่วงหน้า!
คำตอบ:บนแท็บตัวเลือก จะมีคอลัมน์ชื่อตัวเลือกการแก้ไข ที่นั่นคุณสามารถลองกำหนดค่าการเชื่อมต่อพารามิเตอร์การเลือกหรือพารามิเตอร์การเลือกได้
คำถาม: เปิดแบบฟอร์มการเลือกเอกสาร 1s 8.3 โดยทางโปรแกรม
จะเปิดแบบฟอร์มการเลือกเอกสาร 1s 8.3 โดยทางโปรแกรมและบันทึกค่าที่เลือกลงในตัวแปรได้อย่างไร
Google ให้วิธีแก้ปัญหาไม้ค้ำ ฉันต้องการทราบวิธีทำอย่างถูกต้อง
คำตอบ:+ () PM ยังมีวิธีการมหัศจรรย์ - ดาวน์โหลด
ส่วนตาราง
โหลด
ไวยากรณ์:
ดาวน์โหลด(<Таблица>)
ตัวเลือก:
<Таблица>(จำเป็น) ประเภท: ValueTable
ตารางค่าที่ใช้โหลดส่วนของตาราง คอลัมน์ของตารางจะรวมกันตามชื่อ
คำอธิบาย:
โหลดส่วนที่เป็นตารางจากตารางค่า ในกรณีนี้ แถวก่อนหน้าทั้งหมดของส่วนที่เป็นตารางจะถูกลบออก เมื่อโหลดค่าในคอลัมน์ของส่วนของตารางจะเต็มไปด้วยค่าจากคอลัมน์ของตารางค่าที่มีชื่อที่ตรงกัน
มีจำหน่าย:
เซิร์ฟเวอร์ ไคลเอ็นต์แบบหนา การเชื่อมต่อภายนอก
บันทึก:
วิธีการนี้สามารถใช้ได้ก็ต่อเมื่อได้รับส่วนของตารางจากคุณสมบัติของวัตถุเท่านั้น หากได้รับส่วนของตารางจากคุณสมบัติการอ้างอิง (หรือการเลือก) การใช้วิธีนี้จะทำให้เกิดข้อผิดพลาดรันไทม์
ตัวอย่าง:
องค์ประกอบ. โหลด (ตารางองค์ประกอบ);
คำถาม: การส่งผ่านพารามิเตอร์ไปยังแบบฟอร์มการเลือก
โปรดช่วยฉันด้วย
จากเอกสาร "การขายสินค้าและบริการ" จะมีการเรียกแบบฟอร์มการเลือกสัญญา (ERP) Conf ได้รับการแก้ไขแล้ว ฉันเปรียบเทียบกับมาตรฐาน ใน ProcessingCreationOnServer ของแบบฟอร์มการเลือก ฉันจะดูในพารามิเตอร์ดีบักเกอร์การเลือก ฉันไม่เข้าใจว่ารายการตัวเลือกเกิดขึ้นได้อย่างไร - ไม่มีการเรียกแบบฟอร์มนี้พร้อมพารามิเตอร์อย่างชัดเจน มีองค์ประกอบการเลือกเพียงรายการเดียวในคุณสมบัติ "SelectionParametersLink" และมีหลายรายการในพารามิเตอร์การเลือก อาจจะมีคนบอกฉันได้ว่าจะดูที่ไหน
ความสนใจ! บทเรียนนี้เป็นเวอร์ชันเบื้องต้น เนื้อหาอาจไม่สมบูรณ์
เข้าสู่เว็บไซต์ในฐานะนักเรียน
เข้าสู่ระบบในฐานะนักเรียนเพื่อเข้าถึงสื่อการสอนของโรงเรียน
ระบบการจัดองค์ประกอบข้อมูล 1C 8.3 สำหรับผู้เริ่มต้น: การเชื่อมต่อชุดข้อมูล
- เขียนรายงานที่แสดงลูกค้าและผลิตภัณฑ์ที่พวกเขาชื่นชอบ ลูกค้าแต่ละรายมีสีโปรด และผลิตภัณฑ์แต่ละชิ้นก็มีสีของตัวเอง - คุณต้องกำหนด "รายการโปรด" ของผลิตภัณฑ์จากสีเหล่านี้ ตัวอย่างเช่น หากสีโปรดของ Andrey คือสีแดง อาหารโปรดอย่างหนึ่งของเขาก็คือมะเขือเทศ (สีแดง)
- ใช้ข้อมูลสองชุดในรายงาน ชุดแรกคือข้อมูลจากตารางไดเร็กทอรี "ไคลเอนต์" ข้อมูลที่สองคือข้อมูลจากตารางไดเรกทอรี "อาหาร"
- ดำเนินการ การเชื่อมต่อระหว่างสองชุดนี้เพื่อให้รายงานมีเฉพาะผลิตภัณฑ์ที่ชื่นชอบสำหรับลูกค้าแต่ละราย
สร้างรายงานใหม่
เปิดฐานข้อมูล "Gastronom" ในตัวปรับแต่งและสร้างรายงานใหม่ผ่านเมนูหลัก:
ประเภทเอกสาร - "รายงานภายนอก":
ในรูปแบบของรายงานใหม่ ระบุชื่อ "บทที่ 6" และคลิกปุ่ม "เปิดแผนภาพองค์ประกอบข้อมูล":
ปล่อยให้ชื่อสคีมาเริ่มต้น:
การเพิ่มชุดข้อมูลชุดแรก
ในแผนภาพที่เปิดขึ้น ให้ไปที่แท็บ "ชุดข้อมูล" และเลือก "เพิ่มชุดข้อมูล - แบบสอบถาม" โดยใช้เครื่องหมายบวกสีเขียว:
เรียกตัวสร้างคำขอ:
เราระบุตาราง "ลูกค้า" และฟิลด์ที่ต้องได้รับจากคำขอ:
การเพิ่มชุดข้อมูลที่สอง
เพิ่มข้อมูลชุดที่สอง:
เลือก (DataSet2) และเรียกตัวสร้างแบบสอบถามอีกครั้ง:
เราระบุตารางไดเรกทอรี "อาหาร" และฟิลด์ที่ต้องได้รับจากคำขอ:
ข้อความคำขอผลลัพธ์คือ:
โปรดทราบว่าขณะนี้เรามีชุดข้อมูล 2 ชุดในรายงาน ได้แก่ ชุดข้อมูล 1 และชุดข้อมูล 2 แต่ละคนมีข้อความและข้อมูลคำขอของตัวเอง
ทำให้ชื่อมีคำอธิบายมากขึ้น
เพื่อความชัดเจน เราจะเปลี่ยนชื่อ DataSet1 เป็น Customers และ DataSet2 เป็น Food
ทำได้โดยดับเบิลคลิกที่แต่ละชุด:
เราสามารถใช้ข้อมูลจากแต่ละชุดในรายงานของเราได้ เราจะเข้าถึงข้อมูลนี้ผ่านช่องต่างๆ
ปัจจุบัน ชุด "ลูกค้า" มีฟิลด์ต่อไปนี้: "ชื่อ" และ "สีโปรด" และชุด "อาหาร" มี: "ชื่อ" และ "สี"
เราเห็นว่าชื่อทับซ้อนกันและอาจสับสนได้ง่าย เรามาเปลี่ยนชื่อช่องให้มีความหมายมากขึ้นกันดีกว่า
เลือกชุด "ไคลเอนต์" และเปลี่ยนชื่อฟิลด์ดังนี้:
จากนั้นเลือกชุด "อาหาร" และเปลี่ยนชื่อฟิลด์ดังนี้:
การเรียกตัวสร้างการตั้งค่า
สุดท้าย ไปที่แท็บ "การตั้งค่า" แล้วคลิกไม้กายสิทธิ์เพื่อเรียกใช้ตัวออกแบบการตั้งค่า:
ประเภทรายงาน - "รายการ...":
เลือกฟิลด์สำหรับรายงานจากทั้งสองชุด:
ดูว่าทำไมการเปลี่ยนชื่อฟิลด์จึงสำคัญมาก ในขั้นตอนการตั้งค่าองค์ประกอบข้อมูล เราไม่เห็นว่าฟิลด์เหล่านี้มาจากชุดใด เราเห็นเพียงชื่อของพวกเขา
การตรวจสอบรายงาน
เราบันทึกรายงานและสร้างมันในโหมดผู้ใช้:
ใช่. โอเค แต่ไม่ใช่จริงๆ มีสิ่งที่เรียกว่าการรวมข้ามของสองชุดเกิดขึ้น (คุณควรจะคุ้นเคยกับสิ่งนี้มากจากการรวมในแบบสอบถามที่เราศึกษาในโมดูลก่อนหน้า) แต่ละบันทึกจากตารางลูกค้าจะมีบันทึกที่สอดคล้องกันจากตารางอาหาร
แต่จากบันทึกทั้งหมดนี้เราต้องเหลือเฉพาะผู้ที่มีฟิลด์ "สีโปรดของลูกค้า" เท่ากับฟิลด์ "สีอาหาร":
เราเชื่อมต่อข้อมูลสองชุด
ในการดำเนินการนี้ เราจะเชื่อมต่อชุดข้อมูลสองชุด (ลูกค้าและอาหาร) โดยใช้ฟิลด์ Customer's FavoriteColor และ FoodColor
ไปที่แท็บ "ลิงก์ชุดข้อมูล" แล้วคลิกปุ่มบวกเพื่อเพิ่มลิงก์ใหม่:
เรากำหนดค่าพารามิเตอร์ตามภาพด้านล่าง:
ฉันจะอธิบาย
แหล่งที่มาและผู้รับการสื่อสารทุกอย่างชัดเจนที่นี่ เราระบุข้อมูลชุดแรก (ลูกค้า) และชุดที่สอง (อาหาร) ฉันอยากจะให้ความสนใจเป็นพิเศษกับความจริงที่ว่าการสื่อสารจะดำเนินการตามหลักการ เข้าร่วมด้านนอกซ้าย(เราได้กล่าวถึงไปแล้วในหัวข้อคำขอในโมดูลก่อนหน้า) จากนี้ คุณจะต้องเลือกว่าชุดใดจะเป็นต้นทางและตัวรับใด
แหล่งที่มาของนิพจน์เราระบุที่นี่เป็นนิพจน์หรือเพียงฟิลด์จากชุดข้อมูลต้นทาง (เราระบุฟิลด์ ClientFavoriteColor จากไคลเอ็นต์ที่ตั้งค่าไว้ที่นี่)
การแสดงออกของผู้รับที่นี่เราระบุนิพจน์หรือเพียงฟิลด์จากชุดข้อมูลตัวรับ (เราระบุฟิลด์ ColorFood จากชุดอาหารที่นี่)
ดังนั้น การเชื่อมต่อนี้จะออกจากรายการก่อนหน้านี้เฉพาะแถวที่ฟิลด์ FavoriteColor ของลูกค้าเท่ากับฟิลด์ FoodColor
มาบันทึกรายงานและรันในโหมดผู้ใช้:
ยอดเยี่ยม!
ฉันจะอธิบายเกี่ยวกับสนาม” สภาพการสื่อสาร" ซึ่งโปรแกรมเมอร์มือใหม่คนไหนมักจะตีหอก
เงื่อนไขการเชื่อมต่อเป็นฟิลด์เสริม คุณสามารถเขียนสำนวนตรงนั้นได้ เกี่ยวข้องกับฟิลด์จากชุดข้อมูลที่ระบุในแหล่งลิงก์เท่านั้น.
ในกรณีนี้ สำหรับแถวทั้งหมดจากแหล่งที่มาของลิงก์ นิพจน์นี้ (เงื่อนไขลิงก์) จะถูกตรวจสอบก่อนที่จะสร้างลิงก์ และหากนิพจน์นี้เป็น TRUE ก็จะมีการพยายามสร้างลิงก์ระหว่างแถวนี้และแถวจากตัวรับลิงก์ หากนิพจน์เป็น FALSE จะไม่มีความพยายามดังกล่าวเกิดขึ้น
สวัสดีผู้อ่านที่รัก! เรามีบทเรียนอื่นเกี่ยวกับพื้นฐานของระบบเค้าโครง คุณได้ทำความคุ้นเคยกับฟังก์ชันของภาษานิพจน์ SKD เห็นคุณลักษณะของระบบเค้าโครง และยังเข้าใจการตั้งค่าพื้นฐานของฟิลด์เค้าโครงอีกด้วย ตอนนี้เราจะดูวัสดุใหม่ ไป!
การตั้งค่าเพิ่มเติมสำหรับฟิลด์ ACS
คอลัมน์ "ประเภทค่า"ช่วยให้คุณระบุประเภทข้อมูลสำหรับฟิลด์เค้าโครง เหตุใดจึงต้องระบุประเภทสำหรับฟิลด์ "ระบบการตั้งชื่อ" หากคุณรู้อยู่แล้วว่าเป็นประเภทใด นี่เป็นสิ่งจำเป็นหากฟิลด์โครงร่างเป็นประเภทคอมโพสิต คุณสามารถเลือกประเภทเฉพาะได้ จากนั้นเมื่อเลือกตามฟิลด์นี้ ค่าของประเภทนี้จะถูกเลือก
คอลัมน์ "ค่าที่มีอยู่"ช่วยให้คุณระบุค่าที่มีสำหรับการเลือกและจำกัดตัวเลือกของผู้ใช้ให้อยู่ในขอบเขตที่กำหนด
คอลัมน์ "การตกแต่ง"ช่วยให้คุณสามารถระบุการออกแบบฟิลด์เค้าโครงโดยไม่ต้องใช้เค้าโครง คุณสามารถระบุสีแบบอักษร สีกรอบ การวางแนวข้อความ ฯลฯ
คอลัมน์ “ตัวเลือกการแก้ไข”ช่วยให้คุณระบุวิธีแก้ไขฟิลด์เค้าโครง ตัวอย่างเช่น คุณสามารถระบุการเลือกองค์ประกอบอย่างรวดเร็วจากรายการในส่วนที่เลือกได้ ตามค่าเริ่มต้น ฟิลด์เค้าโครงจะสืบทอดตัวเลือกการแก้ไขทั้งหมดจากออบเจ็กต์ข้อมูลเมตา
เขตข้อมูลจากการคำนวณ
บนแท็บ "ช่องจากการคำนวณ" ขององค์ประกอบข้อมูล คุณสามารถสร้างช่องจากการคำนวณของคุณเองได้
เหตุใดคุณจึงต้องมีเขตข้อมูลจากการคำนวณเมื่อคุณสามารถสร้างเขตข้อมูลเหล่านั้นในระดับแบบสอบถามได้ ไม่สามารถอธิบายทุกฟิลด์ได้โดยใช้แบบสอบถาม หากคุณต้องการสร้างฟิลด์ที่ซับซ้อนจากชุดข้อมูลที่แตกต่างกัน เช่น การสืบค้นและออบเจ็กต์ คุณจะไม่สามารถทำได้หากไม่มีฟิลด์จากการคำนวณ คุณไม่สามารถเพิ่มฟิลด์องค์ประกอบข้อมูลได้หากแหล่งข้อมูลเป็นการสืบค้นและเปิดใช้งานการป้อนอัตโนมัติ แต่การใช้ฟิลด์จากการคำนวณทำให้คุณสามารถเพิ่มฟิลด์ได้มากเท่าที่คุณต้องการ
ในคอลัมน์ "นิพจน์" ของฟิลด์ที่คำนวณ คุณจะต้องเขียนนิพจน์ที่กำหนดเองซึ่งใช้ฟิลด์องค์ประกอบข้อมูลเพื่อเข้าถึงเส้นทาง (คอลัมน์ "เส้นทาง" บนแท็บ "ชุดข้อมูล") คุณสามารถใช้ฟังก์ชันการแปลงทางคณิตศาสตร์หรือเข้าถึงฟังก์ชันของโมดูลทั่วไปได้ ตัวอย่างเช่น ลองเขียนชื่อของฟิลด์ที่คำนวณได้ "ค่าเบี่ยงเบน" ในคอลัมน์ "เส้นทางข้อมูล" และในฟิลด์ "นิพจน์" ดังต่อไปนี้