В документе Реализация товаров и услуг (перенос УПП-УТ) нужно, чтобы если основного договора контрагента нет, брать договор из базы. Как это реализовать? Сейчас в обработчике события После загрузки - Объект.ДоговорКонтрагента = Объект.Контрагент.ОсновнойДоговорКонтрагента;
Правильно ли будет если в обработчике реквизита написать
Если НЕ ЗначениеЗаполнено(Источник.Контрагент.ОсновнойДоговорКонтрагента) Тогда
Источник.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов;
КонецЕсли;
Правильно ли будет если в обработчике реквизита написать
Если НЕ ЗначениеЗаполнено(Источник.Контрагент.ОсновнойДоговорКонтрагента) Тогда
Источник.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов;
КонецЕсли;
По теме из базы знаний
- Поиск и замена значений. Пример доработки на скорую руку для удобной замены элементов справочника Договоры контрагентов
- Автоматическое создание договоров контрагентов
- Печать договора поставки из справочника "Договоры контрагентов" в MS Word (ERP 2, КА 2, УТ 11)
- Договор поставки для справочника Договоры контрагентов
- Печать договора поставки из справочника Договоры контрагентов в MS Word (БП 3.0)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) sergqwert15, то ли я не понимаю, то ли ты немного недоговариваешь) Давай по порядку: переносишь РТУ из УПП, если у контрагента основного договора нет, "то брать договор из базы": вот немного нужно пояснить этот момент. С помощью "Справочники.ДоговорыКонтрагентов" конкретный элемент (договор) не получишь. Как только немного получше сформулируешь ситуацию - помогу)
В ПКО для реквизита ДоговорКонтрагента перед выгрузкой делаем что-то вроде:
Если НЕ ЗначениеЗаполнено(Источник.ДоговорКонтрагента) Тогда
Если ЗначениеЗаполнено(Источник.Контрагент) И ЗначениеЗаполнено(Источник.Контрагент.ОсновнойДоговорКонтрагента) Тогда
Значение = Источник.Контрагент.ОсновнойДоговорКонтрагента;
Иначе
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДоговорыКонтрагентов.Ссылка КАК Договор
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
| ДоговорыКонтрагентов.Владелец = &Контрагент";
Запрос.УстановитьПараметр("Контрагент", Источник.Контрагент.Ссылка);
// если нужны отборы по виду договора - то сами добавляем...
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
Значение = Результат.Договор;
Иначе
// тут уже сами придумываете...
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Источник.ДоговорКонтрагента) Тогда
Если ЗначениеЗаполнено(Источник.Контрагент) И ЗначениеЗаполнено(Источник.Контрагент.ОсновнойДоговорКонтрагента) Тогда
Значение = Источник.Контрагент.ОсновнойДоговорКонтрагента;
Иначе
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДоговорыКонтрагентов.Ссылка КАК Договор
|ИЗ
| Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
|ГДЕ
| ДоговорыКонтрагентов.Владелец = &Контрагент";
Запрос.УстановитьПараметр("Контрагент", Источник.Контрагент.Ссылка);
// если нужны отборы по виду договора - то сами добавляем...
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
Значение = Результат.Договор;
Иначе
// тут уже сами придумываете...
КонецЕсли;
КонецЕсли;
КонецЕсли;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот