Имя: Пароль:
1C
 
Изменить номер документа в 1С БП
0 егаис
 
22.06.26
13:34
Подскажите, как хитро изменить номер документа в БП?
Накосячили, ввели документа с /. Прописал алгоритм присваивания по максимальному номеру, но где бы его не использовал, номер меняется на системный.
Вставлял в модуль формы (перед записью, после записи), в модуль объекта (перед, после записи) , сделал подписку, не помогло.
Думаю сталкивались с таким вопросом. Какой модуль править?
1 maxab72
 
22.06.26
13:41
а исправить косячный номер?
2 егаис
 
22.06.26
13:43
(1) Закрытый период, документы выставлены. К сожалению не прокатит.
3 maxar
 
22.06.26
13:49
ПрефиксацияОбъектовБПСобытия.УстановитьПрефиксИнформационнойБазыОрганизацииПодразделения
4 егаис
 
22.06.26
13:51
(3) Данная функция возвращает префикс номера, а не сам номер.
5 maxab72
 
22.06.26
13:52
я бы плясал отсюда ПрефиксацияОбъектовСобытия.УстановитьПрефиксИнформационнойБазыИОрганизации()
6 егаис
 
22.06.26
13:54
(5) Это все относится к префиксам
7 егаис
 
22.06.26
13:56
Фиг с ним, пусть пишет как надо. Но в каком месте нужно подменить номер после записи документа?
8 Amra
 
22.06.26
13:59
(7) В типовой БП за это отвечает соответсвующая подписка на событие. От нее и плясать
9 Dmitrii
 
гуру
22.06.26
14:00
(0) Стандартный алгоритм восстановления косячной нумерации  описан на ИТС https://its.1c.ru/db/metod8dev/content/1550/hdoc

По сути алгоритм такой:
1. Удалить или перенумеровать все объекты с неверными номерами (кодами).
2. Вызвать функцию ОбновитьНумерациюОбъектов для нужного объекта метаданных.

Последствия и особенности.
Перенумерацию в закрытом периоде тоже придётся делать (в пределах периода нумерации, для документов обычно - год). Естественно лучше без перепроведения (для документов в режиме записи документов "Запись" и ОБменДанными.Загрузка = Истина).
Для исходящих документов придётся перепечатать и перевыдать клиентам.

Альтернатива - жить с кривой нумерацией до конца года. С нового года начать нормальную нумерацию.
10 егаис
 
22.06.26
14:02
(8) Подскажи, какая?
(9) Не вариант. пробую вариант с подменой префикса по условию.
11 maxab72
 
22.06.26
14:03
(6) у вас что "/" в конце номера приделали? Тогда меняйте спокойно номер на правильный, тем более период закрыт. Только в комментах к документу кривой номер пропишите.
12 егаис
 
22.06.26
14:17
Переопределение префикса "ПрефиксОП" по условию, в принципе, решило вопрос. Закрываем тему.
13 КонецЕсли
 
22.06.26
14:26
Обычно любая консоль запросов с функцией исполняемого кода + ОбменДанными.Загрузка=Истина позволяет делать с номерами что угодно.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший