Имя: Пароль:
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
Хорошенько код подправил обновил та же проблема не пойму.
даже УникальныйИдентификаторФормыВладельца  уже передается нормально.
Но все то же самое получется.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший