8.х Ошибка при создании отчета, без помощи СКД

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем proofet, 31 мар 2011.

  1. TopicStarter Overlay
    proofet
    Offline

    proofet

    Регистрация:
    20 фев 2011
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Всем привет! Задача: составить отчет по регистру Касса (Вид регистра - Остатки) в табличном документе -- НЕ ЧЕРЕЗ СХЕМУ КОМПАНОВКИ ДАННЫХ. Мной сделан макет, подобный тому что делает конструктор печати....Создана форма отчета, на которой расположены НачалоПериода ; КонецПериода и кнопка СФОРМИРОВАТЬ непосредственно сам отчет..Который бы выводил дату начала и конца, перечень номенклатуры, обороты кассы по каждой позиции и общий итог. .. версия 1С - 8.1 . Ранее всегда создавал отчет через схему компановки данных....Может уже было что то подобное на форуме ?(я искал, но может быть не слишком тщательно, всетки много тут тем уж было)...... В общем при нажатии кнопки сформировать отчет не формируется а выводит ошибки....Очевидно код составил я не правильно. Прошу вас если не затруднит помочь
    Код:

    Код:
    Процедура СформироватьОтчетНажатие(Элемент)
    НачалоПериода = ЭлементыФормы.ДатаНачала;
    КонецПериода = ЭлементыФормы.ДатаОкончания;
    Макет1 = Отчеты.ОтчетПоКассеВМакете.ПолучитьМакет("Макет1");
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |	КассаОстаткиИОбороты.СтоимостьНачальныйОстаток КАК НачальныйОстаток,
    |	КассаОстаткиИОбороты.СтоимостьОборот КАК Оборот,
    |	КассаОстаткиИОбороты.СтоимостьКонечныйОстаток КАК КонечныйОстаток,
    |	СпрНоменклатура.Ссылка КАК ПереченьНоменклатуры
    |ИЗ
    |	Справочник.Номенклатура КАК СпрНоменклатура
    |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Касса.ОстаткиИОбороты(&НачалоПериода, &КонецПериода) КАК КассаОстаткиИОбороты
    |		ПО СпрНоменклатура.Ссылка = КассаОстаткиИОбороты.Номенклатура";
    
    
    Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
    Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
    
    ТабДок = ЭлементыФормы.ПереченьНоменклатуры;
    
    //Запрос.Параметры.Вставить("Ссылка", Ссылка);
    Выборка = Запрос.Выполнить().Выбрать();
    
    
    ОбластьЗаголовок = Макет1.ПолучитьОбласть("Заголовок");
    ОбластьПереченьНоменклатурыШапка = Макет1.ПолучитьОбласть("ПереченьНоменклатурыШапка");
    ОбластьПереченьНоменклатуры = Макет1.ПолучитьОбласть("ПереченьНоменклатуры");
    ОбластьИтог = Макет1.ПолучитьОбласть("Всего");
    ТабДок.Очистить();
    
    ВставлятьРазделительСтраниц = Ложь;
    Пока Выборка.Следующий() Цикл
    Если ВставлятьРазделительСтраниц Тогда
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    КонецЕсли;
    
    ТабДок.Вывести(ОбластьЗаголовок);
    
    //Шапка.Параметры.Заполнить(Выборка);
    //ТабДок.Вывести(Шапка, Выборка.Уровень());
    
    ТабДок.Вывести(ОбластьПереченьНоменклатурыШапка);
    ВыборкаПереченьНоменклатуры = Выборка.ПереченьНоменклатуры.Выбрать();
    
    СуммаНачальныйОстаток = 0;
    СуммаОборот = 0;
    СуммаКонечныйОстаток = 0;
    
    Пока ВыборкаПереченьНоменклатуры.Следующий() Цикл
    ОбластьПереченьНоменклатуры.Параметры.Заполнить(ВыборкаПереченьНоменклатуры);
    ТабДок.Вывести(ОбластьПереченьНоменклатуры, ВыборкаПереченьНоменклатуры.Уровень());
    СуммаНачальныйОстаток = СуммаНачальныйОстаток + ВыборкаПереченьНоменклатуры.НачальныйОстаток;
    СуммаОборот = СуммаОборот + ВыборкаПереченьНоменклатуры.Оборот;
    СуммаКонечныйОстаток = СуммаКонечныйОстаток + ВыборкаПереченьНоменклатуры.КонечныйОстаток;
    
    КонецЦикла;
    
    ОбластьИтог.Параметры.ВсегоНачальныйОстаток = СуммаНачальныйОстаток;
    ОбластьИтог.Параметры.ВсегоОборот = СуммаОборот;
    ОбластьИтог.Параметры.ВсегоКонечныйОстаток = СуммаКонечныйОстаток;
    
    ТабДок.Вывести(ОбластьИтог);
    
    ВставлятьРазделительСтраниц = Истина;
    
    КонецЦикла;
    
    КонецПроцедуры
    
    [warn=Внимание!]
    Пользуйтесь тегами
    [/warn]

    Вложения:

    • 1Cv8.zip
      Размер файла:
      79,4 КБ
      Просмотров:
      23
  2. Oleg_NSK
    Offline

    Oleg_NSK Опытный в 1С

    Регистрация:
    25 окт 2010
    Сообщения:
    164
    Симпатии:
    0
    Баллы:
    26
    Две первые строчки поменяйте на:
    Код:
        НачалоПериода = ЭлементыФормы.ДатаНачала.Значение;
    КонецПериода = ЭлементыФормы.ДатаОкончания.Значение;
    
    Далее у вас на форме табличное поле, а надо поле табличного документа. Ну и далее еще править и править.
  3. TopicStarter Overlay
    proofet
    Offline

    proofet

    Регистрация:
    20 фев 2011
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    {Отчет.ОтчетПоКассеВМакете.Форма.ФормаОтчета(27)}: Ошибка при вызове метода контекста (Выполнить): {(8, 20)}: Ошибка обработки представления "РегистрНакопления.Касса.ОстаткиИОбороты:Несоответствие типов (параметр номер ""1"")"
    ЛЕВОЕ СОЕДИНЕНИЕ <<?>>РегистрНакопления.Касса.ОстаткиИОбороты(&НачалоПериода, &КонецПериода) КАК КассаОстаткиИОбороты
    Выборка = Запрос.Выполнить().Выбрать();
    по причине:
    {(8, 20)}: Ошибка обработки представления "РегистрНакопления.Касса.ОстаткиИОбороты:Несоответствие типов (параметр номер ""1"")"
    ЛЕВОЕ СОЕДИНЕНИЕ <<?>>РегистрНакопления.Касса.ОстаткиИОбороты(&НачалоПериода, &КонецПериода) КАК КассаОстаткиИОбороты
  4. TopicStarter Overlay
    proofet
    Offline

    proofet

    Регистрация:
    20 фев 2011
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Сейчас проблема: не заполняется Поле ПереченьНоменклатуры.{Отчет.ОтчетПоКассеВМакете.Форма.ФормаОтчета(48)}: Метод объекта не обнаружен (Выбрать)
    ВыборкаПереченьНоменклатуры = Выборка.ПереченьНоменклатуры.Выбрать();

    Почему нельзя Выбрать ?? в конструкторе печати даже выдает такую же строку...правда в 8.2..Объясните плиз
  5. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Проверил, такой ерунды понаписали, там все переписывать надо, нету у Вас вложенных таблиц в запросе, да и разделители как попало рисуете, да и не т от тип элемента, куда хотите отчет выводить. Почитайте ка книжки!

Поделиться этой страницей