0
K1RSAN
26.04.19
✎
13:51
|
В общем, надо реализовать момент, что в зависимости от вида движения в данной строке в табличной части, например, приход обнулялся становился недоступен для редактирования, и наоборот. Решено было использовать обработчик "ОбработкаВыбора" и "ПриАктивизацииСтроки". При выборе строки все нормально работает. НО при таком коде после изменения вида движения с прихода на расход сразу "обнуление" не срабатывает, а только при перевыборе строки. Если убрать комментарий во второй ветке ветвения - почему-то значение вида движения вообще не меняется. Не могу понять в чем проблема
&НаКлиенте
Процедура ДвижениеВидДвиженияДСОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
ТекСтрока = Элементы.Движение.ТекущиеДанные;
Если ВыбранноеЗначение.Пустая() Тогда
ТекСтрока.Приход.Доступность = Ложь;
ТекСтрока.Расход.Доступность = Ложь;
ТекСтрока.ПервичныйДокумент.Доступность = Ложь;
Сообщить("Выберите вид движения Денежных средств!");
Иначе
//ВидДвижения = ПолучитьВидДвижения(ВыбранноеЗначение);
//Если ВидДвижения = "1" Тогда
// Элементы.ДвижениеПриход.Доступность = Истина;
// Элементы.ДвижениеРасход.Доступность = Ложь;
// ТекСтрока.Расход = 0;
//ИначеЕсли ВидДвижения = "2" Тогда
// Элементы.ДвижениеПриход.Доступность = Ложь;
// ТекСтрока.Приход = 0;
// Элементы.ДвижениеРасход.Доступность = Истина;
//КонецЕсли;
КонецЕсли;
ДвижениеПриАктивизацииСтроки(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ДвижениеПриАктивизацииСтроки(Элемент)
ТекСтрока = Элементы.Движение.ТекущиеДанные;
ВидДвижения = ПолучитьВидДвижения(ТекСтрока.ВидДвиженияДС);
Если ВидДвижения = "1" Тогда
Элементы.ДвижениеПриход.Доступность = Истина;
Элементы.ДвижениеРасход.Доступность = Ложь;
ТекСтрока.Расход = 0;
ИначеЕсли ВидДвижения = "2" Тогда
Элементы.ДвижениеПриход.Доступность = Ложь;
ТекСтрока.Приход = 0;
Элементы.ДвижениеРасход.Доступность = Истина;
КонецЕсли;
КонецПроцедуры
|
|