Имя: Пароль:
1C
1С v8
Добавить запись в регистр сведений
0 kible
 
21.10.11
14:46
Регистр сведений - не периодический, без регистраторов.

Как в такой регистр добавить запись, если документ не провелся?
1 shamannk
 
21.10.11
14:47
2 Живой Ископаемый
 
21.10.11
14:47
в смысле нужно придумать способ, отличный от того, что предлагается букварями?
3 PR
 
21.10.11
14:49
(0) Это очень сложное колдунство :))

ЗЫ: А что говорит документация?
И какой документ? Уж не тот ли самый?
4 kible
 
21.10.11
14:49
Хочу так чтобы в обработке проведения, если отказ = истина добавлялась запись в этот регистр.
5 Reset
 
21.10.11
14:49
// Нижеприведенный код добавит запись только если документ провелся.

Если (Документ не провелся) тогда
  // Добавить запись
Иначе
 // Не добавлять!!
КонецЕсли;
6 Reset
 
21.10.11
14:49
(5) То есть наоборот.
7 Живой Ископаемый
 
21.10.11
14:50
(4)отлично, и ты попробовал букварный способ, но у тебя не вышло - почему?
8 kible
 
21.10.11
14:52
(7) Почему не знаю. Может быть потому-что обработка проведения выполняется в транзакции.

делаю так


Если Отказ Тогда
НаборЗаписей = РегистрыСведений.ЛогиЧекаККМ.СоздатьМенеджерЗаписи();
НаборЗаписей.Событие = "Не проведен!";
НаборЗаписей.Пользователь = глТекущийПользователь;
НаборЗаписей.ЧекККМ = Ссылка;
НаборЗаписей.Записать(Ложь);
КонецЕсли;
9 Reset
 
21.10.11
14:53
(8) "выполняется в транзакции"
Правильно, если документ не провелся, транзакция отменяется, и в т.ч. и твоя запись.
10 Живой Ископаемый
 
21.10.11
14:54
2(8) ты начал писать набор записей, а потом передумал и заюзал менеджер... Так и задумал?
11 kible
 
21.10.11
14:54
(10) Да.
12 kible
 
21.10.11
14:55
Как записать то?
13 Шапокляк
 
21.10.11
14:55
Из СП: "При вызове с параметром <Замещать> равным Ложь после записи в информационную базу запись очищается. "
14 Живой Ископаемый
 
21.10.11
14:56
2(12) а зачем в РС? в чем прикол?
15 kible
 
21.10.11
14:57
ИЗ СП; Ложь - запись будет дописана к уже существующим в информационной базе записям.
16 kible
 
21.10.11
14:58
(14) Ну в файл походу тоже не запишет. Или запишет?
17 Живой Ископаемый
 
21.10.11
14:58
2(16) запишет. файл не БД, ему транзакции пофиг.. и в ЖР запишет
18 hhhh
 
21.10.11
15:03
(16) помню, я делал специальную таблицу значений и делал в проведении запись в эту таблицу. А потом обработчик ожидания каждую минуту опрашивал эту таблицу и если она непустая, переписывал из нее в регистр сведений.
19 Живой Ископаемый
 
21.10.11
15:04
2(18) можно еще попробовать с Доп.сведениями объекта, будет более правильно в случае клиент-серверной базы.. но нужно пробовать.
20 Irbis
 
21.10.11
15:06
В журнал регистрации такие вещи писать надо, если важно. А если нет мозг не выносить ни себе ни другим
21 ptiz
 
21.10.11
15:06
(17) Как только начнется "ПередЗаписью", то всё, что будет записано в базу в этой транзакции, отменится, если транзакция не завершится.
22 ptiz
 
21.10.11
15:07
Тьфу... ты про файл снаружи..
23 ssh2006
 
21.10.11
15:27
В ПередЗаписью если режим записи проведение - пишешь в свой регистр. Для Новых документов использовать УстановитьСсылкуНового. В обработке проведения удаляешь созданную ранее запись. В итоге, если запись осталась - документ не провелся.
24 Живой Ископаемый
 
21.10.11
15:31
2(23) хм.. а ты умный
25 Reset
 
21.10.11
16:37
(23) Кэп намекает, что в событии ПередЗаписью объекта транзакция уже начата
26 Живой Ископаемый
 
21.10.11
16:41
м... и точно
27 ssh2006
 
21.10.11
16:46
(25) неверно
28 Mort
 
21.10.11
16:46
Для чего всё это?
29 Mort
 
21.10.11
16:47
(27) СП под мышку и в курилку!
30 Живой Ископаемый
 
21.10.11
16:51
2(27) верно.. но правда есть ПередЗаписью еще и формы а не объекта. Но это уже криво.
31 ssh2006
 
21.10.11
17:10
(27) когда писал (23) думал про запись из формы. Для объекта не прокатит конечно