Имя: Пароль:
1C
1С v8
запрос к справочнику номенклатура
,
0 Den_B12
 
22.02.13
06:50
Всем привет.
Помогите с запросом: нужно выбрать из справочника номенклатура все элементы, у которых не заполнен реквизит наименованиеполное
1 Den_B12
 
22.02.13
06:50
Бухгалтерия предприятия, редакция 2.0 (2.0.44.13)
2 chelentano
 
22.02.13
06:52
(0) а в чём проблема?
3 Godofsin
 
22.02.13
06:53
(0) Это элементарно. Чуток напрягись и попробуй сам
4 Ursus maritimus
 
22.02.13
06:53
(0)10$
(2) Строка бесконечная??
5 Wobland
 
22.02.13
06:53
(0) выбрать, из и где тебя спасут
6 Wobland
 
22.02.13
06:54
и выразить тоже
7 Живой Ископаемый
 
22.02.13
06:55
2(0) так а с чем именно помочь?
8 Живой Ископаемый
 
22.02.13
06:56
отправить тебе такой же аппарат как у Хоккинга, чтобы ты мог надиктовывать код 1С?
9 Капитан О
 
22.02.13
06:56
(7) с запросом
10 Живой Ископаемый
 
22.02.13
07:04
2(9) что это значит?
ну вот например фраза помогите с вот этим тяжелым сейфом может означать несколько совершенно разных вещей - человек может просить поднять его, или открыть. А что значит помогите с запросом - версии есть?
11 ICWiner
 
22.02.13
07:07
(10) Благослови его на написание запроса...
12 Den_B12
 
22.02.13
07:07
как в условии написать? пишу
ГДЕ
Номенклатура.НаименованиеПолное <> ""
13 Wobland
 
22.02.13
07:08
(12) вырази как короткую строку, тебе будет лечге
14 Wobland
 
22.02.13
07:13
кстати, а наименование " " заполнено?
15 Den_B12
 
22.02.13
07:14
(13) это как ?
16 Den_B12
 
22.02.13
07:14
(14) да
17 Wobland
 
22.02.13
07:23
(15) а как в главе "Приведение типа" описано
18 Den_B12
 
22.02.13
07:24
вообщем вот так сделал:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|Номенклатура.Наименование,
|Номенклатура.НаименованиеПолное,
|Номенклатура.Ссылка
|ИЗ
|Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|Номенклатура.ЭтоГруппа = ЛОЖЬ";
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
   Сообщить(ВыборкаДетальныеЗаписи.Количество());
Кол = 0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.НаименованиеПолное = "" Тогда
ЭлементНоменклатура = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ЭлементНоменклатура.НаименованиеПолное = ВыборкаДетальныеЗаписи.Наименование;
ЭлементНоменклатура.Записать();
Кол = Кол + 1;
КонецЕсли;

КонецЦикла;

Сообщить(Кол);
19 Wobland
 
22.02.13
07:27
гы! вот не ожидал
выбрать
выбор когда
" "=""
тогда истина иначе ложь конец

истина
20 chelentano
 
22.02.13
07:28
(18)
например:
ГДЕ ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК Строка(200)) = ""

ГДЕ ПОДСТРОКА(Номенклатура.НаименованиеПолное, 1, 200) = ""
21 Godofsin
 
22.02.13
07:28
(18) ну а чо? рабочий код индуса=)
22 Wobland
 
22.02.13
07:40
(20) по этому " " считается незаполненным полем
23 Den_B12
 
22.02.13
08:02
(19)
ВЫБОР
   КОГДА Номенклатура.НаименованиеПолное=" " ТОГДА ИСТИНА
   ИНАЧЕ ЛОЖЬ
КОНЕЦ    

>Нельзя сравнивать поля неограниченной длины и поля несовместимых типов
24 Wobland
 
22.02.13
08:07
(23) растолковать?
25 lim9
 
22.02.13
08:07
"ВЫБРАТЬ
|Номенклатура.Наименование,
|Номенклатура.НаименованиеПолное,
|Номенклатура.Ссылка
|ИЗ
|Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|Номенклатура.ЭтоГруппа = ЛОЖЬ
| И ГДЕ ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК Строка(200)) = """"";

или

"ВЫБРАТЬ
|Номенклатура.Наименование,
|Номенклатура.НаименованиеПолное,
|Номенклатура.Ссылка
|ИЗ
|Справочник.Номенклатура КАК Номенклатура
|ГДЕ
|Номенклатура.ЭтоГруппа = ЛОЖЬ
| И ГДЕ ПОДСТРОКА(Номенклатура.НаименованиеПолное, 1, 200) = """"";
26 Den_B12
 
22.02.13
08:07
(24) если не сложно, сам не разобрался, а интересно как исправить
27 Wobland
 
22.02.13
08:09
(26) слева поле неограниченной длины. с ним сравнивать нельзя
28 Den_B12
 
22.02.13
08:10
(20) и (26) спасибо вам. ПОДСТРОКА это то что мне надо было. Надо было конкретнее мне вопрос штоли задавать...
29 Den_B12
 
22.02.13
08:14
Кстати, вот ПОДСТРОКА нет во встроенном синтаксис-помощнике. По всей документации штоли лазить? Мож где онлайн какой инструментарий?
30 Den_B12
 
22.02.13
08:15
(27) это понял, и как быть с кодом?
31 Den_B12
 
22.02.13
08:16
(29) аа, в произвольных выражения работы со строками ее нашел. незнал, сори.
32 Wobland
 
22.02.13
08:18
(28) воистину
33 Den_B12
 
22.02.13
08:21
(25) спасибо. записал в голову и ВЫРАЗИТЬ. с ним работает тоже.