Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 08:32

Автомумерация сбилась везде

Автор ru78bin, 08 окт 2018, 10:45

0 Пользователей и 1 гость просматривают эту тему.

ru78bin

Доброго времени суток.
Сегодня случилась беда, автонумерация сбилась во всех документах (приход, реализация и так далее), т.е. в новых документах приходится вручную ставить номер документа. С самого утра читаю информацию, но никак не могу разобраться, как все исправить?
Подскажите, есть ли какой обработчик, который восстанавливает и включает автонумерацию? Очень прошу помощи.

alexandr_ll

Цитата: ru78bin от 08 окт 2018, 10:45
Доброго времени суток.
Сегодня случилась беда, автонумерация сбилась во всех документах (приход, реализация и так далее), т.е. в новых документах приходится вручную ставить номер документа. С самого утра читаю информацию, но никак не могу разобраться, как все исправить?
Подскажите, есть ли какой обработчик, который восстанавливает и включает автонумерацию? Очень прошу помощи.
Можно использовать это:
https://infostart.ru/public/78569/
https://cloud.mail.ru/public/8AAX/DiVoKEqcn

ru78bin

а куда вставлять этот код? Инструкцию не нашел =(

alexandr_ll

Цитата: ru78bin от 08 окт 2018, 11:47
а куда вставлять этот код? Инструкцию не нашел =(
Во втором файле все написано:
   // в предопределенной процедуре документа "ВводНового"
   //Добавляем строку следующего вида:
   // определение номера документа
НомерДок=ДатьНовыйНомер(Контекст);
   // а в глобальном модуле добавляем функцию
    // функция присвоения номера документу со сбитой нумерацией
// находит последний номер введенного документа и присваевает
// вновь вводимому документу номер на 1 больше
Функция ДатьНовыйНомер(Конт) Экспорт
Если (Метаданные.Документ(Конт.Вид()).ТипНомера="Текстовый") Тогда
ДлинаНомера = Метаданные.Документ(Конт.Вид()).ДлинаНомера ;
ПериодСменыНомера = Метаданные.Документ(Конт.Вид()).ПериодичностьНомера;
Если ПериодСменыНомера = "Год" Тогда
    НачалоНомера = НачГода(Конт.ДатаДок);
    КонецНомера = КонГода(Конт.ДатаДок);
ИначеЕсли ПериодСменыНомера = "Квартал" Тогда
    НачалоНомера = НачКвартала(Конт.ДатаДок);
    КонецНомера = КонКвартала(Конт.ДатаДок);
    ИначеЕсли ПериодСменыНомера = "Месяц" Тогда
    НачалоНомера = НачМесяца(Конт.ДатаДок);
    КонецНомера = КонМесяца(Конт.ДатаДок);
    ИначеЕсли ПериодСменыНомера = "День" Тогда
    НачалоНомера = Конт.ДатаДок;
    КонецНомера = Конт.ДатаДок;
    Иначе
    НачалоНомера = Дата(0);
    КонецНомера = Дата(0);
КонецЕсли;                 
ПредНомер=0;
Док=СоздатьОбъект("Документ."+Конт.Вид());
    Док.ОбратныйПорядок(1);
Док.ВыбратьДокументы(НачалоНомера,КонецНомера);                       
Пока Док.ПолучитьДокумент()=1 Цикл
     ПредНомер=Число(Док.НомерДок);
Прервать;
КонецЦикла;   
    НовыйНомер=ПредНомер+1;
НомерДок=Формат(НовыйНомер,"Ч(0)"+ДлинаНомера+".0");
Иначе
НомерДок=Конт.НомерДок;
КонецЕсли;

Возврат НомерДок;

КонецФункции


ru78bin

ммм... что-то такого пункта меню найти не могу.
Открыл я 1С 7.7, пролистал все верхнее меню, и нигде не нашел пункта меню "предопределенная процедура". Даже поискал в "Обработка". У меня такого нигде нет =( Может надо как-то включить? :dfbsdfbsdf:

alexandr_ll

Цитата: ru78bin от 08 окт 2018, 12:47
ммм... что-то такого пункта меню найти не могу.
Открыл я 1С 7.7, пролистал все верхнее меню, и нигде не нашел пункта меню "предопределенная процедура". Даже поискал в "Обработка". У меня такого нигде нет =( Может надо как-то включить? :dfbsdfbsdf:
Предопределенная процедура ВводНового() находится в модуле формы соответствующего документа

Теги:

Похожие темы (1)

Рейтинг@Mail.ru

Поиск