Имя: Пароль:
1C
1С v8
не срабатывает ТаблицаРезультата.ВыбратьСтроку();
0 Chuchi
 
15.08.13
13:01
при построении отчета вывожу в окне
ТаблицаРезультата = РезультатЗапроса.Выгрузить();
ТаблицаРезультата.ВыбратьСтроку();
выбираю строчку содержащую полные для меня данные, в результате в отчет не попадают эти данные(
1 Wobland
 
15.08.13
13:02
а очень хочется?
2 Chuchi
 
15.08.13
13:03
))) очень надо)
3 Wobland
 
15.08.13
13:04
(2) ну сделай что-нибудь с возвращаемой строкой
4 Chuchi
 
15.08.13
13:05
я так понимаю надо номер этой строки дальше передать
пробовала так
при формировании отчета используется

ВывестиСтроку(РезультатЗапроса, 0, КоличествоКолонок, КоличествоПоказателей, ДокументРезультат);
пробовала вместо этого 0 поставить номер своей последней строки ( обычно полные данные как раз в последней строке) но выходит ошибка про индекс...

сама процедура
Процедура ВывестиСтроку(РезультатЗапроса, Знач Индекс, КоличествоКолонок, КоличествоПоказателей, ДокументРезультат
5 Wobland
 
15.08.13
13:07
что вообще происходит? какое такое выбрать стркоу?
6 hhhh
 
15.08.13
13:09
(4) а в какую переменную выбранная строка возвращается? Ни в какую?
7 Chuchi
 
15.08.13
13:09
ойой... а вообще есть предположение что использование этого метода не правильное..
получая результат запроса для одной позиции номенклатуры
остатки, количество продаж за период,цена закупа и цена розницы из этой таблицы я могу выбрать строчку содержащую полностью все эти параметры
а если у меня будет несколько позиций то наверно этот вариант будет не корректным?
8 Wobland
 
15.08.13
13:11
начинает доходить..
9 hhhh
 
15.08.13
13:11
(7) а если одна позиция, то зачем вам выбирать строку?
10 Chuchi
 
15.08.13
13:13
(9) почему то он выводит несколько раз ее с разными датами и видимо с движениями ( поступил/ушел товар) а в конце цена закупа и цена розницы
11 Chuchi
 
15.08.13
13:13
и как же мне вывести тогда цену закупа и цену розницы? ((
|Левое Соединение РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен=&Розничные) КАК ЦеныРозн    
    |По вложенныйЗапрос.Номенклатура=ЦеныРозн.Номенклатура
    | И вложенныйЗапрос.ХарактеристикаНоменклатуры=ЦеныРозн.ХарактеристикаНоменклатуры
    |Левое Соединение РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен=&Закупочные) КАК ЦеныЗак    
    |По вложенныйЗапрос.Номенклатура=ЦеныЗак.Номенклатура
    | И вложенныйЗапрос.ХарактеристикаНоменклатуры=ЦеныЗак.ХарактеристикаНоменклатуры
12 Wobland
 
15.08.13
13:13
(9) девушка посмотрела на результат запроса и попыталась усилием мысли воон ту строку результата показать в отчёте. так  родилась идея использования ВыбратьСтроку
13 Wobland
 
15.08.13
13:14
(11) думаю, нужно выдохнуть и внятно изложить задачу
14 zladenuw
 
15.08.13
13:17
(10) так сгруппировать по номенклатуре и типу цен, розница и закупка вот и все
15 Chuchi
 
15.08.13
13:18
)) (13)
надо дописать отчет анализ оборачиваемости товара добавив колонки ценаЗакупа и ценаРозницы

я добавляю эти данные левым соединением
ТекстЗапроса =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ //РАЗЛИЧНЫЕ
    |    ВложенныйЗапрос.СтатусТоваров,
    |    ВложенныйЗапрос.Склад,
    |    ВложенныйЗапрос.Номенклатура,
    |    ВложенныйЗапрос.ХарактеристикаНоменклатуры,
    |    ВложенныйЗапрос.Период,
    |    ВложенныйЗапрос.НачальныйОстаток КАК НачальныйОстаток,
    |    ВложенныйЗапрос.КонечныйОстаток КАК КонечныйОстаток,
    |    ВложенныйЗапрос.Расход КАК Расход,
    |ЦеныРозн.Цена как  ЦенаРозн,
    |ЦеныЗак.Цена как  ЦенаЗак
    |    //СВОЙСТВА
    |{ВЫБРАТЬ
    |    Склад.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*
    |    //СВОЙСТВА
    |}
    |ИЗ
    |    (ВЫБРАТЬ
    |        ""Товары на складах"" КАК СтатусТоваров,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.Период КАК Период,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,
    |        0 КАК Расход
    |    ИЗ
    |        РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Месяц, , {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПартииТоваровНаСкладахОстаткиИОбороты
    |    ГДЕ
    |        (&ВсеТовары = ИСТИНА
    |                ИЛИ &ТоварыНаСкладах = ИСТИНА)
    |    {ГДЕ
    |        ПартииТоваровНаСкладахОстаткиИОбороты.Склад.* КАК Склад,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура.* КАК Номенклатура,
    |        ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ""Товары на складах"",
    |        ПартииТоваровНаСкладах.Склад,
    |        ПартииТоваровНаСкладах.Номенклатура,
    |        ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
    |        NULL,
    |        0,
    |        0,
    |        ПартииТоваровНаСкладах.Количество
    |    ИЗ
    |        РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    |    ГДЕ
    |        (&ВсеТовары = ИСТИНА
    |                ИЛИ &ТоварыНаСкладах = ИСТИНА)
    |        И ПартииТоваровНаСкладах.КодОперации В(&КодОперации)
    |        И ПартииТоваровНаСкладах.Период >= &ДатаНачала
    |        И ПартииТоваровНаСкладах.Период <= &ДатаКонца
    |    {ГДЕ
    |        ПартииТоваровНаСкладах.Склад.* КАК Склад,
    |        ПартииТоваровНаСкладах.Номенклатура.* КАК Номенклатура,
    |        ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ""Товары у комиссионеров"",
    |        ПартииТоваровПереданныеОстаткиИОбороты.ДоговорКонтрагента.Владелец,
    |        ПартииТоваровПереданныеОстаткиИОбороты.Номенклатура,
    |        ПартииТоваровПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры,
    |        ПартииТоваровПереданныеОстаткиИОбороты.Период,
    |        ПартииТоваровПереданныеОстаткиИОбороты.КоличествоНачальныйОстаток,
    |        ПартииТоваровПереданныеОстаткиИОбороты.КоличествоКонечныйОстаток,
    |        0
    |    ИЗ
    |        РегистрНакопления.ПартииТоваровПереданные.ОстаткиИОбороты(&ДатаНачала, &ДатаКонца, Месяц, , {(ДоговорКонтрагента.Владелец).* КАК Склад, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПартииТоваровПереданныеОстаткиИОбороты
    |    ГДЕ
    |        (&ВсеТовары = ИСТИНА
    |                ИЛИ &ТоварыУКомиссионеров = ИСТИНА)
    |    {ГДЕ
    |        ПартииТоваровПереданныеОстаткиИОбороты.ДоговорКонтрагента.Владелец.* КАК Комиссионер,
    |        ПартииТоваровПереданныеОстаткиИОбороты.Номенклатура.* КАК Номенклатура,
    |        ПартииТоваровПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}
    |    
    |    ОБЪЕДИНИТЬ ВСЕ
    |    
    |    ВЫБРАТЬ
    |        ""Товары у комиссионеров"",
    |        ПартииТоваровПереданные.ДоговорКонтрагента.Владелец,
    |        ПартииТоваровПереданные.Номенклатура,
    |        ПартииТоваровПереданные.ХарактеристикаНоменклатуры,
    |        NULL,
    |        0,
    |        0,
    |        ПартииТоваровПереданные.Количество
    |    ИЗ
    |        РегистрНакопления.ПартииТоваровПереданные КАК ПартииТоваровПереданные
    |    ГДЕ
    |        (&ВсеТовары = ИСТИНА
    |                ИЛИ &ТоварыУКомиссионеров = ИСТИНА)
    |        И ПартииТоваровПереданные.КодОперации = &КодОперацииРеализацияКомиссия
    |        И ПартииТоваровПереданные.Период >= &ДатаНачала
    |        И ПартииТоваровПереданные.Период <= &ДатаКонца
    |    {ГДЕ
    |        ПартииТоваровПереданные.ДоговорКонтрагента.Владелец.* КАК Комиссионер,
    |        ПартииТоваровПереданные.Номенклатура.* КАК Номенклатура,
    |        ПартииТоваровПереданные.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры}) КАК ВложенныйЗапрос
    |Левое Соединение РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен=&Розничные) КАК ЦеныРозн    
    |По вложенныйЗапрос.Номенклатура=ЦеныРозн.Номенклатура
    | И вложенныйЗапрос.ХарактеристикаНоменклатуры=ЦеныРозн.ХарактеристикаНоменклатуры
    |Левое Соединение РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ТипЦен=&Закупочные) КАК ЦеныЗак    
    |По вложенныйЗапрос.Номенклатура=ЦеныЗак.Номенклатура
    | И вложенныйЗапрос.ХарактеристикаНоменклатуры=ЦеныЗак.ХарактеристикаНоменклатуры
    |//СОЕДИНЕНИЯ
    |{ГДЕ
    |    ВложенныйЗапрос.Склад.* КАК Склад,
    |    ВложенныйЗапрос.Номенклатура.* КАК Номенклатура,
    |    ВложенныйЗапрос.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры
    |    //СВОЙСТВА
    |    //КАТЕГОРИИ
    |}
    |{УПОРЯДОЧИТЬ ПО
    |    Склад.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*
    |    //ОБЩИЕСВОЙСТВА
    |}
    |ИТОГИ
    |    СУММА(НачальныйОстаток),
    |    СУММА(КонечныйОстаток),
    |    СУММА(Расход)
    |ПО
    |    ОБЩИЕ
    |
    |{ИТОГИ ПО
    |    СтатусТоваров,
    |    Склад.*,
    |    Номенклатура.*,
    |    ХарактеристикаНоменклатуры.*
    |    //ОБЩИЕСВОЙСТВА
    |}";
16 Chuchi
 
15.08.13
13:18
(14) т.е. надо сгруппировать после левого соединения?
17 zladenuw
 
15.08.13
13:27
(16) ну так отчет в консоль запросов и играешься с ним. тебе нужно присоединить уже в последней выборки (наверное)
18 Chuchi
 
15.08.13
14:01
через консоль понятнее не стало(
19 Chuchi
 
15.08.13
14:05
все равно в графах цен стоит NULL
20 Chuchi
 
15.08.13
14:09
ох как то сложно,...
а можно как нибудь после того как формируется отчет по остаткам прогнать запрос на заполнение цен?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший