Имя: Пароль:
1C
1С v8
Запись и считывание регистра в одной проводке
0 alazir
 
29.04.14
22:31
Доброго времени суток всем!
Столкнулся со странной проблемой. При проводке документа нужно сначала записать данные в регистр сведений, затем считать их и на их основании - заполнить второй регистр сведений.
Т.е.:
1) в регистр А записали данные
2) запросом из регистра А получили данные (разумеется, данные могут быть записаны туда не только проводимым, но и любым другим документом)
3) на основании запроса рассчитали и записали данные в регистр В.

Получается вот какая беда: при первой проводке документа сведения попадают в первый регистр, но не в запрос из этого регистра, поэтому второй регистр заполняется неверно. Зато при повторной проводке документа все работает прекрасно

Как я понимаю, причина проблемы в том, что вся проводка выполняется в транзакции. Попробовал расставить НачатьТранзакцию(), ЗафиксироватьТранзакцию() - не работает.
В сети нашел решение: вынести заполнение второго регистра в обработку события, но не помогло. Т.е. после заполнения первого регистра событие вызывается, но из него все равно не видны только что заполненные в первом регистре данные. При повторном проведении документа все по-прежнему работает  :wacko:

У кого есть какие идеи?
Заранее большое спасибо!
1 ДенисЧ
 
29.04.14
22:33
Есть идея показать (овно)код...
2 Classic
 
29.04.14
22:33
1.Запись
2.Движение.Записать()
3.Запрос
3 Рэйв
 
29.04.14
22:36
(2)В транзакции проведения?:-)
Мило.
4 Рэйв
 
29.04.14
22:38
(0)Разачарую тебя юный падаван.
Это в 77 можно было писать в объект при проведении.
В 8.х - это все не просто так.
5 Рэйв
 
29.04.14
22:39
+(4)Там даже все еще хуже.
Приходится мало того что писать второй раз, так еще и отслеживать , что эта зараза ИМЕННО второй.
А не первый.
6 ДенисЧ
 
29.04.14
22:39
(4) Я всё понимаю, маленькая пятница...
Но не до такой же степени....
7 Рэйв
 
29.04.14
22:41
(6)Ну покажи код пятничный записи реквизита документа в 8.2.
?
Ась?
8 Рэйв
 
29.04.14
22:41
при проведении
9 Рэйв
 
29.04.14
22:41
когда уже процедура
ПередПроведением()
давно как отработала.
10 Рэйв
 
29.04.14
22:42
пардон.
11 Рэйв
 
29.04.14
22:42
ПередЗаписью()
12 Рэйв
 
29.04.14
22:43
(6)Я надеюсь ты спорить не будешь, что ПередЗаписью() отрабатывает первой?
13 ДенисЧ
 
29.04.14
22:48
(12) Я? Спорить? Да упаси...
14 Рэйв
 
29.04.14
22:49
(13)Ну тогда может ты согласишься еще, что писать в объект что-то в 8.х - сложнее , чем было в 7.7.
Согласен?
:-)
15 Рэйв
 
29.04.14
22:50
при проведении я имею в виду
16 Рэйв
 
29.04.14
22:51
Да в принципе твое согласие и не нужно.
Так оно и есть.
17 ДенисЧ
 
29.04.14
22:51
(14) " При проводке документа нужно сначала записать данные в регистр сведений, затем считать их и на их основании"

Причём тут объекты?
18 Рэйв
 
29.04.14
22:52
хотя могбы и согласиться:-)
19 Рэйв
 
29.04.14
22:52
(17)Ты уверен, что ты именно меня процитировал?:-))
20 Рэйв
 
29.04.14
22:53
ты помоему вообще из другой ветки:-))
21 Рэйв
 
29.04.14
22:53
ладно.Прощаю.:-)
22 Рэйв
 
29.04.14
22:54
но ржу под столом:-)))))
23 ДенисЧ
 
29.04.14
22:54
(19) Я процитировал исходный вопрос.
Так кто из нас пьян? :-))
24 Рэйв
 
29.04.14
22:55
(23)Ты бы еще его через 2 часа процитировал:-)
25 Рэйв
 
29.04.14
22:55
ты пьян точно:-))
26 ДенисЧ
 
29.04.14
22:56
(24) 8 минут - вполне достаточное время...
(25) ни в одном глазу!
27 Рэйв
 
29.04.14
22:57
(26)>>Ни в одном глазу.

Ой не врал бы уж:-)
28 ДенисЧ
 
29.04.14
22:58
(27) А зачем мне врать? Ты точно не моя жена и не моя любовница...
Так что тебе врать мне смысла нет.
29 Рэйв
 
29.04.14
22:58
ладно, проехали:-)
30 Рэйв
 
29.04.14
22:59
(28)Это как раз жене и любовнице всем правду говоришь наверное:-)
31 Рэйв
 
29.04.14
22:59
А мне то точно врешь
32 Рэйв
 
29.04.14
22:59
Каждой свою правду:-)
33 Рэйв
 
29.04.14
23:00
нет у тебя любовници. Не ври.
34 ДенисЧ
 
29.04.14
23:00
(32) ну да. "А сам на чердак и работать, работать и работать" (с)
35 Рэйв
 
29.04.14
23:01
(34)см (33)
36 Рэйв
 
29.04.14
23:02
Ну ты конечно можешь ее заиметь мне назло.
Но ..нафик оно надо:-)))
37 Рэйв
 
29.04.14
23:03
Меня друзья зову по коньяку- водке...
38 Рэйв
 
29.04.14
23:03
Думаю всетаки по водке:-)
Счачтливо!
39 Torquader
 
29.04.14
23:37
Ну что вы тут дятловодствуете ?
40 kotletka
 
30.04.14
00:01
Рэйв ДенисаЧ на секс разводит
41 Torquader
 
30.04.14
00:03
(40) Так они же мальчики ?!
42 snegovik
 
30.04.14
06:39
(41) А это сейчас модно)
43 ДенисЧ
 
30.04.14
08:30
Я попросил бы свои инсинуации и фантазии придержать при себе...
44 Адинэснег
 
30.04.14
08:35
РегистрСведенийНаборЗаписей.<Имя регистра сведений>.Записывать (InformationRegisterRecordSet.<Имя регистра сведений>.Write)
РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>)
Записывать (Write)
Использование:

Чтение и запись.
Описание:

Тип: Булево.
Ложь - не происходит записи набора в информационную базу при вызове Записать коллекции движений документа, которой принадлежит набор, а также при стандартной обработке проведения документа, если значение свойства метаданного документа "Запись движений при проведении" в Конфигураторе выставлено в "Записывать выбранные".

Доступность:

Сервер, толстый клиент, внешнее соединение.
45 Classic
 
01.05.14
12:05
(4)
Ты вчера был пьян?
Падавану надо писать в регистр, потом читать свои же записи и писать еще куда-то. В другой документ ему писать ничего не надо.
Эта схема повсеместно реализована в ЗУПе например
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший