การใช้การเลือกใน SCD SKD ไม่เพียงแต่สำหรับรายงานเท่านั้น - การดำเนินการเลือกสากล การเลือก SKD
SKD สามารถใช้ทำอะไรได้บ้าง?
ความเห็นที่สร้างขึ้นมีไว้เพื่อการรายงาน
ในความเป็นจริง ความสามารถของ ACS เป็นมากกว่าการสร้างรายงานสากล.
และวันนี้เราจะมาแสดงวิธีการ เมื่อใช้ระบบควบคุมการเข้าออก ผู้ใช้จะสามารถกำหนดค่าการเลือกข้อมูลที่ยืดหยุ่นได้- นอกจากนี้ การเลือกนี้จะใช้ในการรับและประมวลผลข้อมูล
สิ่งนี้จะมีประโยชน์สำหรับงานใดบ้าง?
ให้กันเถอะ ตัวอย่างจากการกำหนดค่าทั่วไป:
- กำลังประมวลผล “การอัปโหลดข้อมูลไปยังไซต์”
- การก่อตัวของรายการราคา
- การอัพโหลดข้อมูลไปยัง TSD (คลังข้อมูล)
- การแบ่งส่วนผลิตภัณฑ์คู่ค้า
- จัดทำคำสั่งซื้อ (ลูกค้า, ซัพพลายเออร์) ตามความต้องการ
- การวางแผนการซ่อมใน 1C: ERP
นั่นคือเครื่องมือนี้มีประโยชน์ในทุกที่ที่จำเป็นเพื่อให้ผู้ใช้มีตัวเลือกให้เลือกมากมาย
การสร้างการเลือกแบบสุ่มในรูปแบบควบคุมโดยใช้ ACS
บทเรียนครอบคลุมการทำงานด้วย ตัวสร้างการตั้งค่าโครงร่างโครงร่างข้อมูล:
- เอาต์พุตการเลือกแบบฟอร์ม
- การเชื่อมต่อซอฟต์แวร์ระหว่างตัวสร้างการตั้งค่าและแผนผังเค้าโครง
- การสร้างการเลือกเริ่มต้นในระบบควบคุมการเข้าออก
การรับข้อมูลจากฐานข้อมูลโดยกรองด้วยการเลือก ACS
วิดีโอแสดงวิธีที่คุณสามารถเลือกข้อมูลโดยใช้การเลือกที่ตั้งไว้ก่อนหน้านี้ในตัวสร้างการตั้งค่า
มีการใช้วัตถุที่ “น่ากลัว” – โปรเซสเซอร์ผลลัพธ์ผลลัพธ์องค์ประกอบข้อมูลเข้าสู่คอลเลกชันค่า.
ที่จริงแล้วไม่ใช่ทุกอย่างจะซับซ้อนนัก - ภายใน 8 นาทีเราจะแก้ปัญหาได้
การจัดเก็บการเลือก SKD ในฐานข้อมูล
ในบทเรียนเราจะดู บันทึกการตั้งค่าตัวสร้าง ACSการใช้ร้านค้าค่า
มาดูวิธีแก้ปัญหานี้ในการกำหนดค่า "1C: Manufacturing Enterprise Management 1.3"
สนุกกับการรับชม! -
โดยทั่วไปแล้ว ACS ให้โอกาสมากมาย
ต่อไปนี้เป็น “เคล็ดลับ” บางประการที่เราไม่มีเวลาอธิบายในหน้าหลักสูตรด้วยซ้ำ
หากคุณต้องการรวบรวม ข้อมูลจากแหล่งต่างๆมีสามตัวเลือก
คุณสามารถลองเขียนแบบสอบถามแบบ "สากล" สำหรับข้อมูลทั้งหมด (แบบยาว) คุณสามารถแสดงข้อมูลของแบบสอบถามหลาย ๆ แบบในลูป (โครงสร้างที่เข้มงวดและไม่ยืดหยุ่น) - หรือคุณสามารถใช้ ACS และการเชื่อมต่อชุดข้อมูลแทนที่จะเป็นคำขอเดียว
ในเวลาเดียวกันสิ่งสำคัญคือต้องได้รับผลลัพธ์ที่ถูกต้อง - นี่เป็นลักษณะเฉพาะหากมีหลายแหล่ง
ด้วยความช่วยเหลือของ SKD คุณสามารถทำได้ง่ายๆ รับภาพรวมล่าสุดของแต่ละวันในรายงาน.
หรือเพื่อความชัดเจน - รับราคาสินค้าสำหรับวันที่ขายในแต่ละวัน.
ด้วยความช่วยเหลือของ ACS คุณสามารถจัดระเบียบได้ แสดงวันที่ทั้งหมดในช่วงเวลานั้นในรายงานและไม่ใช่เฉพาะข้อมูลที่มีข้อมูลในรายงานเท่านั้น (เพิ่มวันที่โดยไม่ต้องเขียนโปรแกรมเฉพาะกับความสามารถของระบบควบคุมการเข้าออกเท่านั้น)
เมื่อใช้ ACS คุณสามารถจัดกลุ่มแบบซ้อนกันพร้อมการเพิ่มช่วงเวลา (ปี/ไตรมาส/เดือน ฯลฯ)
จัดเรียงรายงานตามต้องการ เช่น แสดงส่วนหัวของคอลัมน์ในแนวตั้ง และข้อมูลในคอลัมน์นี้ในแนวนอน
อนุญาตให้ผู้ใช้เลือกความถี่ที่ข้อมูลจะแสดงในรายงาน (ตามปี รายไตรมาส เดือน) - ตามการตั้งค่าเพียงอย่างเดียว โดยไม่ต้องแก้ไขโมดูลรายงาน
จะรวมเงื่อนไขต่างๆ โดยใช้ OR ในรายงานได้อย่างไร ตัวอย่างเช่น ตัวเลือกนี้ไม่มีในตัวสร้างรายงาน แต่มีอยู่ใน ACS
หากคุณแสดงข้อมูลสรุปในรูปแบบของแผนภูมิ คุณจะต้องสามารถควบคุมลักษณะที่ปรากฏได้อย่างแม่นยำ ได้แก่ การมองเห็นเครื่องหมายสำหรับชุดข้อมูล การสลับสีของชุดแผนภูมิ การแยกข้อมูลในอดีตออกจากข้อมูลในอนาคตบนแผนภูมิด้วยเส้นแนวตั้ง ฯลฯ
แน่นอนว่ามีความแตกต่างที่ต้องให้ความสนใจ
เมื่อสร้างรายงาน นักพัฒนาได้แก้ไขข้อความแบบสอบถาม แต่เมื่อใช้แบบสอบถามนี้ในรายงานเกี่ยวกับระบบควบคุมการเข้าถึง ระบบจะให้ผลลัพธ์ที่ไม่ถูกต้อง
ดังนั้นจึงเป็นสิ่งสำคัญที่จะต้องสามารถรับแบบสอบถามที่ระบบดำเนินการจริงเพื่อรับข้อมูลจากฐานข้อมูล และเพื่อแก้ไขข้อบกพร่องของแบบสอบถามดังกล่าว
เมื่อเพิ่มรายละเอียดลงในเครื่องบันทึกเอกสารลงในรายงาน บางครั้งระบบจะสร้างยอดดุลเปิดและปิดที่ "ไม่ถูกต้อง"
ดังนั้นจึงเป็นสิ่งสำคัญที่จะต้องกำหนดค่าฟิลด์ในรายงานเกี่ยวกับระบบควบคุมการเข้าใช้งานอย่างถูกต้อง เพื่อให้แสดงยอดคงเหลือได้อย่างถูกต้องทั้งที่มีและไม่มีรายละเอียดในเอกสาร
ผลลัพธ์ของรายงานอาจเปลี่ยนแปลงได้ขึ้นอยู่กับตำแหน่งที่กำหนดค่าการเลือกตามมูลค่าทรัพยากร - ในระดับรายงานและในระดับของแต่ละกลุ่ม คุณต้องตรวจสอบสิ่งนี้
ถ้าคุณต้องการ เชี่ยวชาญ ACS อย่างมืออาชีพและทุกวัน นำไปใช้ในการทำงานของคุณ, ลงทะเบียนเรียนหลักสูตร:
สนับสนุน - 2 เดือน- ขอบเขตหลักสูตร – 34 ชั่วโมงการสอน.
อย่ารอช้าการเรียนของคุณ!
ส่วนขยายภาษาแบบสอบถามสำหรับระบบการจัดองค์ประกอบข้อมูล
การขยายภาษาการสืบค้นสำหรับระบบการจัดองค์ประกอบข้อมูลจะดำเนินการโดยใช้คำสั่งทางวากยสัมพันธ์พิเศษที่อยู่ในเครื่องหมายปีกกาและวางไว้ในข้อความสืบค้นโดยตรง
องค์ประกอบทางวากยสัมพันธ์ของส่วนขยายภาษาแบบสอบถามของระบบองค์ประกอบข้อมูล
เลือก
ประโยคนี้อธิบายฟิลด์ที่ผู้ใช้จะสามารถเลือกสำหรับเอาต์พุตได้ หลังจากคีย์เวิร์ดนี้ นามแฝงของฟิลด์จากรายการการเลือกแบบสอบถามหลักที่จะพร้อมใช้งานสำหรับการกำหนดค่าจะแสดงรายการ โดยคั่นด้วยเครื่องหมายจุลภาค
ตัวอย่างเช่น:
(เลือกรายการ, คลังสินค้า)
หลังจากนามแฝงของฟิลด์ อาจมีอักขระ ".*" ผสมกัน ซึ่งบ่งชี้ถึงความเป็นไปได้ในการใช้ฟิลด์ย่อยจากฟิลด์นี้
ตัวอย่างเช่น รายการ Nomenclature.* บ่งชี้ถึงความเป็นไปได้ของการใช้ฟิลด์ย่อยของฟิลด์ "Nomenclature" (ตัวอย่างเช่น ฟิลด์ "Nomenclature.Code") องค์ประกอบ SELECT สามารถปรากฏในแบบสอบถามการรวมครั้งแรกเท่านั้น
ที่ไหน
มีการอธิบายฟิลด์ที่ผู้ใช้สามารถใช้การเลือกได้ ข้อเสนอนี้ใช้ช่องตาราง ไม่อนุญาตให้ใช้นามแฝงของฟิลด์รายการตัวเลือก แต่ละส่วนของสหภาพสามารถมีองค์ประกอบ WHERE ของตัวเองได้
(ระบบการตั้งชื่อ WHERE.*, คลังสินค้า)
ตัวอย่างง่ายๆ
จำเป็นต้องรับยอดขายงวด + แสดงรายการทั้งหมดไม่ว่าจะมียอดขายหรือไม่ก็ตาม นั่นคือคุณต้องเลือกข้อมูลจากตารางการหมุนเวียนของทะเบียนการขายซึ่งเป็นข้อมูลจากไดเร็กทอรีระบบการตั้งชื่อ ข้ามคำถามว่าทำไมเราถึงต้องการระบบการตั้งชื่อทั้งหมด
ในการแก้ปัญหา คุณสามารถสร้างแบบสอบถามที่เชื่อมโยงรายการและตารางยอดขายด้วยการรวมด้านซ้าย ดังนั้น สำหรับสินค้าที่ไม่ได้ขายในช่วงเวลาที่เลือก เราจะได้รับค่าฟิลด์ คู่สัญญา, ข้อตกลง, ปริมาณ, ผลรวม= ค่าว่าง คำขอนี้:
เลือก ReferenceNomenclature.Link AS Nomenclature, SalesTurnover.Counterparty, SalesTurnover.Counterparty Agreement, SalesTurnover.QuantityTurnover AS Volume, SalesTurnover.CostTurnover AS Cost FROM Reference.Nomenclature AS ReferenceNomenclature LEFT CONNECTION Register Accumulations.Sales.Turnover AS SalesTurnover Software SprNomenclature.Link = SalesTurnover. ศัพท์นี่คือผลลัพธ์:
คู่สัญญา | ข้อตกลง | ศัพท์ | ปริมาณ | ผลรวม |
โมฆะ | โมฆะ | _ทดสอบ1 | โมฆะ | โมฆะ |
LLC "เขาและกีบ" | ข้อตกลง1 | รองเท้าแตะ | 10 | 1200 |
OJSC "แก๊ซพรอม" | สัญญาเจ๋งๆ | รองเท้าบูท | 5 | 13000 |
โมฆะ | โมฆะ | กาโลเชส | โมฆะ | โมฆะ |
โมฆะ | โมฆะ | ชนวน | โมฆะ | โมฆะ |
ในตัวอย่างนี้ ไม่มีการขายสินค้า: "Overshoes" และ "Slippers"
และทุกอย่างคงจะดี หากเราจัดกลุ่มตัวอย่างตามคู่สัญญา สินค้าที่ขายไม่ออกทั้งหมดจะตกอยู่ในกลุ่มแยกกัน โดยที่คู่สัญญา = Null แต่ลูกค้าต้องการให้สุ่มเลือกในรายงานตามช่องคู่สัญญา (โดยธรรมชาติสิ่งนี้ หมายถึงคู่สัญญาจากทะเบียนการขาย) ฉันควรทำอย่างไร? จริงๆ แล้ว เราแค่ต้องกรองตารางเท่านั้น ฝ่ายขาย- หากเราใช้การเติมข้อความอัตโนมัติในตัวสร้าง ACS ฟิลด์การเลือกที่มีอยู่จะรวมฟิลด์นั้นด้วย คู่สัญญาดูเหมือนว่าทุกอย่างจะเรียบร้อยดี แต่เมื่อดำเนินการรายงานโดยเลือกโดยคู่สัญญา เราจะสูญเสียบันทึกทั้งหมดจากการเชื่อมต่อกับรายการ ตัวอย่างเช่น ตั้งค่าการเลือก: คู่สัญญา = LLC "เขาและกีบ"- ผลลัพธ์จะมีลักษณะดังนี้:
ไม่ใช่สิ่งที่เราต้องการเลยใช่ไหม?
ในการแก้ปัญหา คุณสามารถเพิ่มพารามิเตอร์ลงในแบบสอบถามได้ เช่น ลงในพารามิเตอร์ของตารางเสมือน การขายการหมุนเวียนแต่ในขณะเดียวกันความยืดหยุ่นในการตั้งค่าประเภทของการเปรียบเทียบก็หายไป
มีวิธีแก้ไข: สำหรับสิ่งนี้ค่ะ ตัวสร้างแบบสอบถามบนแท็บ องค์ประกอบของข้อมูล => ตารางเพิ่มฟิลด์เงื่อนไขให้กับเงื่อนไขตารางเสมือน การขายการหมุนเวียนและเปลี่ยนชื่อเล่นเป็น การเลือกคู่สัญญา
เพื่อไม่ให้ผู้ใช้สับสนกับฟิลด์การเลือก เราจะปิดการใช้งานฟิลด์เงื่อนไข คู่สัญญาและเปลี่ยนชื่อสนาม การเลือกคู่สัญญา
จากผลของการดำเนินการโครงร่างนี้โดยเปิดใช้งานการเลือกโดยฟิลด์คู่สัญญา แบบสอบถามผลลัพธ์จะอยู่ในรูปแบบ:
เลือกระบบการตั้งชื่ออ้างอิง Link AS Nomenclature, SalesTurnover.Counterparty AS Counterparty, SalesTurnover.Counterparty Agreement AS Counterparty Agreement, SalesTurnover.QuantityTurnover AS >Quantity, SalesTurnover.CostTurnover AS Cost, PRESENTATIONLINK(SalesTurnover.Counterparty Agreement) AS ContractController agentIntroduction, REPRESENTATIONLINK(SalesTurnover. คู่สัญญา) AS CounterpartyIntroduction, SprNomenclature.Presentation AS NomenclaturePresentation FROM Directory.Nomenclature AS SprNomenclature LEFT CONNECTION Register Accumulations.Sales.Turnover(&P , , , Counterparty = &P3 ) AS SalesTurnover BY SprNomenclature.Link = SalesTurnover.Nomenclatureและผลลัพธ์ก็เป็นไปตามนั้น:
คู่สัญญา | ข้อตกลง | ศัพท์ | ปริมาณ | ผลรวม |
โมฆะ | โมฆะ | _ทดสอบ1 | โมฆะ | โมฆะ |
LLC "เขาและกีบ" | ข้อตกลง1 | รองเท้าแตะ | 10 | 1200 |
โมฆะ | โมฆะ | รองเท้าบูท | โมฆะ | โมฆะ |
โมฆะ | โมฆะ | กาโลเชส | โมฆะ | โมฆะ |
โมฆะ | โมฆะ | ชนวน | โมฆะ | โมฆะ |
Test1 คือกลุ่มในไดเร็กทอรี Nomenclature ซึ่งทุกอย่างตั้งอยู่
สิ่งที่แนบมากับสิ่งพิมพ์คือสคีมา XML ของรายงานที่ใช้ในการตีพิมพ์ ฉันสร้างวงจรใน Integrated Automation แต่ฉันคิดว่าทุกอย่างจะทำงานได้ดีทั้งใน UPP และ UT 10
สรุป.
ตัวอย่างนี้แสดงวิธีสร้างการตั้งค่าการเลือกของคุณเองใน ACS และปิดใช้งานการตั้งค่าที่สร้างขึ้นอัตโนมัติ หากคุณกำลังออกแบบวงจรโดยเปิดใช้งานแฟล็ก ป้อนอัตโนมัติ.
หากคุณมีประสบการณ์มากพอที่จะสร้างวงจรโดยไม่ต้องใช้ ป้อนอัตโนมัติ- คำแนะนำนี้ไม่สมเหตุสมผล
ซอฟต์แวร์ที่ใช้
- โปรแกรมสกรีนช็อตสนิมโอเค!
- โปรแกรมแก้ไขไฟล์ XML
ในการเขียนการประมวลผล โปรแกรมเมอร์มักจะต้องใช้แบบสอบถามเพื่อรับข้อมูลแล้วจึงประมวลผล ข้อมูลก็ได้รับมาจากคำขอ คำขอที่ไม่มีการเลือกหรือตัวกรองนั้นหาได้ยาก เรามาพูดถึงการเลือกในคำขอดังกล่าว โดยใช้คำขอตัวอย่าง:
เพื่อจัดระเบียบการเลือกตามคู่สัญญาสำหรับผู้ใช้ในรูปแบบปกติ โปรแกรมเมอร์ต้องวางองค์ประกอบสามอย่างในแบบฟอร์ม ซึ่งมีลักษณะดังนี้:
โปรแกรมเมอร์ต้องใช้เวลามากเพียงใดในการอธิบายการเปรียบเทียบประเภทต่างๆ (เท่ากัน ไม่เท่ากัน ในรายการ ในกลุ่ม...) และขึ้นอยู่กับการเปรียบเทียบประเภทนี้ ปรับแต่งคำขอสุดท้ายของเขาในการรับข้อมูล
มาดูกันว่าสามารถทำได้โดยใช้ ACS อย่างไร ในการประมวลผลของเรา เรามาสร้างเลย์เอาต์ด้วยประเภท Data Composition Scheme และกรอกคำขอของเรา:
บนแท็บการตั้งค่า เราจะเพิ่มการจัดกลุ่มใหม่โดยไม่มีรายละเอียด และในตัวอย่างของเราคือฟิลด์บัญชี เนื่องจากท้ายที่สุดแล้ว เราจะนำทุกอย่างมาไว้ในตารางค่า:
และบนแท็บการเลือก เพิ่มคู่สัญญาให้กับการเลือก:
ตอนนี้เรามาเริ่มสร้างแบบฟอร์มกันดีกว่า มาแสดงในรูปแบบของการประมวลผลตัวเลือกที่ผู้ใช้จะทำงาน เราจะแสดงองค์ประกอบของประเภทฟิลด์แบบตารางบนแบบฟอร์มและตั้งชื่อ Selection ด้วยประเภทข้อมูล Composer.Settings.Selection:
ตอนนี้เรามาสร้างตัวจัดการเหตุการณ์สำหรับแบบฟอร์ม OnOpen และตัวจัดการสำหรับการคลิกปุ่ม Run โค้ดจะแสดงด้านล่าง:
เค้าโครงเปเรม; ขั้นตอน ButtonExecutePress(ปุ่ม) Result.Clear();
การประมวลผลพร้อมแล้ว เมื่อเปิดใช้งานแล้ว คุณจะเห็นได้ทันทีในการเลือกคู่สัญญาที่ปรากฏในการเลือกของเรา ซึ่งคุณสามารถเลือกการเปรียบเทียบประเภทใดก็ได้ รวมถึงเพิ่มบรรทัดการเลือกเพิ่มเติมโดยใช้รายละเอียดของไดเร็กทอรีคู่สัญญา:
ฉันหวังว่าบทความนี้จะช่วยคุณปรับปรุงความยืดหยุ่นในการเลือกในการประมวลผลของคุณ
โคโนนอฟ เซอร์เกย์