Как заполнить поле Заказ в Документе РезервированиеТовара?

  • Автор темы cacti
  • Дата начала
C

cacti

#1
Подскажите пожалуйста. как сделать та чтобы заполнился заказ на основании документа ЗаказПокупателя?
так не получается

ДокументЗаказ = Документы.ЗаказПокупателя.НайтиПоНомеру("");
ДокументРезОбъект.Заказ =ДокументЗаказ.Ссылка;
 

Darlock

Well-known member
04.01.2008
560
1
#2
И правильно, что не работает сейчас.

1) Если вы ищите существующий документ, то первая строка относительно правильная (номера не хватает только). Если нашли, то ПОЛУЧАЕМ объект иначе у вас будет только ссылка на документ (ярлык)
2) Если новый создаете, то необходимо СОЗДАТЬ документ
Код:
Объект = Документы.Заказ.СоздатьДокумент();
3) После того как определили какой заказ заполняете, вызываете обработчик заполнения нового документа
Код:
Объект.Заполнить(ЗаказПокупателя);
4) Записываете объект
Код:
	Объект.Записать();
 
C

cacti

#3
номер есть))я просто его не написала..

ДокументРезОбъект = Документы.РезервированиеТоваров.СоздатьДокумент();

ДокументЗаказ = Документы.ЗаказПокупателя.НайтиПоНомеру("00000000001");
ДокументРезОбъект.Заказ =ДокументЗаказ.Ссылка;

новый документ создавать не надо. вообще заказ покупателя уже есть и на основе него нужно заполнить документ резервирование товара, а точнее поле Заказ.
 

Darlock

Well-known member
04.01.2008
560
1
#4
номер есть))я просто его не написала..

ДокументРезОбъект = Документы.РезервированиеТоваров.СоздатьДокумент();

ДокументЗаказ = Документы.ЗаказПокупателя.НайтиПоНомеру("00000000001");
ДокументРезОбъект.Заказ =ДокументЗаказ.Ссылка;

новый документ создавать не надо. вообще заказ покупателя уже есть и на основе него нужно заполнить документ резервирование товара, а точнее поле Заказ.
1) А где получение объекта?
Код:
ДокументРезОбъект=ДокументЗаказ.ПолучитьОбъект();
2) а если система не найдет по номеру? где обработка исключения (проверка, что ссылка существует)?

Код:
Если ДокументЗаказ <> Неопределено Тогда
ДокументРезОбъект=ДокументЗаказ.ПолучитьОбъект();
ДокументРезОбъект.Заказ =ДокументЗаказ;
ДокументРезОбъект.Записать();
КонецЕсли;
P.S. прочитайте еще раз внимательно предыдущее сообщение.
 
C

cacti

#5
Спасибо у меня получилось ;)


ДокументЗаказ = Документы.ЗаказПокупателя.НайтиПоНомеру("00000000001", '20100206');
Документ = ДокументЗаказ.ПолучитьОбъект();
ДокументРезОбъект.Заказ =Документ.Ссылка;


А как сделать чтобы он искал не по заданному номеру, а по номеру который соответствует номеру документа РезервированиеТоваров.

Номер = ДокументРезОбъект.Номер;
ДокументЗаказ = Документы.ЗаказПокупателя.НайтиПоНомеру(Номер);

Так не получается((
 

Darlock

Well-known member
04.01.2008
560
1
#6
ДокументРезОбъект.Заказ =Документ.Ссылка;
1) Не обязательно дописывать "ссылка". Документ у вас и так будет ссылкой. Получается что

Код:
ДокументРезОбъект.Заказ =Ссылка.Ссылка;
2) "НайтиПоНомеру" - искать по номеру именно тот документ который указан после "Документы."
Код:
НайтиПоРеквизиту(ИмяРеквизита, ЗначениеРеквизита);
3) Почитайте Синтаксис-помощник, там много интересного написано.
 
C

cacti

#7
все получилось)) большое спасибо..без вашей помощи я бы долго еще копалась.. :)