![]() |
|
Передача данных с &сервера на &клиент. Не могу понять в чем дело. Помогите разобраться. | ☑ | ||
---|---|---|---|---|
0
pokrishkin
22.02.22
✎
06:22
|
Помещаю таблицу во временное хранилище по уникальному идентификатору,
но при попытке выбрать строки из этой же таблицы по этому же инентификатору - ошибка доступа к файлу, весь мозг себе съел проверял не меняется ли тип значения у УИ - нет, но система считает, что это не адрес временного хранилища. &НаКлиенте Процедура ПолучитьСтруктуруБД(Команда) УИ = ЭтаФорма.УникальныйИдентификатор; КоличествоЗаписейВТаблице = ПолучитьСтруктуруБДНаСервере(УИ); Для НомерСтроки = 0 По КоличествоЗаписейВТаблице-1 Цикл СтруктураСтроки = ПолучитьСтруктуруИзТаблицыНаСервере(УИ, НомерСтроки); Сообщить(СтруктураСтроки.Получить()); Для Каждого Элемент Из СтруктураСтроки Цикл УправлениеУведомлениями(Строка(Элемент.Значение), Строка(Элемент.Ключ)); КонецЦикла; КонецЦикла; КонецПроцедуры &НаСервере Функция ПолучитьСтруктуруБДНаСервере(УИ) СтруктураБДНаСервере = ПолучитьСтруктуруХраненияБазыДанных(,Истина); ПоместитьВоВременноеХранилище(СтруктураБДНаСервере,УИ); Возврат СтруктураБДНаСервере.Количество(); КонецФункции &НаСервере Функция ПолучитьСтруктуруИзТаблицыНаСервере(УИ, НомерСтроки = 0) СтруктураСтроки = Новый Структура; ТаблицаЗначений = ПолучитьИзВременногоХранилища(УИ); СтрокаТаблицыЗначений = ТаблицаЗначений.Получить(НомерСтроки); Для каждого Колонка Из СтрокаТаблицыЗначений.Владелец().Колонки Цикл СтруктураСтроки.Вставить(Колонка.Имя, СтрокаТаблицыЗначений[Колонка.Имя]); КонецЦикла; Возврат СтруктураСтроки; КонецФункции Описание ошибки: {ВнешняяОбработка.ЗагрузкаДанных.Форма.Форма.Форма(213)}: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища) ТаблицаЗначений = ПолучитьИзВременногоХранилища(УИ); по причине: Ошибка получения значения из временного хранилища по причине: Неправильный путь к файлу '3f913e55-2bde-43aa-8a92-12905ac03d84' Ошибка получения значения из временного хранилища по причине: Неправильный путь к файлу '3f913e55-2bde-43aa-8a92-12905ac03d84' |
|||
1
hhhh
22.02.22
✎
06:37
|
(0) так у вас передача с сервера на сервер. Почему вы пишете передача на клиент?
|
|||
2
pokrishkin
22.02.22
✎
07:03
|
(1) потому что в итоге выборка уходит на клиент, и вообще вопрос в том, почему путь к файлу оказывается не верным, если он в обеих процедурах один?
|
|||
3
PuhUfa
22.02.22
✎
07:11
|
(0) потому что УникальныйИдентификатор не является адресом во временном хранилище
|
|||
4
Жан Пердежон
22.02.22
✎
07:14
|
Адрес = ПоместитьВоВременноеХранилище(СтруктураБДНаСервере,УИ);
--- ПолучитьИзВременногоХранилища(Адрес); |
|||
5
OldCondom
22.02.22
✎
07:14
|
То есть все остально не смущает?
|
|||
6
Жан Пердежон
22.02.22
✎
07:16
|
(3) опередил
и да, в (0) лютый говнокод, начинай от именования переменных и функций, и кончая контекстными вызовами в цикле |
|||
7
pokrishkin
22.02.22
✎
07:37
|
(6) Докулупаваться до наименований переменных и функций - дело последнее,
про контекстные выховы - согласен, но нужно чтобы оно хоть как то заработало (4) Спасибо, упустил момент |
|||
8
MyNick
22.02.22
✎
09:39
|
(7) это как раз таки первое дело.
Задавая вопрос - привести код в порядок для уважения к помогающим. А пока будешь приводить в порядок код, с большой вероятностью сам решишь свою проблему. Это так работает. |
|||
9
valerivp
22.02.22
✎
10:21
|
(0) ПоместитьВоВременноеХранилище возвращает адрес, по которому надо получать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |