Имя: Пароль:
1C
1С v8
Удаление элемента из табличной части документа
0 dizpers
 
07.05.12
14:45
Подскажите, пожалуйста, возможно ли отловить событие при удалении элемента из табличной части документа? То есть, когда в форме документа в табличной части произошло удаление - то выполнить заданный код.
1 Лефмихалыч
 
07.05.12
14:48
смотри события табличного поля, там есть ПередУдалением и ПослеУдаления
2 dizpers
 
07.05.12
14:55
(1) Спасибо, с событиями разобрался. Но осталась еще одна непонятка. Если удаляется какая-то строка из табличной части документам мне надо удалить соответствующую строку в справочнике. Это удаление из справочника лучше делать в событии ПередУдалением или ПослеУдаления?

Если использовать ПередУдалением, то не может ли встретиться отказ удаления строки табличной части и в итоге - запись справочника удалится, а строка табличной части останется.

Насколько я понимаю, что при использовании ПослеУдаления я такой проблемы не встречу.
3 artems
 
07.05.12
15:21
Хреновая идея со связкой элементов справочника со строками документа, очень хреновая...
4 dizpers
 
07.05.12
20:41
(3) Хорошо. А тогда какой другой вариант для следующей задачи. Нужно хранить географию подключения - фактически справочник с двумя реквизитами - "Улица" и "Дом". Добавление, удаление и изменение этих записей надо как-то регистрировать. Отсюда и пошли идея - иметь справочник, в котором запрещено добавление, редактирование и удаление через форму. И есть документ, через который все эти действия производятся.
5 Мимохожий Однако
 
07.05.12
20:45
Регистр сведений посмотри
6 vovus
 
07.05.12
20:46
(4) я бы сделал регистр сведений, который двигается документом. Движения при каждом проведении перезаписываются. Вот и будет тебе география подключений. Удалил строку в документе, перепровел - запись в регистре исчезла
7 dizpers
 
07.05.12
20:57
Я подумывал о таком варианте. Но у меня в голове сидит жесткие шаблон, что регистр надо использовать только тогда, когда надо будет получать срез данных по дате или другому параметру.

Хотя в данном случае он поможет с регистрацией всех нужных событий...
8 dizpers
 
07.05.12
20:57
Скажите, этот шаблон про использование РС - полный бред?
9 vovus
 
07.05.12
21:03
Выражение "нужно хранить географию подключений" предполагает, видимо, не просто хранение, но и регулярную работу с этой информацией. Не по табличной части документа же тебе запрос строить? Документ в связке с РС, в частности, помогают разделить функцию ввода данных и записи их в базу. + в РС все индексируется по понятным правилам
10 dizpers
 
07.05.12
21:04
(9) Спасибо, учту:) PS но запрос и не строился бы по табличной части дока, он бы строился по данным справочника.
11 vovus
 
07.05.12
21:08
(10) я про тот вариант, когда без РС и без справочника, имеем только док. Со справочником тоже можно, но в этом нет необходимости + гемморой с удалением элементов
12 dizpers
 
07.05.12
21:25
Тогда еще вопрос в тему регистров. Если я сделаю в качестве двух ресурсов - улицу (строка) и дом (число), но не укажу измрение - это имеет какой-либо негативный эффект?

Просто если указать в качестве измерения улицу, то, насколько я понимаю, не получится добавить два дома на одной и той же улице - так как будут две записи с одним значением измерения.

PS Учитывая еще то, что РС будет непереодическим.
13 vovus
 
07.05.12
21:33
Можно сделать измерением и улицу, и дом, никому от этого плохо не станет.
14 dizpers
 
07.05.12
21:35
А фактически тогда в чем разница - делать их измерениями, или делать их ресурсами. В любом случае я ведь ничего не выигрываю и не теряю...
15 vovus
 
07.05.12
21:39
Ну как, если движения в РС у нас делаются регистратором, то если в разных документах попадутся одинаковые адреса, то РС либо не позволит их записать - если и дом, и улица - измерения, либо позволит - если это ресурсы
16 Steel_Wheel
 
07.05.12
21:41
(8) Не полный.

Но на заметку: хочешь сделать связь? Тогда ПередЗаписью документа у тебя в ТЧ своя таблица, а на диске -- другая. Сравнивай их, выделяй разницу -- удаляй элементы справочника (а вот тут я бы справочник на РС заменил)

И вообще, хороший вариант -- проведение документа по РС. Тогда все автоматом делаться будет. Но это уже от контекста зависит
17 dizpers
 
07.05.12
21:49
Читаю (13), потом (15) - не пойму все-таки как лучше сделать. Но все-таки наверное, лучше ресурсами.
18 ПесняПроЗайцев
 
07.05.12
21:50
(2) клюшечная психология - все на справочниках.
(7) тебе уже клюшки напрямую по лбу бьют, а ты все свое )
19 ПесняПроЗайцев
 
07.05.12
21:51
(14) измерения уникальны, ресурсы - нет.
20 petrowsky
 
07.05.12
22:02
(15) если движения в РС делаются регистратором, то если в разных документах попадутся одинаковые адреса, то РС ПОЗВОЛИТ их записать - если и дом, и улица - измерения
регистратор то разный
21 acsent
 
07.05.12
22:06
редактируй напрямую справочник, а не тч
22 dizpers
 
07.05.12
22:15
Всем спасибо, думаю, что разобрался в вопросе:)
23 experimentator76
 
08.05.12
19:11
(18) иногда справочники обоснованы - когда надо много хранить - выгоднее в итоге
24 dizpers
 
08.05.12
21:24
(23) А можно поподробнее. Приведите, пожалуйста, пример такого случая, когда действительно выгодно использовать справочник.

PS В моем случае число записей будет порядка 10к - это считается много?
25 experimentator76
 
08.05.12
22:35
(24) несколько миллионов записей под историю изменений объектов
26 experimentator76
 
08.05.12
22:36
10к = это немного
27 dizpers
 
08.05.12
22:51
(25) вот опять же у меня всплывает в голове шаблон - "история изменений = регистр". но как я понимаю - тут дело именно в производительности. лучше реализовать функционал истории изменений на справочнике.

Но тут опять же - получается, что мы реализуем функционал регистра на справочнике. И так как регистр хуже для большого числа записей, то при реализации похожего функционала на справочнике - мы врятли выиграем что-то.

Где я ошибаюсь?
28 experimentator76
 
08.05.12
23:07
(27) как я уже сказал в справочнике хранение более компактно
не тратится место на индексы