Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нумерація документів реалізації
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
kihor
Добрий день!

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

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

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


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

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

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

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


!!!!!!!!!!!!!!!
Цитата
Описание:
Выполняет обновление номеров в соответствии с номерами, записанными в базе данных. После вызова данного метода все выданные, но незаписанные номера, становятся невалидными т.к. не гарантируется их уникальность. Данный метод разрешено вызывать только администратору системы.
sava1
Цитата(AnryMc @ 07.04.25, 13:13) необходимо зарегистрироваться для просмотра ссылки
ОбновитьНумерациюОбъектов (RefreshObjectsNumbering)

Это немного не оттуда
AnryMc
Цитата(sava1 @ 07.04.25, 12:52) необходимо зарегистрироваться для просмотра ссылки
Это немного не оттуда


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

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

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

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

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


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