8.х Ошибка вывода отчета

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

  1. TopicStarter Overlay
    Вселенная
    Offline

    Вселенная Опытный в 1С

    Регистрация:
    4 ноя 2009
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Вот модуль формы отчета.
    Код:
    Перем Настройки;
    Перем ПарамНачПериода, ПарамКонПериода;
    
    Процедура СформироватьОтчет() Экспорт
    Настройки = КомпоновщикНастроек.Настройки;
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки);
    
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,ДанныеРасшифровки);
    
    ЭлементыФормы.Результат.Очистить();
    ДокументРезультат = ЭлементыФормы.Результат;
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    КонецПроцедуры
    
    Процедура УстановитьНастройки()
    ДатаНачала = НачалоГода(РабочаяДата);
    ДатаОкончания = КонецМесяца(РабочаяДата);
    
    ПарамНачПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0]; 
    ПарамНачПериода.Значение = ДатаНачала;
    ПарамНачПериода.Использование = Истина;
    
    ПарамКонПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1];
    ПарамКонПериода.Значение = ДатаОкончания;
    ПарамКонПериода.Использование = Истина;
    
    Настройки = КомпоновщикНастроек.Настройки;
    <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/конецпроцедуры')">КонецПроцедуры	</span>
    
    Процедура ДатаНачалаПриИзменении(Элемент)
    ПарамНачПериода.Значение = ДатаНачала;
    КонецПроцедуры
    
    Процедура ДатаКонцаПриИзменении(Элемент)
    ПарамКонПериода.Значение = ДатаОкончания;
    КонецПроцедуры
    
    Процедура ПриОткрытии()
    СхемаКомпоновкиДанных = Отчеты.АБ_СМК_УправлениеНесоответствиями.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    УстановитьНастройки();
    СформироватьОтчет();
    КонецПроцедуры
    
    
    Выводит ошибку:
    Код:
    {Отчет.АБ_СМК_УправлениеНесоответствиями.Форма.ФормаОтчета(24)}: Индекс находится за границами массива
    ПарамНачПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1];
    
    В чем дело? Всё делала как в книжке...
  2. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Откройте отладчик и введите...
    Код:
    КомпоновщикНастроек.Настройки.ПараметрыДанных 
    
    
    разверните элементы и увидите что элемента с индексом нету, и на всякий случай предупреждаю что большинство языкрв программирования высокого уровня индексируют массивы начиная с индекса 0, так что если Вам нужен первый параметр, то введите...
    Код:
    ПарамНачПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0];
    
    
    ЗЫ: По умолчанию, стараются работать программно не со всеми возможными параметрами, а с параметрами доступными, которые были заданы на этапе проектирования, что означает что лучше обратиться вот так...
    Код:
    ПарамНачПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.ДоступныеПараметры.Элементы[0];
    
  3. TopicStarter Overlay
    Вселенная
    Offline

    Вселенная Опытный в 1С

    Регистрация:
    4 ноя 2009
    Сообщения:
    176
    Симпатии:
    0
    Баллы:
    26
    Сделала, как Вы сказали. Такая же ошибка...
  4. kogor
    Offline

    kogor Опытный в 1С

    Регистрация:
    5 фев 2010
    Сообщения:
    412
    Симпатии:
    0
    Баллы:
    26
    Подскажите, где можно почитать про то как программно работать со СхемойКомпоновкиДанных и вообще про формирование различных отчетов (Радченко "Практическое пособие разработчика" уже читал)
  5. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Есть нижка 1С Тут
Похожие темы
  1. xayc
    Ответов:
    3
    Просмотров:
    870
Загрузка...

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