Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как наложить отбор на код в номенклатуре?

Как наложить отбор на код в номенклатуре?
Я
   bebibo
 
27.01.20 - 12:22
Здравствуйте!
Вопрос такой, хочу запросом вытащить ту номенклатуру, у которой код находится в конкретном промежутке.
Например мин: 0, макс: 90
То есть у меня должны выгрузится позиции номенклатуры, у которой  код от 0 до 90.
Делаю запрос:
ВЫБРАТЬ
    Номенклатура.Наименование КАК Наименование
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Код МЕЖДУ &Мин И &Макс
Ошибка: индекс находится за границами массива
Код у номенклатуры вот такой: 00-00000015
   RomaH
 
1 - 27.01.20 - 12:26
а какое ТО?
   Fish
 
2 - 27.01.20 - 12:28
(0) У тебя код - это строка.
   ДенисЧ
 
3 - 27.01.20 - 12:31
у которой  код от 0 до 90

Код у номенклатуры вот такой: 00-00000015

Вы уж определитесь... Или крестик, или...
   bebibo
 
4 - 27.01.20 - 12:39
(3) в чем моя неопределенность?
   Sasha_H
 
5 - 27.01.20 - 12:39
(0) Код это строка. Но в СКД есть новые возможности НачинаетсяС или ЗаканчиваетсяНа и там можно шаблоны разные накладывать вот так можно ограничивать.
   bebibo
 
6 - 27.01.20 - 12:39
(2) ну вот например я отброшу лидирующие нули, и дальше как быть? чтобы номенклатура выгрузилась только в заданном мною диапазоне?
   Sasha_H
 
7 - 27.01.20 - 12:41
(4) неопределенность в несоответсвии постановки задачи. Вы ставите задачу от 0-90 (это число) хотя может быть и строка, но со строкой МЕЖДУ не применить никак. А в пример вставили 00-00000015 это что 0 или 90
   Sasha_H
 
8 - 27.01.20 - 12:41
(6) Используйте СКД НЕ НачинаетсяС 00-00000 и будет отброс
   bebibo
 
9 - 27.01.20 - 12:43
(7)  
Номенклатура с кодом 00-00000015 попадает в диапазон 0 или 90. (ну если отбросить нули и всё прочее, то 15 находится между 0 и 90).
Но вы сказали главное "со строкой МЕЖДУ не применить никак" - это плохо((
   bebibo
 
10 - 27.01.20 - 12:45
(8) Кроме СКД никак больше?
   Fish
 
11 - 27.01.20 - 12:45
(8) И как это поможет отобрать номера между 0 и 90?
   bebibo
 
12 - 27.01.20 - 12:46
(11) это типа нули отбросятся просто
   bebibo
 
13 - 27.01.20 - 12:47
а отобрать номера от 0 до 90 - не понятно(
   Fish
 
14 - 27.01.20 - 12:47
(10) Можно сделать у номенклатуры реквизит типа число "ЧисловойНомер". И тогда отбирать по нему. Но если номера повторяются с разными префиксами - то этот вариант не подойдёт.
   eTmy
 
15 - 27.01.20 - 12:51
Для извращенцев заполонить массив допустимыми значениями и использовать в списке трололо
   eTmy
 
16 - 27.01.20 - 12:53
А если серьезно, подумайте в сторону выразить
   Sasha_H
 
17 - 27.01.20 - 13:09
ВЫРАЗИТЬ здесь также не поможет нельзя строку выразить КАК число
   Sasha_H
 
18 - 27.01.20 - 13:12
делайте задачу от обратного. Сформируйте список кодов от 0 - 90 и передайте его в качестве Код В (СписокКодов)
   Sasha_H
 
19 - 27.01.20 - 13:12
тоесть в списоке у вас должны быть следующие коды:
   Sasha_H
 
20 - 27.01.20 - 13:13
00-00000001
00-00000002
00-00000003
..........
00-00000090
   Sasha_H
 
21 - 27.01.20 - 13:15
можно еще как вариант использовать ПОДСТРОКА
   eTmy
 
22 - 27.01.20 - 13:16
(17) я не предлагал выражать строку как число
   eTmy
 
23 - 27.01.20 - 13:23
Вообще хватит извращений, используйте ПОДОБНО... дальше уже думаю сможете додумать как)
   RomaH
 
24 - 27.01.20 - 13:39
а про "зачем" так и не ответит ТС?
что-то миста уже не та - а как же объяснить автору, что это ему не нужно?
   bolobol
 
25 - 27.01.20 - 13:59
00-00000000 < Номенклатура.Код И Номенклатура.Код < 00-00000090

а в чём вопрос-то?
   bolobol
 
26 - 27.01.20 - 14:04
в какой момент возникает "Ошибка: индекс находится за границами массива"?
   bebibo
 
27 - 27.01.20 - 15:13
(26) когда в консоли запроса нажимаю: заполнить параметры
   bebibo
 
28 - 27.01.20 - 15:24
Попробовала как изначально хотела:
"ГДЕ
    Номенклатура.Код МЕЖДУ &Мин И &Макс"
Всё работает!
просто консолька какая то плохая))
   bebibo
 
29 - 27.01.20 - 15:24
в другой попробовала и работает
   Fish
 
30 - 27.01.20 - 15:33
(29) И отбирает то, что нужно?
 
 Рекламное место пустует
   eTmy
 
31 - 27.01.20 - 15:39
Думаю если добавить букву в начало кода номенклатуры, то все сломается)
   bebibo
 
32 - 27.01.20 - 15:43
(30) да
   bebibo
 
33 - 27.01.20 - 15:43
(31) да)), но  думаю букв там не будет
   Fish
 
34 - 27.01.20 - 15:48
(33) Замечательно, когда есть такая уверенность в будущем :))
   МимохожийОднако
 
35 - 27.01.20 - 15:49
(33) ОФФ: Заявление дамское, я бы сказал.
   bebibo
 
36 - 27.01.20 - 15:50
(34) )))
   bebibo
 
37 - 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)
   eTmy
 
39 - 27.01.20 - 16:00
(37) Эх, по рукам линейкой!)
   bebibo
 
40 - 27.01.20 - 16:02
(37) хаха. это в интернете так было, я не виновата))
   pechkin
 
41 - 27.01.20 - 16:03
(0) ошибка явно не при выполнении запроса
   bebibo
 
42 - 27.01.20 - 16:12
(41) Ну вот нажимаю "Параметры" и ошибка
https://wdho.ru/lPiP
   bebibo
 
43 - 27.01.20 - 16:14
   hhhh
 
44 - 27.01.20 - 16:23
(43) ну задайте ей параметр "Мин", чего вы жадничаете?
   pechkin
 
45 - 27.01.20 - 16:24
это консоль глюкавая.
возьми нормальную
   bebibo
 
46 - 27.01.20 - 16:37
(44) так я нажимаю чтобы задать параметры и эта ошибка появляется. Из -за нее не могу задать параметры то)) Консоль просто какая то плохая
   bebibo
 
47 - 27.01.20 - 16:37
(45) Да, взяла, всё нормально теперь))
   eTmy
 
48 - 27.01.20 - 16:48
Инструменты разработчика поставьте от Tormozit


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.