1с найти договор контрагента программно

8.3 БП. Как программно вытащить основной договор контрагента?

Перестала работать обработка. Полез разбираться. В справочнике Контрагенты реквизит ОсновнойДоговор переименован в УдалитьОсновнойДоговор.
В справочнике ДоговорыКонтрагентов также нет соответствующего поля.
В конфигурации теперь можно отметить «Использовать как основной» произвольное количество договоров.
Не понятно и неудобно.

Поясните, пожалуйста, в чем логика и как теперь жить).
Как отметить договор программно «Основным», как выбрать основной договор?
1С:Предприятие 8.3 (8.3.7.1790)
Бухгалтерия предприятия, редакция 3.0 (3.0.43.29)

(2) Xershi, Контрагент=Справочники.Контрагенты.НайтиПоКоду(Код);
НайденныеСтроки = НовыйДокумент.Контрагент
.

НоваяСтрока = НовыйДокумент.РасшифровкаПлатежа.Добавить();
//НоваяСтрока.ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента;

НоваяСтрока.ДоговорКонтрагента= РегистрыСведений.ОсновныеДоговорыКонтрагента.ПолучитьПервое(. а тут не соображу(((((;

(1) JLaikova, а так не сработает?

(13) config,
НоваяСтрока = НовыйДокумент.РасшифровкаПлатежа.Добавить();
ВидДоговора = Новый СписокЗначений;
ВидДоговора.Добавить(Перечисления.ВидыДоговоровКонтрагентов.СПокупателем);
ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(НовыйДокумент,ВидДоговора);
ДОговорКонтрагента = ВидДоговора;
//НоваяСтрока.ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента;
НоваяСтрока.ДоговорКонтрагента = ВидДоговора;

(16) JLaikova, ну там типовая функция есть, которая заполняет именно в ТЧ Расшифровка платежа

МассивВидовДоговоров = Новый Массив;
МассивВидовДоговоров.Добавить(ДоговорКонтрагента);
НайденДОговор = Ложь;

РаботаСДоговорамиКонтрагентовБП.УстановитьДоговорКонтрагента(НовыйДокумент.ДоговорКонтрагента, НовыйДокумент.Контрагент, НовыйДокумент.Организация, МассивВидовДоговоров);
Если НовыйДокумент.ДоговорКонтрагента <> Справочники.ДоговорыКонтрагентов.ПустаяСсылка() Тогда
НайденДоговор = Истина;
КонецЕсли;

//НоваяСтрока.ДоговорКонтрагента = Контрагент.ОсновнойДоговорКонтрагента;
Если НайденДоговор=Истина Тогда
НоваяСтрока.ДоговорКонтрагента=НовыйДокумент.ДоговорКонтрагента;
//Иначе
// НоваяСтрока.ДоговорКонтрагента= НовДок.ДоговорКонтрагента.ВидДоговора.Пустая();
КонецЕсли;
Вот может кому пригодится. Решение нашлось! Всем спасибо за участие.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с назначить тип реквизиту формы
  • 1с на сервере обычные формы