Границы последовательности в регистрах сведений
// Получение границы последовательности
Процедура ПолучитьГраницу()
ТаблицаГраниц = РегистрыСведений.ГраницыПоследовательности.СоздатьНаборЗаписей();
ТаблицаГраниц.Отбор.КодПоследовательности = «Основной»;
ТаблицаГраниц.Прочитать();
Граница = ТаблицаГраниц.ПолучитьГраницуПоследовательности();
Сообщить(Граница.КодПоследовательности + » » + Граница.НомерГраницы);
КонецПроцедуры
Обновление границы последовательности
// Обновление значения границы
Процедура ОбновитьГраницу()
ГраницаПоследовательности = РегистрыСведений.ГраницыПоследовательности.Создать();
ГраницаПоследовательности.КодПоследовательности = «Основной»;
ГраницаПоследовательности.НомерГраницы = 100;
ГраницаПоследовательности.Записать();
КонецПроцедуры
Использование границ последовательности в запросах
// Запрос с использованием границы
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ | РегистрыСведений.ГраницыПоследовательности.КодПоследовательности, | РегистрыСведений.ГраницыПоследовательности.НомерГраницы |ИЗ | РегистрСведений.ГраницыПоследовательности КАК ГраницыПоследовательности |ГДЕ | ГраницыПоследовательности.КодПоследовательности = &КодПоследовательности»;
Запрос.УстановитьПараметр(«КодПоследовательности», «Основной»);
РезультатЗапроса = Запрос.Выполнить();
Граница = РезультатЗапроса.ПолучитьСтроку();
Сообщить(Граница.КодПоследовательности + » » + Граница.НомерГраницы);
Создание новой границы последовательности
// Создание новой границы
Процедура СоздатьГраницу()
Граница = РегистрыСведений.ГраницыПоследовательности.Создать();
Граница.КодПоследовательности = «НовыйКод»;
Граница.НомерГраницы = 1;
Граница.СоздатьСвязь();
Граница.Записать();
КонецПроцедуры
Запрос с проверкой границ последовательности
// Запрос с проверкой границ
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ | Товары.Ссылка, | ТоварыНаСкладах.Количество |ИЗ | РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах |ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.ГраницыПоследовательности КАК Границы |ПО | ТоварыНаСкладах.Номенклатура = Товары.Ссылка И | Границы.КодПоследовательности = ‘Основной’ |ГДЕ | Границы.НомерГраницы >= 10 И Границы.НомерГраницы <= 20″;
РезультатЗапроса = Запрос.Выполнить();
Для Каждого Строка Из РезультатЗапроса Цикл
Сообщить(Строка.Ссылка + » » + Строка.Количество);
КонецЦикла;
Сортировка записей по границам последовательности
// Сортировка по границам
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ | ТоварыНаСкладах.Номенклатура, | ТоварыНаСкладах.Количество |ИЗ | РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах |ГДЕ | ТоварыНаСкладах.Период >= &ДатаОт И ТоварыНаСкладах.Период <= &ДатаДо |УПОРЯДОЧИТЬ ПО | РегистрыСведений.ГраницыПоследовательности.НомерГраницы УБЫВ»;
Запрос.УстановитьПараметр(«ДатаОт», Дата(2023, 1, 1));
Запрос.УстановитьПараметр(«ДатаДо», ТекущаяДата());
РезультатЗапроса = Запрос.Выполнить();
Для Каждого Строка Из РезультатЗапроса Цикл
Сообщить(Строка.Номенклатура + » » + Строка.Количество);
КонецЦикла;








