Имя: Пароль:
1C
1C 7.7
v7: Документ. Удаление строки.
,
0 Slim747
 
12.09.14
11:35
Добрый день. Не могу разобраться.
Есть документ. В его многострочной части,к примеру, 3 строки. Удаляем любую.Чтобы отловить действие удаления, пишу процедуру ПриУдаленииСтроки(). В ней проверяю количество оставщихся строк. Показывает всеравно 3. Подскажите в чем затык?
1 lxndr
 
12.09.14
11:39
v7.7?
2 silent person
 
12.09.14
11:44
(0) В момент вызова процедуры строка еще присутствует в ТЧ, т.к. в этой процедуре еще можно отменить удаление строки.
3 Slim747
 
12.09.14
11:46
Может существует какая-нибудь другая предопределенная процедура?
4 пипец
 
12.09.14
11:47
(0) повесить функцию на форму
5 lxndr
 
12.09.14
11:47
6 Slim747
 
12.09.14
12:00
В соседней теме вычитал следующее:

Наверное оптимально повесить на форму текстовое поле, сунуть в форму ПроверкаУдаленияСтроки() и написать что-то типа этого:
Перем фУдалялиСтроку;
...
Процедура ПриУдаленииСтроки()
  фУдалялиСтроку = 1;
КонецПроцедуры

Процедура ПроверкаУдаленияСтроки
Если фУдалялиСтроку = 1 Тогда
    глПересчитатьЧтоТо(Контекст);
   фУдалялиСтроку = 0;
КонецЕсли;
КонецПроцедуры

Не особо понял про текстовое поле. Его на форму нужно добавлять или в многострочную часть. И куда именно нужно добавлять процедуру ПроверкаУдаленияСтроки()?
7 Fedor-1971
 
12.09.14
12:13
(6) суть этого алгоритма: после удаления строки из ТЧ нужно обновить некоторые значения самого документа, что и делается в глПересчитатьЧтоТо(Контекст).
  Текстовый реквизит с функцией на форме нужен для проверки флага фУдалялиСтроку = 1 (удаляли строку, тогда дёрнемся пересчитывать, не удаляли сидим и ждём когда удалят)