Пересечение периодов регистров сведений
// Проверка пересечения периодов регистров сведений
Процедура ПроверитьПересечениеРегистровСведений()
Период1 = Новый Период(ДатаНачала = Дата(2023, 1, 1), ДатаОкончания = Дата(2023, 1, 31));
Период2 = Новый Период(ДатаНачала = Дата(2023, 2, 1), ДатаОкончания = Дата(2023, 2, 28));
Если Период1 Пересекается(Период2) Тогда
Сообщить(«Периоды пересекаются»);
КонецЕсли;
КонецПроцедуры
Проверка вхождения периода регистра сведений
// Проверка вхождения периода регистра сведений
Процедура ПроверитьВхождениеРегистраСведений()
ПериодРегистра = РегистрыСведений.РеализацияТоваров.СамыйРаннийПериод();
Если Дата(2023, 1, 15) В Период(ПериодРегистра) Тогда
Сообщить(«Дата в периоде регистра»);
КонецЕсли;
КонецПроцедуры
Проверка пересечения периодов регистров накопления
// Проверка пересечения периодов регистров накопления
Процедура ПересечениеРегистровНакопления()
Регистратор = Регистраторы.РегистраторТоваровНаСкладах;
Период1 = Регистратор.ПериодРегистрации(Дата(2023, 1, 1));
Период2 = Регистратор.ПериодРегистрации(Дата(2023, 2, 1));
Если Период1 Пересекается(Период2) Тогда
Сообщить(«Периоды пересекаются»);
КонецЕсли;
КонецПроцедуры
Проверка вхождения периода регистра накопления
// Проверка вхождения периода регистра накопления
Процедура ПроверитьВхождениеРегистраНакопления()
Регистратор = Регистраторы.РегистраторТоваровНаСкладах;
ПериодРегистра = Регистратор.ПериодРегистрации(Дата(2023, 1, 15));
Если Дата(2023, 1, 15) В Период(ПериодРегистра) Тогда
Сообщить(«Дата в периоде регистра»);
КонецЕсли;
КонецПроцедуры
Пакетная проверка пересечения периодов регистров сведений
// Пакетная проверка пересечения периодов регистров сведений
Процедура ПроверитьПересечениеРегистровСведенийПакетно()
МассивПериодов = Новый Массив;
МассивПериодов.Добавить(Новый Период(ДатаНачала = Дата(2023, 1, 1), ДатаОкончания = Дата(2023, 1, 31)));
МассивПериодов.Добавить(Новый Период(ДатаНачала = Дата(2023, 2, 1), ДатаОкончания = Дата(2023, 2, 28)));
МассивПериодов.Добавить(Новый Период(ДатаНачала = Дата(2023, 3, 1), ДатаОкончания = Дата(2023, 3, 31)));
Для Каждого Период Из МассивПериодов Цикл
Для Каждого СледующийПериод Из МассивПериодов Цикл
Если Период Пересекается(СледующийПериод) Тогда
Сообщить(«Периоды пересекаются»);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Пакетная проверка вхождения периода регистра сведений
// Пакетная проверка вхождения периода регистра сведений
Процедура ПроверитьВхождениеРегистраСведенийПакетно()
МассивПериодовРегистра = РегистрыСведений.РеализацияТоваров.СамыеРанниеПериоды();
МассивДат = Новый Массив;
МассивДат.Добавить(Дата(2023, 1, 15));
МассивДат.Добавить(Дата(2023, 2, 15));
МассивДат.Добавить(Дата(2023, 3, 15));
Для Каждого Дата Из МассивДат Цикл
Для Каждого ПериодРегистра Из МассивПериодовРегистра Цикл
Если Дата В Период(ПериодРегистра) Тогда
Сообщить(«Дата в периоде регистра»);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры








