Всем привет
Делаю отбор адресов доставки по контрагенту. Открывается форма, но при выборе адреса - в строке пусто. если закоментить
СтандартнаяОбработка = Ложь то открывается стандартная форма но без отбора и при выборе адреса - строчка заполняется. Что я делаю не так, подскажите пожалуйста
Делаю отбор адресов доставки по контрагенту. Открывается форма, но при выборе адреса - в строке пусто. если закоментить
СтандартнаяОбработка = Ложь то открывается стандартная форма но без отбора и при выборе адреса - строчка заполняется. Что я делаю не так, подскажите пожалуйста
СтандартнаяОбработка = Ложь;
ФормаВыбора = Справочники.АдресаДоставки.ПолучитьФормуВыбора("ФормаСписка", ЭтаФорма,);
Контр = ТекущийЭлемент.ТекущиеДанные.Грузополучатель;
КодКонтр = ТекущийЭлемент.ТекущиеДанные.Грузополучатель.Код;
ФормаВыбора.Отбор.Тип.ВидСравнения = ВидСравнения.Равно;
ФормаВыбора.Отбор.Объект.Значение = Справочники.Контрагенты.НайтиПоКоду(КодКонтр);
ФормаВыбора.Отбор.Объект.Использование = ИСТИНА;
ФормаВыбора.РежимВыбора = ИСТИНА;
ФормаВыбора.Открыть();
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Была аналогичная задача. Вот так может быть нужно.
Предполагаю, тоже нужно сделать подбор (тут в стандартной УТ 10.3.30.2 вашего справочника нет, увы). Для иллюстрации, допустим нужно открыть с кодами от 0 до 10 и открыть на коде 2
Процедура ПолеАдресаНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; // обязательно. Откроем программно!
ЭлементыФормы.ПолеАдреса.Значение = ""; // Вне зависимости от результата вначале
Если НЕ ПроверитьЗаполнение() Тогда
ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.Контрагент; // Установим фокус ввода на
Возврат;
КонецЕсли;
// проблемный код (подправлен) для отбора по коду число от 0 до 10
ФормаВыбора = Справочники.АдресныеСокращения.ПолучитьФормуВыбора("ФормаСписка", ЭтаФорма,);
Контр = ЭлементыФормы.Контрагент.Значение;
ФормаВыбора.Отбор.Код.ВидСравнения = ВидСравнения.МеньшеИлиРавно;
ФормаВыбора.Отбор.Код.Значение = 10; // Это код справочника "АдресныеСокращения" тип число
ФормаВыбора.Отбор.Код.Использование = ИСТИНА;
ФормаВыбора.РежимВыбора = ИСТИНА;
// До открытия
ФормаВыбора.НачальноеЗначениеВыбора = Справочники.АдресныеСокращения.НайтиПоКоду("2"); // При открытии подчиненная форма откроется на нужном элементе
//
ФормаВыбора.Открыть();
КонецПроцедуры
// Событие обычной формы
Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)
ЭлементыФормы.ПолеАдреса.Значение = ЗначениеВыбора;
КонецПроцедуры
ПоказатьПредполагаю, тоже нужно сделать подбор (тут в стандартной УТ 10.3.30.2 вашего справочника нет, увы). Для иллюстрации, допустим нужно открыть с кодами от 0 до 10 и открыть на коде 2
Это решение
Может зацепиться в Вашей нетиповой конфигурации за что угодно из обработчиков.
Из справки:
А вот как Вы описали Вашу ситуацию непонятно почему. Посмотрите что у Вас в отладчике в этот обработчике
Из справки:
Форма (Form)
ОбработкаВыбора (ChoiceProcessing)
Синтаксис:
ОбработкаВыбора(<ЗначениеВыбора>, <Источник>)
Параметры:
<ЗначениеВыбора>
Тип: Произвольный.
Результат выбора в подчиненной форме. В случае множественного выбора возвращается массив выбранных значений.
<Источник>
Тип: Произвольный.
Форма - источник события.
Описание:
Возникает при выборе объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода ОповеститьОВыборе.
См. также:
Форма, метод ОповеститьОВыборе
ПоказатьОбработкаВыбора (ChoiceProcessing)
Синтаксис:
ОбработкаВыбора(<ЗначениеВыбора>, <Источник>)
Параметры:
<ЗначениеВыбора>
Тип: Произвольный.
Результат выбора в подчиненной форме. В случае множественного выбора возвращается массив выбранных значений.
<Источник>
Тип: Произвольный.
Форма - источник события.
Описание:
Возникает при выборе объекта в одной из подчиненных форм или при вызове в одной из подчиненных форм метода ОповеститьОВыборе.
См. также:
Форма, метод ОповеститьОВыборе
А вот как Вы описали Вашу ситуацию непонятно почему. Посмотрите что у Вас в отладчике в этот обработчике
Это решение
Внимание! Не забывайте отмечать решение на ваш вопрос, если оно найдено. Это повысит ваш рейтинг на форуме.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот