Имя: Пароль:
1C
1С v8
Номер нового документа
0 PuhUfa
 
20.12.11
10:14
Есть код:
Процедура КнопкаВыполнитьНажатие(Кнопка)
   
   //создаем новый документ
   ОбъектМаршрутныйЛист = Документы.МаршрутныйЛист;
   НовыйМЛ = ОбъектМаршрутныйЛист.СоздатьДокумент();
   
   //заполняем шапку
   НовыйМЛ.Дата = Дата;
   НовыйМЛ.УстановитьНовыйНомер();
   НовыйМЛ.Водитель = Водитель;
   НовыйМЛ.Машина = Машина;
   
   //заполняем ТЧ
   СоставТЧ = НовыйМЛ["Спецификация"];
   Для Каждого Строка из ТаблицаДокументов Цикл
       Если НЕ Строка.Пометка тогда
           Продолжить;
       КонецЕсли;    
       НоваяСтрока = СоставТЧ.Добавить();
       НоваяСтрока.СсылкаНаНакладную = Строка.Документ;
       НоваяСтрока.АдресДоставки = Строка.Адрес;
       НоваяСтрока.Контрагент = Строка.Контрагент;
       НоваяСтрока.Мест = Строка.Мест;
       НоваяСтрока.Вес = Строка.Вес;
   КонецЦикла;
   
   //получаем форму и открываем ее
   ФормаМаршрутныйЛист = НовыйМЛ.ПолучитьФорму("ФормаДокумента",ЭтаФорма,);
   ФормаМаршрутныйЛист.Открыть();
   
КонецПроцедуры

Все нормально работает за исключением присвоения нового номера.
При первом выполнении кода номер нового документа ставится 0001, дальше закрываем документ НЕ сохраняя и выполняем код повторно. И вот номер документа уже 0002 и так по нарастающей. Сейчас в базе ни одного документа МаршрутныйЛист, а номер новому присваивается уже 0010. Что я не так делаю?
1 Ненавижу 1С
 
гуру
20.12.11
10:15
это стандартное поведение 1С
не присваивай номер до записи
2 Sandy_S
 
20.12.11
10:15
Нумератор обнули.
3 Defender aka LINN
 
20.12.11
10:19
(0) Не смотришь, как в типовых с номерами документов поступают.
4 PuhUfa
 
20.12.11
10:56
(1) без УстановитьНовыйНомер() поведение аналогичное что и с ним
(3) в типовых идет в приоткытии()
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект,,)
попробовал у себя:
//заполняем шапку
НовыйМЛ.Дата = Дата;
//НовыйМЛ.УстановитьНовыйНомер();
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(НовыйМЛ,,);

ничего в поведении номера не изменилось
5 PuhUfa
 
20.12.11
10:57
(3) возможно я просто не там смотрю типовые
6 Defender aka LINN
 
20.12.11
10:58
(4) В типовых еще много чего есть. Например, процедура Печать(). Она имеет примерно такое же отношение к установке номера, как ЗаполнитьШапкуДокумента() или мой левый носок. СлабО глазками посмотреть, когда в типовом документе номер появляется?
7 PuhUfa
 
20.12.11
11:37
(6) проблема была даже не в коде -)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший