Нумерация
01.08.2003
21:58
#1
В последних конфигурациях 1С числовой код поменяли на текстовый. Пользоватьль ввел номер документа, теперь при вводе нового документа номер всегда один и тот-же. Что делать?
02.08.2003
15:04
#2
"найди "кривой" номер и добей лидирующие нули ...<br><br><br><br>а если таких много, запусти:<br><br><br><br>Док = СоздатьОбъект("Документ.Х"); // где Х-идентификатор<br><br>Док.ВыбратьДокументы();<br><br>Пока Док.ПолучитьДокумент() = 1 Цикл<br><br> НомерДок = СокрЛП(Док.НомерДок);<br><br> Пока СтрДлина(НомерДок)<Y Цикл //где Y-разрядность<br><br> НомерДок = "0"+НомерДок;<br><br> КонецЦикла;<br><br> Док.НомерДок=НомерДок;<br><br> Попытка<br><br> Док.Записать();<br><br> Исключение<br><br> Сообщить("Двойник: "+Док.ТекущийДокумент());<br><br> КонецПопытки;<br><br>КонецЦикла;<br><br><br><br>"
16.08.2006
13:31
#3
"Если у вас символьная нумерация, то лучше сделать вот так:<br><br> Док = СоздатьОбъект("Документ.РеализацияРозница"); // либо другой документ<br> Док.ВыбратьДокументы('01.05.06','01.09.06'); // дату указываете сами <br> // (если надо), либо уберите этоу строку<br> Пока Док.ПолучитьДокумент() = 1 Цикл <br> НомерДок = СокрЛП(Док.НомерДок);<br> НомерДок = СокрЛП(Сред(Док.НомерДок,5)); //Берем кол-во символов в префиксе+1<br> Преф=Лев(Док.НомерДок,4); // А здесь именно кол-во символов в префиксе "ААА-"<br> <br> Пока СтрДлина(НомерДок)<6 Цикл // Вместо 6 подставляем Разрядность - кол-во символов <br> // в префиксе<br> НомерДок = "0"+НомерДок;<br> КонецЦикла; <br> <br> Док.НомерДок=Преф+НомерДок; <br> Сообщить(Док.НомерДок);<br> Попытка <br> Док.Записать(); <br> Исключение <br> Сообщить("Двойник: "+Док.ТекущийДокумент()); <br> КонецПопытки; <br>КонецЦикла; "
21.08.2006
18:11
#4
А в конфигурации от 1С слабо дописать в глобальном модуле, чтоб нули сами дописывались, или так и будут мучиться пользователи?
21.08.2006
21:08
#5
поможет Вам, перенумерация документов начиная с самаго первого "кривого", используйте стандартные универсальные обработки 1С.<br>будут вопросы, пишите - помогу в проблемой...
31.08.2006
21:59
#6
на глаз от нуля почти неотличимо, а русское О от латинского О - так вообще безнадежно.
03.09.2006
23:35
#7
Есть ещё полушаманский метод. Делаем резервную копию ИБ, грузимся в конфигураторе, в проблемном типе документов ставим тип кода "числовой". Сохраняем метаданные. Меняем код обратно. Снова сохраняем. Лидирующие нули добиты везде.
Хотя могут появиться дубликаты, например, если были введены документы с номерами "0001" и "01".<br><br>Повторяю, РЕЗЕРВНУЮ КОПИЮ ДЕЛАТЬ ОБЯЗАТЕЛЬНО. Я предупредил.


Начисление отпуска в ЗИК 267 не правильно показывает начисления за последние 3 месяцаПроблемы с табелем!
Читают тему
(гостей: 1)