Имя: Пароль:
1C
1С v8
Помогите с запросом!
🠗 (Волшебник 21.01.2014 14:07)
,
0 Мисти
 
18.01.14
13:58
"Всё понимаю, но сказать не могу".
Мне надо соединить 2 запроса:
1 Джинн
 
18.01.14
13:59
Разрешаю, объединяйте
2 vicof
 
18.01.14
13:59
а чо, контрагентов уже выбрала?
3 1СКонсультант
 
18.01.14
14:00
(0) показывайте запросы
4 Мисти
 
18.01.14
14:00
|ВЫБРАТЬ
    |ЕСТЬNULL(СвободныеОстаткиОстатки.Склад, ТоварыНаСкладахОстатки.Склад) КАК Склад,
    |ЕСТЬNULL(СвободныеОстаткиОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура,
    |ЕСТЬNULL(СвободныеОстаткиОстатки.Характеристика, ТоварыНаСкладахОстатки.Характеристика) КАК Характеристика,
    |ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеОстаток, 0) КАК ВРезерве,
    |ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличии,
    |ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК ПолныйОстаток
    |ПОМЕСТИТЬ ВТ_СвободныеОстатки
    |ИЗ
    |РегистрНакопления.СвободныеОстатки.Остатки(, Склад В (&Склады) {(Номенклатура)}) КАК СвободныеОстаткиОстатки
    |ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&Склады) {(Номенклатура)}) КАК ТоварыНаСкладахОстатки
    |ПО СвободныеОстаткиОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
    |    И СвободныеОстаткиОстатки.Характеристика = ТоварыНаСкладахОстатки.Характеристика
    |    И СвободныеОстаткиОстатки.Склад = ТоварыНаСкладахОстатки.Склад    
    |;
Выдает правильные остатки на складах и резерв

И вот этот(там правильная идея с ценами и с тем, что данные нужно по всему справочнику)

"ВЫБРАТЬ
|    ВсеТовары.Ссылка КАК Номенклатура,
|    ВсеТовары.ЭтоГруппа КАК ЭтоГруппа,
|    ВсеТовары.ЕдиницаИзмерения.Наименование КАК ТовЕд,
|    ВсеТовары.Артикул КАК Артикул,
|    СвободныеОстатки.ВНаличииОстаток КАК ВНаличииОстаток,
|    СвободныеОстатки.Склад КАК Склад,
|    СвободныеОстатки.Склад.Наименование КАК СкладНаименование,
|    СвободныеОстатки.Номенклатура.ДополнительныеРеквизиты.(
|        Свойство КАК Поле1,
|        Значение КАК Поле2
|    ) КАК ДопРеквизиты,
|    ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
|    Справочник.Номенклатура КАК ВсеТовары
|        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
|        ПО ВсеТовары.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки КАК СвободныеОстатки
|        ПО ВсеТовары.Ссылка = СвободныеОстатки.Номенклатура
|ГДЕ
|    ЦеныНоменклатурыСрезПоследних.ВидЦены = &Св4
|    И ВсеТовары.ДополнительныеРеквизиты.Свойство.Наименование = &Св1
|ИТОГИ ПО
|    Номенклатура ИЕРАРХИЯ,
|    Склад";

(2) Ага, всё получилось, без запроса. Разницы в скорости я не заметила.
5 Мисти
 
18.01.14
14:01
Наверное во втором |        ЛЕВОЕ СОЕДИНЕНИЕ - привязать не к регистру, а к ВТ_СвободныеОстатки? И всё?
6 GANR
 
18.01.14
14:10
(0) Так что Вы, говорите, Вам редко запросы нужны???
Я уже не один раз говорил, куда идти тем, у кого возникают вопросы подобного уровня, а Вам я это говорил в этой ветке v8: Помогите переделать запрос для УТ!. Ну неужели не проще потратить пару недель, но чтобы потом такие вопросы отпали раз и навсегда?
7 1СКонсультант
 
18.01.14
14:12
(5) "ВНУТРЕННЕЕ СОЕДИНЕНИЕ" даст вам не по всему справочнику а только по тем элементам, по каким есть цены
8 wertyu
 
18.01.14
14:12
(4) >>> что данные нужно по всему справочнику
как бы во втором запросе данные не по всему справочнику, а по регистру цен
9 1СКонсультант
 
18.01.14
14:13
ГДЕ
|    ЦеныНоменклатурыСрезПоследних.ВидЦены = &Св4 перенесите в срез последних параметры
10 1СКонсультант
 
18.01.14
14:14
ВсеТовары.ДополнительныеРеквизиты.Свойство.Наименование = &Св1
за такое вообще ремень положен
11 1СКонсультант
 
18.01.14
14:15
СвободныеОстатки.Склад.Наименование КАК СкладНаименование,
ВсеТовары.ЕдиницаИзмерения.Наименование КАК ТовЕд,
замените на Представление
12 Мисти
 
18.01.14
14:19
(6) У меня нет пары недель. Отчет должен быть готов к понедельнику. Там куча мелких заморочек, с которыми я справляюсь.
(10) Это как раз не мой кусочек и он мне не нужен, я его выкину.
А почему, кстати, так не делают?
13 Мисти
 
18.01.14
14:19
(8) Ну да, я имею в виду - независимо от того, есть ли они на складе.
14 Мисти
 
18.01.14
14:22
"ВЫБРАТЬ
    |ЕСТЬNULL(СвободныеОстаткиОстатки.Склад, ТоварыНаСкладахОстатки.Склад) КАК Склад,
    |ЕСТЬNULL(СвободныеОстаткиОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура,
    |ЕСТЬNULL(СвободныеОстаткиОстатки.Характеристика, ТоварыНаСкладахОстатки.Характеристика) КАК Характеристика,
    |ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеОстаток, 0) КАК ВРезерве,
    |ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличии,
    |ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК ПолныйОстаток
    |ПОМЕСТИТЬ ВТ_СвободныеОстатки
    |ИЗ
    |РегистрНакопления.СвободныеОстатки.Остатки(, Склад В (&Склады) {(Номенклатура)}) КАК СвободныеОстаткиОстатки
    |ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&Склады) {(Номенклатура)}) КАК ТоварыНаСкладахОстатки
    |ПО СвободныеОстаткиОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
    |    И СвободныеОстаткиОстатки.Характеристика = ТоварыНаСкладахОстатки.Характеристика
    |    И СвободныеОстаткиОстатки.Склад = ТоварыНаСкладахОстатки.Склад    
    |;
    |///////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВсеТовары.Ссылка КАК Номенклатура,
    |    ВсеТовары.ЭтоГруппа КАК ЭтоГруппа,
    |    ВсеТовары.ЕдиницаИзмерения.Наименование КАК ТовЕд,
    |    ВсеТовары.Артикул КАК Артикул,
    |    ЦеныНоменклатурыСрезПоследних.Цена
    |ИЗ
    |    Справочник.Номенклатура КАК ВсеТовары
    |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    |        ПО ВсеТовары.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СвободныеОстатки КАК СвободныеОстатки
    |        ПО ВсеТовары.Ссылка = СвободныеОстатки.Номенклатура
    |ГДЕ
    |    ЦеныНоменклатурыСрезПоследних.ВидЦены = &Св4
    |ИТОГИ ПО
    |    Номенклатура ИЕРАРХИЯ,
    |    Склад";

Пока вот чего получилось, еще не проверяла.
А учить я буду СКД! Как только время появится.
В пятницу объехала 4 заказчиков и обновила 20 семерок правленных.
15 wertyu
 
18.01.14
14:27
"ВЫБРАТЬ
|    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
|    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
|    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения) КАК ТовЕд,
|    ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК Артикул,
|    ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
|    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &Св4) КАК ЦеныНоменклатурыСрезПоследних
|ИТОГИ ПО
|    Номенклатура ИЕРАРХИЯ";
16 wertyu
 
18.01.14
14:28
+(15) это итог запроса из (14)
17 Мисти
 
18.01.14
14:40
Всё?? А куда делись мои остатки?
18 wertyu
 
18.01.14
14:40
(17) ты их не выбрала )
19 Мисти
 
18.01.14
14:42
Уже догадалась, только пока не поняла, как их выбрать.
Я, кстати, пространственные головоломки плохо собираю и даже в "сумасшедший лабиринт" играть не умею.
20 wertyu
 
18.01.14
14:49
"ВЫБРАТЬ
|ЕСТЬNULL(СвободныеОстаткиОстатки.Склад, ТоварыНаСкладахОстатки.Склад) КАК Склад,
|ЕСТЬNULL(СвободныеОстаткиОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура,
|ЕСТЬNULL(СвободныеОстаткиОстатки.Характеристика, ТоварыНаСкладахОстатки.Характеристика) КАК Характеристика,
|ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеОстаток, 0) КАК ВРезерве,
|ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличии,
|ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК ПолныйОстаток
|ПОМЕСТИТЬ ВТ_СвободныеОстатки
|ИЗ
|РегистрНакопления.СвободныеОстатки.Остатки(, Склад В (&Склады) {(Номенклатура)}) КАК СвободныеОстаткиОстатки
|ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&Склады) {(Номенклатура)}) КАК ТоварыНаСкладахОстатки
|ПО СвободныеОстаткиОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
|    И СвободныеОстаткиОстатки.Характеристика = ТоварыНаСкладахОстатки.Характеристика
|    И СвободныеОстаткиОстатки.Склад = ТоварыНаСкладахОстатки.Склад    
|;
|///////////////////////////////////////////////////
|ВЫБРАТЬ
|    ЕСТЬNULL(СвободныеОстатки.Склад, ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) КАК Склад,
|    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
|    ЕСТЬNULL(СвободныеОстатки.Характеристика, ЗНАЧЕНИЕ(Справочник.СправочникХарактеристик.ПУстаяСсылка) КАК Характеристика,
|    ЕСТЬNULL(СвободныеОстатки.ВРезерве, 0) КАК ВРезерве,
|    ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0) КАК ВНаличии,
|    ЕСТЬNULL(СвободныеОстатки.ПолныйОстаток, 0) КАК ПолныйОстаток,
|    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
|    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения) КАК ТовЕд,
|    ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК Артикул,
|    ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
|    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &Св4) КАК ЦеныНоменклатурыСрезПоследних
|        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СвободныеОстатки КАК СвободныеОстатки
|        ПО ЦеныНоменклатурыСрезПоследних.ЦеныНоменклатурыСрезПоследних = СвободныеОстатки.Номенклатура
|ИТОГИ ПО
|    Номенклатура ИЕРАРХИЯ,
|    Склад";
21 wertyu
 
