Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 22:03

Помогите создать отчет

Автор Люсёк, 20 окт 2010, 18:17

0 Пользователей и 4 гостей просматривают эту тему.

Люсёк

Я добавила  в запрос поле Показатель. Теперь у меня выводится пустая колонка ВидРасчета. МассивСтрок по-прежнему пустой и выдает ошибку:

{Документ.НачислениеЗарплатыРаботникамОрганизаций.Форма.ФормаДокумента(4862)}: Индекс находится за границами массива
         НайденнаяСтрока = МассивСтрок[0];

progmikon

Запостите, пожалуйста, код.

Люсёк

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

       
   
   ТаблицаНачисления = Начисления.Выгрузить();
   
                       
   
   Для каждого СтрокаТЧ Из ТаблицаНачисления Цикл
       Если СтрокаТЧ.ВидРасчета.Наименование = "Оплата за выезды" ИЛИ СтрокаТЧ.ВидРасчета.Наименование = "Оплата за репетиции"
           ИЛИ СтрокаТЧ.ВидРасчета.Наименование = "Оплата за спектакли" Тогда      
         Отбор = Новый Структура();
         Отбор.Вставить("Показатель", СтрокаТЧ.ВидРасчета.Наименование);
         Отбор.Вставить("Сотрудник", СтрокаТЧ.Сотрудник);
         МассивСтрок = ТЗ.НайтиСтроки(Отбор);
      
          НайденнаяСтрока = МассивСтрок[0];
         Если НайденнаяСтрока.Значение<>СтрокаТЧ.Показатель2 Тогда
              СтрокаТЧ.Показатель2 = НайденнаяСтрока.Значение;                  
         КонецЕсли;
      КонецЕсли;   
    КонецЦикла; 

progmikon

Результат запроса пустой?

Люсёк

нет,не пустой. Пустая только колонка ВидРасчета.

progmikon

А показатель заполнен?

Люсёк

Да, показатель заполнен.

progmikon

Тогда у вас условие
КОГДА ЗначенияПоказателейСхемМотивации.Показатель = ""Количество выездов""
неверное.

Показатель точно вот так пишется: "Количество выездов"? Это точно строка?

Люсёк

Да, пишется так и это строка.

Люсёк

Зарплата и кадры буджетного учреждения редакция 1.0.13.4

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск