Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Прошу помочь с запросом
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Fabri
Добрый день. В документе ЗаказПокупателя добавил реквизит табличной части - Коментарий в табличную чассть Товары.
Изменил макет, дописал поле Коментарий и значение и под ним ячейку со значением Коментарий соответственно.
В модуле обекта, Функция ПечатьСчета(ИмяМакета) дописываю:

Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
    Запрос.Текст =
    "ВЫБРАТЬ
    |    НомерТЧ,
    |    НомерСтрокиТЧ,
    |    Номенклатура,
    |    ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар,
    |    Номенклатура.Код     КАК Код,
    |    Номенклатура.Код КАК КодАртикул,
    |    Количество,
    |    ЕдиницаИзмерения.Представление КАК ЕдиницаЦены,
    |    Цена,
    |    Сумма,
    |    ПроцентСкидкиНаценки КАК Скидка,
    |    ХарактеристикаНоменклатуры КАК Характеристика,
    |    СерияНоменклатуры КАК Серия
    |ИЗ
    |    (ВЫБРАТЬ
    |        1 КАК НомерТЧ,
    |        МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ,
    |        Номенклатура         КАК Номенклатура,
    |        ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
    |        Цена                 КАК Цена,
    |        ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    |        СерияНоменклатуры    КАК СерияНоменклатуры,
    |        ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,        
    |        СУММА(Количество)    КАК Количество,
    |        СУММА(Сумма)         КАК Сумма,
    |        [b]Коментарий      КАК Коментарий [/b]
    |    ИЗ
    |        Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя
    |    ГДЕ
    |        ЗаказПокупателя.Ссылка = &ТекущийДокумент
    |    СГРУППИРОВАТЬ ПО
    |        Номенклатура,
    |        ЕдиницаИзмерения,
    |        Цена,
    |        ПроцентСкидкиНаценки,
    |        СерияНоменклатуры,
    |        ХарактеристикаНоменклатуры      
    |    ) КАК ВложенныйЗапросПоТоварам
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |   2,
    |   ЗаказПокупателя.НомерСтроки,
    |    ЗаказПокупателя.Содержание,
    |    ЗаказПокупателя.Содержание,
    |    Номенклатура.Код     КАК Код,
    |    Номенклатура.Код КАК КодАртикул,
    |    Количество,
    |    ЕдиницаИзмерения.Представление КАК ЕдиницаЦены,
    |    Цена,
    |    Сумма,
    |    ПроцентСкидкиНаценки,
    |    NULL,
    |    NULL
    |    
    |ИЗ
    |    Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателя
    |
    |ГДЕ
    |    ЗаказПокупателя.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |    НомерТЧ, НомерСтрокиТЧ
    |";
    
    ЗапросТовары = Запрос.Выполнить().Выгрузить();


//И ПОТОМ ВЫВОЖУ В ЦИКЛЕ

    Для каждого ВыборкаСтрокТовары из ЗапросТовары Цикл
        Если ОбщегоНазначения.ЗначениеНеЗаполнено(ВыборкаСтрокТовары.Номенклатура) Тогда
            Сообщить("В одной из строк не заполнено значение номенклатуры - строка при печати пропущена.", СтатусСообщения.Важное);
            Продолжить;
        КонецЕсли;

        ОбластьМакета.Параметры.Заполнить(ВыборкаСтрокТовары);
        ОбластьМакета.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
        ОбластьМакета.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар) + ФормированиеПечатныхФорм.ПредставлениеСерий(ВыборкаСтрокТовары);
ОбластьМакета.Параметры.Коментарий=ВыборкаСтрокТовары.Коментарий; ///////////////////////////// <-- прошу обратить внимание
        Если ВыводитьКоды Тогда
            ОбластьМакета.Параметры.КодАртикул = ВыборкаСтрокТовары.КодАртикул;
        КонецЕсли;



Цитата
{Документ.ЗаказПокупателя.МодульОбъекта(123)}: Ошибка при вызове метода контекста (Выполнить): {(27, 3)}: Поле не входит в группу "Коментарий"
<<?>>Коментарий КАК Коментарий
ЗапросТовары = Запрос.Выполнить().Выгрузить();
по причине:
{(27, 3)}: Поле не входит в группу "Коментарий"
<<?>>Коментарий КАК Коментарий


Что я не так прописал? помогите пожалуйста.
shurik_shurik
"Комментарий" добавить в "СГРУППИРОВАТЬ ПО"
Fabri
Цитата(shurik_shurik @ 16.01.12, 13:49) необходимо зарегистрироваться для просмотра ссылки
"Комментарий" добавить в "СГРУППИРОВАТЬ ПО"


Пробовал, тогда ошибка:

Цитата
{Документ.ЗаказПокупателя.МодульОбъекта(124)}: Ошибка при вызове метода контекста (Выполнить): {(36, 3)}: Недопустимое поле для группировки "Коментарий"
<<?>>Коментарий,
ЗапросТовары = Запрос.Выполнить().Выгрузить();
по причине:
{(36, 3)}: Недопустимое поле для группировки "Коментарий"
<<?>>Коментарий,
Vofka
Добавить не просто в группировку, а
|ВЫРАЗИТЬ(Комментарий КАК Строка(1000))


ЗЫ. в коде другие теги не работают, поэтому для выделения участков кода используйте комментарии кода!!!
Домовик
зачем в сгруппировать? Вы не заявили Поле - Комментарий в верхнем запросе. Причем расположение полей должно совпадать в обеих внешних запросах.
Объявите поле. В нижнем запросе на этом месте - null
Vofka
ЗЫЫ. и не надо для выделения НЕ кода использовать теги кода
Fabri
Цитата(Vofka @ 16.01.12, 13:54) необходимо зарегистрироваться для просмотра ссылки
Добавить не просто в группировку, а
|ВЫРАЗИТЬ(Комментарий КАК Строка(1000))


ЗЫ. в коде другие теги не работают, поэтому для выделения участков кода используйте комментарии кода!!!


Пожалуйста поподробней в какую часть запроса вставить |ВЫРАЗИТЬ(Комментарий КАК Строка(1000)) ?
в | СГРУППИРОВАТЬ ПО ?
Vofka
Я думаю, как-то так:

Запрос.Текст =
    "ВЫБРАТЬ
    |    НомерТЧ,
    |    НомерСтрокиТЧ,
    |    Номенклатура,
    |    ВЫРАЗИТЬ(Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар,
    |    Номенклатура.Код     КАК Код,
    |    Номенклатура.Код КАК КодАртикул,
    |    Количество,
    |    ЕдиницаИзмерения.Представление КАК ЕдиницаЦены,
    |    Цена,
    |    Сумма,
    |    ПроцентСкидкиНаценки КАК Скидка,
    |    ХарактеристикаНоменклатуры КАК Характеристика,
    |    СерияНоменклатуры КАК Серия,
    |    Коментарий
    |ИЗ
    |    (ВЫБРАТЬ
    |        1 КАК НомерТЧ,
    |        МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ,
    |        Номенклатура         КАК Номенклатура,
    |        ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
    |        Цена                 КАК Цена,
    |        ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    |        СерияНоменклатуры    КАК СерияНоменклатуры,
    |        ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,        
    |        СУММА(Количество)    КАК Количество,
    |        СУММА(Сумма)         КАК Сумма,
    |        ВЫРАЗИТЬ(Комментарий КАК Строка(1000)) КАК Коментарий
    |    ИЗ
    |        Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя
    |    ГДЕ
    |        ЗаказПокупателя.Ссылка = &ТекущийДокумент
    |    СГРУППИРОВАТЬ ПО
    |        Номенклатура,
    |        ЕдиницаИзмерения,
    |        Цена,
    |        ПроцентСкидкиНаценки,
    |        СерияНоменклатуры,
    |        ХарактеристикаНоменклатуры,
    |        ВЫРАЗИТЬ(Комментарий КАК Строка(1000))
    |    ) КАК ВложенныйЗапросПоТоварам
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |   2,
    |   ЗаказПокупателя.НомерСтроки,
    |    ЗаказПокупателя.Содержание,
    |    ЗаказПокупателя.Содержание,
    |    Номенклатура.Код     КАК Код,
    |    Номенклатура.Код КАК КодАртикул,
    |    Количество,
    |    ЕдиницаИзмерения.Представление КАК ЕдиницаЦены,
    |    Цена,
    |    Сумма,
    |    ПроцентСкидкиНаценки,
    |    NULL,
    |    NULL,
    |    """"
    |    
    |ИЗ
    |    Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателя
    |
    |ГДЕ
    |    ЗаказПокупателя.Ссылка = &ТекущийДокумент
    |
    |УПОРЯДОЧИТЬ ПО
    |    НомерТЧ, НомерСтрокиТЧ
    |";
Fabri
Vofka, огромнейшее Вам спасибо! icon_beer17.gif
Vofka
Цитата
Vofka, огромнейшее Вам спасибо!

Пожалуйста.

Офтоп. Закрыто.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.