18.01.14
14:51
+(20) СправочникХарактеристик я не знаю как у тебя называется, и ещё пару закрывающих скобок пропустил
22 Мисти
 
18.01.14
14:51
|    ЕСТЬNULL(ВТ_СвободныеОстаткиТоваров.ПолныйОстаток, 0) КАК ПолныйОстаток,
    |    ЕСТЬNULL(ВТ_СвободныеОстаткиТоваров.ВНаличии, 0) КАК ВНаличии,
    |    ЕСТЬNULL(ВТ_СвободныеОстаткиТоваров.ВРезерве, 0) КАК ВРезерве,
23 Мисти
 
18.01.14
14:51
фик с ним, характеристики мне не нужны!
Спасибо.
24 Мисти
 
18.01.14
14:52
Т.е. независимо теперь уже - выбирать всё, что мне нужно, можно из разных таблиц.
Уря. Скоро научусь!
25 wertyu
 
18.01.14
14:52
(23) и убери ты эти ВсеТовары как в (20)
26 wertyu
 
18.01.14
14:57
(22) ты таблицу ВТ_СвободныеОстатки переименовала в СвободныеОстатки
27 Мисти
 
18.01.14
14:58
Да я и возьму 20 за основу, спасибо!
Тот запрос тоже писал человек, который не очень это умеет делать. Просто он уже работает (проверено!)
28 Мисти
 
18.01.14
14:58
(26) Ага, надеюсь, что разберусь.
29 1СКонсультант
 
18.01.14
16:00
(12) "ВсеТовары.ДополнительныеРеквизиты.Свойство.Наименование = &Св1 " потому что это жесть, потому и не делают. Если коротко то ДополнительныеРеквизиты это таб часть, соотвественно отдельная таблица, свойство ссылка в этой таблице. соответственно Свойство.Наименование это будет запрос еще и к таблице свойств. Если коротко то эта строка сделает соединение таблицы справочника с таблицей дополнительных свойств и сделает соединение с таблицей свойств получит оттуда наименование и будет сравнивать. на скуле получится гигантский мегазапросище
30 1СКонсультант
 
18.01.14
16:01
(14) "А учить я буду СКД! Как только время появится. " это вас не спасет. СКД без языка запрсоов Вам не поможет. сначала пройдите книгу язык запросов, потом СКД.
31 Мисти
 
18.01.14
16:35
(29) А как тогда надо было делать этот кусочек?
32 1СКонсультант
 
18.01.14
16:38
(31) Передавать ссылку на свойство как минимум. Это отбрасывает соединение с таблицей свойств. Второе, сделать соединение справочника с табличной частью и условие прописать в не в разделе где а в разделе соединение
33 Мисти
 
18.01.14
16:46
(32) Мне надо не описанием, а текстом запроса!
Если не сложно? Пожалуйста! буду умнеть потихоньку.

Вот так запрос как минимум читается.
"ВЫБРАТЬ
|ЕСТЬNULL(СвободныеОстаткиОстатки.Склад, ТоварыНаСкладахОстатки.Склад) КАК Склад,
|ЕСТЬNULL(СвободныеОстаткиОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура,
|ЕСТЬNULL(СвободныеОстаткиОстатки.Характеристика, ТоварыНаСкладахОстатки.Характеристика) КАК Характеристика,
|ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеОстаток, 0) КАК ВРезерве,
|ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличии,
|ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК ПолныйОстаток
|ПОМЕСТИТЬ ВТ_СвободныеОстатки
|ИЗ
|РегистрНакопления.СвободныеОстатки.Остатки(, Склад В (&Склады) {(Номенклатура)}) КАК СвободныеОстаткиОстатки
|ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад В (&Склады) {(Номенклатура)}) КАК ТоварыНаСкладахОстатки
|ПО СвободныеОстаткиОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
|    И СвободныеОстаткиОстатки.Характеристика = ТоварыНаСкладахОстатки.Характеристика
|    И СвободныеОстаткиОстатки.Склад = ТоварыНаСкладахОстатки.Склад    
|;
|///////////////////////////////////////////////////

|ВЫБРАТЬ
|    ЕСТЬNULL(СвободныеОстатки.Склад, ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)) КАК Склад,
|    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
|    ЕСТЬNULL(СвободныеОстатки.Характеристика, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика,
|    ЕСТЬNULL(СвободныеОстатки.ВРезерве, 0) КАК ВРезерве,
|    ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0) КАК ВНаличии,
|    ЕСТЬNULL(СвободныеОстатки.ПолныйОстаток, 0) КАК ПолныйОстаток,
|    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
|    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения) КАК ТовЕд,
|    ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК Артикул,
|    ЦеныНоменклатурыСрезПоследних.Цена
|ИЗ
|    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &Св4) КАК ЦеныНоменклатурыСрезПоследних
|        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СвободныеОстатки КАК СвободныеОстатки
|        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СвободныеОстатки.Номенклатура
|ИТОГИ ПО
|    Номенклатура ИЕРАРХИЯ,
|    Склад";
34 Мисти
 
18.01.14
16:54
Какое бы задать пустое условие?
У меня может быть несколько произвльных условий - склад или номенклатура, или что-то еще потом.
Мне надо написать что-то, чтоб потом к этому можно было прибавить:
    Если Не ВыбСклад.Пустая() Тогда
        ДопУсловия = ДопУсловия+"    И СвободныеОстаткиОстатки.Склад = &ВыбСклад";    
        ЗапросПоЗаявкам.УстановитьПараметр("ВыбСклад",   ВыбСклад);
        Загол= Загол+"По складу: "+ СокрЛП(ВыбСклад.Наименование)+",";         
    Иначе
        Загол= Загол+"По всем складам,";
    КонецЕсли;

Текст = Текст+ДопУсловия;
Как это обычно делают?
35 wertyu
 
18.01.14
18:14
(34)
ВЫБОР КОГДА &СкладВыбран ТОГДА Склад = &ВыбСклад ИНАЧЕ ИСТИНА КОНЕЦ

Запрос.УстановитьПараметр("ВыбСклад", ВыбСклад);
Запрос.УстановитьПараметр("СкладВыбран", ЗначениеЗаполнено(ВыбСклад));

или

ВЫБОР КОГДА ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка) = &ВыбСклад ТОГДА ИСТИНА ИНАЧЕ Склад = &ВыбСклад КОНЕЦ

Запрос.УстановитьПараметр("ВыбСклад", ВыбСклад);
36 Мисти
 
18.01.14
18:31
(35) Красота! Спасибо.
37 wertyu
 
18.01.14
18:34
(37) ты только условие ставь не в ГДЕ, а в условия таблицы регистра
38 GANR
 
18.01.14
19:31
(12) Как нету времени? На работе мы проводим в неделю чистого времени лишь 40-50 часов - можно, к примеру еще 20-40 часов тратить на самообучение.
39 GANR
 
18.01.14
19:32
+(38) К тому же, уверен, это навык позволит Вам же в конечном счете сэкономить гораздо более, чем 2 недели времени.
40 Mikhail Volkov
 
19.01.14
08:02
(39) Дык там про SQL!?
41 Мимохожий Однако
 
19.01.14
09:30
(39)Не в лошадь корм )) Ей "обновлять надо!"
42 Мимохожий Однако
 
19.01.14
09:31
+(41)"Зима год кормит"©
43 GANR
 
19.01.14
10:54
(40) 1С-запросы транслируются в SQL. Когда я дошел до 62-й задачи рейтингового этапа - 1С запросы казались уже просто детской игрушкой. Логика очень и очень схожая, у SQL-запросов возможностей на порядок больше - если хотите пишите в личку, я их Вам опишу.
44 Mikhail Volkov
 
19.01.14
14:48
(43) Предлагаешь писать запросы сразу в SQL и вставлять в 1С? Как? Что-то плохо это представляю...
Сами SQL-запросы писать не приходилось, т.к. в Access графический построитель запросов, гораздо наглядней 1С.
45 GANR
 
19.01.14
15:17
(44) Я не предлагаю писать запросы в SQL - я предлагаю ТС развить алгоритмическое мышление, ведь   л о г и к а   запросов в 1С и в SQL на 95% схожа и любой уважающий себя программист 1С должен   у м е т ь   п р и м е н и т ь  (а не просто знать) все эти соединения/объединения/группировки.
46 Mikhail Volkov
 
20.01.14
06:16
(45) Если раньше баловался SQL или Access, то может быть и так... но я о другом: вспоминается старая обработка "1С на кончиках пальцев" (вроде так называлась), которая автоматом подцепляла dbf-файлы 1С7 к Access. И уже в Access, имея графический построитель, создавать SQL-запросы любой сложности. Например, чтобы вылечить сильно битую базу (с dbf это случалось не редко).
Насколько сложно транслировать SQL-запросы в 1С? Если это не сложно, я бы предпочел графический построитель Access.
47 Мимохожий Однако
 
20.01.14
07:26
Даже если будет в руках инструмент по созданию "сложных" запросов аля SQL, но после интерпретации сервером 1С, он примет другой вид, и самое интересное, в разное время один и тот же запрос может оказаться разным.
48 Мисти
 
20.01.14
18:38
"ВЫБРАТЬ
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.Склад, ТоварыНаСкладахОстатки.Склад) КАК Склад,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеОстаток, 0) КАК ВРезерве,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличии,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК ПолныйОстаток,
    |    СвободныеОстаткиОстатки.Номенклатура.ВидНоменклатуры КАК ВидНомен
    |ПОМЕСТИТЬ ВТ_СвободныеОстатки
    |ИЗ
    |    РегистрНакопления.СвободныеОстатки.Остатки(
    |            ,
    |            ВЫБОР
    |                КОГДА &СкладВыбран
    |                    ТОГДА Склад = &ВыбСклад
    |                ИНАЧЕ ИСТИНА
    |            КОНЕЦ {(Номенклатура)}) КАК СвободныеОстаткиОстатки
    |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(
    |                ,
    |                ВЫБОР
    |                    КОГДА &СкладВыбран
    |                        ТОГДА Склад = &ВыбСклад
    |                    ИНАЧЕ ИСТИНА
    |                КОНЕЦ {(Номенклатура)}) КАК ТоварыНаСкладахОстатки
    |        ПО СвободныеОстаткиОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
    |            И СвободныеОстаткиОстатки.Склад = ТоварыНаСкладахОстатки.Склад
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ЕСТЬNULL(СвободныеОстатки.Склад, ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)) КАК Склад,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    |    ЕСТЬNULL(СвободныеОстатки.ВРезерве, 0) КАК ВРезерве,
    |    ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0) КАК ВНаличии,
    |    ЕСТЬNULL(СвободныеОстатки.ПолныйОстаток, 0) КАК ПолныйОстаток,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
    |    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения) КАК ТовЕд,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК Артикул,
    |    ЦеныНоменклатурыСрезПоследних.Цена
    |ИЗ
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &Св4) КАК ЦеныНоменклатурыСрезПоследних
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СвободныеОстатки КАК СвободныеОстатки
    |        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СвободныеОстатки.Номенклатура
    |ИТОГИ ПО
    |    Номенклатура,
    |    Склад";

Во-первых, в таблице какие-то дурацкие пустые строки.
Во-вторых - {(Номенклатура)}) - вот это в запросе - что означает?
49 Мисти
 
20.01.14
18:52
ВЫБОР
    |                    КОГДА &СкладВыбран
    |                        ТОГДА Склад = &ВыбСклад
    |                    ИНАЧЕ ИСТИНА
    |                КОНЕЦ
И еще. Как к этому добавить еще одно условие? Аналогичное?
    |            ВЫБОР        КОГДА &ВидНоменВыбран
    |                        ТОГДА ВидНомен = &ВыбВидНомен
    |                    ИНАЧЕ ИСТИНА
50 Мисти
 
20.01.14
19:01
(49) очень надо!
51 Мисти
 
20.01.14
19:20
ПозЕд = СписокЕдиниц.Найти(СтрТЗ.ПечЕд) - в 7 выдает позицию, а в 8 НайтиПоЗначению - выдает значение.
Как позицию в 8 получить?
52 Franchiser
 
гуру
20.01.14
19:21
(48) Скобочки значат, что запрос на СКД, это поле является необятельным полем схемы компновки данных: может быть а может не быть в конечном запросе.
53 Мисти
 
20.01.14
19:22
(52) Значит, можно выкинуть вместе со скобочками, раз у меня не сКД?
54 Franchiser
 
гуру
20.01.14
19:24
(53) да можешь выкинуть, для простоты представь что, это эквивалентно "И Номенклатура = &Ном". Строка сравнения может меняться в СКД, если отбор не указали, то условия по номенклатуре вообще не будет.
55 Franchiser
 
гуру
20.01.14
19:31
Конструкции для скд очень странные: частично свойственны для запросы, частично для скд. Как будто разные люди писали, один из которых не знает компоновку))
56 Franchiser
 
гуру
20.01.14
19:35
(49) ВЫБОР
    |                    КОГДА &СкладВыбран
    |                        ТОГДА Склад = &ВыбСклад
    |                    ИНАЧЕ ИСТИНА
    |                КОНЕЦ и
    |            ВЫБОР        КОГДА &ВидНоменВыбран
    |                        ТОГДА ВидНомен = &ВыбВидНомен
    |                    ИНАЧЕ ИСТИНА
57 Franchiser
 
гуру
20.01.14
19:35
+(49) кОНЕЦ
58 Franchiser
 
гуру
20.01.14
19:41
В случае скд не имеет создавать доп. параметры типа &СкладВыбран и писать условие на Склад = &ВыбСклад имеет смысл в СКД только если Склад задан жестко.
59 Мисти
 
20.01.14
19:49
У меня не СКД, а кусочек писали "консультанты".
(57) Конец - ничем не помогает!
И еще вопрос (51)!
60 Franchiser
 
гуру
20.01.14
19:50
(51) я не понял вообще что такое 7 и 8
61 Franchiser
 
гуру
20.01.14
19:51
ВЫБОР
    |                    КОГДА &СкладВыбран
    |                        ТОГДА Склад = &ВыбСклад
    |                    ИНАЧЕ ИСТИНА
    |                КОНЕЦ
    | И
    |            ВЫБОР        КОГДА &ВидНоменВыбран
    |                        ТОГДА ВидНомен = &ВыбВидНомен
    |                    ИНАЧЕ ИСТИНА КОНЕЦ

Что именно не работает?
62 Мисти
 
20.01.14
20:01
(60) семерка и восьмерка.
63 Мисти
 
20.01.14
20:03
а! "И" надо вставить!
64 Мисти
 
20.01.14
20:05
Теперь на ВидНомен ругается.
65 Franchiser
 
гуру
20.01.14
20:05
Попробуй НайтиСтроки(), возвращает Массив Кажется. В 8-ке в результате мб найдено больше 1 строки.
66 Franchiser
 
гуру
20.01.14
20:06
(64) Параметр ВидНомен установила?
67 Franchiser
 
гуру
20.01.14
20:07
У тебя 2 параметра &ВыбВидНомен и &ВидНоменВыбран, где ты нашла &ВидНомен ?
68 Franchiser
 
гуру
20.01.14
20:15
Если ты не про параметр, то Скорее у тебя д.б. Номенклатура.ВидНоменклатуры = &ВыбВидНомен. Проверь реквизиты используемые в запросе
69 Мисти
 
20.01.14
20:29
(65) А там не строка! 3 значения спискаЗначений и мне по значению нужно найти его порядок в списке.
70 Мисти
 
20.01.14
20:29
(66) Ругается при попытке посмотреть запрос, еще до работы.
71 Franchiser
 
гуру
20.01.14
20:37
Значения там какие? Если строки ТЗ то ты можешь добавить реквизит номстр и его оттудада получить, а может там уже есть номерстроки.
72 Franchiser
 
гуру
20.01.14
20:39
Приведи весь текст запроса, так не скажу
73 Franchiser
 
гуру
20.01.14
20:45
(69) В массиве д.б. ссылки на строки ТЗ, Попробуй Массив[0].НомерСтроки
74 Franchiser
 
гуру
20.01.14
20:46
Массив = ТЗ.Найтистроки(НекоеЗначение)
75 Franchiser
 
гуру
20.01.14
20:48
Некоезначение =  Новый Структура();
Некоезначение.Вставить("ФизЛицо",Справочники.ФизическиеЛица.ПустаяСсылка());
76 Franchiser
 
гуру
20.01.14
20:49
в синтакс-помощнике примеры есть
77 Мисти
 
20.01.14
21:07
"ВЫБРАТЬ
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.Склад, ТоварыНаСкладахОстатки.Склад) КАК Склад,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеОстаток, 0) КАК ВРезерве,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличии,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК ПолныйОстаток,
    |    СвободныеОстаткиОстатки.Номенклатура.ВидНоменклатуры КАК ВидНомен
    |ПОМЕСТИТЬ ВТ_СвободныеОстатки
    |ИЗ
    |    РегистрНакопления.СвободныеОстатки.Остатки(
    |            ,
    |            ВЫБОР
    |                КОГДА &СкладВыбран
    |                    ТОГДА Склад = &ВыбСклад
    |                ИНАЧЕ ИСТИНА
    |                 КОНЕЦ
    |            и ВЫБОР        КОГДА &ВидНоменВыбран
    |                        ТОГДА ВидНомен = &ВыбВидНомен
    |                    ИНАЧЕ ИСТИНА
    |            КОНЕЦ {(Номенклатура)}) КАК СвободныеОстаткиОстатки
    |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(
    |                ,
    |                ВЫБОР
    |                    КОГДА &СкладВыбран
    |                        ТОГДА Склад = &ВыбСклад
    |                    ИНАЧЕ ИСТИНА
    |                 КОНЕЦ
    |                и ВЫБОР    КОГДА &ВидНоменВыбран
    |                        ТОГДА ВидНомен = &ВыбВидНомен
    |                    ИНАЧЕ ИСТИНА
    |                КОНЕЦ {(Номенклатура)}) КАК ТоварыНаСкладахОстатки
    |        ПО СвободныеОстаткиОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
    |            И СвободныеОстаткиОстатки.Склад = ТоварыНаСкладахОстатки.Склад
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ЕСТЬNULL(СвободныеОстатки.Склад, ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)) КАК Склад,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    |    ЕСТЬNULL(СвободныеОстатки.ВРезерве, 0) КАК ВРезерве,
    |    ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0) КАК ВНаличии,
    |    ЕСТЬNULL(СвободныеОстатки.ПолныйОстаток, 0) КАК ПолныйОстаток,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
    |    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения) КАК ТовЕд,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК Артикул,
    |    ЦеныНоменклатурыСрезПоследних.Цена
    |ИЗ
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &Св4) КАК ЦеныНоменклатурыСрезПоследних
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СвободныеОстатки КАК СвободныеОстатки
    |        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СвободныеОстатки.Номенклатура
    |ИТОГИ ПО
    |    Номенклатура,
    |    Склад";
78 Мисти
 
20.01.14
21:08
Всё тот же самый запрос!
У меня (по вопросу с позицией) - список значений, а не массив.
79 Franchiser
 
гуру
20.01.14
21:10
как может быть список значений???
ТаблицаЗначений.НайтиСтроки (ValueTable.FindRows)
ТаблицаЗначений (ValueTable)
НайтиСтроки (FindRows)
Синтаксис:

НайтиСтроки(<ПараметрыОтбора>)
Параметры:

<ПараметрыОтбора> (обязательный)

Тип: Структура.
Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение.
Возвращаемое значение:

Тип: Массив.
Массив строк таблицы значений, соответствующих условиям поиска.
Замечание! Массив хранит ссылки на строки таблицы значений, то есть при изменении строки в таблице, значение в массиве тоже будет измененным.
Описание:

Осуществляет поиск строк таблицы значений, отвечающих заданным условиям поиска.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Метод эффективно использовать для выборки неуникальных значений.
80 Franchiser
 
гуру
20.01.14
21:15
Я думаю так д.б. Кстати фигурные скодбки с Номенклатурой ты убрать собиралась или переделать..
"ВЫБРАТЬ
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.Склад, ТоварыНаСкладахОстатки.Склад) КАК Склад,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеОстаток, 0) КАК ВРезерве,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличии,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК ПолныйОстаток,
    |    СвободныеОстаткиОстатки.Номенклатура.ВидНоменклатуры КАК ВидНомен
    |ПОМЕСТИТЬ ВТ_СвободныеОстатки
    |ИЗ
    |    РегистрНакопления.СвободныеОстатки.Остатки(
    |            ,
    |            ВЫБОР
    |                КОГДА &СкладВыбран
    |                    ТОГДА Склад = &ВыбСклад
    |                ИНАЧЕ ИСТИНА
    |                 КОНЕЦ
    |            и ВЫБОР        КОГДА &ВидНоменВыбран
    |                        ТОГДА Номенклатура.ВидНоменклатуры = &ВыбВидНомен
    |                    ИНАЧЕ ИСТИНА
    |            КОНЕЦ {(Номенклатура)}) КАК СвободныеОстаткиОстатки
    |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(
    |                ,
    |                ВЫБОР
    |                    КОГДА &СкладВыбран
    |                        ТОГДА Склад = &ВыбСклад
    |                    ИНАЧЕ ИСТИНА
    |                 КОНЕЦ
    |                и ВЫБОР    КОГДА &ВидНоменВыбран
    |                        ТОГДА Номенклатура.ВидНоменклатуры  = &ВыбВидНомен
    |                    ИНАЧЕ ИСТИНА
    |                КОНЕЦ {(Номенклатура)}) КАК ТоварыНаСкладахОстатки
    |        ПО СвободныеОстаткиОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
    |            И СвободныеОстаткиОстатки.Склад = ТоварыНаСкладахОстатки.Склад
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////

    |ВЫБРАТЬ
    |    ЕСТЬNULL(СвободныеОстатки.Склад, ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)) КАК Склад,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    |    ЕСТЬNULL(СвободныеОстатки.ВРезерве, 0) КАК ВРезерве,
    |    ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0) КАК ВНаличии,
    |    ЕСТЬNULL(СвободныеОстатки.ПолныйОстаток, 0) КАК ПолныйОстаток,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
    |    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения) КАК ТовЕд,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК Артикул,
    |    ЦеныНоменклатурыСрезПоследних.Цена
    |ИЗ
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &Св4) КАК ЦеныНоменклатурыСрезПоследних
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СвободныеОстатки КАК СвободныеОстатки
    |        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СвободныеОстатки.Номенклатура
    |ИТОГИ ПО
    |    Номенклатура,
    |    Склад";
81 Franchiser
 
гуру
20.01.14
21:19
(78) Метод НайтиСтроки() возвращает всегда Массив!!!
82 Franchiser
 
гуру
20.01.14
21:28
Может я чего не понял ты ищешь значение в Таблице Значений?
83 Franchiser
 
гуру
20.01.14
21:37
Если ищешь в списке значений то:
ЭлементСписка = СписокЕдиниц.НайтиПоЗначению(СтрТЗ.ПечЕд);
Если ЭлементСписка <>Неопределено Тогда
НомерСтроки = Список.Индекс(ЭлементСписка);
КонецЕсли;

не забудь что в 8-ке нумеруется с 0.
84 Franchiser
 
гуру
20.01.14
21:39
Ошибочка:
НомерСтроки = СписокЕдиниц.Индекс(ЭлементСписка);
85 Мисти
 
20.01.14
21:44
О! 84 - это то, что нужно, наверное.
86 Мисти
 
21.01.14
13:52
Вставила запрос ровно (80). Читается! Результат выдает!
Но там - из каждых 3 - 2 строчки нулевые. Как от них избавится?
Это из-за
ИТОГИ ПО
    |    Номенклатура,
    |    Склад"
Но мне же нужен обход по номенклатуре и складам!
87 Franchiser
 
гуру
21.01.14
13:55
попробуй "сгруппировать" добавить
88 Мисти
 
21.01.14
13:56
Убрала Итоги, тогда, как и предполагала
Выборка1 =     ЗапросПром.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура"); - не работает.
"Сгруппировать" вместо итогов?
89 Franchiser
 
гуру
21.01.14
13:58
И вместо левого соединения лучше правое, т.к. тебе надо к ВТ слева подсоединять цены а не наоборот
90 Мисти
 
21.01.14
13:59
Не-а, сгруппировать вместо итогов - не работает.
ВнешняяОбработка.ОстаткиТМЦ.МодульОбъекта(811)}: Ошибка при вызове метода контекста (Выбрать)
    Выборка1 =     ЗапросПром.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура");
по причине:
Измерение не найдено "Номенклатура"
91 Franchiser
 
гуру
21.01.14
13:59
(88) не вместо а помимо, итоги оставь. и вообще тестируй отчет в консоли, пока учишься
92 Мисти
 
21.01.14
14:00
Нет консоли!
93 Franchiser
 
гуру
21.01.14
14:02
на итс консоль запросов д.б.
94 Мисти
 
21.01.14
14:02
"ВЫБРАТЬ
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.Склад, ТоварыНаСкладахОстатки.Склад) КАК Склад,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура) КАК Номенклатура,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.ВРезервеОстаток, 0) КАК ВРезерве,
    |    ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличии,
    |    ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, 0) КАК ПолныйОстаток,
    |    СвободныеОстаткиОстатки.Номенклатура.ВидНоменклатуры КАК ВидНомен
    |ПОМЕСТИТЬ ВТ_СвободныеОстатки
    |ИЗ
    |    РегистрНакопления.СвободныеОстатки.Остатки(
    |            ,
    |            ВЫБОР
    |                    КОГДА &СкладВыбран
    |                        ТОГДА Склад = &ВыбСклад
    |                    ИНАЧЕ ИСТИНА
    |                КОНЕЦ
    |                И ВЫБОР
    |                    КОГДА &ВидНоменВыбран
    |                        ТОГДА Номенклатура.ВидНоменклатуры = &ВыбВидНомен
    |                    ИНАЧЕ ИСТИНА
    |                КОНЕЦ {(Номенклатура)}) КАК СвободныеОстаткиОстатки
    |        ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(
    |                ,
    |                ВЫБОР
    |                        КОГДА &СкладВыбран
    |                            ТОГДА Склад = &ВыбСклад
    |                        ИНАЧЕ ИСТИНА
    |                    КОНЕЦ
    |                    И ВЫБОР
    |                        КОГДА &ВидНоменВыбран
    |                            ТОГДА Номенклатура.ВидНоменклатуры = &ВыбВидНомен
    |                        ИНАЧЕ ИСТИНА
    |                    КОНЕЦ {(Номенклатура)}) КАК ТоварыНаСкладахОстатки
    |        ПО СвободныеОстаткиОстатки.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
    |            И СвободныеОстаткиОстатки.Склад = ТоварыНаСкладахОстатки.Склад
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ЕСТЬNULL(СвободныеОстатки.Склад, ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)) КАК Склад,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    |    ЕСТЬNULL(СвободныеОстатки.ВРезерве, 0) КАК ВРезерве,
    |    ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0) КАК ВНаличии,
    |    ЕСТЬNULL(СвободныеОстатки.ПолныйОстаток, 0) КАК ПолныйОстаток,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
    |    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения) КАК ТовЕд,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул КАК Артикул,
    |    ЦеныНоменклатурыСрезПоследних.Цена
    |ИЗ
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &Св4) КАК ЦеныНоменклатурыСрезПоследних
    |        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_СвободныеОстатки КАК СвободныеОстатки
    |        ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СвободныеОстатки.Номенклатура
    |
    |СГРУППИРОВАТЬ ПО
    |    СвободныеОстатки.Склад,
    |    СвободныеОстатки.Номенклатура,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.ЭтоГруппа,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Артикул,
    |    ЦеныНоменклатурыСрезПоследних.Цена,
    |    ЕСТЬNULL(СвободныеОстатки.ВРезерве, 0),
    |    ЕСТЬNULL(СвободныеОстатки.ВНаличии, 0),
    |    ЕСТЬNULL(СвободныеОстатки.ПолныйОстаток, 0),
    |    ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.Номенклатура.ЕдиницаИзмерения)
    |ИТОГИ ПО
    |    Склад,
    |    Номенклатура";

Вот так - через одну строчку пустые
95 Franchiser
 
гуру
21.01.14
14:04
покажи скрин отчета Табличку, вообще все пустые?
96 Franchiser
 
гуру
21.01.14
14:07
Вместо "левое Соединение" напиши "Правое Соединение"
97 Franchiser
 
гуру
21.01.14
14:10
Склад в предложении Сгруппировать неправильно написан: д.б. ЕстьNull...
98 Мисти
 
21.01.14
14:26
Ого! А в чем разница с левым соединением?
99 Мисти
 
21.01.14
14:27
ЕСТЬNULL(СвободныеОстатки.Склад, ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)) - вот так?
100 Мисти
 
21.01.14
14:29
В(99) то же самое получилось.
В пустых строках нет цифр никаких. и первая строка без номенклатуры
101 Мисти
 
21.01.14
14:41
Может, там и еще какие-то грехи есть, но мне мешает то, что там, где должна быть цифра - null
102 Мисти
 
21.01.14
14:43
Индекс    Значение элемента    Тип элемента    Склад    Номенклатура    ВРезерве    ВНаличии    ПолныйОстаток
0    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений        Ina Bez 33.3*33.3 Плитка напольная            
1    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений      Основной склад (Подольск)    Ina Bez 33.3*33.3 Плитка напольная            
2    СтрокаТаблицыЗначений    СтрокаТаблицыЗначений      Основной склад (Подольск)    Ina Bez 33.3*33.3 Плитка напольная    0    156,4106    163,171
103 Мисти
 
21.01.14
14:44
Вот такая ерунда. Теперь одна из 3.
104 Мисти
 
21.01.14
15:04
? - волшебник, что означает эта стрелка?
2 + 2 = 3.9999999999999999999999999999999...