|   |   | 
| 
 | Как наложить отбор на код в номенклатуре? | ☑ | ||
|---|---|---|---|---|
| 0
    
        bebibo 27.01.20✎ 12:22 | 
        Здравствуйте!
 Вопрос такой, хочу запросом вытащить ту номенклатуру, у которой код находится в конкретном промежутке. Например мин: 0, макс: 90 То есть у меня должны выгрузится позиции номенклатуры, у которой код от 0 до 90. Делаю запрос: ВЫБРАТЬ Номенклатура.Наименование КАК Наименование ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.Код МЕЖДУ &Мин И &Макс Ошибка: индекс находится за границами массива Код у номенклатуры вот такой: 00-00000015 | |||
| 1
    
        RomaH naïve 27.01.20✎ 12:26 | 
        а какое ТО?     | |||
| 2
    
        Fish гуру 27.01.20✎ 12:28 | 
        (0) У тебя код - это строка.     | |||
| 3
    
        ДенисЧ 27.01.20✎ 12:31 | 
        у которой  код от 0 до 90
 Код у номенклатуры вот такой: 00-00000015 Вы уж определитесь... Или крестик, или... | |||
| 4
    
        bebibo 27.01.20✎ 12:39 | 
        (3) в чем моя неопределенность?     | |||
| 5
    
        Sasha_H 27.01.20✎ 12:39 | 
        (0) Код это строка. Но в СКД есть новые возможности НачинаетсяС или ЗаканчиваетсяНа и там можно шаблоны разные накладывать вот так можно ограничивать.     | |||
| 6
    
        bebibo 27.01.20✎ 12:39 | 
        (2) ну вот например я отброшу лидирующие нули, и дальше как быть? чтобы номенклатура выгрузилась только в заданном мною диапазоне?     | |||
| 7
    
        Sasha_H 27.01.20✎ 12:41 | 
        (4) неопределенность в несоответсвии постановки задачи. Вы ставите задачу от 0-90 (это число) хотя может быть и строка, но со строкой МЕЖДУ не применить никак. А в пример вставили 00-00000015 это что 0 или 90     | |||
| 8
    
        Sasha_H 27.01.20✎ 12:41 | 
        (6) Используйте СКД НЕ НачинаетсяС 00-00000 и будет отброс     | |||
| 9
    
        bebibo 27.01.20✎ 12:43 | 
        (7)  
 Номенклатура с кодом 00-00000015 попадает в диапазон 0 или 90. (ну если отбросить нули и всё прочее, то 15 находится между 0 и 90). Но вы сказали главное "со строкой МЕЖДУ не применить никак" - это плохо(( | |||
| 10
    
        bebibo 27.01.20✎ 12:45 | 
        (8) Кроме СКД никак больше?     | |||
| 11
    
        Fish гуру 27.01.20✎ 12:45 | 
        (8) И как это поможет отобрать номера между 0 и 90?     | |||
| 12
    
        bebibo 27.01.20✎ 12:46 | 
        (11) это типа нули отбросятся просто     | |||
| 13
    
        bebibo 27.01.20✎ 12:47 | 
        а отобрать номера от 0 до 90 - не понятно(     | |||
| 14
    
        Fish гуру 27.01.20✎ 12:47 | 
        (10) Можно сделать у номенклатуры реквизит типа число "ЧисловойНомер". И тогда отбирать по нему. Но если номера повторяются с разными префиксами - то этот вариант не подойдёт.     | |||
| 15
    
        eTmy 27.01.20✎ 12:51 | 
        Для извращенцев заполонить массив допустимыми значениями и использовать в списке трололо     | |||
| 16
    
        eTmy 27.01.20✎ 12:53 | 
        А если серьезно, подумайте в сторону выразить     | |||
| 17
    
        Sasha_H 27.01.20✎ 13:09 | 
        ВЫРАЗИТЬ здесь также не поможет нельзя строку выразить КАК число     | |||
| 18
    
        Sasha_H 27.01.20✎ 13:12 | 
        делайте задачу от обратного. Сформируйте список кодов от 0 - 90 и передайте его в качестве Код В (СписокКодов)     | |||
| 19
    
        Sasha_H 27.01.20✎ 13:12 | 
        тоесть в списоке у вас должны быть следующие коды:     | |||
| 20
    
        Sasha_H 27.01.20✎ 13:13 | 
        00-00000001
 00-00000002 00-00000003 .......... 00-00000090 | |||
| 21
    
        Sasha_H 27.01.20✎ 13:15 | 
        можно еще как вариант использовать ПОДСТРОКА     | |||
| 22
    
        eTmy 27.01.20✎ 13:16 | 
        (17) я не предлагал выражать строку как число     | |||
| 23
    
        eTmy 27.01.20✎ 13:23 | 
        Вообще хватит извращений, используйте ПОДОБНО... дальше уже думаю сможете додумать как)     | |||
| 24
    
        RomaH naïve 27.01.20✎ 13:39 | 
        а про "зачем" так и не ответит ТС? 
 что-то миста уже не та - а как же объяснить автору, что это ему не нужно? | |||
| 25
    
        bolobol 27.01.20✎ 13:59 | 
        00-00000000 < Номенклатура.Код И Номенклатура.Код < 00-00000090
 а в чём вопрос-то? | |||
| 26
    
        bolobol 27.01.20✎ 14:04 | 
        в какой момент возникает "Ошибка: индекс находится за границами массива"?     | |||
| 27
    
        bebibo 27.01.20✎ 15:13 | 
        (26) когда в консоли запроса нажимаю: заполнить параметры     | |||
| 28
    
        bebibo 27.01.20✎ 15:24 | 
        Попробовала как изначально хотела:
 "ГДЕ Номенклатура.Код МЕЖДУ &Мин И &Макс" Всё работает! просто консолька какая то плохая)) | |||
| 29
    
        bebibo 27.01.20✎ 15:24 | 
        в другой попробовала и работает     | |||
| 30
    
        Fish гуру 27.01.20✎ 15:33 | 
        (29) И отбирает то, что нужно?     | |||
| 31
    
        eTmy 27.01.20✎ 15:39 | 
        Думаю если добавить букву в начало кода номенклатуры, то все сломается)     | |||
| 32
    
        bebibo 27.01.20✎ 15:43 | 
        (30) да     | |||
| 33
    
        bebibo 27.01.20✎ 15:43 | 
        (31) да)), но  думаю букв там не будет     | |||
| 34
    
        Fish гуру 27.01.20✎ 15:48 | 
        (33) Замечательно, когда есть такая уверенность в будущем :))     | |||
| 35
    
        Мимохожий Однако 27.01.20✎ 15:49 | 
        (33) ОФФ: Заявление дамское, я бы сказал.     | |||
| 36
    
        bebibo 27.01.20✎ 15:50 | 
        (34) )))     | |||
| 37
    
        bebibo 27.01.20✎ 15:50 | 
        нули теперь отбросить, думаю так:
 ВЫБОР КОГДА НЕ ПОДСТРОКА(Номенклатура.Код, 1, 1) = "0" ТОГДА ПОДСТРОКА(Номенклатура.Код, 1, 10) КОГДА НЕ ПОДСТРОКА(Номенклатура.Код, 2, 1) = "0" ТОГДА ПОДСТРОКА(Номенклатура.Код, 2, 9) КОГДА НЕ ПОДСТРОКА(Номенклатура.Код, 3, 1) = "0" ТОГДА ПОДСТРОКА(Номенклатура.Код, 3, 8) КОГДА НЕ ПОДСТРОКА(Номенклатура.Код, 4, 1) = "0" ТОГДА ПОДСТРОКА(Номенклатура.Код, 4, 7) КОГДА НЕ ПОДСТРОКА(Номенклатура.Код, 5, 1) = "0" ТОГДА ПОДСТРОКА(Номенклатура.Код, 5, 6) КОГДА НЕ ПОДСТРОКА(Номенклатура.Код, 6, 1) = "0" ТОГДА ПОДСТРОКА(Номенклатура.Код, 6, 5) КОГДА НЕ ПОДСТРОКА(Номенклатура.Код, 7, 1) = "0" ТОГДА ПОДСТРОКА(Номенклатура.Код, 7, 4) КОГДА НЕ ПОДСТРОКА(Номенклатура.Код, 8, 1) = "0" ТОГДА ПОДСТРОКА(Номенклатура.Код, 8, 3) КОГДА НЕ ПОДСТРОКА(Номенклатура.Код, 9, 1) = "0" ТОГДА ПОДСТРОКА(Номенклатура.Код, 9, 2) ИНАЧЕ ПОДСТРОКА(Номенклатура.Код, 10, 1) КОНЕЦ | |||
| 38
    
        Мимохожий Однако 27.01.20✎ 15:59 | 
        (37) обрати внимание на (8)     | |||
| 39
    
        eTmy 27.01.20✎ 16:00 | 
        (37) Эх, по рукам линейкой!)     | |||
| 40
    
        bebibo 27.01.20✎ 16:02 | 
        (37) хаха. это в интернете так было, я не виновата))     | |||
| 41
    
        pechkin 27.01.20✎ 16:03 | 
        (0) ошибка явно не при выполнении запроса     | |||
| 42
    
        bebibo 27.01.20✎ 16:12 | 
        (41) Ну вот нажимаю "Параметры" и ошибка
 https://wdho.ru/lPiP | |||
| 43
    
        bebibo 27.01.20✎ 16:14 | ||||
| 44
    
        hhhh 27.01.20✎ 16:23 | 
        (43) ну задайте ей параметр "Мин", чего вы жадничаете?     | |||
| 45
    
        pechkin 27.01.20✎ 16:24 | 
        это консоль глюкавая. возьми нормальную | |||
| 46
    
        bebibo 27.01.20✎ 16:37 | 
        (44) так я нажимаю чтобы задать параметры и эта ошибка появляется. Из -за нее не могу задать параметры то)) Консоль просто какая то плохая     | |||
| 47
    
        bebibo 27.01.20✎ 16:37 | 
        (45) Да, взяла, всё нормально теперь))     | |||
| 48
    
        eTmy 27.01.20✎ 16:48 | 
        Инструменты разработчика поставьте от Tormozit     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |