Здравствуйте,
Такой вопрос, у меня на форме есть список значений, обработана процедура при активизации ячейки после, когда выбираешь одно значение, заполняются поля табличной части.
Но с таким нюансом столкнулся, что при создании, открытии, всегда у моей первой строки таб части заполняется значение из списка, не важно был записан или нет, всегда берется первое значение списка и заполняется таблица, будто выбор значения из списка происходит без участия пользователя, как это обойти?
Вот мой код
Такой вопрос, у меня на форме есть список значений, обработана процедура при активизации ячейки после, когда выбираешь одно значение, заполняются поля табличной части.
Но с таким нюансом столкнулся, что при создании, открытии, всегда у моей первой строки таб части заполняется значение из списка, не важно был записан или нет, всегда берется первое значение списка и заполняется таблица, будто выбор значения из списка происходит без участия пользователя, как это обойти?
Вот мой код
&НаСервере
Процедура ПриСозданииНаСервереПеред(Отказ, СтандартнаяОбработка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ИнтервалыВремени.Ссылка КАК Ссылка
|ИЗ
| Справочник.ИнтервалыВремени КАК ИнтервалыВремени";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ИнтервалСписок.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
КонецЦикла;
КонецПроцедуры
Процедура ОбработкаМаршрута(Маршрут, интервалстр)
Если интервалстр = Неопределено тогда
Возврат;
КонецЕсли;
Маршрутстр = Объект.АдресаМаршрута[Маршрут];
Маршрутстр.ВремяОт = Дата("00010101") + 3600 * интервалстр.ЧасС;
Маршрутстр.ВремяДо = Дата("00010101") + 3600 * интервалстр.ЧасПо;
КонецПроцедуры
&НаКлиенте
Процедура ИнтервалСписокПриАктивизацииЯчейкиПосле(Элемент)
Элементы.ИнтервалСписок.ВыделенныеСтроки.Очистить();
текданныеМаршрута = Элементы.АдресаМаршрута.ТекущиеДанные;
Если текданныеМаршрута = Неопределено тогда
Возврат;
КонецЕсли;
//
текданныеИнтервала = Элементы.ИнтервалСписок.ТекущиеДанные;
Если текданныеИнтервала = Неопределено ИЛИ текданныеИнтервала.Значение = Неопределено тогда
Возврат;
КонецЕсли;
//
ОбработкаМаршрута(текданныеМаршрута.НомерСтроки-1, текданныеИнтервала.Значение);
КонецПроцедуры
ПоказатьПо теме из базы знаний
- Поиск значений в табличной части документов
- Новые сказки о старом или как поймать событие «При активизации строки» в 1С: 7.7
- Простые радости жизни программиста 1С: выбор типа значения
- Открыть форму внутри другой формы - наконец-то возможно!
- Флажки в динамическом списке с картинками и одинарным кликом, простой вариант
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот