Имя: Пароль:
1C
1С v8
Траблы работы ПоместитьВоВременноеХранилище и ПолучитьИзВременногоХранилища. как быть?
0 Обработка
 
02.09.21
11:21
Розница 2 доработанная
В обработке РМКУправляемыйРежим в основной форме очень много использывваны команды ПоместитьВоВременноеХранилище и ПолучитьИзВременногоХранилища.
Также при работа с другими формами обработки выполняется команда - ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Так вот из 48 магазинов только в одном магазине появляется ошибка такого рода что при чтении из хранилищиа данные получает не из того адреса
с которого нужно.
в команде  =====> ТаблицаРаспределения = ПолучитьИзВременногоХранилища(Параметр.АдресВоВременномХранилище);
Параметр.АдресВоВременномХранилище получается не тот который мы хотели в кода а какой-то другой с другой процедуры или из другой записи.

Чего только не делали:
-ТИИ
-кеш чистили
- пользователя менял
- даже заново пересоздали базу периферийную.
Ошибка не ушла. БАза с постгрии.
Почему такое возможно? И что придется в коде искать "пересечение" и имена параметров менять?
1 Жан Пердежон
 
02.09.21
11:37
имхо, надо помещать в Параметр.АдресВоВременномХранилище
тот, который вы хотели
2 Галахад
 
гуру
02.09.21
11:43
(1) делайте хорошо плохо не делайте? :-)
3 Обработка
 
02.09.21
11:55
Мне рекомендовали тут:
АдресПримененныхСкидокВоВременномХранилище = ПоместитьВоВременноеХранилище(ПримененныеСкидки, УникальныйИдентификатор);
в АдресПримененныхСкидокВоВременномХранилище можно приписать любой символ и оно будет отличатся. И тогда пересечения точно не будет.
4 Вафель
 
02.09.21
12:41
ищи где в переменную кладется другой адрес
5 PLUT
 
02.09.21
12:47
(4) или адрес временного хренилища уже "протух"
6 polosov
 
02.09.21
12:48
(0) Найди все места где происходит оповещение с одинаковыми параметрами (Твои правильные ИмяСобытия, Параметр) и проанализируй
7 Обработка
 
02.09.21
12:49
Запись делается так АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ТаблицаРезультат, УникальныйИдентификаторФормыВладельца);
где УникальныйИдентификаторФормыВладельца = 00000000-0000-0000-0000-000000000000
8 1Сергей
 
02.09.21
12:51
(7) что-то не очень уникально как-то :)
9 ДенисЧ
 
02.09.21
12:51
"УникальныйИдентификаторФормыВладельца = 00000000-0000-0000-0000-000000000000"

Ты это серьёзно?
10 Обработка
 
02.09.21
12:54
(9) Ну вот так кто то накодил.
Теперь думаю как прописать ее или вообще обойтись без нее.
11 timurhv
 
02.09.21
12:56
(7) в 2 окна открывают обработку, поэтому все идет в тартарары
12 Обработка
 
02.09.21
12:57
Вот в главном окне команда
ВозвращаемыйАдрес = ПоместитьВоВременноеХранилище(Объект[ИмяТаблицы].Выгрузить(), УникальныйИдентификатор);
в ней

УникальныйИдентификатор =    6b3fc7b4-be78-44a1-96af-64d3602db670
13 Обработка
 
02.09.21
13:08
А почему у всех норм и только у одного юзера трабла?
14 Обработка
 
02.09.21
13:08
вот мои значения и они разные

ВозвращаемыйАдрес    "e1cib/tempstorage/4b249a8c-b6df-4d47-b0ca-5fc6d1f24a37"    Строка
АдресВоВременномХранилище    "e1cib/tempstorage/7d6bda92-ebaf-4342-b24d-bea2c3129583"    Строка
АдресТаблицыВоВременноеХранилище    "e1cib/tempstorage/42969c5a-ee97-48f9-b83c-3e2727d5113a"    Строка
15 Обработка
 
03.09.21
05:24
Хорошенько код подправил обновил та же проблема не пойму.
даже УникальныйИдентификаторФормыВладельца  уже передается нормально.
Но все то же самое получется.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан