Имя: Пароль:
1C
1С v8
Использование полей неограниченной длины в запросе
0 Barry
 
17.03.23
22:42
Помогите пожалуйста решить проблему!
Не удается сохранить данный запрос. Выдает ошибку: В запросе с предложениями РАЗЛИЧНЫЕ или ОБЪЕДИНИТЬ нельзя использовать поля неограниченной длины "ДанныеЗапроса"

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    Таможня.Номер КАК Номер,
        |    Таможня.Дата КАК Дата,
        |    Таможня.Склад КАК Склад,
        |    Разрешения.ДанныеЗапроса КАК ДанныеЗапроса
        |ИЗ
        |    РегистрСведений.Разрешения КАК Разрешения
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.Таможня КАК Таможня
        |        ПО Разрешения.Документ = Таможня.Ссылка
        |ГДЕ
        |    НАЧАЛОПЕРИОДА(Таможня.Дата, ДЕНЬ) >= &ДатаНачала
        |    И НАЧАЛОПЕРИОДА(Таможня.Дата, ДЕНЬ) <= &ДатаКонца";
    
    Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);
    Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        НовСтр = Объект.Инфо.Добавить();    
            ЗаполнитьЗначенияСвойств(НовСтр, ВыборкаДетальныеЗаписи);
    КонецЦикла;
1 Волшебник
 
17.03.23
22:44
ПОДСТРОКА(поле, 0, 1000)
2 Barry
 
17.03.23
22:57
(1) Не удается сохранить, пишет Неверные параметры ПОДСТРОКА(Разрешения.ДанныеЗапроса, 0, 100)
3 CepeLLlka
 
17.03.23
22:58
(2)Попробуйте ВЫРАЗИТЬ()
4 Barry
 
17.03.23
23:00
(3) Не удается сохранить, пишет Несовместимые типы ВЫРАЗИТЬ(Разрешения.ДанныеЗапроса КАК СТРОКА (100))
5 H A D G E H O G s
 
17.03.23
23:10
ВЫРАЗИТЬ(isnull(Разрешения.ДанныеЗапроса,"") КАК СТРОКА (100))
6 Barry
 
17.03.23
23:15
(5) Тоже самое, пишет Несовместимые типы ВЫРАЗИТЬ(isnull(Разрешения.ДанныеЗапроса,"") КАК СТРОКА (100))
7 PR
 
17.03.23
23:18
(6) Тогда остается пригласить программиста
8 RomanYS
 
17.03.23
23:54
А тип посмотреть не судьба? Предположу хранилище
9 Barry
 
18.03.23
00:36
(8) Все верно тип ХранилищеЗначений
10 Barry
 
18.03.23
00:56
Можно так конечно ТИПЗНАЧЕНИЯ(Разрешения.ДанныеЗапроса), но тогда вопрос возникает дальше, как потом обратно преобразовать без типа значения, чтобы в самом коде можно было работать с хранилищем.
11 RomanYS
 
18.03.23
01:19
(10) ничего не понятно. Зачем тебе тип, если он известен заранее
12 Barry
 
18.03.23
01:35
(11) ну логично, тогда хз
13 Мимохожий Однако
 
18.03.23
06:53
Разрешения - это какой объект конфигурации? Объект.Инфо на форме? Фигня какая-то
14 Barry
 
18.03.23
08:06
(13) Разрешения, это регистр сведений в конфигурации. Инфо это табличная часть на форме внешней обработки.
15 shuhard
 
18.03.23
08:45
(14) запрос нужно выкинуть в помойку целиком, начиная с левой связи на документ, сидящий в измерении
+ убрать  РАЗЛИЧНЫЕ, не построит сиквел индекс по бесконечному полю
16 Гипервизор
 
18.03.23
09:21
(0) Шо, опять? Ваша же тема с этим хранилищем Получение данных из хранилища
И вы типа всё порешали.
17 Barry
 
18.03.23
09:43
(16) там другое было.
18 Barry
 
18.03.23
09:45
(15) если так сделаю, то будут дубли номеров.
19 RomanYS
 
18.03.23
10:02
(18) отсюда проблемы твои не видны. Опиши задачу и структуру данных. Связь "Разрешения.Документ = Таможня.Ссылка" крайне не очевидная, тем более не понятно откуда в такой структуре появятся дубли. Если разрешение на каждый документ, то зачем их несколько и как определить нужное?
20 timurhv
 
18.03.23
13:08
(18) РегистрСведений.Разрешения выбрать различные + поместить во временную таблицу
Документ.Таможня КАК Таможня уже соединять с временной таблицей, а не регистром сведений
21 RomanYS
 
18.03.23
13:58
(20) нельзя выбрать РАЗЛИЧНЫЕ ХРАНИЛИЩА
22 Barry
 
18.03.23
16:16
(21) все я разобрался) сделал условие на проверку одинаковых строк.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший