|
Нумерация документов | ☑ | ||
---|---|---|---|---|
0
PiotrLoginov
25.03.16
✎
13:03
|
Всем здрасте.
8.3.7.1917 УТ 11.2.2.100 Последний документ РТУ имеет номер "ПРФК-000100" Выполняю код: Для И = 1 по 3 Цикл РТУ = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); РТУ.Дата = ТекущаяДатаСеанса(); РТУ.УстановитьНовыйНомер("ПРФК-"); КонецЦикла; ОбновитьНумерациюОбъектов(Метаданные.Документы.РеализацияТоваровУслуг); Затем создаю (и записываю) новый документ интерактивно. Документ получает номер "ПРФК-000104". Что сделать, чтобы получил номер "ПРФК-000101"? Уже пробовал выполнять цикл внутри транзакции. Не помогло. |
|||
1
lxs
25.03.16
✎
13:21
|
В рамках одного сеанса такая фишка не прокатит, мне кажется
|
|||
2
lxs
25.03.16
✎
13:22
|
Система резервирует выданные номера для данного сеанса. А команда ОбновитьНумерациюОбъектов() эти именно номера по-моему не трогает.
|
|||
3
PiotrLoginov
25.03.16
✎
13:31
|
Так. Открыл программу. Текущий номер "ПРФК-000100". Выполнил
РТУ = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); РТУ.Дата = ТекущаяДатаСеанса(); РТУ.УстановитьНовыйНомер("ПРФК-"); Закрыл программу. Открыл программу. Выполнил ОбновитьНумерациюОбъектов(Метаданные.Документы.РеализацияТоваровУслуг); Создал новый РТУ. Записал. Получился номер "ПРФК-000102". Ничего не понимаю. |
|||
4
PiotrLoginov
25.03.16
✎
13:37
|
Получается, если, имея последний документ "ПРФК-000100", запросить выдачу нового номера 10 раз, не записывая ничего в реальности в базу, то номер следующего реально записанного документа будет "ПРФК-000111". Т.е. он перепрыгнет через 10 пунктов. И ничего не спасет.
Но вот что интересно. Если удалить этот 111-ый типовыми средствами и создать еще один документ, то этот уже будет с номером "ПРФК-000101". Т.е. нумератор все-таки умеет помечать выданные, но не использованные номера как невалидные. Нужен метод, где б его взять? |
|||
5
PiotrLoginov
25.03.16
✎
14:48
|
вверх
|
|||
6
PiotrLoginov
25.03.16
✎
15:24
|
еще раз вверх
|
|||
7
Звездец
25.03.16
✎
15:28
|
в УТ номер устанавливается при записи объекта. Убери вообще РТУ.УстановитьНовыйНомер("ПРФК-"); и попробуй
|
|||
8
mikecool
25.03.16
✎
15:30
|
8.3 - пропуск нумерации документов - это нормально?
учитывая (7) и все равно |
|||
9
mikecool
25.03.16
✎
15:30
|
+8 возможно это проблема нумератора
|
|||
10
lxs
25.03.16
✎
16:00
|
(9) вот да, если он есть, его надо убрать
|
|||
11
PiotrLoginov
25.03.16
✎
16:15
|
(7) УстановитьНовыйНомер используется для получении текущего номера для того или иного префикса. В этом весь смысл.
|
|||
12
PiotrLoginov
25.03.16
✎
16:19
|
(8) (9) начинаю что-то понимать. Попробую сбрасывать у всех документов, использующих этот нумератор.
(10) Модифицировать конфигурацию не буду |
|||
13
PiotrLoginov
25.03.16
✎
16:57
|
Сбор для всех документов, использующих нумератор не помог:
МассивОбъектовМетаданных = Новый Массив; МассивОбъектовМетаданных.Добавить(Метаданные.Документы.РеализацияТоваровУслуг); МассивОбъектовМетаданных.Добавить(Метаданные.Документы.ВыкупВозвратнойТарыКлиентом); МассивОбъектовМетаданных.Добавить(Метаданные.Документы.ПередачаТоваровМеждуОрганизациями); МассивОбъектовМетаданных.Добавить(Метаданные.Документы.РеализацияУслугПрочихАктивов); ОбновитьНумерациюОбъектов(МассивОбъектовМетаданных); Буду дико рад любым идеям и мыслям. |
|||
14
PiotrLoginov
25.03.16
✎
16:57
|
*Сбор = Сброс
|
|||
15
lxs
25.03.16
✎
17:12
|
(12) "Модифицировать конфигурацию не буду" - на копии попробуй хотя бы, чтобы понять, откуда ноги растут у косяка. А то может "Надо, Федя, надо"
|
|||
16
PiotrLoginov
25.03.16
✎
17:18
|
(15) да, в таких случаях надо пробовать на копии, согласен.
Но - вопрос разрешился. Сбросил для самого нумератора: ОбновитьНумерациюОбъектов(Метаданные.НумераторыДокументов.ДокументыРеализацииТоваров); - и выданные, но не записанные номера перестали мешаться. Ура. Нумерация в платформе работает как часы. Все объяснимо и поддается управлению. Вопрос закрыт. Всем помогавшим большущее спасибо. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |