Имя: Пароль:
1C
1С v8
УНФ 1.6.15.49 нумерация документа поступление в кассу
0 I_learn_1c
 
15.01.19
10:47
Доброе утро,

подскажите где задается номер для документа Поступление в кассу при записи?

Нашла где задается префикс, тут небольшая доработка, но на моменте //111 Префикс="", номер кассы = 000000002, то есть итоговый номер должен быть вида НФ04-00001, перед выходом из УстановитьПрефикс номера у документа еще нет, после выхода - есть еще и с неверным префиксом НФ04-Н0001.

Как найти место где номер присваивается? Что-то вроде УстановитьНовыйНомер() не могу найти, видимо нет такого.


Процедура УстановитьПрефиксИнформационнойБазы(Источник, СтандартнаяОбработка, Префикс) Экспорт
//lx31
    Если НЕ(Источник.Метаданные().Реквизиты.Найти("Касса") = Неопределено) Тогда
        Если Источник.Касса = Справочники.Кассы.НайтиПоКоду("000000001") Тогда
            Префикс ="Н";
        Иначе
            Префикс ="";
        КонецЕсли;
    КонецЕсли;
//

//111    
    УстановитьПрефикс(Источник, Префикс, Истина, Ложь);
    
КонецПроцедуры

Процедура УстановитьПрефикс(Источник, Префикс, УстановитьПрефиксИнформационнойБазы, УстановитьПрефиксОрганизации)
    
    ПрефиксИнформационнойБазы = "";
    ПрефиксОрганизации        = "";
    
    Если УстановитьПрефиксИнформационнойБазы Тогда
        
        ПриОпределенииПрефиксаИнформационнойБазы(ПрефиксИнформационнойБазы);
        
        ДополнитьСтрокуНулямиСлева(ПрефиксИнформационнойБазы, 2);
    КонецЕсли;
    
    Если УстановитьПрефиксОрганизации Тогда
        
        Если РеквизитОрганизацияДоступен(Источник) Тогда
            
            ПриОпределенииПрефиксаОрганизации(
                Источник[ИмяРеквизитаОрганизация(Источник.Метаданные())], ПрефиксОрганизации);
            // Если задана пустая ссылка на организацию.
            Если ПрефиксОрганизации = Ложь Тогда
                
                ПрефиксОрганизации = "";
                
            КонецЕсли;
            
        КонецЕсли;
        
        ДополнитьСтрокуНулямиСлева(ПрефиксОрганизации, 2);
    КонецЕсли;
    
    ШаблонПрефикса = "[ОР][ИБ]-[Префикс]";
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ОР]", ПрефиксОрганизации);
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[ИБ]", ПрефиксИнформационнойБазы);
    ШаблонПрефикса = СтрЗаменить(ШаблонПрефикса, "[Префикс]", Префикс);
    
    Префикс = ШаблонПрефикса;
    
КонецПроцедуры
1 I_learn_1c
 
15.01.19
11:31
(0) немного упрощу, закомментировала доработку. стандартно номер получается вида НФ04-Н00047, НФ04 - префикс ИБ и организации, это норм.

Где можно сделать номер вида НФ04-000047, что поменять нужно?
2 catena
 
15.01.19
11:35
Найти и переномеровать все документы, у которых затесалась Н, после этого обновить нумерацию.
3 I_learn_1c
 
15.01.19
11:58
(2) тут сложнее... видимо тот кто делал обработку хотел разделить. Если поступление с касса=касса№1, тогда номер вида НФ04-Н00001. Следующий документ, если тут касса=касса№2, то номер НФ04-000002. а он ставится НФ04-Н00002, что логично.

Думаю надо отключать автонумерацию тогда? а где тогда задавать номер? ПередЗаписью в модуле объекта?
4 I_learn_1c
 
15.01.19
11:59
(3) *видимо тот кто делал доработку, опечатка
5 I_learn_1c
 
15.01.19
12:00
(4) просто в другой УНФ для счет-фактуры видела что-то вроде УстановитьНовыйНомер() и там можно было редактировать. а тут чего-то такого не вижу
6 ptiz
 
15.01.19
12:04
(0) Поменяй код на:
       Если Источник.Касса = Справочники.Кассы.НайтиПоКоду("000000001") Тогда
            Префикс ="Н";
        Иначе
            Префикс ="0";
        КонецЕсли;
7 I_learn_1c
 
16.01.19
09:46
(6) этот кусок вообще не влияет походу. если его и нет, но есть где то в предыдущих с Н, то и дальше Н в номере... это даже в демо  смотрела вручную меняя.