|
Как сделать запись регистра из проведения документа, когда проведение отменено? | ☑ | ||
---|---|---|---|---|
0
DomovoiVShoke
14.12.12
✎
15:56
|
Есть документ. Есть регистр сведений не независимый. При попытки проведения документа надо чтобы происходила запись в регитр. Если проведение выпонлняетя вопросов нет. Если проведение отменяется, то запись из регистра стирается, как сделать чтоб она оставалась?
|
|||
1
Kashemir
14.12.12
✎
15:57
|
За такое по рукам линейкой надо бить. Делай независимый и играйся себе.
|
|||
2
DrunkAnimal
14.12.12
✎
15:57
|
автоматическое удаление
|
|||
3
shuhard
14.12.12
✎
15:58
|
(0)) что-то мешает двигать регистр при Записи ?
|
|||
4
НЕА123
14.12.12
✎
15:58
|
(1)(2)
>Есть регистр сведений не независимый |
|||
5
Kashemir
14.12.12
✎
15:58
|
(4) Ну и ?
|
|||
6
DrunkAnimal
14.12.12
✎
15:59
|
(4) и что?
|
|||
7
zladenuw
14.12.12
✎
15:59
|
(0) так может же при отмене проведения. ты стираешь эти записи
|
|||
8
DomovoiVShoke
14.12.12
✎
16:00
|
(1)Я опечатался. регистр независимый
|
|||
9
НЕА123
14.12.12
✎
16:00
|
(5)(6)
похоже что это (7) |
|||
10
DomovoiVShoke
14.12.12
✎
16:01
|
(7)Нет не стираю
|
|||
11
НЕА123
14.12.12
✎
16:01
|
(5)(6)
ай! ну я и телепат! |
|||
12
Kashemir
14.12.12
✎
16:02
|
(8) В этом случае записи не могут пропадать, если ты их явно не удаляешь походу отмены проведения.
|
|||
13
Kashemir
14.12.12
✎
16:02
|
(11) А что хотел сказать то нам ?
|
|||
14
НЕА123
14.12.12
✎
16:03
|
(13)
да просто прочитал как в (8). |
|||
15
zladenuw
14.12.12
✎
16:05
|
(10) ну так просто они не пропадут. может событие есть.
|
|||
16
DomovoiVShoke
14.12.12
✎
16:05
|
(2)я вроде все там перепробовал все рано не записываются.
|
|||
17
DomovoiVShoke
14.12.12
✎
16:06
|
(3)Что значит двигать?
|
|||
18
DomovoiVShoke
14.12.12
✎
16:06
|
(7)Нет обработки отмены проведения
|
|||
19
BigShmax
14.12.12
✎
16:07
|
пишешь в транзакции, транзакция откатывается и пиндык
|
|||
20
hhhh
14.12.12
✎
16:08
|
(18) транзакция проведения откатывается, записи регистра удаляются тоже. Это же элементарно, Ватсон. Миллион раз уже обсуждали.
|
|||
21
Kashemir
14.12.12
✎
16:08
|
(18) Уверен ? Включи замер производительности ... отмени проведения ... посмотри что выполнялось. Профит.
|
|||
22
BigShmax
14.12.12
✎
16:08
|
ой РС независимый, тогда если не удаляешь значит он у тя не записывается
|
|||
23
DomovoiVShoke
14.12.12
✎
16:08
|
(20)Я тоже так думаю, но как сделать чтоб не откатывались?
|
|||
24
Kashemir
14.12.12
✎
16:08
|
+(21) А хотя (20) прав. Недочитал суть проблемы. Конечно тогда вопрос транзакции.
|
|||
25
Kashemir
14.12.12
✎
16:09
|
(23) Запиши явно.
|
|||
26
DomovoiVShoke
14.12.12
✎
16:09
|
(25)Как это?
|
|||
27
BigShmax
14.12.12
✎
16:10
|
(26) Записывать = Истина - запись в транзакции
Записать() - записать явно оно не откатится |
|||
28
DomovoiVShoke
14.12.12
✎
16:14
|
Короче. Допустим вот такой код у меня в обработке проведения в документе. Что и куда мне нужно дописать?
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |Сообщения.Документ |ИЗ |РегистрСведений.Сообщения КАК Сообщения"; КолвоЗаписей = Запрос.Выполнить().Выгрузить().Количество(); НаборЗаписей = РегистрыСведений.Сообщения.СоздатьНаборЗаписей(); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Период = ТекущаяДата(); НоваяЗапись.Документ = Строка(КолвоЗаписей)+" - "+Строка(Ссылка); НоваяЗапись.Сообщение = ("абра-кадабра"); НаборЗаписей.Записать(Ложь); Если НЕ ЗначениеЗаполнено(Адрес) Тогда Отказ = Истина; КонецЕсли; |
|||
29
ptiz
14.12.12
✎
16:14
|
Никак. Точка.
|
|||
30
ptiz
14.12.12
✎
16:15
|
Хотя есть способ - писать в журнал регистрации. А обработкой периодически тащить оттуда в РС последние записи.
|
|||
31
Defender aka LINN
14.12.12
✎
16:16
|
+(29) И незачем
|
|||
32
DomovoiVShoke
14.12.12
✎
16:16
|
Ну тогда мона внешний файлик выгружать, а потом регламетным заданием подтягивать его.
|
|||
33
DomovoiVShoke
14.12.12
✎
16:24
|
Все? Других идей нету?
|
|||
34
KnightAlone
14.12.12
✎
16:29
|
(33) с 500 метров в люк мех. вода бей! однозначно
|
|||
35
ptiz
14.12.12
✎
16:30
|
(32) Внешний файл при проведении - это плохо, потому что при проблемах в сети поиск файла может "подвиснуть" (а это всё - внутри транзакции). Либо писать (в случае серверной базы) локально на сервере в серверном модуле.
|
|||
36
CaptanG
14.12.12
✎
16:32
|
В исключения движение регистра записать.
|
|||
37
DomovoiVShoke
14.12.12
✎
16:34
|
(36)Это что за покемон?
|
|||
38
Irek-kazan
14.12.12
✎
16:36
|
||||
39
DomovoiVShoke
14.12.12
✎
16:43
|
(38)Это перехват отмены, у меня до этого вроде как и не доходит.
|
|||
40
Irek-kazan
14.12.12
✎
16:48
|
(39) а как тогда отменяется, если не доходит?
|
|||
41
DomovoiVShoke
14.12.12
✎
16:50
|
(40)В обработке провдения отказ = истина ставим. Может я некорректно написал.
|
|||
42
CaptanG
14.12.12
✎
16:55
|
(41) ты по вызовам посмотри.
|
|||
43
Steel_Wheel
14.12.12
✎
16:56
|
А что у тебя в процедуре ОтменаПроведения()?
ПыСы. В независимый регистр можно писать движения в ПриЗаписи(). Если вид проведения -- проведение, то добавлять; если вид проведения -- отмена проведения, то ничего не делаешь |
|||
44
DomovoiVShoke
14.12.12
✎
17:03
|
(42)Специально добавил ее. Не заскакивает туда.
(43)У меня нет такой процедуры. Мне надо именно из обработки проведения. |
|||
45
eklmn
гуру
14.12.12
✎
17:11
|
(44) то что ты хочешь, делается в других местах, но только не в процедуре ОбработкеПроведения
|
|||
46
eklmn
гуру
14.12.12
✎
17:11
|
+ибо транзакция штука капризная и ее никак не уговорить )
|
|||
47
DomovoiVShoke
14.12.12
✎
17:16
|
В общем как я понял нормального предусмотренного для таких случаев способа нет. Надо изобретать велосипед.
|
|||
48
Steel_Wheel
14.12.12
✎
17:36
|
(47) Есть. Убираешь галочку "Очищать движения при...".
Создаешь процедуру ОтменаПроведения() (или как там она, называется), туда выносишь логику отмены проведения (в твоем случае, ничего). В процедуру ПроведениеДокумента() вносишь логику проведения (в твоем случае, запись движений в регистр) Кажется, все |
|||
49
DomovoiVShoke
14.12.12
✎
17:40
|
(48)Убираешь галочку "Очищать движения при...".
А где такая галочка? |
|||
50
Steel_Wheel
14.12.12
✎
17:58
|
(49) Дважды кликни по документу в конфигураторе ЛКМ, на закладке с движениями должна быть.
|
|||
51
Steel_Wheel
14.12.12
✎
17:59
|
Или на "Общих"
|
|||
52
Steel_Wheel
14.12.12
✎
17:59
|
Я уже плохо помню: больше года не открывал конфигуратор
|
|||
53
DomovoiVShoke
14.12.12
✎
18:03
|
Удаление движений : не удалять автоматически
Это? Я пробовал не прокатывает. |
|||
54
Steel_Wheel
14.12.12
✎
18:10
|
Сделай подписку тогда на свой документ на событие проведение.
Когда проводишь -- делай запись в регистр сведений. Ссылка есть, объект есть. К проведению не привязано |
|||
55
DomovoiVShoke
14.12.12
✎
18:31
|
(54)До пидписки не дойдет, т.к отказ=истина ставится.
|
|||
56
eklmn
гуру
14.12.12
✎
18:31
|
(54) транзакция при откате все равно удалит, пофиг ему как подписка ии что было
|
|||
57
Нуф-Нуф
14.12.12
✎
18:33
|
писать движения в подписке при записи. и пох на проведение
|
|||
58
eklmn
гуру
14.12.12
✎
18:34
|
(57) он же хочет ТОЛЬКО в обработке проведения ))
|
|||
59
SUA
14.12.12
✎
18:34
|
основной вопрос - нафига?
|
|||
60
eklmn
гуру
14.12.12
✎
18:35
|
(59) личные принципы :)
|
|||
61
Нуф-Нуф
14.12.12
✎
18:36
|
писать движения в процедуре общего модуля. Вызывать при проведении и отмене проведения. и пох на проведение
|
|||
62
SUA
14.12.12
✎
18:37
|
(61)если бы все так просто =)
по (28) задача сформулирована иначе |
|||
63
DomovoiVShoke
14.12.12
✎
18:38
|
(59)Я думал уже все вкурсе что мне такие вопросы не задаются:)
Мало ли возникнет ситуация необходимости, надо знать о возможностях языка. |
|||
64
SUA
14.12.12
✎
18:38
|
можно конечно поизвращаться
заменив кнопку проведения на форме и по ней выполнять запись этого левого регистра, и потом проведение |
|||
65
DomovoiVShoke
14.12.12
✎
18:40
|
Ну извращения возможны, но хотелось бы какой-нибудь человеческий способ узнать:)
|
|||
66
SUA
14.12.12
✎
18:40
|
ну и не забыть для объекта (вне формы) юзать для документа всегда не типовую Провести() а ПровестиСИзвращениями()
|
|||
67
SUA
14.12.12
✎
18:40
|
транзакции для того и придуманы чтобы обеспечить целостность данных (все пишем или все не пишем)
|
|||
68
Нуф-Нуф
14.12.12
✎
18:41
|
а че в (61) не устраивает?
|
|||
69
DirecTwiX
14.12.12
✎
18:43
|
Главное потом при проведение не забыть очистить движения)
|
|||
70
DomovoiVShoke
14.12.12
✎
18:46
|
(68)А для чего мы тут 60 постов настрочили?:)
|
|||
71
SUA
14.12.12
✎
18:58
|
(70)ну это как раз понятно, тяпницо, вечер... не работать же
|
|||
72
Нуф-Нуф
14.12.12
✎
18:59
|
(70) тахерегознает
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |