mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2024-12-01 02:32:18 +02:00
Периодичность выполнения регламентного задания меньше одной минуты (#916)
* #38 Проверка периодичности выполнения регламентного задания
This commit is contained in:
parent
674e6aeed7
commit
916bac491e
@ -13,6 +13,8 @@
|
||||
|
||||
#### Метаданные
|
||||
|
||||
- Периодичность выполнения регламентного задания меньше одной минуты
|
||||
|
||||
#### Формы
|
||||
|
||||
#### Код модулей
|
||||
|
@ -1,2 +1,3 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
encoding//src/com/e1c/v8codestyle/md/check/messages_ru.properties=UTF-8
|
||||
encoding/<project>=UTF-8
|
||||
|
@ -17,6 +17,7 @@ Import-Package: com._1c.g5.v8.bm.core;version="[7.0.0,8.0.0)",
|
||||
com._1c.g5.v8.dt.core.platform;version="[10.0.0,11.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.mdclass;version="[8.0.0,9.0.0)",
|
||||
com._1c.g5.v8.dt.metadata.mdclass.util;version="[5.0.0,6.0.0)",
|
||||
com._1c.g5.v8.dt.schedule.model;version="[2.0.0,3.0.0)",
|
||||
com._1c.g5.wiring;version="[2.2.0,3.0.0)",
|
||||
com._1c.g5.wiring.binder;version="[1.1.0,2.0.0)",
|
||||
com.e1c.g5.v8.dt.check;version="[2.0.0,3.0.0)",
|
||||
|
@ -0,0 +1,20 @@
|
||||
# Периодичность выполнения регламентного задания меньше одной минуты.
|
||||
|
||||
Периодичность выполнения регламентного задания меньше одной минуты.
|
||||
|
||||
## Неправильно
|
||||
|
||||
## Правильно
|
||||
|
||||
- регламентное задание не должно выполняться чаще, чем это нужно с прикладной точки зрения;
|
||||
- с точки зрения оптимальной загрузки сервера приложений для большинства регламентных заданий нормальным является интервал выполнения заданий в 1 день;
|
||||
- исключения могут составлять случаи, когда критичным является частое выполнение заданий с прикладной точки зрения, например, для поддержания актуальности данных за короткий период;
|
||||
- ни в каких случаях не следует задавать периодичность выполнения регламентных заданий меньше одной минуты;
|
||||
- периодичность выполнения частых (с периодичностью менее одного дня) регламентных заданий должна быть сбалансирована со временем выполнения задания: например, если типичное время выполнения 20 секунд, то периодичность раз в минуту, скорее всего, избыточна;
|
||||
- выполнение ресурсоемких регламентных операций необходимо по возможности переносить на время минимальной загрузки сервера приложений 1С:Предприятие. Например, в нерабочее время или на выходные дни;
|
||||
- несколько различных ресурсоемких регламентных заданий лучше "разносить" по времени, исходя из ожидаемого времени их выполнения.
|
||||
|
||||
## См.
|
||||
|
||||
[Настройка расписания регламентных заданий](https://its.1c.ru/db/v8std#content:402:hdoc)
|
||||
|
@ -0,0 +1,19 @@
|
||||
# The minimum job interval is 1 minute
|
||||
|
||||
The minimum job interval is 1 minute.
|
||||
|
||||
## Noncompliant Code Example
|
||||
|
||||
## Compliant Solution
|
||||
|
||||
- A scheduled job must be executed just frequently enough to properly serve its objectives.
|
||||
- For optimal server performance, the default scheduled job interval is 24 hours.
|
||||
- Some job can be executed more often to keep important data up-to-date.
|
||||
- The minimum job interval is 1 minute.
|
||||
- The interval of a scheduled job has to be reasonably balanced with the job run time. For example, if the run time is 20 seconds, running the job every minute is unreasonably often.
|
||||
- Whenever possible, schedule resource-intensive scheduled jobs during the server low-load hours. For example, during off-hours or off days.
|
||||
- Schedule resource-intensive jobs in sequence. Consider the expected run time to avoid the job overlap.
|
||||
|
||||
## See
|
||||
|
||||
[Configuring scheduled job schedules](https://support.1ci.com/hc/en-us/articles/360011001440-Configuring-scheduled-job-schedules)
|
@ -58,6 +58,10 @@
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.internal.md.ExecutableExtensionFactory:com.e1c.v8codestyle.md.check.MdStandardAttributeSynonymEmpty">
|
||||
</check>
|
||||
<check
|
||||
category="com.e1c.v8codestyle.md"
|
||||
class="com.e1c.v8codestyle.md.check.MdScheduledJobPeriodicityCheck">
|
||||
</check>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
@ -0,0 +1,135 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2022, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
* Manaev Konstantin - issue #38
|
||||
*******************************************************************************/
|
||||
|
||||
package com.e1c.v8codestyle.md.check;
|
||||
|
||||
import static com._1c.g5.v8.dt.schedule.model.SchedulePackage.Literals.DAILY_SCHEDULE;
|
||||
import static com._1c.g5.v8.dt.schedule.model.SchedulePackage.Literals.DAILY_SCHEDULE__REPEAT_PAUSE;
|
||||
import static com._1c.g5.v8.dt.schedule.model.SchedulePackage.Literals.DAILY_SCHEDULE__REPEAT_PERIOD_IN_DAY;
|
||||
import static com._1c.g5.v8.dt.schedule.model.SchedulePackage.Literals.SCHEDULE;
|
||||
import static com._1c.g5.v8.dt.schedule.model.SchedulePackage.Literals.SCHEDULE__DAILY_SCHEDULES;
|
||||
import static com._1c.g5.v8.dt.schedule.model.SchedulePackage.Literals.SCHEDULE__REPEAT_PAUSE;
|
||||
import static com._1c.g5.v8.dt.schedule.model.SchedulePackage.Literals.SCHEDULE__REPEAT_PERIOD_IN_DAY;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.emf.ecore.EStructuralFeature;
|
||||
|
||||
import com._1c.g5.v8.dt.schedule.model.DailySchedule;
|
||||
import com._1c.g5.v8.dt.schedule.model.Schedule;
|
||||
import com.e1c.g5.v8.dt.check.CheckComplexity;
|
||||
import com.e1c.g5.v8.dt.check.ICheckParameters;
|
||||
import com.e1c.g5.v8.dt.check.components.BasicCheck;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueSeverity;
|
||||
import com.e1c.g5.v8.dt.check.settings.IssueType;
|
||||
|
||||
/**
|
||||
* Check mdo ScheduledJobs that a periodicity of execution a job is less than one minute
|
||||
*
|
||||
* @author Manaev Konstantin
|
||||
*/
|
||||
public final class MdScheduledJobPeriodicityCheck
|
||||
extends BasicCheck
|
||||
{
|
||||
|
||||
private static final String CHECK_ID = "shceduled-job-periodicity-too-short"; //$NON-NLS-1$
|
||||
private static final String MINIMUM_JOB_INTERVAL = "minimum-job-interval"; //$NON-NLS-1$
|
||||
private static final String MINIMUM_JOB_INTERVAL_DEFAULT = "60"; //$NON-NLS-1$
|
||||
|
||||
public MdScheduledJobPeriodicityCheck()
|
||||
{
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCheckId()
|
||||
{
|
||||
return CHECK_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void check(Object object, ResultAcceptor resultAceptor, ICheckParameters parameters,
|
||||
IProgressMonitor monitor)
|
||||
{
|
||||
if (monitor.isCanceled() || !(object instanceof DailySchedule || object instanceof Schedule))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
EStructuralFeature feature = null;
|
||||
int repeatPeriod = 0;
|
||||
int repeatPause = 0;
|
||||
int minJobInterval = parameters.getInt(MINIMUM_JOB_INTERVAL);
|
||||
|
||||
if (object instanceof Schedule)
|
||||
{
|
||||
if (!(((Schedule)object).getDailySchedules().isEmpty()))
|
||||
{
|
||||
return;
|
||||
}
|
||||
repeatPeriod = ((Schedule)object).getRepeatPeriodInDay();
|
||||
repeatPause = ((Schedule)object).getRepeatPause();
|
||||
if (repeatPeriod > 0 && repeatPeriod < minJobInterval)
|
||||
{
|
||||
feature = SCHEDULE__REPEAT_PERIOD_IN_DAY;
|
||||
}
|
||||
else
|
||||
{
|
||||
feature = SCHEDULE__REPEAT_PAUSE;
|
||||
}
|
||||
}
|
||||
else if (object instanceof DailySchedule)
|
||||
{
|
||||
repeatPeriod = ((DailySchedule)object).getRepeatPeriodInDay();
|
||||
repeatPause = ((DailySchedule)object).getRepeatPause();
|
||||
if (repeatPeriod > 0 && repeatPeriod < minJobInterval)
|
||||
{
|
||||
feature = DAILY_SCHEDULE__REPEAT_PERIOD_IN_DAY;
|
||||
}
|
||||
else
|
||||
{
|
||||
feature = DAILY_SCHEDULE__REPEAT_PAUSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (repeatPeriod > 0 && repeatPeriod < minJobInterval || repeatPause > 0 && repeatPause < minJobInterval)
|
||||
{
|
||||
resultAceptor.addIssue(MessageFormat.format(
|
||||
Messages.MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute, minJobInterval),
|
||||
feature);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configureCheck(CheckConfigurer builder)
|
||||
{
|
||||
builder.title(MessageFormat.format(Messages.MdScheduledJobPeriodicityCheck_title, MINIMUM_JOB_INTERVAL_DEFAULT))
|
||||
.description(
|
||||
MessageFormat.format(Messages.MdScheduledJobPeriodicityCheck_description, MINIMUM_JOB_INTERVAL_DEFAULT))
|
||||
.complexity(CheckComplexity.NORMAL)
|
||||
.severity(IssueSeverity.MAJOR)
|
||||
.issueType(IssueType.PERFORMANCE)
|
||||
.topObject(SCHEDULE)
|
||||
.checkTop()
|
||||
.containment(DAILY_SCHEDULE)
|
||||
.features(DAILY_SCHEDULE__REPEAT_PERIOD_IN_DAY, DAILY_SCHEDULE__REPEAT_PAUSE)
|
||||
.parameter(MINIMUM_JOB_INTERVAL, Integer.class, MINIMUM_JOB_INTERVAL_DEFAULT,
|
||||
Messages.MdScheduledJobPeriodicityCheck_Minimum_job_interval_description);
|
||||
builder.topObject(SCHEDULE)
|
||||
.checkTop()
|
||||
.features(SCHEDULE__DAILY_SCHEDULES, SCHEDULE__REPEAT_PERIOD_IN_DAY, SCHEDULE__REPEAT_PAUSE);
|
||||
}
|
||||
|
||||
}
|
@ -55,6 +55,10 @@ final class Messages
|
||||
public static String MdScheduledJobDescriptionCheck_title;
|
||||
public static String MdScheduledJobDescriptionCheck_description;
|
||||
public static String MdScheduledJobDescriptionCheck_message;
|
||||
public static String MdScheduledJobPeriodicityCheck_description;
|
||||
public static String MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute;
|
||||
public static String MdScheduledJobPeriodicityCheck_title;
|
||||
public static String MdScheduledJobPeriodicityCheck_Minimum_job_interval_description;
|
||||
static
|
||||
{
|
||||
// initialize resource bundle
|
||||
|
@ -58,3 +58,11 @@ MdScheduledJobDescriptionCheck_description = The description of the predefine sh
|
||||
MdScheduledJobDescriptionCheck_message = The description of the predefine sheduled job is set
|
||||
|
||||
MdScheduledJobDescriptionCheck_title = The description of the predefine sheduled job is set
|
||||
|
||||
MdScheduledJobPeriodicityCheck_Minimum_job_interval_description = Minimum job interval
|
||||
|
||||
MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute = The minimum job interval is less then {0}s
|
||||
|
||||
MdScheduledJobPeriodicityCheck_description = The minimum job interval is less then {0}s
|
||||
|
||||
MdScheduledJobPeriodicityCheck_title = The minimum job interval is less then {0}s
|
||||
|
@ -59,3 +59,11 @@ MdScheduledJobDescriptionCheck_description = Задано наименовани
|
||||
MdScheduledJobDescriptionCheck_message = Задано наименование предопределенного регламентного задания
|
||||
|
||||
MdScheduledJobDescriptionCheck_title = Задано наименование предопределенного регламентного задания
|
||||
|
||||
MdScheduledJobPeriodicityCheck_The_minimum_job_interval_is_less_then_minute = Периодичность выполнения регламентного задания меньше {0}сек
|
||||
|
||||
MdScheduledJobPeriodicityCheck_description = Периодичность выполнения регламентного задания меньше {0}сек
|
||||
|
||||
MdScheduledJobPeriodicityCheck_title = Периодичность выполнения регламентного задания меньше {0}сек
|
||||
|
||||
MdScheduledJobPeriodicityCheck_Minimum_job_interval_description = Минимальный интервал выполнения
|
||||
|
@ -0,0 +1,157 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (C) 2022, 1C-Soft LLC and others.
|
||||
*
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* 1C-Soft LLC - initial API and implementation
|
||||
* Manaev Konstantin - issue #38
|
||||
*******************************************************************************/
|
||||
|
||||
package com.e1c.v8codestyle.md.check.itests;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
import org.eclipse.emf.common.util.EList;
|
||||
import org.junit.Test;
|
||||
|
||||
import com._1c.g5.v8.bm.core.IBmObject;
|
||||
import com._1c.g5.v8.dt.core.platform.IDtProject;
|
||||
import com._1c.g5.v8.dt.schedule.model.DailySchedule;
|
||||
import com._1c.g5.v8.dt.schedule.model.Schedule;
|
||||
import com._1c.g5.v8.dt.validation.marker.Marker;
|
||||
import com.e1c.g5.v8.dt.testing.check.CheckTestBase;
|
||||
import com.e1c.v8codestyle.md.check.MdScheduledJobPeriodicityCheck;
|
||||
|
||||
/**
|
||||
* Tests for {@link MdScheduledJobPeriodicityCheck} check.
|
||||
*
|
||||
* @author Manaev Konstantin
|
||||
*
|
||||
*/
|
||||
public final class MdScheduledJobPeriodicityCheckTest
|
||||
extends CheckTestBase
|
||||
{
|
||||
private static final String CHECK_ID = "shceduled-job-periodicity-too-short"; //$NON-NLS-1$
|
||||
|
||||
private static final String PROJECT_NAME = "MdScheduledJobPeriodicity";
|
||||
|
||||
/**
|
||||
* Test that md scheduled job detailed repeat period less than one minute.
|
||||
*
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Test
|
||||
public void testMdScheduledJobDetailedRepeatPeriodLessOneMinute() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
IBmObject object =
|
||||
getTopObjectByFqn("ScheduledJob.ScheduledJobWithDetailedRepeatPeriodLessOneMinute.Schedule", dtProject);
|
||||
if (object instanceof Schedule)
|
||||
{
|
||||
Marker marker = null;
|
||||
EList<DailySchedule> dailySchedules = ((Schedule)object).getDailySchedules();
|
||||
for (DailySchedule dailySchedule : dailySchedules)
|
||||
{
|
||||
marker = getFirstMarker(CHECK_ID, ((IBmObject)dailySchedule).bmGetId(), dtProject);
|
||||
assertNotNull(marker);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that md scheduled job detailed repeat period more than one minute ignores.
|
||||
*
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Test
|
||||
public void testMdScheduledJobDetailedRepeatPeriodMoreOneMinute() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
IBmObject object =
|
||||
getTopObjectByFqn("ScheduledJob.ScheduledJobWithDetailedRepeatPeriodMoreOneMinute.Schedule", dtProject);
|
||||
if (object instanceof Schedule)
|
||||
{
|
||||
Marker marker = null;
|
||||
EList<DailySchedule> dailySchedules = ((Schedule)object).getDailySchedules();
|
||||
for (DailySchedule dailySchedule : dailySchedules)
|
||||
{
|
||||
marker = getFirstMarker(CHECK_ID, ((IBmObject)dailySchedule).bmGetId(), dtProject);
|
||||
assertNull(marker);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that md scheduled job with empty schedule ignores.
|
||||
*
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Test
|
||||
public void testMdScheduledJobEmptySchedule() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
long id = getTopObjectIdByFqn("ScheduledJob.ScheduledJobWithEmptySchedule.Schedule", dtProject);
|
||||
Marker marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||
assertNull(marker);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that md scheduled job repeat pause less than one minute.
|
||||
*
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Test
|
||||
public void testMdScheduledJobRepeatPauseLessOneMinute() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
long id = getTopObjectIdByFqn("ScheduledJob.ScheduledJobWithRepeatPauseLessOneMinute.Schedule", dtProject);
|
||||
Marker marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||
assertNotNull(marker);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that md scheduled job repeat period less than one minute.
|
||||
*
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Test
|
||||
public void testMdScheduledJobRepeatPeriodLessOneMinute() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
long id = getTopObjectIdByFqn("ScheduledJob.ScheduledJobWithRepeatPeriodLessOneMinute.Schedule", dtProject);
|
||||
Marker marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||
assertNotNull(marker);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that md scheduled job detailed repeat period more than one minute ignores.
|
||||
*
|
||||
* @throws Exception the exception
|
||||
*/
|
||||
@Test
|
||||
public void testMdScheduledJobRepeatPeriodMoreOneMinute() throws Exception
|
||||
{
|
||||
IDtProject dtProject = openProjectAndWaitForValidationFinish(PROJECT_NAME);
|
||||
assertNotNull(dtProject);
|
||||
|
||||
long id = getTopObjectIdByFqn("ScheduledJob.ScheduledJobWithRepeatPeriodMoreOneMinute.Schedule", dtProject);
|
||||
Marker marker = getFirstMarker(CHECK_ID, id, dtProject);
|
||||
assertNull(marker);
|
||||
}
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>MdScheduledJobPeriodicity</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
|
||||
<nature>com._1c.g5.v8.dt.core.V8ConfigurationNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
@ -0,0 +1,2 @@
|
||||
Manifest-Version: 1.0
|
||||
Runtime-Version: 8.3.19
|
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<cmi:CommandInterface xmlns:cmi="http://g5.1c.ru/v8/dt/cmi"/>
|
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="4b43789f-236f-4b7f-ba6b-85ec0d6218ab">
|
||||
<name>MdScheduledJobPeriodicity</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Md scheduled job periodicity</value>
|
||||
</synonym>
|
||||
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="5d986340-f233-4b6b-893f-b8e1f2fd94ed"/>
|
||||
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="ff83617f-705a-4ee0-aa03-c1139edd784e"/>
|
||||
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="b712dc71-537e-40fb-a481-c0ae93e74cb2"/>
|
||||
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="3a3b194d-6f5a-47df-a276-ad8f222013d1"/>
|
||||
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="9fd2b563-4eb7-4a1b-b58e-e474114478ec"/>
|
||||
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="954491e6-4f23-49e1-825e-41ce2f3fd315"/>
|
||||
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="cfa483a7-95d6-478f-bf8f-6e9a928d8d2c"/>
|
||||
<configurationExtensionCompatibilityMode>8.3.19</configurationExtensionCompatibilityMode>
|
||||
<defaultRunMode>ManagedApplication</defaultRunMode>
|
||||
<usePurposes>PersonalComputer</usePurposes>
|
||||
<usedMobileApplicationFunctionalities>
|
||||
<functionality>
|
||||
<use>true</use>
|
||||
</functionality>
|
||||
<functionality>
|
||||
<functionality>OSBackup</functionality>
|
||||
<use>true</use>
|
||||
</functionality>
|
||||
</usedMobileApplicationFunctionalities>
|
||||
<defaultLanguage>Language.English</defaultLanguage>
|
||||
<dataLockControlMode>Managed</dataLockControlMode>
|
||||
<objectAutonumerationMode>NotAutoFree</objectAutonumerationMode>
|
||||
<modalityUseMode>DontUse</modalityUseMode>
|
||||
<synchronousPlatformExtensionAndAddInCallUseMode>DontUse</synchronousPlatformExtensionAndAddInCallUseMode>
|
||||
<compatibilityMode>8.3.19</compatibilityMode>
|
||||
<languages uuid="d9545c84-c0e1-4756-b4cb-d3639545a6ea">
|
||||
<name>English</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>English</value>
|
||||
</synonym>
|
||||
<languageCode>en</languageCode>
|
||||
</languages>
|
||||
<scheduledJobs>ScheduledJob.ScheduledJobWithDetailedRepeatPeriodLessOneMinute</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.ScheduledJobWithDetailedRepeatPeriodMoreOneMinute</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.ScheduledJobWithEmptySchedule</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.ScheduledJobWithRepeatPauseLessOneMinute</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.ScheduledJobWithRepeatPeriodLessOneMinute</scheduledJobs>
|
||||
<scheduledJobs>ScheduledJob.ScheduledJobWithRepeatPeriodMoreOneMinute</scheduledJobs>
|
||||
</mdclass:Configuration>
|
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<cmi:CommandInterface xmlns:cmi="http://g5.1c.ru/v8/dt/cmi"/>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schedule:Schedule xmlns:schedule="http://g5.1c.ru/v8/dt/schedule" beginDate="0001-01-01" endDate="0001-01-01" beginTime="00:00:00" endTime="00:00:00" completionTime="00:00:00" repeatPeriodInDay="67" weeksPeriod="1">
|
||||
<weekDays>Sun</weekDays>
|
||||
<weekDays>Mon</weekDays>
|
||||
<weekDays>Tue</weekDays>
|
||||
<weekDays>Wed</weekDays>
|
||||
<weekDays>Thu</weekDays>
|
||||
<weekDays>Fri</weekDays>
|
||||
<weekDays>Sat</weekDays>
|
||||
<months>Jan</months>
|
||||
<months>Feb</months>
|
||||
<months>Mar</months>
|
||||
<months>Apr</months>
|
||||
<months>May</months>
|
||||
<months>Jun</months>
|
||||
<months>Jul</months>
|
||||
<months>Aug</months>
|
||||
<months>Sep</months>
|
||||
<months>Oct</months>
|
||||
<months>Nov</months>
|
||||
<months>Dec</months>
|
||||
<dailySchedules beginTime="00:00:00" endTime="00:00:00" completionTime="00:00:00" repeatPeriodInDay="30"/>
|
||||
</schedule:Schedule>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:ScheduledJob xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f821431e-49f7-49c5-80c1-bd02a8dafe94">
|
||||
<name>ScheduledJobWithDetailedRepeatPeriodLessOneMinute</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Scheduled job with detailed repeat period less one minute</value>
|
||||
</synonym>
|
||||
<use>true</use>
|
||||
<restartCountOnFailure>3</restartCountOnFailure>
|
||||
<restartIntervalOnFailure>10</restartIntervalOnFailure>
|
||||
</mdclass:ScheduledJob>
|
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schedule:Schedule xmlns:schedule="http://g5.1c.ru/v8/dt/schedule" beginDate="0001-01-01" endDate="0001-01-01" beginTime="00:00:00" endTime="00:00:00" completionTime="00:00:00" repeatPeriodInDay="65" weeksPeriod="1">
|
||||
<weekDays>Sun</weekDays>
|
||||
<weekDays>Mon</weekDays>
|
||||
<weekDays>Tue</weekDays>
|
||||
<weekDays>Wed</weekDays>
|
||||
<weekDays>Thu</weekDays>
|
||||
<weekDays>Fri</weekDays>
|
||||
<weekDays>Sat</weekDays>
|
||||
<months>Jan</months>
|
||||
<months>Feb</months>
|
||||
<months>Mar</months>
|
||||
<months>Apr</months>
|
||||
<months>May</months>
|
||||
<months>Jun</months>
|
||||
<months>Jul</months>
|
||||
<months>Aug</months>
|
||||
<months>Sep</months>
|
||||
<months>Oct</months>
|
||||
<months>Nov</months>
|
||||
<months>Dec</months>
|
||||
<dailySchedules beginTime="00:00:00" endTime="00:00:00" completionTime="00:00:00" repeatPeriodInDay="65"/>
|
||||
</schedule:Schedule>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:ScheduledJob xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="bdaaf5e0-21c6-4259-a2c1-1c4460ac16b9">
|
||||
<name>ScheduledJobWithDetailedRepeatPeriodMoreOneMinute</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Scheduled job with detailed repeat period more one minute</value>
|
||||
</synonym>
|
||||
<use>true</use>
|
||||
<restartCountOnFailure>3</restartCountOnFailure>
|
||||
<restartIntervalOnFailure>10</restartIntervalOnFailure>
|
||||
</mdclass:ScheduledJob>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schedule:Schedule xmlns:schedule="http://g5.1c.ru/v8/dt/schedule" beginDate="0001-01-01" endDate="0001-01-01" beginTime="00:00:00" endTime="00:00:00" completionTime="00:00:00" weeksPeriod="1">
|
||||
<weekDays>Sun</weekDays>
|
||||
<weekDays>Mon</weekDays>
|
||||
<weekDays>Tue</weekDays>
|
||||
<weekDays>Wed</weekDays>
|
||||
<weekDays>Thu</weekDays>
|
||||
<weekDays>Fri</weekDays>
|
||||
<weekDays>Sat</weekDays>
|
||||
<months>Jan</months>
|
||||
<months>Feb</months>
|
||||
<months>Mar</months>
|
||||
<months>Apr</months>
|
||||
<months>May</months>
|
||||
<months>Jun</months>
|
||||
<months>Jul</months>
|
||||
<months>Aug</months>
|
||||
<months>Sep</months>
|
||||
<months>Oct</months>
|
||||
<months>Nov</months>
|
||||
<months>Dec</months>
|
||||
</schedule:Schedule>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:ScheduledJob xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5fc4b3f8-db53-4415-9e4d-8aa33fd793d1">
|
||||
<name>ScheduledJobWithEmptySchedule</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Scheduled job with empty schedule</value>
|
||||
</synonym>
|
||||
<use>true</use>
|
||||
<restartCountOnFailure>3</restartCountOnFailure>
|
||||
<restartIntervalOnFailure>10</restartIntervalOnFailure>
|
||||
</mdclass:ScheduledJob>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schedule:Schedule xmlns:schedule="http://g5.1c.ru/v8/dt/schedule" beginDate="0001-01-01" endDate="0001-01-01" beginTime="00:00:00" endTime="00:00:00" completionTime="00:00:00" repeatPause="15" weeksPeriod="1">
|
||||
<weekDays>Sun</weekDays>
|
||||
<weekDays>Mon</weekDays>
|
||||
<weekDays>Tue</weekDays>
|
||||
<weekDays>Wed</weekDays>
|
||||
<weekDays>Thu</weekDays>
|
||||
<weekDays>Fri</weekDays>
|
||||
<weekDays>Sat</weekDays>
|
||||
<months>Jan</months>
|
||||
<months>Feb</months>
|
||||
<months>Mar</months>
|
||||
<months>Apr</months>
|
||||
<months>May</months>
|
||||
<months>Jun</months>
|
||||
<months>Jul</months>
|
||||
<months>Aug</months>
|
||||
<months>Sep</months>
|
||||
<months>Oct</months>
|
||||
<months>Nov</months>
|
||||
<months>Dec</months>
|
||||
</schedule:Schedule>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:ScheduledJob xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6172151d-da31-4954-a019-901f8a66ce60">
|
||||
<name>ScheduledJobWithRepeatPauseLessOneMinute</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Scheduled job with repeat pause less one minute</value>
|
||||
</synonym>
|
||||
<use>true</use>
|
||||
<restartCountOnFailure>3</restartCountOnFailure>
|
||||
<restartIntervalOnFailure>10</restartIntervalOnFailure>
|
||||
</mdclass:ScheduledJob>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schedule:Schedule xmlns:schedule="http://g5.1c.ru/v8/dt/schedule" beginDate="0001-01-01" endDate="0001-01-01" beginTime="00:00:00" endTime="00:00:00" completionTime="00:00:00" repeatPeriodInDay="25" weeksPeriod="1">
|
||||
<weekDays>Sun</weekDays>
|
||||
<weekDays>Mon</weekDays>
|
||||
<weekDays>Tue</weekDays>
|
||||
<weekDays>Wed</weekDays>
|
||||
<weekDays>Thu</weekDays>
|
||||
<weekDays>Fri</weekDays>
|
||||
<weekDays>Sat</weekDays>
|
||||
<months>Jan</months>
|
||||
<months>Feb</months>
|
||||
<months>Mar</months>
|
||||
<months>Apr</months>
|
||||
<months>May</months>
|
||||
<months>Jun</months>
|
||||
<months>Jul</months>
|
||||
<months>Aug</months>
|
||||
<months>Sep</months>
|
||||
<months>Oct</months>
|
||||
<months>Nov</months>
|
||||
<months>Dec</months>
|
||||
</schedule:Schedule>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:ScheduledJob xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b791416d-cf9b-4dbc-8886-4916d6577602">
|
||||
<name>ScheduledJobWithRepeatPeriodLessOneMinute</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Scheduled job with repeat period less one minute</value>
|
||||
</synonym>
|
||||
<use>true</use>
|
||||
<restartCountOnFailure>3</restartCountOnFailure>
|
||||
<restartIntervalOnFailure>10</restartIntervalOnFailure>
|
||||
</mdclass:ScheduledJob>
|
@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<schedule:Schedule xmlns:schedule="http://g5.1c.ru/v8/dt/schedule" beginDate="0001-01-01" endDate="0001-01-01" beginTime="00:00:00" endTime="00:00:00" completionTime="00:00:00" repeatPeriodInDay="80" weeksPeriod="1">
|
||||
<weekDays>Sun</weekDays>
|
||||
<weekDays>Mon</weekDays>
|
||||
<weekDays>Tue</weekDays>
|
||||
<weekDays>Wed</weekDays>
|
||||
<weekDays>Thu</weekDays>
|
||||
<weekDays>Fri</weekDays>
|
||||
<weekDays>Sat</weekDays>
|
||||
<months>Jan</months>
|
||||
<months>Feb</months>
|
||||
<months>Mar</months>
|
||||
<months>Apr</months>
|
||||
<months>May</months>
|
||||
<months>Jun</months>
|
||||
<months>Jul</months>
|
||||
<months>Aug</months>
|
||||
<months>Sep</months>
|
||||
<months>Oct</months>
|
||||
<months>Nov</months>
|
||||
<months>Dec</months>
|
||||
</schedule:Schedule>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:ScheduledJob xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d3b45cdb-424e-4fbe-ad01-f075015b9d2e">
|
||||
<name>ScheduledJobWithRepeatPeriodMoreOneMinute</name>
|
||||
<synonym>
|
||||
<key>en</key>
|
||||
<value>Scheduled job with repeat period more one minute</value>
|
||||
</synonym>
|
||||
<use>true</use>
|
||||
<restartCountOnFailure>3</restartCountOnFailure>
|
||||
<restartIntervalOnFailure>10</restartIntervalOnFailure>
|
||||
</mdclass:ScheduledJob>
|
Loading…
Reference in New Issue
Block a user