![]() |
![]() |
![]() |
|
ПослеУдаленияСтроки() в 1С 7.7 | ☑ | ||
---|---|---|---|---|
0
siggoron
17.06.11
✎
18:53
|
как реализовать в 1С 7.7 механизм который осуществляет обработку после удаления строки табличной части. попробовал совет ФормаДокумента: ПриУдаленииСтроки , но форма ругается что процедура вызывается как форма, что делать?
|
|||
1
NS
17.06.11
✎
18:54
|
Процедура ПриУдаленииСтроки()
КонецПроцедуры Сегодня ДенисЧ чёто разошелся... |
|||
2
siggoron
17.06.11
✎
18:56
|
так эт не то что надо, т.к. во время этой процедуры ТЧ считается полной(
|
|||
3
NS
17.06.11
✎
18:59
|
(2) Тогда текст с процедурой на форму. он автоматом выполнится после удалении строки.
перем удаленастрока; Процедура ПриУдаленииСтроки() удаленастрока=1; КонецПроцедуры Функция ВиситНаТвоемТексте() Если удаленастрока=1 тогда Запускаешь(); удаленастрока=0; КонецЕсли; Возврат ""; КонецФункции удаленастрока=0; |
|||
4
NS
17.06.11
✎
19:00
|
(2) Блин, в предыдущей ветке ведь (3) написано.
|
|||
5
NS
17.06.11
✎
19:02
|
Всё понял. У тебя метод там вызывается который нельзя вызывать из форм диалога...
перем удаленастрока; Процедура ПриУдаленииСтроки() удаленастрока=1; Форма.Закрыть(0); КонецПроцедуры Процедура ПриЗакрытии() Если удаленастрока=1 тогда Запускаешь(); удаленастрока=0; статусвозврата(0); возврат; КонецЕсли; КонецФункции удаленастрока=0; |
|||
6
siggoron
17.06.11
✎
19:03
|
(4) так вот не получается ошибку выдает, может не верно текст на форму положил?
|
|||
7
NS
17.06.11
✎
19:05
|
(6) см (3) Это должна быть функция, заголовок текста убираешь, в дополнительно прописываешь её.
|
|||
8
siggoron
17.06.11
✎
19:05
|
(5) "Всё понял. У тебя метод там вызывается который нельзя вызывать из форм диалога...", метод в процедуре?
|
|||
9
NS
17.06.11
✎
19:08
|
(8) Для начала см. 7
Ругань звучит как что-то там форм диалогов? Если нет, то на (5) забей. |
|||
10
siggoron
17.06.11
✎
19:18
|
(9) другая ругань, но всё равно не выходит, чё такое понять не могу(
|
|||
11
Cthulhu
17.06.11
✎
19:19
|
(10): так и говорит - "на вот тебе ДРУГУЮ РУГАНЬ"?..
|
|||
12
siggoron
17.06.11
✎
19:22
|
ругани вообще нет, только вот, в чем проблема, всё работает так как надо функция вызывается, но и она считает что удаленная строка существует
|
|||
13
NS
17.06.11
✎
19:23
|
Процедура ПриУдаленииСтроки()
удалитьстроку(); статусвозврата(0); твояпроцедура(); КонецПроцедуры Короче - так будет проще. |
|||
14
Ахиллес
17.06.11
✎
19:25
|
(0) Что ты сделать то пытаешься после удаления строки?
|
|||
15
Cthulhu
17.06.11
✎
19:25
|
// (12): ну тогда попробуй
перем удаленастрока; Процедура ПриУдаленииСтроки() удаленастрока=1; КонецПроцедуры Функция ВиситНаТвоемТексте() Если удаленастрока=1 тогда Форма.Закрыть(0); КонецЕсли; Возврат ""; КонецФункции Процедура ПриЗакрытии() Если удаленастрока=1 тогда Запускаешь(); удаленастрока=0; статусвозврата(0); возврат; КонецЕсли; КонецФункции удаленастрока=0; |
|||
16
Cthulhu
17.06.11
✎
19:25
|
(13): тогда в приудалениистроки не надо статусвозврата(0)?..
|
|||
17
NS
17.06.11
✎
19:26
|
(16)
Как-же? Я же сам удалил строку, штатное удаление я же должен отменить? |
|||
18
siggoron
17.06.11
✎
19:26
|
(14) Перебрать оставшиеся строки и определенным из них установить значения
|
|||
19
Ахиллес
17.06.11
✎
19:32
|
Блин, ну откройте уже любую типовую конфигурацию и посмотрите, как она пересчитывает после удаления строки в документе... пипец просто какой то...
(18)глПересчетТаблЧасти(Контекст,Форма.ТекущаяКолонка()) повешеная на табличную часть ни на что не намекает? |
|||
20
Cthulhu
17.06.11
✎
19:32
|
(17): а. етить. я думал ты это в призакрытии!..
|
|||
21
siggoron
17.06.11
✎
19:34
|
(19) ну..., разъясни
|
|||
22
siggoron
17.06.11
✎
19:38
|
(19) нет у меня возможности просмотреть эт функцию
|
|||
23
Ахиллес
17.06.11
✎
19:38
|
Прогнал, при удалении строки она не вызывается. Зато чудненько вызываются процедуры которые пересчитывают итог по документу и рисуют результат на форме.
|
|||
24
siggoron
17.06.11
✎
19:41
|
всё никак, всё не то, чё делать...
|
|||
25
Ахиллес
17.06.11
✎
19:46
|
(24) НА ФОРМУ ДОКУМЕНТА кидаешь объект "текст" ему в "формулу" пишешь ПересчТЧ()
В модуле формы документа: Функция ПересчТЧ() возврат(КоличествоСтрок()); КонецФункции Ферштейн? |
|||
26
siggoron
17.06.11
✎
19:47
|
Всё сделал как в (3), ошибок никаких нет, но при просмотре в отладчике вот такая хрень;
функция привинченная к форме вызывается при удалении элемента минимум 2 раза, в итоге первый раз значение говорит о том что строки удалялись но количество строк в ТЗ не изменилось, второй раз уже значение говорит о том что строки не удалялись (0) а количество строк уменьшено на единицу. И чё эт такое??? |
|||
27
siggoron
17.06.11
✎
19:48
|
(25) и...
|
|||
28
Ахиллес
17.06.11
✎
19:53
|
(27) Формулы повешеные на форме дёргаются при каждом чихе. Она может и десять раз вызватся и сто раз, если юзер будет просто возить мышкой по экрану и тыкать куда не попадя. Запоминай например промежуточную сумму документа и вставляй проверку если итог по табличной части изменился, тогда из этой функции вызываешь свою процедуру и восстанавливаешь флаг неизменности. NS всё тебе разжевал, что у тебя не получается не понятно.
|
|||
29
siggoron
17.06.11
✎
19:57
|
(28) ОГРОМНОЕ спасибо!!! Вот что я сделал и всё получилось:
кинул объект "текст" присвоел ему идентификатор "ААА" в "формулу" написал ПересчТЧ() В модуле формы документа прописал: Функция ПересчТЧ() Если Число(AAA) <> Число(КоличествоСтрок()) Тогда МояПроцедура(); КонецЕсли; Возврат(КоличествоСтрок()); И ВСЁ ЗАРАБОТАЛО))))))))))))))))))))) КонецФункции |
|||
30
siggoron
17.06.11
✎
19:59
|
(28) ОГРОМНОЕ спасибо!!! Вот что я сделал и всё получилось:
кинул объект "текст" присвоел ему идентификатор "ААА" в "формулу" написал ПересчТЧ() В модуле формы документа прописал: Функция ПересчТЧ() Если Число(AAA) <> Число(КоличествоСтрок()) Тогда МояПроцедура(); КонецЕсли; Возврат(КоличествоСтрок()); КонецФункции И ВСЁ ЗАРАБОТАЛО))))))))))))))))))))) |
|||
31
Cthulhu
17.06.11
✎
20:02
|
(30): а (15) не работает?
(а чтио такое "ААА"???) |
|||
32
siggoron
17.06.11
✎
20:03
|
(31) сравни объём кода)
"ААА" - я такой идентификатор текстовому полю на форме присвоел) |
|||
33
Табуретко
23.06.11
✎
12:29
|
проверка
+ Code //==== проверка ======== |
|||
34
andrewks
23.06.11
✎
12:34
|
(33) это чо?
|
|||
35
Табуретко
23.06.11
✎
12:35
|
проверка
//======== проверка ======== |
|||
36
Табуретко
23.06.11
✎
12:35
|
да что за тег у них "Code"?
|
|||
37
andrewks
23.06.11
✎
12:39
|
(36) в спячке был? нет такого тега, там автомат, после опред.кол-ва строк оборачивает в +Code
|
|||
38
andrewks
23.06.11
✎
12:39
|
||||
39
Табуретко
23.06.11
✎
12:50
|
спс
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |