Имя: Пароль:
1C
1С v8
Ошибка в ПОДОБНО
0 Jonny_Khomich
 
19.02.15
13:01
РабДни.ДниНедели ПОДОБНО "%" + ДЕНЬНЕДЕЛИ(&ТекущаяДата) + "%"

Неверные параметры "+".

Платформа 8.1

Я не могу сравнивать строку и число в запросе?
1 salvator
 
19.02.15
13:04
Передай в параметр
2 leonidkorolev
 
19.02.15
13:05
(0) "Я не могу сравнивать строку и число в запросе?"

Нельзя складывать число и строку.
3 salvator
 
19.02.15
13:06
А что ты хочешь выбрать благодаря ПОДОБНО?
ДниНедели подобно %7% ?
4 Maxus43
 
19.02.15
13:06
ошибка в ковычках у тебя, сделай проще (1)
5 Maxus43
 
19.02.15
13:07
лучше задачу опиши, а то имхо делаешь вобще неправильно
6 Jonny_Khomich
 
19.02.15
13:08
(1) ну это понятно, что можно передать через параметр. Я бы хотел просто передавать 1 параметр &ТекущаяДата и работать с ним в запросе.
(2) без "%" тоже не работает
(3) ну типа того. У меня в реквизите хранятся дни недели нужные мне.
7 Maxus43
 
19.02.15
13:08
(6) дак они наверно числовые, а не строковые
8 salvator
 
19.02.15
13:09
(6) Что значит подобно %7% или к примеру, подобно %3%?
День недели может быть двузначным?
9 salvator
 
19.02.15
13:10
+(8) Может логичнее делать условие на "равно"?
10 Jonny_Khomich
 
19.02.15
13:11
(5) в текстовый реквизит я через запятую перечисляю числа дней недели, которые мне надо и при обращение к этому справочнику, я хочу отбирать на текущую дату те элементы, которые удовлетворяют текущему дню.
11 Maxus43
 
19.02.15
13:14
(10) реализация жесть конечно...
по сабжу
... ПОДОБНО &Подстрока

УстановитьПараметр("Подстрока", "%"+ДЕНЬНЕДЕЛИ(&ТекущаяДата)+"%");
12 Jonny_Khomich
 
19.02.15
13:18
(11) я же не буду хранить 7 реквизитов булево в справочнике, где буду записывать дни недели, которые мне требуются. Понедельник = Истина, Вторник = Ложь, Среда = Истина.
А тут 1,3 и всё ясно. В понедельник и среду - то что надо, вторника нет в этой строке, он мне не нужен.


ВЫРАЗИТЬ(ДЕНЬНЕДЕЛИ(&ТекущаяДата) КАК СТРОКА(1)) - это то почему не работает хоть?
13 Jonny_Khomich
 
19.02.15
13:23
Ладно, закрыто. Всё ясно стало, запросы в 1с - шляпа. Фиг приобразуешь один тип в другой. и не сравнишь
14 Maxus43
 
19.02.15
13:34
>>это то почему не работает хоть?
нельзя преобразовывать типы в запросе, только приводить.
И это не надо, реально
15 1Сергей
 
19.02.15
13:50
(13) ну, да. ну, да. Разработчики 1С глупее тебя. Однозначно
16 D_E_S_131
 
19.02.15
14:00
(12) "Выразить" не преобразовывает тип. Вообще ничего не преобразовывает в запросе типы.
17 1Сергей
 
19.02.15
14:02
(12) а как ты запишешь понедельник-среда-пятница?
18 dmpl
 
19.02.15
14:05
(12) Вариант 1: ТЧ в справочнике с днями недели.
Вариант 2: РС с днями недели и ссылками на элементы справочника.
19 1Сергей
 
19.02.15
14:08
(18) я бы 7 реквизитов сделал
20 dmpl
 
19.02.15
14:16
(19) Лень :)
21 dmpl
 
19.02.15
14:16
+(20) А если еще и дни месяца указывать?
22 Jonny_Khomich
 
19.02.15
14:18
(17) 1,3,5
23 Jonny_Khomich
 
19.02.15
14:19
(18) зачем геморой себе придумывать, создавать новые РС или ТЧ??? Это самый простой вариант, просто вышла накладка с ПОДОБНО, вот и всё.
24 dmpl
 
19.02.15
14:21
(23) Сравни скорость. Если хочешь что-то быстро искать - это должно быть индексировано. И без всяких ПОДОБНО.
25 Jonny_Khomich
 
19.02.15
14:22
(24) этот реквизит в справочнике, элементов там ну 200 максимум будет. Искать на 0,000002 секунды быстрее мне не надо.
26 dmpl
 
19.02.15
14:27
(25) Вот в этом и проблема. Сегодня 200 элементов, а завтра бизнес попер в гору и 200 тыс. элементов.
27 Jonny_Khomich
 
19.02.15
14:29
(26) нет, там никогда не будет столько записей. Это технический справочник, туда обычные пользователи ничего писать не будут.
p.s. механизм уже реализован и внедрен другими людьми, я просто его дорабатываю, вношу новшества и корректировки.
28 dmpl
 
19.02.15
14:39
(27) Даже в этом случае зачем грузить сервер лишней работой? Данный метод идеологически неверен. Сейчас либо параметром передавать, либо ВЫБОР КОГДА использовать для преобразования числа в строку.
29 Jonny_Khomich
 
19.02.15
14:43
(28) спасибо за совет. Но переделывать этот реквизит не буду