Сбилась Нумерация в справочнике Материалы
19.05.2009
12:45
#1
1С Бух 7.7 релиз 493
В справочнике материалы сбилась нумерация и теперь всегда код выдает 100, пробовала с помощью обработки автоматом проставить нумерацию, но безуспешно всеравно выдает 100, увеличивала длину кода тоже безуспешно, пожалуйста подскажите как правильно исправить ошибку?
В справочнике материалы сбилась нумерация и теперь всегда код выдает 100, пробовала с помощью обработки автоматом проставить нумерацию, но безуспешно всеравно выдает 100, увеличивала длину кода тоже безуспешно, пожалуйста подскажите как правильно исправить ошибку?
19.05.2009
15:10
#3
Изначально использовала обработку UChoice.ert позволяющая перенумерацию элементов, перенумеровала все элементы одной группы из справочника Материалы и попробовала ввести новый элемент и снова код 100.
Затем попробовала увеличить длину кода с 9 до 10 и создвая новый элемент ввела номер 000100, но безуспешно.
может я неправильно выполнила действия?
Затем попробовала увеличить длину кода с 9 до 10 и создвая новый элемент ввела номер 000100, но безуспешно.
может я неправильно выполнила действия?
19.05.2009
15:21
#4
Изначально я воспользовалась обработкой UChoice.ert я перенумеровала все элементы определенной группы справочника, но безуспешно всеравно при создании нового элемента код ставит 100.
Затем я попробовала увеличить длину кода с 9 на 10 и при создании нового элемента который всеравно выдал код 100 я перенумеровала на 000100(и как только ненумеровала) всеравно код ставит 100.
может я неверно выполнила действия?
Затем я попробовала увеличить длину кода с 9 на 10 и при создании нового элемента который всеравно выдал код 100 я перенумеровала на 000100(и как только ненумеровала) всеравно код ставит 100.
может я неверно выполнила действия?
19.05.2009
17:06
#5
Вы перенумеровали только одну группу.А если вы ничего не правили в конфигураторе, то в типовой, в справочнике Номенклатура нумерация общая для всего справочника. Может неправильно введенный код был в другой группе. Перенумеровывать надо весь справочник.
20.05.2009
07:48
#6
Все правильно нумерация стоит по всему справочнику, но там очень много групп, мне нужно искать номер который он всегда выдает при создании нового элемента?Когда я нахожу этот номер и перенумеровываю его ничего не меняется или необходимо только весь справочник перенумеровывать?
20.05.2009
08:57
#7
"Материалы=СоздатьОбъект("Справочник.Материалы");
Для i=1 По 3 Цикл
Если i=1 Тогда
МаксНомер=0;
ИначеЕсли i=2 Тогда
Нумератор=МаксНомер+1;
НачатьТранзакцию();
ИначеЕсли i=3 Тогда
Нумератор=1;
КонецЕсли;
Материалы.ВыбратьЭлементы(0);
Пока Материалы.ПолучитьЭлемент(1)=1 Цикл
Если i=1 Тогда
ТекНомер=Число(Материалы.Код);
Если ТекНомер>МаксНомер Тогда
МаксНомер=ТекНомер;
КонецЕсли;
Иначе
Материалы.Код=Формат(Нумератор,"Ч(0)9");
Материалы.Записать();
Нумератор=Нумератор+1;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ЗафиксироватьТранзакцию();"
Для i=1 По 3 Цикл
Если i=1 Тогда
МаксНомер=0;
ИначеЕсли i=2 Тогда
Нумератор=МаксНомер+1;
НачатьТранзакцию();
ИначеЕсли i=3 Тогда
Нумератор=1;
КонецЕсли;
Материалы.ВыбратьЭлементы(0);
Пока Материалы.ПолучитьЭлемент(1)=1 Цикл
Если i=1 Тогда
ТекНомер=Число(Материалы.Код);
Если ТекНомер>МаксНомер Тогда
МаксНомер=ТекНомер;
КонецЕсли;
Иначе
Материалы.Код=Формат(Нумератор,"Ч(0)9");
Материалы.Записать();
Нумератор=Нумератор+1;
КонецЕсли;
КонецЦикла;
КонецЦикла;
ЗафиксироватьТранзакцию();"
21.05.2009
11:30
#8
"Если это можно - то задаем во всем справочнике новые коды - можно так
Создаем внешний отчет - с учетом того, что справочник "Материалы"- как в стандартной конфигурации
Процедура Сформировать()
//ставим нужную длину кода, в первый раз меньше - чем задана в конфигураторе
//лучше сделать в отчете реквизит с типом "число"
НашаДлинаКода = 7;
ВидСправ = "Материалы";
Спр = СоздатьОбъект("Справочник."+ВидСправ);
Ном = 0;
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Ном = Ном + 1;
Спр.Код = Прав(("000000000" + Ном),НашаДлинаКода);
Спр.Записать();
КонецЦикла;
Предупреждение("Обработка закончена!");
КонецПроцедуры
Если споткнулись на неуникальности - то задаем длину кода - меньше на 1 и опять пробуем.
Если все нормально, то проходим еще раз - с НашаДлинаКода = заданной в конфигураторе;
"
Создаем внешний отчет - с учетом того, что справочник "Материалы"- как в стандартной конфигурации
Процедура Сформировать()
//ставим нужную длину кода, в первый раз меньше - чем задана в конфигураторе
//лучше сделать в отчете реквизит с типом "число"
НашаДлинаКода = 7;
ВидСправ = "Материалы";
Спр = СоздатьОбъект("Справочник."+ВидСправ);
Ном = 0;
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Ном = Ном + 1;
Спр.Код = Прав(("000000000" + Ном),НашаДлинаКода);
Спр.Записать();
КонецЦикла;
Предупреждение("Обработка закончена!");
КонецПроцедуры
Если споткнулись на неуникальности - то задаем длину кода - меньше на 1 и опять пробуем.
Если все нормально, то проходим еще раз - с НашаДлинаКода = заданной в конфигураторе;
"
28.01.2010
08:47
#9
Добрый день.Как обработкой UChoice.ert Вы сделали перенумерацию элементов спр-ка Материалов,автоматизированно или вручную? Если у Вас есть обработка с помощью которой Вы справились с восстановлением автонумерации спр-ка Материалы,то пришлите на эл.адрес:svetlana380@yandex.ru Спасибо.
Читают тему
(гостей: 1)