УТ 11.4.1.273, 8.3.12.1529
Пользователь один напортачил, и изменил номер документа.
Раньше был xx00-01nnnn. Он изменил и стал xx00-09nnnn.
Я в обработке перенумеровал сбившиеся, и сделал
ОбновитьНумерациюОбъектов(Метаданные.Документы.РеализацияТоваровУслуг).
Номера встали правильно. Но ввожу новый док, и снова мне подсовывает xx00-09nnnn, а не xx00-01nnnn.
Пробовал восстановить последовательность номерров, далее обновить нумерацию, далее руками создать док с последним номером увеличенным на единицу, и его записать. Даже провести. Все равно дает при создании нового xx00-09nnnn. Пробовал в свойствах конфигурации устанавливать Освобождать автоматически в режиме автонумерации объектов, не помогает.
Пробвал перезапускать сервер. И после этого создавать новый док с нужным номером, не помогает.
Уже не знаю куда смотреть и где система хранит последний номер.
Номера встали правильно. Но ввожу новый док, и снова мне подсовывает xx00-09nnnn, а не xx00-01nnnn.
Скорее всего где-то остались неправильные номера. Или вы перенумерацию делали полностью в монопольном режиме?
1) попробуйте запросом найти номера по маске xx00-09nnnn
2) Кэш?
3) Тестирование и исправление на крайний случай.
Была нумерация xx00-01nnnn, пользователь сбил стала xx00-09nnnn.
Я вернул, т.е. перенумеровал заново все доки, где сбилась нумерация, на старый вид xx00-09nnnn.
Сделал
&НаСервереБезКонтекста
Процедура ОбновитьНумерациюНаСервере()
лкМассив = Новый Массив;
лкМассив.Добавить(Метаданные.Документы.РеализацияТоваровУслуг);
ОбновитьНумерациюОбъектов(лкМассив);
КонецПроцедуры
Показать
Сделал первый док с нужным номером вручную и записал док.
Путаюсь ввести новый документ, система опять подсовывает xx00-09nnnn
(10) Выстроил документы запросом. От самого большого, до момента, когда сбилась нумерация.
Выстроил им новую последовательность номеров, как будто продолжилась старая нумерация. Записал все от младшего к старшему. Далее обновил нумерацию. Далее перегрузил сервер и вообще весь сервак.
Далее открываю базу ввожу новый док и руками пишу следующий правильный xx00-01nnnn. Записываю.
Пробвал вариант и после перезагрузки еще раз обновить нумерацию, и потом новый док с нужным номером.
Ни то, ни другое не помогает, опять подсовывает подсовывает xx00-09nnnn.
(14) Конечно сложно! Я уже мозг сломал.
Старые номера где? В самих документах? Не находится, ни запросом, ни поиском.
В регистрах? В УТ 11 нумерация не в регистрах, полностью типовой код УТ 11.4. работает в этом случае.
(26) Конечно по правильной маске! Восстановить нумерацию не проблема, проблема в том, что номер не скидывается. Обработкой, что упомянута ниже (https://infostart.ru/public/415406/) это делается на раз.
(1) было такое. Часа 2 перепробовал все методы. Найти где засел этот номер не удалось. Сказал пользователям, раз напортачили, сидите с такими номерами до конца года. Нумерация с начала года сбрасывается.
(5) Чукча не читатель, чукча писатель наверное... :)
Я разве об этом не писал? В том числе с перезагрузкой сервера 1С и всего сервера.
После чего снова сделал ОбновитьНумерациюОбъектов, ввел новый док с нужным номером, записал.
Ввожу новый, опять та же хрень, подсовывает старый номер.
11.
accounting_cons
89104.10.18 10:43 Сейчас в теме
(9)Значит, что-то не соблюдено. Может быть, нумерация не до конца исправлена. Может быть, после запуска ОбновитьНумерациюОбъектов была попытка создать новый документ, в результате чего процесс прервался. Новый документ нужно пробовать создавать только после перезапуска сервера 1С.
(18) Так после того, как обновил нумерацию, после перезагрузки сервера, первым делом ввожу новый док с нужным номером нумерации, и записываю его. Это все как по инструкции.
Затем ввожу новый док, без номера, стандартно. При записи с пустым номером типовой код везде делает так
Если ЭтоНовый() И НЕ ЗначениеЗаполнено(Номер) Тогда
УстановитьНовыйНомер();
КонецЕсли;
И вот здесь он опять сует максимальный номер вида xx00-09nnnn.
Да система хранит, и не сбрасывает.
Так же пробовал и в свойствах конфигурации устанавливать "Освобождать автоматически" в режиме автонумерации объектов, не помогает.
(19)в УстановитьНовыйНомер есть момент
Для документов с нумерацией в пределах периода, номер устанавливается в пределах периода, соответствующего установленной дате документа. Если дата - пустая, процедура установит номер в пределах периода соответствующего пустой дате.
(22) Эта обработка тоже есть у меня. Пробовал ею, результата нет. Пробовал естественно, развернув базу из бекапа, т.е. проводил чистый эксперимент, а не все в куче делал.
Ну вообще проверить у всех документов, у которых тот же нумератор - что там не создалось документа с этим номером. Может у вас к расходной накладной счет фактура и акт создаются - с последующими номерами.
(39) тоже так подумал. Выходит:
1. Правим нумерацию в документах.
2. Правим нумерацию в регистре.
3. Делаем сброс нумерации по документу.
3. Перазаходим и радуемся?
Решение следующее:
1. Исправляем в документе(ах) нумерацию на правильную. Это можно сделать вручную (если их немного) либо написать обработку по их исправлению.
2. Создаем вою обработку с одной кнопкой и следующим кодом:
&НаКлиенте
Процедура КомандаОбновитьНумерацию(Команда)
КомандаОбновитьНумерациюНаСервере();
КонецПроцедуры
&НаСервере
Процедура КомандаОбновитьНумерациюНаСервере()
парамОбъектМетаданных = Метаданные.Документы.РеализацияТоваровУслуг; //укажите свои меданные документов
ОбновитьНумерациюОбъектов(парамОбъектМетаданных);
ОбновитьНумерациюОбъектов(метаданные.НумераторыДокументов.ДокументыРеализацииТоваров); //Обязательно указываем Нумератор, привязанный к документу
Сообщить("Для объекта метаданных "+парамОбъектМетаданных+" обновлена нумерация.");
КонецПроцедуры
Показать
Самое главное действие - это ОбновитьНумерациюОбъектов(метаданные.НумераторыДокументов.ВашНумератор). Без этой операции ничего не работало. Возможно, что только эта одна операция и нужна (т.е. очистка по метаданным документа и не нужна), не тестировал.
3. Закрываем 1С:Предприятие
4. Открываем 1С:Предприятие и создаем документы с правильной нумерацией.
И никаких танцев с бубном с профайллером, конфигуратором и пр.
Проверял на 1С:ERP, думаю подойдет всем.
(45) Чтобы обновить нумератор, он должен быть явно создан в конфигурации. Когда нумератора в конфигурации нет, мне помогла одна первая строчка
ОбновитьНумерациюОбъектов(Метаданные.Документы.МойДокумент)
меня удивляет другое, ну как так, девочка манагер ручками поменяла номер документа - и система спокойно схавала новую нумерацию и не пикнула, а я теперь пытаюсь ручками исправить на другое, а система ЗАПОМНИЛА!!! дура, и не меняет нумерацию. Вопрос к разработчикам, а как это так?????????
(47) в УТ? да там все печально...если честно из-под топора конфигурация, зачем например спрятали для счет-фактур время создания, выводится только дата для изменения? трудно было вывести как для реализации? А как шикарно конфигурация работает с расчетом себестоимости вообще легенда....
Кстати мне интересно, как не меняя "злобный номер" поменять автонумератор? Ну вот допустим ввел задним числом документ (чтобы не переделывать уже выданные после) с дробью, и все хана...менять "злобный" даже не собираюсь, а вот вручную теперь перевыставлять новые номера веселое занятие, в чем проблема вывести этот номер в конкретное место и там менять (пусть и с ограничением полномочиями администратора).
короче столкнулся тут с такой штукой. в ЕРП последней. никакие регистры не влияют. Значит заходите в конфиг и смотрите нумерацию - если у Вас там стоит нумератор - тогда посмотрите места его использования и чекните все доки по нему - возможно она сквозит где-то там, где вы и не думали. потом правите номер - то есть как минимум делаете его ниже чем нужные Вам номера - ну вы поняли. после этого обновление нумерации делаете без параметра метаданные - так как иначе хер что там обновится. мне так помогло, как вариант