Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Форма выбора договора контрагента
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
meverikxp
Здравствуйте, подскажите как программно подтянуть договор контрагента по организации в форму. Спасибо!

ЗЫ. У меня УТ 8.1.
Ardi
как программно
В карточке контрагента назначить его основным.
logist
Если договор один:
Договор = Справочники.Договора.НайтиПоРеквизиту("Организация",Организация,,Контрагент);

Если договоров больше, то надо как-то определить условия какой-именно надо, и построить запрос который будет выбирать первый попавшийся из найденных. Посмотрите типовые, там правда несколько запутанно организовано (для простого восприятия), но в сути там есть сам запрос.
meverikxp
Цитата(logist @ 26.01.11, 23:52) необходимо зарегистрироваться для просмотра ссылки
Если договор один:
Договор = Справочники.Договора.НайтиПоРеквизиту("Организация",Организация,,Контрагент);

Если договоров больше, то надо как-то определить условия какой-именно надо, и построить запрос который будет выбирать первый попавшийся из найденных. Посмотрите типовые, там правда несколько запутанно организовано (для простого восприятия), но в сути там есть сам запрос.

Я пробовал таким способом:
Форма = Справочники.ДоговорыКонтрагентов.ПолучитьФормуВыбора();
    Форма.Отбор.Владелец.Установить(Заказчик);
    Форма.Открыть();

Но этот отбор работает только с кнопкой, а с полем выбора с типом Справочник.Ссылка.ДоговораКонтрагентов нет.
А с помощью какой процедуры можно использовать Ваш совет?
logist
Цитата(meverikxp @ 26.01.11, 23:42) необходимо зарегистрироваться для просмотра ссылки
а с полем выбора с типом Справочник.Ссылка.ДоговораКонтрагентов нет.

указать это в первом сообщении конечно же нельзя было?

В этом случае в обработке действий поля "НачалоВыбора" надо создать процедуру типа:
СтандартнаяОбработка = Ложь;
Форма = Справочники.ДоговорыКонтрагентов.ПолучитьФормуВыбора();
Форма.Отбор.Владелец.Установить(Заказчик);
Форма.Открыть();

ну и дописать обработку самого выбора.

!! я написал в общих чертах
p.s. а чем не устраивают стандартные механизмы?
meverikxp
Цитата
p.s. а чем не устраивают стандартные механизмы?

Меня устраивают, просто не знаю как их подключить, если подскажите буду благодарен.
logist
То, что делает Ваша процедура замечательно настраивается в свойствах поля, укажите "Форму выбора" и "Связь по владельцу".

Цитата(meverikxp @ 27.01.11, 0:04) необходимо зарегистрироваться для просмотра ссылки
просто не знаю как их подключить, если подскажите буду благодарен.

Посмотрите как это реализовано в каком-то документе, в Заказе покупателя например.

p.s. а вообще Вы вначале указали что надо "программно" подтянуть, а пытаетесь вызвать форму выбора, что же нужно на самом деле???
meverikxp
Цитата(logist @ 27.01.11, 1:06) необходимо зарегистрироваться для просмотра ссылки
То, что делает Ваша процедура замечательно настраивается в свойствах поля, укажите "Форму выбора" и "Связь по владельцу".


Посмотрите как это реализовано в каком-то документе, в Заказе покупателя например.

p.s. а вообще Вы вначале указали что надо "программно" подтянуть, а пытаетесь вызвать форму выбора, что же нужно на самом деле???

Мне просто нужно заполнить поле договор, я сделал с помощью свойства формы и на самом деле получилось. Еще бы сделать так что бы при открытии формы сразу установился отбор по организации, а при изменении контрагента в поле договор присваивался договор первый в списке по контрагенту и организации, вот в принципе и все
logist
Рулите стандартный механизм. Велосипед уже изобрели.
Сложного ничего нет, там две маленькие процедуры, смотрите на типовых документах.
meverikxp
Цитата(logist @ 27.01.11, 1:29) необходимо зарегистрироваться для просмотра ссылки
Рулите стандартный механизм. Велосипед уже изобрели.
Сложного ничего нет, там две маленькие процедуры, смотрите на типовых документах.

ОК
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.