ค่าคงที่ใน 1 วินาทีคืออะไร ค่าคงที่ การเขียนค่าคงที่ใหม่

ดังนั้นใน 1C จึงมีหนังสืออ้างอิง ตัวอย่างเช่น ไดเรกทอรีของสินค้า (ระบบการตั้งชื่อ) ที่นั่นเราจะระบุรายการสินค้าที่องค์กรของเราขาย

ด้วยความช่วยเหลือของไดเร็กทอรีดังกล่าว เราสามารถจัดระเบียบรายการราคาสำหรับลูกค้าตลอดจนรายงานการขายสำหรับฝ่ายบริหารได้

สินค้ามีความแตกต่างกัน เช่น ผลิตภัณฑ์และเคมีภัณฑ์ เราควรทำอย่างไรหากผู้จัดการขอให้เราจัดทำรายงาน - เราได้เงินจากผลิตภัณฑ์เท่าไร และได้เท่าไรจากเคมี?

อย่างง่ายดาย! - เราจะตอบ คุณต้องเพิ่มไดเร็กทอรีประเภทผลิตภัณฑ์ และเพิ่มรายละเอียดต่อไปนี้ในไดเร็กทอรี Nomenclature ตอนนี้เมื่อเราแนะนำผลิตภัณฑ์ใหม่ เราจะต้องเลือกประเภทของผลิตภัณฑ์

อย่างไรก็ตาม สาวๆ ไม่พอใจกับนวัตกรรมนี้ เพราะตอนนี้พวกเธอต้องกรอกข้อมูลในสาขาเพิ่มเติมทั้งหมด และพวกเธอก็มีงานเยอะอยู่แล้วและไม่มีเวลาทำอะไรเลย และโดยทั่วไป! - เขาว่ากันว่า - เรามีผลิตภัณฑ์ 900 ชนิด และเคมีภัณฑ์เพียง 50 ชนิดเท่านั้น! แม้แต่คนโง่ก็ยังเห็นว่าประเภทผลิตภัณฑ์เริ่มต้นควรเป็นผลิตภัณฑ์

ยอดเยี่ยม! – เราจะสังเกต แล้ว... จะทำอย่างไร?

ค่าคงที่ 1C

หากต้องการแก้ไขค่าคงที่ แบบฟอร์มค่าคงที่เริ่มต้นจะเปิดขึ้น แต่ละฟิลด์ในแบบฟอร์มนี้เป็นค่าคงที่หนึ่งรายการ

มีสองวิธีในการเพิ่มรูปแบบคงที่:

  • คลิกขวาที่สาขา 1C Constants และเลือกรายการเมนู สร้างแบบฟอร์มคงที่
  • เพิ่มแบบฟอร์มในสาขาแบบฟอร์มทั่วไป/ทั่วไป และในตัวช่วยสร้างให้เลือกประเภทแบบฟอร์ม – แบบฟอร์มคงที่

คุณสามารถดู (และเลือก) รูปแบบของค่าคงที่ได้ดังต่อไปนี้:

  • ป้อนคุณสมบัติการกำหนดค่า (คลิกขวาที่สาขารากด้านบนของการกำหนดค่า ซึ่งโปรแกรมเมอร์มักเรียกว่า "Head") และใช้รูปแบบพื้นฐานของคุณสมบัติค่าคงที่

แบบฟอร์มค่าคงที่แตกต่างตรงที่แอตทริบิวต์หลักของแบบฟอร์มนั้นเป็นประเภท "ConstantsSet" สิ่งนี้ทำให้คุณสามารถเขียนค่าคงที่ 1C ไม่ใช่ทีละค่า แต่เป็นชุดได้ทันที

อย่างไรก็ตาม แอตทริบิวต์ของแบบฟอร์มจะกลายเป็น "หลัก" หากระบุไว้ในคุณสมบัติ Data ในคุณสมบัติของแบบฟอร์ม

ในโปรแกรมในภาษา 1C คุณสามารถเข้าถึงค่าคงที่ใด ๆ ได้อย่างง่ายดายและง่ายดาย:

ค่า = ค่าคงที่ NecessaryConstant.Get(); //อ่าน
ค่าคงที่ NecessaryConstant.Set (ค่า); //เขียนลงไป

พารามิเตอร์เซสชัน 1C

ดังนั้นปัญหาจึงได้รับการแก้ไขอย่างง่ายดายและด้วยความสง่างาม - เราสร้างค่าคงที่ซึ่งเราจะจัดเก็บประเภทผลิตภัณฑ์เริ่มต้น

เมื่อสร้างผลิตภัณฑ์ใหม่ โปรแกรมภาษา 1C ใน OnOpenForm() จะตั้งค่าของฟิลด์ Product Type ให้เป็นค่าที่กำหนดในค่าคงที่ เอาล่ะ!

ตอนนี้โปรแกรมใช้งานได้ แต่เราจะไม่หยุดเพียงแค่นั้น! แน่นอน - เราเป็นโปรแกรมเมอร์ที่ยอดเยี่ยม เราต้องการให้โปรแกรมไม่เพียงแต่ทำงาน แต่ยังทำงานได้อย่างรวดเร็วด้วย!

ค่าคงที่ 1C ถูกเก็บไว้ที่ไหน? ในฐานข้อมูลในตารางพิเศษ ทุกครั้งที่ผู้ปฏิบัติงานสร้างผลิตภัณฑ์ใหม่ เขาจะเจาะเข้าไปในเซิร์ฟเวอร์และอ่านค่าของค่าคงที่ 1C จะเกิดอะไรขึ้นถ้ามีโอเปอเรเตอร์ 200 ราย? สิ่งนี้เหมาะสมที่สุดหรือไม่?

แล้วต้องทำอย่างไร?

และที่นี่เราจำเกี่ยวกับพารามิเตอร์เซสชัน 1C ได้ ค่าเหล่านี้เป็นค่าเช่นค่าคงที่ที่กรอกในขณะที่ 1C เริ่มต้นในโหมด Enterprise และพร้อมใช้งานบนไคลเอนต์ทันที กล่าวอีกนัยหนึ่ง นี่คือแคชชนิดหนึ่งในฝั่งไคลเอ็นต์

นอกจากนี้ หากเราสามารถจัดเก็บรายการได้เฉพาะในที่จัดเก็บค่าเท่านั้น เราสามารถแยกรายการออกเป็นพารามิเตอร์เซสชัน 1C ได้แล้ว แม้ว่ารายการจะไม่เป็นไดนามิกก็ตาม - ด้วยประเภท FixedArray

พารามิเตอร์เซสชัน 1C ยังอยู่ในหน้าต่างการกำหนดค่า ซึ่งอยู่ในสาขาพารามิเตอร์เซสชันทั่วไป/1C

การเพิ่มพารามิเตอร์เซสชัน 1C นั้นไม่เพียงพอ เพราะหากไม่ได้กรอกโปรแกรมจะแสดงข้อผิดพลาด

การกรอก (การตั้งค่า) พารามิเตอร์เซสชัน 1C ควรทำเมื่อเริ่มต้น 1C ในโหมดองค์กร คลิกขวาที่สาขาด้านบนของการกำหนดค่า (โปรแกรมเมอร์เรียกว่า "Head") และเลือกรายการเมนู เปิดโมดูลเซสชัน

โมดูลอาจมีฟังก์ชัน SettingSessionParameters() อยู่แล้ว หากยังไม่มี ให้เลือกกิจกรรมนี้ในรายการแบบเลื่อนลงที่เกี่ยวข้อง นี่คือตัวอย่างการตั้งค่าของพารามิเตอร์เซสชัน 1C:

SessionParameters.RequiredParameter = ค่า; //บันทึกครั้งหนึ่งตั้งแต่เริ่มต้น
ค่า = SessionParameters.RequiredParameter; //อ่านหลังจากเขียนอย่างเคร่งครัด

ค่าคงที่ใน 1C มักจะใช้เพื่อจัดเก็บค่าหนึ่งค่าในฐานข้อมูล โดยทั่วไปแล้วค่าคงที่จะเก็บค่าที่ไม่ค่อยเปลี่ยนแปลงหรือไม่เปลี่ยนแปลงเลย แต่มักใช้บ่อย เช่น เวอร์ชันของโปรแกรม การตั้งค่าต่างๆ ชื่อองค์กร ผู้รับผิดชอบหลัก เป็นต้น

สำหรับแต่ละค่าคงที่ ชื่อและประเภทข้อมูลจะถูกระบุ การเข้าถึงค่าคงที่ในโมดูลโปรแกรมนั้นง่ายมาก:

1. การอ่านค่าของค่าคงที่

// อ่านค่าของค่าคงที่
ชื่อ = ค่าคงที่ ชื่อองค์กร รับ();

ให้ความสนใจกับคำว่า "ค่าคงที่" ไม่ใช่ "ค่าคงที่" เหมือนในเวอร์ชัน 1C 7.7

2. เขียนค่าคงที่ใหม่

หากต้องการเขียน (ตั้งค่า) ค่าใหม่ของค่าคงที่ ให้ใช้เมธอด Set()

// เขียนค่าคงที่ใหม่
ค่าคงที่ - ชื่อองค์กร ติดตั้ง( "LLC เขาและกีบ");

3. การทำงานกับชุดค่าคงที่

บางครั้งคุณอาจต้องอ่านหรือเขียนค่าของกลุ่มค่าคงที่หลายค่า สำหรับสถานการณ์ดังกล่าว คุณสามารถใช้ชุดที่เรียกว่าค่าคงที่ได้ เมื่อใช้ชุด ค่าคงที่ทั้งหมดที่รวมอยู่ในชุดจะถูกอ่านและเขียนรวมกันในธุรกรรมเดียว เช่น การดำเนินการกับค่าคงที่หลายค่าจะดำเนินการพร้อมกัน

//สร้างชุดค่าคงที่สามชุด

//โปรดทราบว่าเราเพียงสร้างชุดค่าคงที่ แต่ยังไม่ทราบค่าของมัน

ชุด = ค่าคงที่ สร้างชุด( “หัวหน้า ชื่อหน่วยงาน ที่อยู่หน่วยงาน”);

เนื่องจากเมื่อทำงานกับชุดค่าคงที่เราสามารถเปลี่ยน (เขียน) ค่าของค่าคงที่ทั้งหมดในชุดได้พร้อม ๆ กัน อันดับแรกเราจำเป็นต้องตั้งค่าแต่ละค่าคงที่ให้เป็นค่าใหม่ จากนั้นใช้เมธอด Write() เพื่อ เขียนพร้อมกัน

//ตั้งค่าของค่าคงที่ในชุด (ไม่ใช่ในฐานข้อมูล)
ชุด - ผู้จัดการ = “อีวานอฟ ที่ 2” -
ชุด - ชื่อองค์กร = "LLC เขาและกีบใหม่";
ชุด - ที่อยู่องค์กร = "รัสเซีย มอสโก เครมลิน";
ชุด - เขียน();//เขียนค่าคงที่สามค่าลงในฐานข้อมูลพร้อมกัน

4. การเปรียบเทียบกับค่าคงที่ในแบบสอบถาม

ค่าคงที่สามารถนำมาใช้ในการสืบค้นได้ ตัวอย่างเช่น เราอาจต้องเปรียบเทียบข้อมูลกับค่าคงที่ในแบบสอบถาม ในตัวอย่างนี้ เราเลือกบันทึกจากไดเร็กทอรี Nomenclature ซึ่งค่าของแอตทริบิวต์ Code เท่ากับค่าของค่าคงที่ ConstantNumber ของเรา

"เลือก
- OurNumber.Value,
- ชื่อรหัส,
|จาก
- Constant.ConstNumber เป็นหมายเลขของเรา
- Directory.ระบบการตั้งชื่อ AS Nomen
|ที่ไหน
- Nomen.Code = OurNumber.Value"

ภาษาแบบสอบถาม 1C จะมีการอธิบายโดยละเอียดเพิ่มเติมในเอกสารอ้างอิง 1C ต่อไปนี้

หากคุณมีคำถามที่ต้องกล่าวถึงในรายละเอียดเพิ่มเติม โปรดถามในความคิดเห็น

ค่าคงที่ 1C 8.3เป็นวัตถุเมทาดาทาที่เก็บข้อมูลที่เปลี่ยนแปลงน้อยครั้ง

ตามกฎแล้ว ค่าคงที่จะจัดเก็บข้อมูลเกี่ยวกับการตั้งค่าระบบ ตัวอย่างเช่น: สกุลเงินทางบัญชีที่มีการควบคุม, ส่วนหัวของระบบ, ค่าสำหรับ ฯลฯ

มาวิเคราะห์คุณสมบัติหลักการตั้งค่าและคุณสมบัติของการใช้งานทางเทคนิคของค่าคงที่ใน 1C ที่ระดับ DBMS

คุณสมบัติและการตั้งค่าคงที่ใน 1C

ตัวจัดการวัตถุมีสองฟังก์ชันหลักในโค้ดโปรแกรม:

  • ค่าคงที่<Название константы>.รับ();- รับค่าปัจจุบันของค่าคงที่
  • ค่าคงที่<Название константы>.ติดตั้ง(<Значение>); — การตั้งค่าคงที่ใหม่

รับบทเรียนวิดีโอ 267 บทเรียนบน 1C ฟรี:

มาดูคุณสมบัติหลักของพาเล็ตคุณสมบัติของวัตถุเมตาดาต้า - ค่าคงที่:

  • พิมพ์— ประเภทของค่าคงที่ไม่ถูกจำกัดด้วยสิ่งใดๆ
  • โมดูลตัวจัดการมูลค่า— โมดูลคงที่ที่อธิบายตัวจัดการต่อไปนี้: ProcessingFillCheck, BeforeWrite, OnWrite
  • โหมดควบคุมการล็อคข้อมูล— โหมดควบคุมหรืออัตโนมัติ
  • ใช้คำสั่งมาตรฐาน— ธงที่รับผิดชอบในการใช้การแสดงคำสั่งมาตรฐานบนอินเทอร์เฟซการกำหนดค่า บ่อยครั้งที่ธงนี้สามารถตอบคำถามได้ - เหตุใดค่าคงที่จึงไม่แสดงในอินเทอร์เฟซ
  • แบบฟอร์มพื้นฐาน— แบบฟอร์มจากรายการที่กำหนดให้เป็นรายการหลักสำหรับแก้ไขค่าคงที่

วิดีโอเกี่ยวกับการสร้างและการใช้ค่าคงที่:

คุณสมบัติของการนำค่าคงที่ไปใช้ในระดับ DBMS และ 1C

คุณสมบัติสามารถแบ่งออกเป็นสองประเภทตามเวอร์ชันของแพลตฟอร์ม 1C:

  • ก่อนการเปิดตัว 8.2.14— ค่าคงที่ทั้งหมดในระบบถูกจัดเก็บไว้ในตารางเดียว การเปลี่ยนหนึ่งระเบียนจะล็อคทั้งตาราง คุณต้องระมัดระวังอย่างมากเมื่อใช้ออบเจ็กต์ข้อมูลเมตานี้
  • หลังจากปล่อย 8.2.14— สำหรับแต่ละค่าคงที่เราสร้างตารางของเราเอง ความเท่าเทียมของการทำงานเพิ่มขึ้น

หากคุณกำลังเริ่มเรียนรู้การเขียนโปรแกรม 1C เราขอแนะนำหลักสูตรฟรีของเรา (อย่าลืม

ค่าคงที่ใช้เพื่อจัดเก็บค่าเดียวในฐานข้อมูล โดยทั่วไปค่าคงที่จะจัดเก็บข้อมูลที่ไม่ค่อยเปลี่ยนแปลง เช่น ชื่อองค์กร ที่อยู่ขององค์กร ชื่อผู้จัดการ เป็นต้น

สำหรับแต่ละค่าคงที่ คุณต้องระบุชื่อและประเภทข้อมูลการเข้าถึงค่าคงที่ในโมดูลโปรแกรมนั้นง่ายมาก:

1. การอ่านค่าของค่าคงที่

// อ่านค่าของค่าคงที่
ชื่อ = ค่าคงที่. ชื่อองค์กร- รับ ();

ให้ความสนใจกับคำว่าค่าคงที่ (และไม่ใช่ค่าคงที่เหมือนในเวอร์ชัน 7.7)

2. เขียนค่าคงที่ใหม่

หากต้องการเขียน (ตั้งค่า) ค่าใหม่ของค่าคงที่ ให้ใช้เมธอด Set()

// เขียนค่าคงที่ใหม่
ค่าคงที่ ชื่อองค์กร- ชุด("เขาและกีบ LLC");

3. การทำงานกับชุดค่าคงที่

บางครั้งคุณอาจต้องอ่านหรือเขียนค่าของค่าคงที่หลายค่าในคราวเดียว สำหรับสถานการณ์ดังกล่าว คุณสามารถใช้ชุดค่าคงที่ได้ เมื่อใช้ชุด ค่าคงที่ทั้งหมดที่รวมอยู่ในชุดจะถูกอ่านและเขียนรวมกันในธุรกรรมเดียว เช่น การดำเนินการกับค่าคงที่หลายค่าจะดำเนินการพร้อมกัน

//สร้างชุดค่าคงที่สามชุด

//โปรดทราบว่าเราเพียงสร้างชุดค่าคงที่ แต่ยังไม่ทราบค่าของมัน

เซต = ค่าคงที่ CreateSet("ผู้จัดการ,ชื่อองค์กร,ที่อยู่องค์กร");

เนื่องจากเมื่อทำงานกับชุดค่าคงที่เราสามารถเปลี่ยน (เขียน) ค่าของค่าคงที่ทั้งหมดในชุดได้พร้อม ๆ กัน อันดับแรกเราจำเป็นต้องตั้งค่าใหม่ให้กับค่าคงที่แต่ละตัวก่อน จากนั้นจึงใช้เมธอด Write() เพื่อ บันทึกพร้อมกัน

//ตั้งค่าของค่าคงที่ในชุด (ไม่ใช่ในฐานข้อมูล)
ชุด. ผู้จัดการ = "Ivanov I.I";
ชุดชื่อองค์กร= "นิวฮอร์นส์แอนด์ฮูฟส์ LLC";
ตั้งค่า AddressOrganization= "รัสเซีย, มอสโก, เครมลิน";
ชุด. เขียน(); //เขียนค่าคงที่สามค่าลงในฐานข้อมูลพร้อมกัน

4. การเปรียบเทียบกับค่าคงที่ในแบบสอบถาม

บางครั้งเราอาจจำเป็นต้องเปรียบเทียบข้อมูลกับค่าคงที่ในแบบสอบถาม ในตัวอย่างนี้ เราเลือกบันทึกจากไดเร็กทอรี Reminders ซึ่งมีค่าของแอตทริบิวต์ Code เท่ากับค่าของค่าคงที่ OurNumber ของเรา เราจะดูรายละเอียดเพิ่มเติมเกี่ยวกับภาษาคิวรี 1C ในเอกสารต่อไปนี้เกี่ยวกับภาษา 1C ในตัว

"เลือก
- คุณค่าของเรา
- คำเตือนรหัส
|จาก
- คงที่ OurNumber AS OurNumber,
- Directory.Reminders วิธีการเตือนความจำ
|ที่ไหน
- Reminders.Code = OurNumber.Value"

ความคิดเห็น

    //ตอนนี้ใช้เมธอด Get() เราสามารถอ่านค่าคงที่ของเซตของเราได้

    ตั้งค่าอ่าน(); //อ่านค่าคงที่สามค่าจากฐานข้อมูลพร้อมกัน

    ฉันสงสัยว่ามีการพิมพ์ผิดที่นี่หรือไม่? ดูเหมือนว่าเรากำลังพูดถึงวิธีการรับ().

วัตถุประสงค์ การสร้าง ประเภทของค่านิยมที่เป็นไปได้
- วิธีที่เป็นไปได้ในการตั้งค่าและรับค่าคงที่ระหว่างการทำงานของระบบ

วัตถุประสงค์ การสร้าง ประเภทของค่านิยมที่เป็นไปได้

ข้อความอ้างอิงจากหนังสือ “การกำหนดค่าและการดูแลระบบ” ของแพ็คเกจ 1C:Enterprise:
ในระบบ 1C:Enterprise ค่าคงที่มีวัตถุประสงค์เพื่อจัดเก็บข้อมูลถาวรหรือกึ่งถาวร ข้อมูลดังกล่าวจะไม่เปลี่ยนแปลงเลยในระหว่างการดำเนินกิจการขององค์กรหรือมีการเปลี่ยนแปลงค่อนข้างน้อย ตัวอย่างที่ง่ายที่สุดของข้อมูลดังกล่าวคือชื่อขององค์กรซึ่งตามกฎแล้วจะไม่เปลี่ยนแปลง

การตีความการใช้ค่าคงที่นี้ค่อนข้างแคบ การตีความค่าคงที่ดังต่อไปนี้จะถูกต้องมากกว่า:

“ค่าคงที่คือตัวแปรระดับซูเปอร์โกลบอลซึ่งค่าจะถูกบันทึกไว้ระหว่างเซสชันการทำงานกับระบบและจะเหมือนกันสำหรับผู้ใช้ทุกคนของระบบ”

ค่าคงที่ใช้เพื่อสร้างการกำหนดค่าสากลที่สามารถปรับใช้ได้อย่างง่ายดายในหลายองค์กร ค่าคงที่เก็บค่าที่สามารถนำไปใช้ในส่วนต่างๆ ของระบบ คำพูดจากหนังสือ "การกำหนดค่าและการบริหาร":

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

ค่าคงที่สามารถรับประเภทค่าพื้นฐานได้:

สตริง (ค่าคงที่ไม่สามารถเป็นประเภท "สตริงที่มีความยาวไม่จำกัด");
ตัวเลข;
วันที่;

นอกจากนี้ ค่าคงที่สามารถใช้เป็นออบเจ็กต์ค่าของออบเจ็กต์ข้อมูลเมตาที่กำหนดประเภทได้:

ไดเรกทอรี;
เอกสาร;
การแจงนับ;
ตรวจสอบ;
"ผังบัญชี";
"ประเภทของคอนโตย่อย";
“ประเภทการคำนวณ”;
"ปฏิทิน".
ค่าคงที่อาจมีประเภท "ไม่ได้กำหนด" ก็ได้ ในกรณีนี้ ประเภทของค่าจะถูกกำหนดโดยทางโปรแกรมเมื่อตั้งค่าคงที่

ค่าคงที่ถูกกำหนดไว้ใน "Configurator" ในหน้าต่าง "Configuration" ในสาขา "Constants"

วิธีที่เป็นไปได้ในการตั้งค่าและรับค่าคงที่ระหว่างการทำงานของระบบ
วิธีมาตรฐาน (มาตรฐาน) ในการกรอกหรือดูค่าคงที่คือการใช้หน้าต่าง "รายการค่าคงที่" ซึ่งสามารถเปิดได้ผ่านเมนู "การดำเนินการ" - "ค่าคงที่" (รายการเมนูสำหรับการเรียกรายการค่าคงที่สามารถกำหนดใหม่ได้ เมื่อแก้ไขอินเทอร์เฟซการกำหนดค่า)

คุณสามารถทำงานกับค่าคงที่ทางโปรแกรมได้ด้วยวิธีต่อไปนี้ รับค่าคงที่:

ตัวแปร = ค่าคงที่ชื่อคงที่;

การตั้งค่าคงที่:

Constant.ConstantName = ค่าคงที่;