|   |   | 
| 
 | v7: Отбор по реквизиту документа. | ☑ | ||
|---|---|---|---|---|
| 0
    
        r_p 01.10.13✎ 11:28 | 
        Приветствую. Есть конфа 7.7. Есть документ, у документа общий реквизит "Примечание" (Строка(256)), галочка "Отбор" в св-вах общего реквизита отжата и по причинам от меня не зависящий я не могу ее поставить.
 Надо получить список документов со значением этого реквизита. ВыбратьПоЗначению использовать не могу, из-за галочки "Отбор". Запросом не могу получить, пишет ошибку "Длина индекса превышает максимальную длину и не может быть уменьшена." Перебором делать долго. Есть еще варианты или я туплю где-то. Текст запроса на всякий случай: ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ДатаНач по ДатаКон; |ОбрабатыватьДокументы все; |Без итогов; |ТекущийДокумент = Документ.Получение.ТекущийДокумент; |Примечания = Документ.Получение.Примечания; |Группировка ТекущийДокумент; |Группировка Примечания; |Условие(Примечания = Примечание); |";//}}ЗАПРОС | |||
| 1
    
        КапЛей 01.10.13✎ 11:30 | 
        мдя... отбор по строке, да еще скорее всего неограниченной длины это пять!     | |||
| 2
    
        r_p 01.10.13✎ 11:31 | 
        (1) Знаю что жесть. Она не ограничена. 256 символов.     | |||
| 3
    
        r_p 01.10.13✎ 11:32 | 
        Конфу писал юный рарусец. Проклинаем его ежедневно.     | |||
| 4
    
        VladZ 01.10.13✎ 11:33 | 
        (0) "Надо получить список документов со значением этого реквизита" - зачем? Точнее так: зачем анализировать весь бред из примечания длинной 256 символов?     | |||
| 5
    
        КапЛей 01.10.13✎ 11:33 | 
        а пользуются ей дятлы, которые заставляют такого же дятла юного мастерить ненужные отборы.     | |||
| 6
    
        VladZ 01.10.13✎ 11:33 | 
        Если вам нужна некая информация для анализа - вытаскивайте ее в отдельные реквизиты и анализируйте по ним.     | |||
| 7
    
        VladZ 01.10.13✎ 11:34 | 
        (5) Жестоко, хоть и в точку... С таким подходом не найдешь себе клиентов. :)     | |||
| 8
    
        r_p 01.10.13✎ 11:35 | 
        (6) Я бы с БОЛЬШИМ удовольствием так бы и сделал. Но конфа стоит на over 9000 машинах и поменять конфу как либо не получится.     | |||
| 9
    
        КапЛей 01.10.13✎ 11:40 | 
        (8) зачем отбор по примечанию? проверить не написал ли кто на более чем 9000 машинах случайно "Войну и Мир"?     | |||
| 10
    
        oslokot 01.10.13✎ 11:44 | 
        (0) Просто выбрать по условию ПустаяСтрока(Примечание) = 0 ?
 Попробуй прямым запросом | |||
| 11
    
        r_p 01.10.13✎ 11:45 | 
        Ладно. Понял что вопрос скорее политический, чем по коду. Буду продавливать создание нового реквизита.     | |||
| 12
    
        oslokot 01.10.13✎ 11:46 | 
        (10) а, сравнивать с чем-то. Ну тоже прямым запросом можно быстро вытянуть     | |||
| 13
    
        Ёпрст гуру 01.10.13✎ 11:47 | 
        ТекстЗапроса = 
 "//{{ЗАПРОС(Сформировать) |Период с ДатаНач по ДатаКон; |ОбрабатыватьДокументы все; |Без итогов; |ТекущийДокумент = Документ.Получение.ТекущийДокумент; |Примечания = Документ.Получение.Примечания; |Группировка ТекущийДокумент; |Условие(Найти(Примечания,Примечание)>0); |";//}}ЗАПРОС | |||
| 14
    
        Ёпрст гуру 01.10.13✎ 11:47 | 
        |Условие(Найти(Примечания,СокрЛП(Примечание))>0);
 даже так лучшее | |||
| 15
    
        r_p 01.10.13✎ 11:51 | 
        (13) Кстати работает, спасибо.     | |||
| 16
    
        r_p 01.10.13✎ 11:52 | 
        Привык к запросам 8-ки. Забыл что можно использовать стандартные функции в запросе.     | |||
| 17
    
        PRO100 NigGaZ 01.10.13✎ 14:42 | 
        ТекстЗапроса = "
 |SELECT Получение.IDDOC [ТекущийДокумент $Документ.Получение] | , Cast(Left(Получение.Примечания, 256) AS Примечания |FROM $Документ.Получение AS Получение With (NOLOCK) |WHERE (Cast(Left(Получение.Примечания, 256) AS Примечания) = :Примечение) |"; может так хз | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |