В последних конфигурациях 1С числовой код поменяли на текстовый. Пользоватьль ввел номер документа, теперь при вводе нового документа номер всегда один и тот-же. Что делать?
В последних конфигурациях 1С числовой код поменяли на текстовый. Пользоватьль ввел номер документа, теперь при вводе нового документа номер всегда один и тот-же. Что делать?
"найди "кривой" номер и добей лидирующие нули ...<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>"
"Если у вас символьная нумерация, то лучше сделать вот так:<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>КонецЦикла; "
А в конфигурации от 1С слабо дописать в глобальном модуле, чтоб нули сами дописывались, или так и будут мучиться пользователи?
поможет Вам, перенумерация документов начиная с самаго первого "кривого", используйте стандартные универсальные обработки 1С.<br>будут вопросы, пишите - помогу в проблемой...
на глаз от нуля почти неотличимо, а русское О от латинского О - так вообще безнадежно.
Есть ещё полушаманский метод. Делаем резервную копию ИБ, грузимся в конфигураторе, в проблемном типе документов ставим тип кода "числовой". Сохраняем метаданные. Меняем код обратно. Снова сохраняем. Лидирующие нули добиты везде. Хотя могут появиться дубликаты, например, если были введены документы с номерами "0001" и "01".<br><br>Повторяю, РЕЗЕРВНУЮ КОПИЮ ДЕЛАТЬ ОБЯЗАТЕЛЬНО. Я предупредил.
существует же обработка repval, если мне не изменяет память, для перенумерации документов, зачем столько сложностей?
1C:Лекторий: 14 мая 2024 года — Бесплатная онлайн-лекция об учете в 1С:БГУ 8 (ред. 2) невостребованной кредиторами задолженности. Серия 1С:Консалтинг для госсектора 1C:Лекторий: 16 мая 2024 года — Бесплатная онлайн-лекция о новом в «1С:Бухгалтерии 8» (релизы 3.0.148 – 3.0.151): новая методика учета расчетов на ЕНС с 2024 года; календарь отчетности; цифровой рубль |
1C:Лекторий: 23 мая 2024 года — Бесплатная онлайн-лекция об учете финансовой аренды у арендодателя в программах 1С:ERP и 1С:КА 1C:Лекторий: 6 июня 2024 года — Бесплатная онлайн-лекция об отражении расчетов на ЕНС в «1С:Бухгалтерии 8» |