Вход | Регистрация
 

Передать переменную

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

Запрос в БД по ключеевым свойствам, они явно указаны в коллекции отбор (ЭтотОбъект.Отбор)
Если в БД записи есть, то записывал в лог какие записи удаляются
   palsergeich
 
5 - 26.04.19 - 20:30
И это совершенно прекрасно работало и по сей день работает
   RomanYS
 
6 - 26.04.19 - 20:43
(4) Судя по всему ТС хочет сравнивать старые и новые значения. Стоит отказаться от этой идеи и всё заработает.

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

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

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

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

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.