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

Тема в разделе "1C и всё что с ней связано", создана пользователем cacti, 2 июн 2010.

  1. cacti

    cacti Гость

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

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

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    И правильно, что не работает сейчас.

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

    cacti Гость

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

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

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

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

    Darlock Well-Known Member
    1C Team

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

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

    cacti Гость

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


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


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

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

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

    Darlock Well-Known Member
    1C Team

    Регистрация:
    4 янв 2008
    Сообщения:
    558
    Симпатии:
    0
    1) Не обязательно дописывать "ссылка". Документ у вас и так будет ссылкой. Получается что

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

    cacti Гость

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

Поделиться этой страницей