Имя: Пароль:
1C
1С v8
Префиксы документов. Слетает префикс
0 Tata001
 
31.08.12
14:44
документ на подписке.

// процедура формирования номера документа
Процедура ПриУстановкеНовогоНомераДляДокументов(Источник, СтандартнаяОбработка, Префикс) Экспорт
   ДобавитьПрефиксОрганизации(Источник, Префикс);
   ДобавитьПрефиксПодразделения(Источник,Префикс);
   ДобавитьПрефиксУзла(Префикс);
КонецПроцедуры
===========
у некоторых подразделений стоит префикс. У подразделений у которых стоит префикс нормально нумеруется,а где нет префикса документ формируется с предыдущим префиксом. Как сделать чтобы документ,с подразделением без префикса формировал номер без префикса
1 0_Serg_0
 
31.08.12
14:46
на ДобавитьПрефиксПодразделения(Источник,Префикс);
поставить условие
2 Reset
 
31.08.12
14:48
Установить у подразделений без префикса префикс "00"
3 Tata001
 
31.08.12
14:49
(2) я уже про это подумала... что в коде поставить,у тех подразделений,у которых нет префиксов = "00"..
а есть другой способ?
4 Tata001
 
31.08.12
14:50
(1) он нормальный префис возвращает
5 0_Serg_0
 
31.08.12
14:51
(4)
если ЗначениеЗаполнено(Источник.Подразделение.Префикс тогда
  ДобавитьПрефиксПодразделения(Источник,Префикс);
КонецЕсли;
6 Tata001
 
31.08.12
14:52
(1) если закомментиь эту процедуру,то префикс предыдущий берёт
7 fedoss
 
31.08.12
14:53
(3) Другой способ - в ДобавитьПрефиксПодразделения поставить условие - если префикс подразделения пустой, то Префикс = Префикс + "0"
(5) не поможет, ибо предыдущий префикс просто проставляется по правилам автонусмерации
8 fedoss
 
31.08.12
14:55
(7) + Если у вас еще и префиксы узлов используются, тройной префикс будет вообще криво формироваться с пустыми префиксами подразделений.
Лучше задайте префиксы у всех подразделений
9 Tata001
 
31.08.12
15:01
(1) всмысле не нормальный,а по автонумерации
10 Tata001
 
31.08.12
15:02
(8) тройной префикс
11 fedoss
 
31.08.12
15:05
(10) ну так проставьте префиксы у всех подразделений, иначе автонумерация будет работать криво
12 elisabet
 
31.08.12
15:10
А что в процедуре ДобавитьПрефиксПодразделения происходит?
13 Reset
 
31.08.12
15:13
(3) Нет.
Префиксы должны быть или везде, или нигде.
14 Reset
 
31.08.12
15:14
+ (13) и одинаковой длины.
15 Reset
 
31.08.12
15:15
Написание собственного нумератора, я думаю, вы рассматривать не будете (и не надо)
16 elisabet
 
31.08.12
15:30
МетаданныеДокумента = ДокументОбъект.Метаданные();
       Если Не МетаданныеДокумента.Реквизиты.Найти("Подразделение") <> Неопределено
        Или НЕ ЗначениеЗаполнено(ДокументОбъект.Подразделение.Префикс) Тогда
           Префикс = "0";
       Иначе
           Префикс = ДокументОбъект.Подразделение.Префикс;
       КонецЕсли;
Программист всегда исправляет последнюю ошибку.