Имя: Пароль:
1C
1С v8
Где я неправ?
0 izekia
 
19.07.12
02:08
Есть элемент справочника с табличным документом на форме, который хранится в отдельном справочнике в хранилище значения.
Сама проблема возникает при записи:
если я буду записывать табличный документ в событии передЗаписью, соответственно вне транзакции и возможно возникновение мусора в справочнике где хранятся табличные документы, если запись элемента не будет завершена успешно ... если я формирую его при записи, то тогда необходимо повторно записать элемент? ни тот ни другой варианты мне не нравятся ... что я делаю не так?
1 Asmody
 
19.07.12
02:12
в регистре сведений хранить надо, тогда таких заморочек не будет
2 ale-sarin
 
19.07.12
02:13
Может ПослеЗаписи?
3 izekia
 
19.07.12
02:14
(1) да ты прав, мне в самом объекте не нужно хранить ссылку на элемент
из-за этого все сложности
4 izekia
 
19.07.12
02:15
((2) нет, это вообще неправильно ... так как у нас не вся информация объекта запишется, так как в послезаписи транзакция уже завершена
5 Asmody
 
19.07.12
02:16
ТабДок относится только к одному элементу справочника?
6 izekia
 
19.07.12
02:17
(5) на данный момент - да
7 izekia
 
19.07.12
02:17
да нет, в (1) отличное решение, спасибо
8 ale-sarin
 
19.07.12
03:22
(4) Согласен. Уже 2 вина съел. После подумал - фигню спорол. Меня смутило "в отдельном справочнике".
Или все-таки не спорол? В регистр-то писать когда?
Или спорол?
9 zladenuw
 
19.07.12
03:24
в РС уже когда ссылка записана
10 izekia
 
19.07.12
03:33
(8) при записи возникает после записи объекта, соответственно достаточно информации чтобы запись в регистр сделать и все в одной транзакции происходит
11 zladenuw
 
19.07.12
04:06
я вот такие вот штуки вылавливаю. походу дело в прогерах клюшок у них то было только 1 событие. вот и пихают в 8 куда попало. а потом документ просится второй раз на запись :(
12 ale-sarin
 
19.07.12
04:50
(9) Т.е. все-таки ПослеЗаписи.
И неважно в отдельном справочнике или регистре сведений.
(10) Как так "при записи возникает после записи объекта"? ПриЗаписи можно Отказ сделать. А ПослеЗаписи - это он однозначно записан.

Кто меня разводит?
13 zladenuw
 
19.07.12
05:05
вообще то так
Существует большое количество обработчиков связанных с записью элемента. Вначале запускаются события расположенные в модуле формы. Среди них в первую очередь исполняются клиентские обработчики.

1) МФ ПередЗаписью

2) МФ ОбработкаПроверкиЗаполненияНаСервере

3) МО ОбработкаПроверкиЗаполнения

4) МФ ПередЗаписьюНаСервере

5) МО ПередЗаписью

6) МО ПриЗаписи

7) МФ ПриЗаписиНаСервере

8 )МФ После записи на сервере

9) МФ После записи
14 izekia
 
19.07.12
06:38
(12) ПриЗаписиНаСервере
Описание:
Возникает на сервере при записи объекта из формы. Процедура-обработчик вызывается после записи объекта (после события ПриЗаписи объекта) в базу данных, но до окончания транзакции записи.

есть понятие транзакции, в этом случае у нас есть объект записанный в бд, но транзакция еще не закрыта и мы можем откатить ее, соответственно записи в базе не будет