การใช้การเลือกใน 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();

การประมวลผลพร้อมแล้ว เมื่อเปิดใช้งานแล้ว คุณจะเห็นได้ทันทีในการเลือกคู่สัญญาที่ปรากฏในการเลือกของเรา ซึ่งคุณสามารถเลือกการเปรียบเทียบประเภทใดก็ได้ รวมถึงเพิ่มบรรทัดการเลือกเพิ่มเติมโดยใช้รายละเอียดของไดเร็กทอรีคู่สัญญา:

ฉันหวังว่าบทความนี้จะช่วยคุณปรับปรุงความยืดหยุ่นในการเลือกในการประมวลผลของคุณ

โคโนนอฟ เซอร์เกย์