Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Недоступность изменения значения ячейки в табличной части документа (для отдельной строки)

Недоступность изменения значения ячейки в табличной части документа (для отдельной строки)
Я
   K1RSAN
 
26.04.19 - 13:51
В общем, надо реализовать момент, что в зависимости от вида движения в данной строке в табличной части, например, приход обнулялся становился недоступен для редактирования, и наоборот. Решено было использовать обработчик "ОбработкаВыбора" и "ПриАктивизацииСтроки". При выборе строки все нормально работает. НО при таком коде после изменения вида движения с прихода на расход сразу "обнуление" не срабатывает, а только при перевыборе строки. Если убрать комментарий во второй ветке ветвения - почему-то значение вида движения вообще не меняется. Не могу понять в чем проблема

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

&НаКлиенте
Процедура ДвижениеПриАктивизацииСтроки(Элемент)
    
    ТекСтрока = Элементы.Движение.ТекущиеДанные;
    ВидДвижения = ПолучитьВидДвижения(ТекСтрока.ВидДвиженияДС);
    Если ВидДвижения = "1" Тогда
        Элементы.ДвижениеПриход.Доступность = Истина;
        Элементы.ДвижениеРасход.Доступность = Ложь;
        ТекСтрока.Расход = 0;
    ИначеЕсли ВидДвижения = "2" Тогда
        Элементы.ДвижениеПриход.Доступность = Ложь;
        ТекСтрока.Приход = 0;
        Элементы.ДвижениеРасход.Доступность = Истина;            
    КонецЕсли;
    
КонецПроцедуры
 
 
   sqr4
 
1 - 26.04.19 - 14:01
При начале редактирования же вроде решили
   K1RSAN
 
2 - 26.04.19 - 14:04
(1) Спасибо, попробую

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует