Имя: Пароль:
1C
1С v8
посчитать табчасть автоматически
0 ittaxi
 
18.05.17
17:31
В общем есть четыре колонки ВыручкаНал, ВыручкаБезНал, ВыручкаВсего, НачисленоПоВыручке. В табличном документе.

Вопрос как можно автоматически менять НачисленоПоВыручке из колонки ВыручкаВсего. Каким событием?

пока делаю через ВыручкаНал и ВыручкаБезНал,  как бы все работает но код дублируется и все такое.


&НаКлиенте
Процедура ТабличнаяЧастьСменаВодителейВыручкаНалПриИзменении(Элемент)
    СтрокаТабличнойЧасти = Элементы.ТабличнаяЧастьСменаВодителей.ТекущиеДанные;
    СтрокаТабличнойЧасти.ВыручкаВсего = СтрокаТабличнойЧасти.ВыручкаНал + СтрокаТабличнойЧасти.ВыручкаБезнал;
    


    выручкаВсего = СтрокаТабличнойЧасти.ВыручкаВсего;
    Если ВыручкаВсего >= 7000 Тогда
            начисленоПоВыручке = ВыручкаВсего*50/100;
        Иначе    
            начисленоПоВыручке = ВыручкаВсего*40/100;
    КонецЕсли;    
    СтрокаТабличнойЧасти.НачисленоПоВыручке = начисленоПоВыручке;
КонецПроцедуры
1 polosov
 
18.05.17
17:34
(0) Вынести расчет в общий модуль.
2 Ёпрст
 
18.05.17
17:42
заводишь одну процу, её вызываешь во всех событиях. Параметром передаешь текущую строку таб части. Усё
3 ittaxi
 
18.05.17
17:43
(1) Я вопрос не правильно задал наверное. В общем если 1 и 2 колонки сложить то значение в 3 колонке.
четвертую посчитать из значения 3. но так как в 3 колонку значение из сложения 1 и 2 колонки то нет события типа приИзменении в 3 колонке.
4 Ц_У
 
18.05.17
17:49
(3) не слушай их, тебе нужна процедура ПриОкончанииРедактирования в ней Элемент.Родитель.ТекущиеДанные (может быть без родителя) и расчитывай
5 Ц_У
 
18.05.17
17:57
(3)
//не пиши так больше никогда
СтрокаТабличнойЧасти = Элементы.ТабличнаяЧастьСменаВодителей.ТекущиеДанные

//пиши так
СтрокаТабличнойЧасти = Элемент.Родитель.ТекущиеДанные

//может быть и без родителя, смотря кто где кого..
СтрокаТабличнойЧасти = Элемент.ТекущиеДанные
6 ittaxi
 
18.05.17
18:00
(4) ПриОкончанииРедактирования я такого не нашел
есть в свойствах колонки ОкончаниеВводаТекста
Вызывается после ввода текста при сходе с элемента управления
ОкончаниеВводаТекста, TextEditEnd
Может это?
7 ittaxi
 
18.05.17
18:02
(5) нашел попробую

Расширение поля формы для поля планировщика (Form field extension for a planner)
ПриОкончанииРедактирования (OnEditEnd)
Синтаксис:

ПриОкончанииРедактирования(<НовыйЭлемент>, <ОтменаРедактирования>)
Параметры:

<НовыйЭлемент>

Тип: Булево.
Признак указывает, что был создан новый элемент, а не редактировался существующий.
<ОтменаРедактирования>

Тип: Булево.
Установка данного параметра в Истина приведет к отмене изменения элемента планировщика.
Значение по умолчанию: Ложь.
Описание:

Вызывается при окончании интерактивного редактировании элемента планировщика. Если был создан новый элемент, НовыйЭлемент будет равен Истина. Элементы, над которыми выполнялось действие, можно получить с помощью свойства ВыделенныеЭлементы поля.
8 Ц_У
 
18.05.17
18:07
(7) это событие все ТЧ а не ее элементов
9 Ц_У
 
18.05.17
18:08
(8) всей*