Автор: 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НаСервере();
КонецПроцедуры
Перед цим потрібно перенумерувати, бо якщо вручну зробити коректним номер, може не допомогти.