Добрый день! Подскажите как определить последнюю строку в таблице? Есть функция

```1c
    Функция ДополнительныеОтпуска (Должность)

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

    Запрос.УстановитьПараметр("Ссылка", Должность);
    Таблица = Запрос.Выполнить().Выгрузить();

    Возврат Таблица

    КонецФункции
```

Необходимо в макете отчета вывести все значения Таблице

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

И в конце каждой записи, кроме последней подставить знак ";", а у последней записи знак "."
---
```1c
    Таблица = ДополнительныеОтпуска(Выборка.ДолжностьСсылка);
    НомерСтроки = 0;
    Для каждого Строка из Таблица цикл
    НомерСтроки = НомерСтроки + 1;
    ОбластьДополнительныйОтпуск.Параметры.СтрокаДополнительныйОтпуск = Строка.НаименованиеДопОтпуска + " в количестве " + Строка.КоличествоДней + " календарных дней - согласно действующему коллективному договору" ;
    ОбластьДополнительныйОтпуск.Параметры.ЗнакПослеСтроки = ?(НомерСтроки = Таблица.Количество(), ".", ";");
    ТабДокумент.Вывести(ОбластьДополнительныйОтпуск);
    КонецЦикла;
```
---
```1c
    | ДолжностиОрганизацийЕжегодныеОтпуска.ВидЕжегодногоОтпуска.ПометкаУдаления = ИСТИНА
```
  - действительно надо выбирать ВидЕжегодногоОтпуск помеченный на удаление ?
---
Да)
---
следующий вопрос будет, как фразу "календарных дней" просклонять?
---
Хороший вопрос)
---
пожалуйста, пример из ДО

```1c
    Функция ПолучитьПодписьРабочихДней(ЧислоДней) Экспорт

    Если ЧислоДней > 10 И ЧислоДней < 20 Тогда
    Подпись = НСтр("ru = 'рабочих дней'");
    Иначе
    ПоследниеДвеЦифры = ЧислоДней - Цел(ЧислоДней / 100) * 100;
    ПоследняяЦифра = ЧислоДней - Цел(ЧислоДней / 10) * 10;

    Если ПоследняяЦифра = 0 Тогда
    Подпись = НСтр("ru = 'рабочих дней'");
    ИначеЕсли ПоследниеДвеЦифры > 10 И ПоследниеДвеЦифры < 20 Тогда
    Подпись = Нстр("ru = 'рабочих дней'");
    ИначеЕсли ПоследниеДвеЦифры < 10 Или ПоследниеДвеЦифры > 20 Тогда
    Если ПоследняяЦифра = 1 Тогда
    Подпись = Нстр("ru = 'рабочий день'");
    ИначеЕсли ПоследняяЦифра < 5 Тогда
    Подпись = НСтр("ru = 'рабочих дня'");
    Иначе
    Подпись = НСтр("ru = 'рабочих дней'");
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;

    Возврат Подпись;

    КонецФункции
```
---
там метода Количество() нету у таблицы?
---
есть...так как узнать что последняя строка?
---
```1c
    Таблица = ДополнительныеОтпуска(Выборка.ДолжностьСсылка);
    НомерСтроки = 0;
    Для каждого Строка из Таблица цикл
    НомерСтроки = НомерСтроки + 1;
    ОбластьДополнительныйОтпуск.Параметры.СтрокаДополнительныйОтпуск = Строка.НаименованиеДопОтпуска + " в количестве " + Строка.КоличествоДней + " календарных дней - согласно действующему коллективному договору" ;
    ОбластьДополнительныйОтпуск.Параметры.ЗнакПослеСтроки = ?(НомерСтроки = Таблица.Количество(), ".", ";");
    ТабДокумент.Вывести(ОбластьДополнительныйОтпуск);
    КонецЦикла;
```
---
а разве не количество() -1 ?
Сорь торможу - все верно
---
нет, Таблица.Количество() выдаст количество строк в таблице, это не индекс, что с 0 начинаются, а именно количество строк. Номер строки так же считает все строки. потому код верный...
---
да , я это уже увидел , просто не привык к такой записи