//заполняем ТЧ
СоставТЧ = НовыйМЛ["Спецификация"];
Для Каждого Строка из ТаблицаДокументов Цикл
Если НЕ Строка.Пометка тогда
Продолжить;
КонецЕсли;
НоваяСтрока = СоставТЧ.Добавить();
НоваяСтрока.СсылкаНаНакладную = Строка.Документ;
НоваяСтрока.АдресДоставки = Строка.Адрес;
НоваяСтрока.Контрагент = Строка.Контрагент;
НоваяСтрока.Мест = Строка.Мест;
НоваяСтрока.Вес = Строка.Вес;
КонецЦикла;
//получаем форму и открываем ее
ФормаМаршрутныйЛист = НовыйМЛ.ПолучитьФорму("ФормаДокумента",ЭтаФорма,);
ФормаМаршрутныйЛист.Открыть();
КонецПроцедуры
Все нормально работает за исключением присвоения нового номера.
При первом выполнении кода номер нового документа ставится 0001, дальше закрываем документ НЕ сохраняя и выполняем код повторно. И вот номер документа уже 0002 и так по нарастающей. Сейчас в базе ни одного документа МаршрутныйЛист, а номер новому присваивается уже 0010. Что я не так делаю?
(1) без УстановитьНовыйНомер() поведение аналогичное что и с ним
(3) в типовых идет в приоткытии()
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект,,)
попробовал у себя:
//заполняем шапку
НовыйМЛ.Дата = Дата;
//НовыйМЛ.УстановитьНовыйНомер();
ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(НовыйМЛ,,);
(4) В типовых еще много чего есть. Например, процедура Печать(). Она имеет примерно такое же отношение к установке номера, как ЗаполнитьШапкуДокумента() или мой левый носок. СлабО глазками посмотреть, когда в типовом документе номер появляется?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший