Имя: Пароль:
1C
1С v8
Как вытащить договор контрагента
0 Chuchi
 
19.07.11
15:46
в обработке создаю документ реализации и передаю туда данные с формы
НоваяРеализация=Документы.РеализацияТоваровУслуг.СоздатьДокумент();
НоваяРеализация.Дата=Дата;
НоваяРеализация.ВидОперации=Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;
НоваяРеализация.Организация=Организация2;
НоваяРеализация.Контрагент=Контрагент3;

Дошло дело до заполнения поля Договор

Запрос3 = Новый Запрос();
Запрос3.Текст =
    "  ВЫБРАТЬ
   | ДоговорыКонтрагентов.Ссылка
|ИЗ
   | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
   | ДоговорыКонтрагентов.Владелец = &Владелец
   | И ДоговорыКонтрагентов.Организация = &Организация";
Запрос3.УстановитьПараметр("Владелец", Контрагент3);
Запрос3.УстановитьПараметр("Организация", Организация2);
   
РезультатЗапроса = Запрос3.Выполнить();
   
Если РезультатЗапроса.Пустой() Тогда
Сообщить ("Нет договоров");
Иначе Сообщить ("Есть ");        НоваяРеализация.ДоговорКонтрагента=Контрагент3.ОсновнойДоговорКонтрагента;
КонецЕсли;

Надо проверить есть ли договор с контрагентом от конкретной организации если есть то подставить его если нет то создать новый..
Подскажите пожалуйста как создать новый в случае его отсутствия и почему у меня все таки не подставляется основной договор если он имеется, т.е. строка
НоваяРеализация.ДоговорКонтрагента=Контрагент3.ОсновнойДоговорКонтрагента;
не работает(
1 Eugene_life
 
19.07.11
15:50
(0) А этот договор у тебя только называется "Основной" или является Основным? По теме -
Если РезультатЗапроса.Пустой() Тогда
Сообщить ("Нет договоров");
Иначе Сообщить ("Есть ");        НоваяРеализация.ДоговорКонтрагента=РезультатЗапроса.Ссылка;
КонецЕсли;
2 sergey yevsenya
 
19.07.11
15:52
(1) наверно, сначала все таки Выбрать(), а потом НоваяРеализация.ДоговорКонтрагента = выборка.Ссылка
3 1C_OOLer
 
19.07.11
15:53
(0) смысл запроса, если ОсновнойДоговорКонтрагента?)
4 Sarmen
 
19.07.11
16:02
(3) в данном случае - основной договор у контрагента может быть, но он не по выбранной организации...
5 Sarmen
 
19.07.11
16:03
видимо поэтому он пытается выбрать договор сначала запросом с указанием конкретной организации...
тогда в чём смысл реквизита "ОсновнойДоговорКонтрагента"?
6 hhhh
 
19.07.11
16:05
(4) ну в типовых такое повсеместно, почему чучхе нельзя?
7 1C_OOLer
 
19.07.11
16:05
Контрагенты - ФормаЭлемента - Процедура ПроверитьОсновнойДоговорКонтрагента()

ТС, смотри тут
8 Chuchi
 
19.07.11
22:14
(1) он основной, и самое интересное ведь при создании нового контрагента сразу основной договор создается, почему обработка его не видит не понятно..
(4) Кстати тоже да, еще не успела протестировать такой вариант(
(1) и (2) попробовала код но тоже не вышло(
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший