Някои функции за задаване на периода в системата за съставяне на данни 1C
Някои функции за задаване на периода в системата за съставяне на данни 1C
Тази статия обсъжда някои от характеристиките на задаване на периода при използване на системата за съставяне на данни (ACS), проблеми, които възникват поради разликата в концепцията за периода между средния потребител и системата 1C, както и предлага начини за тяхното решаване. Повечето отчети, които се разработват с помощта на системата за съставяне на данни (DCS), изискват от потребителя да въведе период, за който ще бъде генериран отчетът. Като правило, в ACS, въвеждането на периода се организира чрез параметри, като се използва следната конструкция, вижтеФиг.1 Този метод за въвеждане на период се счита за „класически“, той е описан в статия за ITS и друга литература, посветена на разработката в 1C, така че ще го вземем като основа. Като пример, нека разгледаме проста заявка, която получава всички документи за продажбите на стоки и услуги за даден период, вижтеФиг.2 Когато използвате този отчет, потребителят задава периода чрез параметрите, вижтеФиг.3 Всичко изглежда правилно ... НО има малък проблем:
Разбира се, можете да опитате да обясните на потребителя защо отчетът не показва документите, които той очаква да види и как периодът е представен от „гледната точка“ на 1C, но това е неблагодарна задача и погрешно. Добрата програма трябва да бъде преди всичко удобна за потребителя, защото програмата съществува за потребителя, а не обратното, следователно ще трябва да „научите“ 1C да разбира периода, както го разбира потребителят, а именно: 1). PeriodStart и PeriodEnd не са зададени -> всички документи. 2). Зададен е само StartPeriod –> всички документи от PeriodStart 3). Освен това ще проверим дали Краят на периода > = Начало на периода и ако това не е вярно, тогава ще приемем, че Краят на периода не едадено, т.е. 2). Въз основа на горното, изразът за параметъра EndDate ще изглежда така:
Окончателният изглед на нашата конструкция за избор на период е показан нафиг.5