Имя: Пароль:
1C
 
Передать переменную
0 Franchiser
 
гуру
26.04.19
18:51
при изменении записи регистра сведений процедура модуле набора записей передзаписью() вызывается дважды: 1. для удаления записи, 2. Для записи нового значения.
каким образом передать значение из передзаписью() в передзаписью()?
Пробовал доп. Свойства и переменнуб модуля.
1 Aleksandr N
 
26.04.19
18:59
(0) Глобальная переменная?
2 Franchiser
 
гуру
26.04.19
19:10
(1) ну да, но не хотелось бы. Еше может есть варианты. Мне нужно в жр записать старые и новые значения в РС
3 palsergeich
 
26.04.19
20:24
(0) А зачем передавать?
Удаление - Это ЭтотОбъект.Количество() = 0
Запись ЭтотОбъект.Количество()>0
4 palsergeich
 
26.04.19
20:28
Я решал похожую задачу:
Если ЭтотОбъект.Количество() = 0 Тогда //удаление
Запрос в БД по ключеевым свойствам, они явно указаны в коллекции отбор (ЭтотОбъект.Отбор)
Если в БД записи есть, то записывал в лог какие записи удаляются
5 palsergeich
 
26.04.19
20:30
И это совершенно прекрасно работало и по сей день работает
6 RomanYS
 
26.04.19
20:43
(4) Судя по всему ТС хочет сравнивать старые и новые значения. Стоит отказаться от этой идеи и всё заработает.

Но бывают задачи, что всё-таки надо сравнивать
7 palsergeich
 
26.04.19
20:51
(6) в (2) написана задача.
Речь не идёт о сравнении, нужно записать старые и новые, (4) это позволяет. Точнее записать старые.
Новые записываются проще.
Если Этот объект.количество()>0 тогда
Запись новых значений из Этот объект
8 RomanYS
 
26.04.19
21:23
(7) Так я не спорю)))

Только "записать старые и новые" может означать ...в одной записи ...при условии их изменения. Ведь иначе они не новые).

На мисте вообще не принято давать нормальное описание исходной задачи на первой странице ветки
9 Franchiser
 
гуру
26.04.19
21:32
(4) чтение старого набора регистра доступно при первом вызове передзаписью() но нового набора еще нет,
При втором вызове есть новый набор, но уже нет старого
10 Franchiser
 
гуру
26.04.19
21:33
(7) мне нужно записать в жр одной записью старые и новые значения
11 palsergeich
 
26.04.19
21:33
(9) передай ТЗ с новыми записями в ДопПараметры, и при удалении сравнивай.
12 Franchiser
 
гуру
26.04.19
21:36
Я не пойму почему не работает передача через этотобъект.дополнительныесвойства
13 Franchiser
 
гуру
26.04.19
21:36
(11) что такое доппараметры? Допсвойства очищаются
14 RomanYS
 
26.04.19
21:37
(12) Потому что это разные наборы
15 Dzenn
 
гуру
26.04.19
22:36
Если в процессе решения задачи возникают такие вопросы, значит, решение задачи идёт неверным путём, и нужно найти другой путь
16 Franchiser
 
гуру
26.04.19
23:47
(15) ну я решу через ВХ или глобальную переменную. Но хотелось по нормальному
17 zehn
 
27.04.19
09:56
(16) > ну я решу через ВХ
Адрес которого - тоже переменная, котороую надо бы передать.

> или глобальную переменную.
На сервере. Угу.

Бросай хней страдать. Запись в регистр - это два действия. И логгировать их надо как два, а не одно. В жр ему нужно записать, видите ли...
18 Franchiser
 
гуру
27.04.19
10:35
(17)  ну, параметры сеанса
19 vde69
 
27.04.19
11:04
если платформа позволяет, то данную задачу вообще решать не надо, достаточно включить встроенный механизм версионирования (правда с РС лично я не пробовал, но судя по всему должно работать....)
20 vde69
 
27.04.19
11:05
кстати сабж я решал через этотобъект.дополнительныесвойства, правда не помню точно как там хитрости были...
21 RomanYS
 
27.04.19
11:50
(20) Очень интересно... может память тебя обманывает?
22 mistеr
 
27.04.19
11:53
(18) А что, параметры сеанса это "ненормально"?
23 Мимохожий Однако
 
27.04.19
11:55
Покажи код, где ты пишешь в журнал регистрации.
24 Franchiser
 
гуру
27.04.19
13:57
(23) пока удаление пишу в передзаписью() модуля набора записей, остальное в форме записи. Хочу убрать код из формы записи чтобы было унивеосально и не переделывать внешние обработки.