Имя: Пароль:
1C
1С v8
Индекс находится за границами массива
,
0 laska1983
 
16.12.11
13:32
Как избавиться от ошибки:
кадры хотят распечатать пустой приказ, но появляется след.ошибка:
Индекс находится за границами массива

проверка ведется по сотруднику в док-те.

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

   
   // выводим предварительно подготовленный Подвал документа.
   
   ТабДокумент.Вывести(ОбластьМакетаПодвал);
   
   Иначе    ТабДокумент.Вывести(ОбластьМакетаПодвал);

   КонецЕсли;    

Функция ЭтоДиректор(ФизическоеЛицо, Период) Экспорт
       
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    1 КАК Поле1
   |ИЗ
   |    РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(&Период, ОтветственноеЛицо = &Руководитель) КАК ОтветственныеЛицаОрганизацийСрезПоследних
   |ГДЕ
   |    ОтветственныеЛицаОрганизацийСрезПоследних.ФизическоеЛицо = &ФизическоеЛицо";
   
   Запрос.УстановитьПараметр("Период", Период);
   Запрос.УстановитьПараметр("Руководитель", Перечисления.ОтветственныеЛицаОрганизаций.Руководитель);
   Запрос.УстановитьПараметр("ФизическоеЛицо", ФизическоеЛицо);
   
   Возврат НЕ Запрос.Выполнить().Пустой();    
   
КонецФункции // ЭтоДиректор()
1 Sammo
 
16.12.11
13:34
РаботникиОрганизации[0] - ?
2 Ненавижу 1С
 
гуру
16.12.11
13:34
как бы преполагает, что РаботникиОрганизации[0] существует
3 laska1983
 
16.12.11
13:34
ну если он не существует..ну пустая строка здесь(
4 laska1983
 
16.12.11
13:34
знаю, что коряво написано.
5 Sammo
 
16.12.11
13:36
(3) Где пустая строка?
Рекомендую ознакомиться с понятием Коллекция, Массив и с ипсользованием [] в различный случаях
6 Fish
 
16.12.11
13:37
(3) Не пустая строка, а как раз "Индекс находится за границами массива" :))
7 laska1983
 
16.12.11
13:37
народ, вы все умные ужасно!
как избавиться от этой ошибки?
какую проверку поставить?
8 Ненавижу 1С
 
гуру
16.12.11
13:37
Если РаботникиОрганизации.Количество()>0 И _ОбщегоНазначения.ЭтоДиректор(РаботникиОрганизации[0].ФизЛицо, Дата) Тогда
9 Fish
 
16.12.11
13:38
Добавь условие Если РаботникиОрганизации.Количество() > 0 Тогда :)))
10 rbcvg
 
16.12.11
13:38
(0) а не проще сохранить не пустой приказ в экселе и отредактировав распечатать?
11 laska1983
 
16.12.11
13:39
не хочу в excel)
спасибо)
12 laska1983
 
16.12.11
13:40
СПАСИБО!!!
13 Sammo
 
16.12.11
13:47
Ну и люди пошли: думать не хочу, разбираться не хочу, в excel не хочу.
Решите за меня, пожалуйста.
Только наличие фото как-то извиняет.

Хотя... Мне же лучше.