Версия для печати темы (https://pro1c.org.ua/index.php?s=5e9ea511383e7e9744ee666c27220466&showtopic=67807)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Нумерація документів реалізації

Автор: kihor 07.04.25, 11:47

Добрий день!

Ми використовуємо конфігурацію BAS Бухгалтерія. В базі створюються документи реалізації. Нумерація цих документів має вигляд: Б000-135, Б000-136, Б000-137 і так далі. Довгий час документам присвоювався номер автоматично без якихось проблем. Потім, бухгалтер допустила помилку і документу реалізації присвоівся номер Б000-999999999999999999999 (кількість "9" - не принципова). Бухгалтер вручну скорегувала номер, але далі автоматична нумерація вже перестала працювати. Постійно присвоюється номер Б000-999999999999999999999. Я зробив копію бази і спробував створити документ реалізації там (на тестовій базі) - нумерація працює коректно. Наскільки я розумію, нумератор зберігається десь у пам'яті/кеші сервера для бази (у нас клієнт-серверний варіант). Якщо це так, то не підкажете, як мені переініціалізувати нумератор для робочої бази?

Автор: Vofka 07.04.25, 11:54

Цитата(kihor @ 07.04.25, 12:47) *
не підкажете, як мені переініціалізувати нумератор для робочої бази?

Беручи до уваги
Цитата(kihor @ 07.04.25, 12:47) *
Я зробив копію бази і спробував створити документ реалізації там (на тестовій базі) - нумерація працює коректно

створіть нову базу і завантажте туди актуальну копію.

Автор: AnryMc 07.04.25, 12:13

Цитата(kihor @ 07.04.25, 11:47) *
Наскільки я розумію, нумератор зберігається десь у пам'яті/кеші сервера для бази (у нас клієнт-серверний варіант).


Ищется МАКСИМУМ и + 1

Так что:
1) Исправить 9999999 на последний правильный +1
2) перенумеровать все неправильные (9999999)

З.Ы, Автору надавать по рукам - чтоб впредь неповадно было...

З.Ы,Ы.
Цитата
Глобальный контекст (Global context)
ОбновитьНумерациюОбъектов (RefreshObjectsNumbering)
Синтаксис:
ОбновитьНумерациюОбъектов(<Метаданные>)


!!!!!!!!!!!!!!!
Цитата
Описание:
Выполняет обновление номеров в соответствии с номерами, записанными в базе данных. После вызова данного метода все выданные, но незаписанные номера, становятся невалидными т.к. не гарантируется их уникальность. Данный метод разрешено вызывать только администратору системы.

Автор: sava1 07.04.25, 12:52

Цитата(AnryMc @ 07.04.25, 13:13) *
ОбновитьНумерациюОбъектов (RefreshObjectsNumbering)

Это немного не оттуда

Автор: AnryMc 07.04.25, 13:35

Цитата(sava1 @ 07.04.25, 12:52) *
Это немного не оттуда


Функция с префиксом не работает... Поэтому я и описал метод с перенумерацией, но это отвечает на вопрос
Цитата
Наскільки я розумію, нумератор зберігається десь у пам'яті/кеші сервера для бази (у нас клієнт-серверний варіант). Якщо це так, то не підкажете, як мені переініціалізувати нумератор для робочої бази?


Автор: Levis1995 08.04.25, 16:54

Цитата(AnryMc @ 07.04.25, 14:35) *
Функция с префиксом не работает... Поэтому я и описал метод с перенумерацией, но это отвечает на вопрос

Ось код обробки із однією кнопкою.

&НаСервере
Процедура Команда1НаСервере()
    //ОбновитьНумерациюОбъектов(); //для всіх
    ОбновитьНумерациюОбъектов(Метаданные.Справочники.Контрагенты); //краще конкретні об'єкти довідника
    ОбновитьНумерациюОбъектов(Метаданные.Документы.ОтчетОРозничныхПродажах);  //краще конкретні об'єкти документа
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
    Команда1НаСервере();
КонецПроцедуры


Перед цим потрібно перенумерувати, бо якщо вручну зробити коректним номер, може не допомогти.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua