Summary of "ДЭ по ФГОС 09.02.07 для квалификации "Программист" - Модуль 2 и 3 начало"
Summary of the Video
“ДЭ по ФГОС 09.02.07 для квалификации ‘Программист’ - Модуль 2 и 3 начало”
This video is a detailed instructional session focused on developing software modules in the 1C:Enterprise platform, specifically targeting students preparing for a demo exam (ДЭ) under the Russian Federal State Educational Standard (ФГОС) for the qualification “Programmer” (09.02.07). The session covers Modules 2 and 3, with emphasis on module 2 and practical coding tasks. The instructor guides students through tasks related to subsystem creation, user interface styling, data handling, query construction, discount calculation algorithms, and debugging.
Main Ideas and Concepts
-
Overview of Modules 2 and 3
- Module 2 requires more time and focuses on subsystem algorithm development.
- Module 3 is mostly automated by the platform and involves finishing touches.
- The demo exam structure allows partial credit for passing modules at different stages (midterm, final).
-
Subsystem Task: Partner Discounts
- Develop an algorithm to calculate partner-specific discounts based on sales volume.
- The subsystem must have a consistent UI style as per the style guide (Appendix 2).
- Use 1C platform for development; other languages/platforms require manual interface and database integration.
- Interface elements include a main form with company logo, application icon, and page titles.
- Code must follow specified style guidelines (e.g., no multiple commands on one line).
-
User Interface (UI) Styling
- Set up colors, fonts, titles, and logos according to the style guide.
- Use 1C configurator to create forms, add elements like logos (decoration picture), and configure properties.
- Disable unnecessary UI elements (e.g., command panel) for cleaner forms.
- Rename UI elements for clarity and maintainability.
- Apply styles globally via configuration properties.
-
Data Handling and Validation
- Connect the application to a database of partners and sales.
- Enforce mandatory fields (e.g., partner, quantity) with validation to prevent incomplete data saving.
- Use error messages and visual cues (hints) for user-friendly data entry.
- Implement different types of message boxes for user feedback.
-
Accumulation Registers and Sales History
- Create an accumulation register to store sales history (quantities sold per partner).
- Use the register to calculate total sales volume over a period.
- Differentiate between accumulation registers for balances and turnovers.
- Link sales documents to the register to automatically update sales history.
- Use movement constructors in 1C to define how sales data is recorded in registers.
-
Query Console and SQL-like Queries
- Use 1C’s query console to write and execute queries on registers.
- Demonstrate grouping and summing sales quantities by partner.
- Introduce virtual tables in 1C for efficient data aggregation.
- Show how to filter queries by partner and date ranges.
- Explain how to integrate query results into code for further processing.
-
Algorithm for Discount Calculation
- Develop a separate server-side function to calculate discounts based on sales volume thresholds.
- Use conditional statements (if-else) to assign discount percentages:
- Sales < 10,000 → 0%
- Sales 10,000 to 50,000 → 5%
- Sales 50,000 to 300,000 → 10%
- Sales > 300,000 → 15%
- Export the function for server use and call it from sales processing code.
- Update partner records with the calculated discount.
- Emphasize writing comments in code for clarity, especially for non-obvious logic.
-
Debugging and Testing
- Use breakpoints and expression evaluation in 1C to debug queries and code.
- Test sales processing to ensure correct accumulation and discount calculation.
- Encourage iterative development: write small code parts and test frequently.
- Validate discount calculations by testing partners with different sales volumes.
-
Best Practices and Recommendations
- Follow the style guide strictly to avoid losing points in the exam.
- Do not implement printed forms as reports; printed forms should be actual forms.
- Use meaningful names for UI elements and code variables.
- Always handle exceptional cases to prevent application crashes.
- Provide user-friendly messages and hints in the interface.
- Comment code adequately to help examiners and future developers.
-
Technical Notes - Compatibility issues between 1C platform versions (83 vs 85) and how to set compatibility mode. - Using the technical specialist mode in 1C for advanced configuration. - Importance of keeping the database and platform synchronized to avoid crashes. - Differences between 1C and other programming environments (e.g., Visual Studio, SQL Server).
Methodology / Instructions
Setup and Preparation
- Load the latest configuration file shared by the instructor.
- Open 1C Configurator and ensure all resources (logos, icons) are available.
- Set the application name and company name in configuration properties.
UI Styling
- Add a new style in the general tab and configure the color palette (main, additional, navigation, attention).
- Apply the style globally via configuration properties.
- Create a general form for the main window.
- Remove unnecessary UI elements (command panel).
- Add logo as a decoration picture, resize and position it appropriately.
- Set form titles and disable editing on certain fields.
Data Validation
- Mark critical fields (partner, quantity) as mandatory with error on empty.
- Use hints on input fields to guide users (e.g., “Enter partner email”).
- Implement visual cues for active fields.
Accumulation Register
- Create an accumulation register for sales history (turnover).
- Define resources (quantity) and dimensions (partner).
- Link sales document movements to accumulation register entries.
- Use movement constructor to map document fields to register fields.
- Conduct existing sales records to populate the register initially.
Query Construction
- Open the query console and create queries to sum sales quantities grouped by partner.
- Use filters to select specific partners or date ranges.
- Execute queries and analyze results.
- Copy queries into code modules for automated processing.
Discount Calculation Function
- Create a server-side common module for functions.
- Write a function
CalculateDiscountthat takes sales volume as input and returns discount percentage. - Use conditional logic to assign discount tiers.
- Export the function to make it callable from other modules.
- Call this function after sales are recorded to update partner discounts.
Code Integration and Debugging
- Insert comments explaining each code block or non-obvious logic.
- Use breakpoints and expression evaluation to inspect variable values.
- Test the entire flow: creating sales, updating registers, calculating discounts, and updating UI.
- Fix any syntax errors and validate functionality.
Finalization
- Create partner and sales forms with proper accessibility settings.
- Add hints explaining automatic discount calculation.
- Ensure all UI elements are styled and positioned according to the style guide.
- Prepare for exam submission by checking all criteria: code style, comments, UI design, functionality.
Speakers / Sources Featured
-
Primary Speaker: The instructor (unnamed) who guides through the 1C development process, explaining concepts, demonstrating coding, and answering questions.
-
Dmitry: Mentioned as a collaborator who posted configuration files and assists in chat.
-
Maria Evgenievna: Mentioned as a contributor who posted resources like the query console and presentations.
This summary captures the core instructional content, methodology, and technical guidance provided in the video, focusing on the practical development of a partner discount subsystem in 1C for a qualification exam.
Category
Educational