Имя: Пароль:
1C
1С v8
проблема нумерации с датой в 1с 8.2 бп 2
0 sevensword
 
06.01.15
09:18
давненько не работал с восьмеркой, поэтому немного туплю
надо сделать чтобы в номере были данные день,месяц/номер
1501/00001
пробую так сделать
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    
    УстановитьНовыйНомер();  
_ном=0;
_ном=_ном+1;
номер =Сред(ТекущаяДата(),9,2) + Сред(ТекущаяДата(),4,2)+("/")+Сред(Номер,2)+_ном;

создает 1501/0000, т.е к последующему документу не добовляет 1 и далее
Подскажите, как попровить?
1 IUnknown
 
06.01.15
09:20
УстановитьНовыйНомер(Сред(ТекущаяДата(),9,2) + Сред(ТекущаяДата(),4,2)+("/"));
2 sevensword
 
06.01.15
09:38
(1) не помогло
3 IUnknown
 
06.01.15
10:08
а что получилось в номере?
4 sevensword
 
06.01.15
10:09
(3) создает док с номером 1501/0001, а далее 0002 не создает
5 IUnknown
 
06.01.15
10:10
ты (1) юзал вместо кода из (0)?
6 IUnknown
 
06.01.15
10:11
стоп понял
7 IUnknown
 
06.01.15
10:13
тут надо через анус извращаться ... так как префикс на нумерацию влияет
8 sevensword
 
06.01.15
10:13
(7) пример сможешь показать?
9 IUnknown
 
06.01.15
10:17
УстановитьНовыйНомер();
Номер = Формат(ТекущаяДата(), "ДФ=дд") + Формат(ТекущаяДата(), "ДФ=мм") + "/" + Сред(Номер, 5);
10 IUnknown
 
06.01.15
10:18
проверь только
11 IUnknown
 
06.01.15
10:19
где месяц ММ надо большими буквами >>> Формат(ТекущаяДата(), "ДФ=ММ")
12 sevensword
 
06.01.15
10:25
(11)  получается 0601/0000 а далее не идет, внес вот так
УстановитьНовыйНомер();
Номер = Формат(ТекущаяДата(), "ДФ=дд") + Формат(ТекущаяДата(), "ДФ=ММ") + "/" + Сред(Номер, 5);
13 IUnknown
 
06.01.15
10:33
балин тормоз ... надо же с шестого символа отрезать)))

Номер = Формат(ТекущаяДата(), "ДФ=дд") + Формат(ТекущаяДата(), "ДФ=ММ") + "/" + Сред(Номер, 6);
14 sevensword
 
06.01.15
10:42
(13) IUnknown спасибо большье, выручил!
15 sevensword
 
06.01.15
10:42
все зработало как надо
16 Начинающий_13
 
06.01.15
10:43
Если насколько раз жмешь на записать номер меняется
17 sevensword
 
06.01.15
10:46
(16) хм точно, большой гемор от этоого избавиться?
18 Начинающий_13
 
06.01.15
10:58
При проведении может надо сделать
19 Начинающий_13
 
06.01.15
10:59
Режим еще над указать
20 iceman2112
 
06.01.15
11:07
В УстановитьНомер есть префикс не? отключаешь подписку документа только на событие при установке номера и копируешь процедуру установки номера. Формируешь нужные тебе префикс, а это костыль
21 iceman2112
 
06.01.15
11:11
точнее ПриУстановкеНомера
22 Начинающий_13
 
06.01.15
11:26
Вот так вроде все идте Проверь

Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
    
    Префикс = СформироватьПрефиксОбъекта(ЭтотОбъект);
    
КонецПроцедуры

Функция СформироватьПрефиксОбъекта(ДокументОбъект)Экспорт
    
    мПрефикс = "У меня нет префикса";
    // Если есть то получай, где он находися и к номеру
    
    Если ПустаяСтрока(мПрефикс) Тогда
        ПрефиксОбъекта = "000";
    Иначе
        ПрефиксОбъекта = Формат(Дата, "ДФ=дд") + Формат(Дата, "ДФ=ММ") + "/" + Сред(Номер, 6);
    КонецЕсли;
    
    ОбновитьНумерациюОбъектов(ДокументОбъект.Метаданные());
    
    Возврат ПрефиксОбъекта;
    
КонецФункции
23 Мимохожий Однако
 
06.01.15
11:43
полуОФФ:В БП3.0 такое не прокатит. Какой смысл бодаться с конфигурацией, которая с 2015 не поддерживается.
24 iceman2112
 
06.01.15
11:56
(22) Зачем ты режишь номер?
25 iceman2112
 
06.01.15
11:59
Сред(Номер, 6) ЗАЧЕМ?
26 iceman2112
 
06.01.15
12:00
ОбновитьНумерациюОбъектов(ДокументОбъект.Метаданные());? зачем?
27 iceman2112
 
06.01.15
12:01
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
    
    Префикс = Формат(Дата, "ДФ=дд") + Формат(Дата, "ДФ=ММ");
    
КонецПроцедуры

Вот это чем плохо?
28 Начинающий_13
 
06.01.15
12:04
Это не мне надо было, а человеку такая маска
27 Тогда тебе надо в каждом документу так песать, а мое в общий модуль вынести и все. Если в разных документа разные маски номеров, тода через документОбхект получить в написать свой
29 sevensword
 
06.01.15
12:19
(22) щас попробую
30 iceman2112
 
06.01.15
12:28
(28) Ему нужен префикс "день,месяц/", номер формируется автоматически, поэтому зачем ты его дергаешь я не понимаю. в каждом документе такое писать не нужно есть подписки на событие.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший