|
Получение данных из хранилища | ☑ | ||
---|---|---|---|---|
0
Barry
15.03.23
✎
14:41
|
При получении результата, в колонке Данные запроса мне выдает везде Хранилище. Подскажите пожалуйста, как мне вытянуть данные из хранилища?
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Таможня.Номер КАК Номер, | Таможня.Дата КАК Дата, | Таможня.Склад КАК Склад, | Разрешения.ДанныеЗапроса КАК ДанныеЗапроса |ИЗ | РегистрСведений.Разрешения КАК Разрешения | ЛЕВОЕ СОЕДИНЕНИЕ Документ.Таможня КАК Таможня | ПО Разрешения.Документ = Таможня.Ссылка |ГДЕ | НАЧАЛОПЕРИОДА(Таможня.Дата, ДЕНЬ) >= &ДатаНачала | И НАЧАЛОПЕРИОДА(Таможня.Дата, ДЕНЬ) <= &ДатаКонца"; Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала); Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл НовСтр = Объект.Инфо.Добавить(); ЗаполнитьЗначенияСвойств(НовСтр, ВыборкаДетальныеЗаписи); КонецЦикла; |
|||
1
vicof
15.03.23
✎
00:27
|
Может быть уже почитаешь книжки по 1ске?
|
|||
2
Barry
15.03.23
✎
01:21
|
(1) читал) попробовал функцией сделать так, но ничего не выходит
РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда Возврат Неопределено; Иначе ТЗХранилищеПервичныхДанных = РезультатЗапроса.Выгрузить(); СтрХранилищеПервичныхДанных = ТЗХранилищеПервичныхДанных[0]; Возврат СтрХранилищеПервичныхДанных.ДанныеЗапроса.Получить(); КонецЕсли; |
|||
3
Chameleon1980
15.03.23
✎
06:00
|
Методы:
например, получить() бл... |
|||
4
Barry
15.03.23
✎
07:29
|
(3) у меня есть метод получить()
|
|||
5
Мимохожий Однако
15.03.23
✎
07:45
|
Какого типа данные помещал в хранилище? Что ожидаешь получить? Что получаешь сейчас?
|
|||
6
Мультук
15.03.23
✎
07:59
|
(2)
В 1С есть отладчик В нем можно написать СтрХранилищеПервичныхДанных.ДанныеЗапроса.Получить() Показывать тип "Хранилище" ? Напишите СтрХранилищеПервичныхДанных.ДанныеЗапроса.Получить().Получить() |
|||
7
Barry
15.03.23
✎
08:38
|
(5) ХранилищеЗначений тип данных. Хочу вытянуть адрес.
|
|||
8
Barry
15.03.23
✎
22:25
|
Попробовал вот так сделать, вроде стало вытягивать адрес, но бъет ошибка: "Значение не является значением объектного типа (Адрес)"
РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда Возврат Неопределено; Иначе ТЗХранилищеПервичныхДанных = РезультатЗапроса.Выгрузить(); СтрХранилищеПервичныхДанных = ТЗХранилищеПервичныхДанных; Для Каждого Стр Из СтрХранилищеПервичныхДанных Цикл Адресатор = Стр.ДанныеЗапроса.Получить().Адрес; Строка = Объект.Инфо.Добавить(); Строка.Номер = Стр.Номер; Строка.Дата = Стр.Дата; Строка.Склад = Стр.Склад; Строка.ДанныеЗапроса = Адресатор; КонецЦикла; КонецЕсли; |
|||
9
Мимохожий Однако
15.03.23
✎
23:06
|
(7) Я задал три вопроса. Ответ совсем про другое
|
|||
10
Barry
15.03.23
✎
23:22
|
(9) Достаем Строку из ХранилищеЗначений. Ожидаю получить данные строки. Сейчас ошибку получаю: Значение не является значением объектного типа (Адрес)
|
|||
11
Гипервизор
16.03.23
✎
06:32
|
(10) Сообщите уже какого типа ДанныеЗапроса.Получить().
|
|||
12
Barry
16.03.23
✎
07:10
|
(11) Данные запроса, это тип ХранилиЗначений, внутри хранилища есть Адрес с типом Строка. Его и нужно получить.
|
|||
13
Гипервизор
16.03.23
✎
07:15
|
(12) Ну так если у вас в (8) в Стр.ДанныеЗапроса.Получить() уже строка, для чего вы ещё через точку пытаетесь адрес получить?
Адресатор = Стр.ДанныеЗапроса.Получить(); - вот тут уже и есть адрес. Или у вас в Стр.ДанныеЗапроса.Получить() некая коллекция? |
|||
14
Мимохожий Однако
16.03.23
✎
09:29
|
(10) Покажи код. Отладчик что показывает в строке с ошибкой?
|
|||
15
sandal_r
16.03.23
✎
10:09
|
покажите что в переменной "Адрес"
|
|||
16
Barry
17.03.23
✎
01:32
|
В общем Данные запроса я в самом запросе выразил как тип значения, теперь из его нужно снова преобразовать в само значение. Вот что видим в отладчике:
https://cloud.mail.ru/public/WfGY/ugeL9neWm |
|||
17
vicof
17.03.23
✎
01:48
|
Давай начнем с простого, что в твоем понимании хранилаще значеняи и зачем оно нужно?
|
|||
18
Гипервизор
17.03.23
✎
05:55
|
(16) В общем что в (13) непонятно? И до того вам уже писали. А вместо ответов по существу какие-то хаотичные манипуляции.
|
|||
19
Мимохожий Однако
17.03.23
✎
06:23
|
Ответы аналогичны анекдоту о Василии Ивановиче про радиостанцию на бронепоезде
|
|||
20
Barry
17.03.23
✎
08:41
|
(19) у меня в запросе так сейчас ТИПЗНАЧЕНИЯ(Разрешения.ДанныеЗапроса) КАК ДанныеЗапроса
И теперь нужно как-то вытянуть адрес. |
|||
21
Гипервизор
17.03.23
✎
08:48
|
(20) А зачем у вас сейчас в запросе тип? Так интереснее? Из серии:
"Дорогая редакция! Спасибо вам за рецепт. Авокадо мы заменили отварным картофелем, а креветки - поджаренным салом, но в целом ваш рецепт салата из авокадо с креветками нам очень понравился." |
|||
22
Barry
17.03.23
✎
09:42
|
(21) потому что в запросе есть дубли, чтобы их убрать использую выборку Без повторяющихся и если просто использовать реквизит , то выдает ошибку: в запросе Различные или Объединить нельзя использовать поля неограниченной длины ДанныеЗапроса.
|
|||
23
Barry
17.03.23
✎
09:44
|
Выразить не катит тоже
|
|||
24
Мимохожий Однако
17.03.23
✎
09:51
|
(23) В теме ветке написано "Получение данных из хранилища", а ты дискуссию развёл о типе реквизита.
Покажи какое значение и как помещаешь в хранилище значений. Тогда будет ясно как его получить |
|||
25
Barry
17.03.23
✎
16:36
|
Всем спасибо! Сам разобрался. Связь в запросе неправильная была.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |