• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

cacti

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

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

Darlock

И правильно, что не работает сейчас.

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

4) Записываете объект
Код:
	Объект.Записать();
 
C

cacti

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

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

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

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

Darlock

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

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

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

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

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

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

P.S. прочитайте еще раз внимательно предыдущее сообщение.
 
C

cacti

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


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


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

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

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

Darlock

ДокументРезОбъект.Заказ =Документ.Ссылка;

1) Не обязательно дописывать "ссылка". Документ у вас и так будет ссылкой. Получается что

Код:
ДокументРезОбъект.Заказ =Ссылка.Ссылка;

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

3) Почитайте Синтаксис-помощник, там много интересного написано.
 
C

cacti

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!