![]() |
|
Как перенести границы последовательности без перепроведения? | ☑ | ||
---|---|---|---|---|
0
Тенепопятам
20.04.21
✎
10:14
|
Нужно перенести границы без перепроведения документов. Для этого, насколько я понял, есть метод УстановитьГраницу(). Проблема в том, что я не могу понять, как применить этот метод к конкретной последовательности. Помогите разобраться.
|
|||
1
Beduin
20.04.21
✎
10:17
|
В типовых там по кнопке в закрытии можно сделать.
|
|||
2
Обработка
20.04.21
✎
10:18
|
(0) Дарю.
Процедура КнопкаВыполнитьНажатие(Кнопка) Последовательности.ПартионныйУчет.УстановитьГраницу(ДатаПоследовательности); КонецПроцедуры |
|||
3
mikecool
20.04.21
✎
10:26
|
(2) а чего не на документ? или на убоже, что нам не гоже? ))
|
|||
4
Serg_1960
20.04.21
✎
10:45
|
Всё просто. Азбука: границу последовательности, имхо, надо устанавливать на момент времени документа, входящего в последовательность. Кроме того, ещё нужно учесть наличие в последовательности дополнительных измерений (как правило, организация). Примерный пример :)
НужнаяПоследовательность.УстановитьГраницу(Новый МоментВремени(НужныйДокумент.Дата), Новый Структура("Организация",НужныйДокумент.Организация)); |
|||
5
Serg_1960
20.04.21
✎
10:51
|
PS: типовая конфигурация - лучший учебник :) Погугли в конфигурации "СдвигГраницыПоследовательности", ".УстановитьГраницу(" - получишь примеры написания алгоритмов.
|
|||
6
Обработка
20.04.21
✎
10:54
|
(3) Согласен не спорю.
|
|||
7
Обработка
20.04.21
✎
11:06
|
Вот с
Процедура КнопкаВыполнитьНажатие(Кнопка) МоментВремениДокумента = Новый МоментВремени(ДокументГаницы.Дата, ДокументГаницы.Ссылка); Последовательности.ПартионныйУчет.УстановитьГраницу(МоментВремениДокумента); КонецПроцедуры |
|||
8
Serg_1960
20.04.21
✎
12:10
|
Про измерения не забудь :) Я помню какой фурор произвели методисты 1С добавив в последовательности ПроведенВХронологическойПоследовательности :(
|
|||
9
Тенепопятам
20.04.21
✎
12:16
|
Спасибо. В общем так и делал. Измерений у меня в УТ нет. Дело в том, что запрос к границам последовательности выдает таблицу, в которой несколько одинаковых записей с одним документом и несколько с другим. Причем граница стоит на одном из этих документов с более ранней датой. Я делал так: УстановитьГраницу(Документ.МоментВремени()), где документ - это документ с более поздней датой из таблицы, но граница при этом не изменялась. Соответственно, мне не понятно - это нормально, что запрос к границам возвращает такой результат? Если да, почему два документа? Это две разные последовательности? Тогда почему только две? Или это какой-то глюк и надо менять границу через скуль?
|
|||
10
Serg_1960
20.04.21
✎
12:41
|
Если мне память не изменяет, то в УТ есть штатный функционал восстановления последовательностей.
PS: иногда штатный функционал не помогает - бывают такие глюки в базе, когда граница словно замерзает и перестаёт двигаться. тогда легче всё удалить и вновь заполнить последовательность. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |