Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как перенести границы последовательности без перепроведения?

Как перенести границы последовательности без перепроведения?
Я
   Тенепопятам
 
20.04.21 - 10:14
Нужно перенести границы без перепроведения документов. Для этого, насколько я понял, есть метод УстановитьГраницу(). Проблема в том, что я не могу понять, как применить этот метод к конкретной последовательности. Помогите разобраться.
   Beduin
 
1 - 20.04.21 - 10:17
В типовых там по кнопке в закрытии можно сделать.
   Обработка
 
2 - 20.04.21 - 10:18
(0) Дарю.

Процедура КнопкаВыполнитьНажатие(Кнопка)
    Последовательности.ПартионныйУчет.УстановитьГраницу(ДатаПоследовательности);

КонецПроцедуры
   mikecool
 
3 - 20.04.21 - 10:26
(2) а чего не на документ? или на убоже, что нам не гоже? ))
   Serg_1960
 
4 - 20.04.21 - 10:45
Всё просто. Азбука: границу последовательности, имхо, надо устанавливать на момент времени документа, входящего в последовательность. Кроме того, ещё нужно учесть наличие в последовательности  дополнительных измерений (как правило, организация). Примерный пример :)

НужнаяПоследовательность.УстановитьГраницу(Новый МоментВремени(НужныйДокумент.Дата), Новый Структура("Организация",НужныйДокумент.Организация));
   Serg_1960
 
5 - 20.04.21 - 10:51
PS: типовая конфигурация - лучший учебник :) Погугли в конфигурации "СдвигГраницыПоследовательности", ".УстановитьГраницу(" - получишь примеры написания алгоритмов.
   Обработка
 
6 - 20.04.21 - 10:54
(3) Согласен не спорю.
   Обработка
 
7 - 20.04.21 - 11:06
Вот с

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    МоментВремениДокумента = Новый МоментВремени(ДокументГаницы.Дата, ДокументГаницы.Ссылка);
    Последовательности.ПартионныйУчет.УстановитьГраницу(МоментВремениДокумента);

КонецПроцедуры
   Serg_1960
 
8 - 20.04.21 - 12:10
Про измерения не забудь :) Я помню какой фурор произвели методисты 1С добавив в последовательности ПроведенВХронологическойПоследовательности :(
   Тенепопятам
 
9 - 20.04.21 - 12:16
Спасибо. В общем так и делал. Измерений у меня в УТ нет. Дело в том, что запрос к границам последовательности выдает таблицу, в которой несколько одинаковых записей с одним документом и несколько с другим. Причем граница стоит на одном из этих документов с более ранней датой. Я делал так: УстановитьГраницу(Документ.МоментВремени()), где документ - это документ с более поздней датой из таблицы, но граница при этом не изменялась. Соответственно, мне не понятно - это нормально, что запрос к границам возвращает такой результат? Если да, почему два документа? Это две разные последовательности? Тогда почему только две? Или это какой-то глюк и надо менять границу через скуль?
   Serg_1960
 
10 - 20.04.21 - 12:41
Если мне память не изменяет, то в УТ есть штатный функционал восстановления последовательностей.
PS: иногда штатный функционал не помогает - бывают такие глюки в базе, когда граница словно замерзает и перестаёт двигаться. тогда легче всё удалить и вновь заполнить последовательность.

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.