Имя: Пароль:
1C
1С v8
v8: Не типовая нумерация документов в БП3.0
0 inkvizitr
 
03.08.13
00:38
Привет всем! начинаю программировать, есть такая задача нужно сделать не типовую номирацию документов по такому принципу, чтобы сперва была дата, потом дефис и номер документа, т.е пример:
01082013-00000001
01082013-00000002
01082013-00000003
02082013-00000001
02082013-00000002
чтобы начальная номирация зависела от даты, я набросал кода, но этого точно не хватает, помогите его модифицировать, просто если добавлять документы за прошлые периоды, то номерация сбивается
вот что написал не судите строго
        Дата = Объект.Дата;
    НомерДокумента = Объект.Номер;
    ДатаДокумента = Формат(Дата, "ДФ=ddMMyyyy");
    Результат = ДатаДокумента+НомерДокумента;
    Объект.Номер = Результат;
При повторной записи номер также сбивается(  
Все дело делается на управляемых формах
1 Aleksey
 
03.08.13
00:39
во первых править нужно в рассо правильных местах используя префикс
Во вторых не забудь процедуру печати поправить
2 Икогнито
 
03.08.13
00:41
в справочнике организаций есть поле префикса. найди процедуру и замени префикс на дату.
3 inkvizitr
 
03.08.13
00:41
а в самом документе сделать вообще никак? мне нужно так подправить только несколько документов
4 Aleksey
 
03.08.13
00:41
(3) не все там так просто
5 Aleksey
 
03.08.13
00:42
(3) не никак.  И еще номер документа в течении дня или года?
6 Икогнито
 
03.08.13
00:42
(3) как в (2) будет красиво и без гемора
7 Aleksey
 
03.08.13
00:43
смысл в дате, если нумерация сквозная? А если номер в течении дня, значит еще не зебудь поправить периодичность самого документа
8 inkvizitr
 
03.08.13
00:45
Спасибо за советы, ща че нибудь буду думать
9 inkvizitr
 
03.08.13
00:45
попробую с префиксом
10 Икогнито
 
03.08.13
00:45
вообще, есть требования к нумерации, которые нельзя нарушать в бух. учете
11 Aleksey
 
03.08.13
00:46
(10) пример из (0) не нарушает правила
12 Aleksey
 
03.08.13
00:49
1. нужный документ, вкладка Нумерация меняем периодичность "В пределах дня"


2. Идем в общие модули ПрефиксацияОбъектовБПСобытия
ищем процедуру УстановитьПрефиксИнформационнойБазыОрганизацииПодразделения


там после строки
ПрефиксОП = СтроковыеФункцииКлиентСервер.ДополнитьСтроку(ПрефиксОП, 2, "0", "Слева");

добавляем
МетаданныеДокумента = Источник.Метаданные();
ТекПрефикс = Префикс;
Если МетаданныеДокумента.Имя = "АктОбОказанииПроизводственныхУслуг" или
.... или что там тебе нужно тогда
        
  //А тут переназначай на свой префикс, у меня например это сделано так
  ПрефиксИБ="";
  ТекПрефикс = ТекПрефикс+Формат(Месяц(Источник.Дата),"ЧЦ=2; ЧВН=")+Формат(День(Источник.Дата),"ЧЦ=2; ЧВН=");
КонецЕсли;
Префикс=ТекПрефикс;

//Конец изменений
    
Префикс = ПрефиксОП + ПрефиксИБ + "-" + Префикс;
13 Aleksey
 
03.08.13
00:52
Правда есть одно но, во первых не все документы юзают эту процедру, например для Счет-фактуры вызывается совершенно другая процедура

В общих модулях ищем ПрефиксацияОбъектовСобытия

в ней Процедура УстановитьПрефикс

Ну и по аналогии меняем префикс


Ну и второе НО, это процедура печати (получения номера на печать)

Открываем ПрефиксацияОбъектовКлиентСерверПереопределяемый

и смотрим
Процедура ПриПолученииНомераНаПечать(НомерОбъекта, СтандартнаяОбработка) Экспорт
    
    Если Сред(НомерОбъекта, 3, 1) = "-" Тогда
        Возврат;
    КонецЕсли;
    
НомерОбъекта = ОбщегоНазначенияБПВызовСервера.ПолучитьНомерБП20(НомерОбъекта);
    СтандартнаяОбработка = Ложь;
    
КонецПроцедуры

я например себе добавлял
Если Сред(НомерОбъекта, 5, 1) = "-" Тогда
    Возврат;
КонецЕсли;
//Номер не соответствует формату
14 inkvizitr
 
03.08.13
00:56
Ща попробую, у меня там документ "РеализацияТоваровУслуг"
15 Aleksey
 
03.08.13
00:58
Тогда курочь  УстановитьПрефиксИнформационнойБазыОрганизацииПодразделения  из ПрефиксацияОбъектовБПСобытия
16 Aleksey
 
03.08.13
01:01
(14) ну и смысла курочить нумерацию реализации без счет-фактуры - особо нет, т.е. я бы уточнил что со счет-фактурой? Или они тупо копируют номер реализации
17 inkvizitr
 
03.08.13
01:08
Да))) Номерация заработала))) Aleksey -  большой респект))) счет фактура реально отвалилась, если делать на основании не формирует
18 inkvizitr
 
03.08.13
01:10
кстати вру) счет-фактура выданный работает, по поводу ее номерации, чуть по позже узнаю
19 Aleksey
 
03.08.13
01:10
Не забудь про префикс организации и в процедуре печати поправь, чтобы он корректно удалял его
20 inkvizitr
 
03.08.13
01:13
ага, ща это сделаю, неее.. Счет фактура не работает, мозг уже потек, в глазах начинает двоится, с счет фактурой буду завтра разбираться))    Aleksey - спасибо огромное, уважуха)))
Основная теорема систематики: Новые системы плодят новые проблемы.