|
|
|
Ошибка при вызове метода контекста (Получить): Значение индекса выходит за гран | ☑ | ||
|---|---|---|---|---|
|
0
sega74
15.04.15
✎
10:52
|
{Форма.KR_2(101)}: Ошибка при вызове метода контекста (Получить): Значение индекса выходит за границы диапазона
ОбластьПечати.Текст = Формат(Строки.Получить(к),"2ЧЦ=10;ЧДЦ=2"); по причине: Значение индекса выходит за границы диапазона Вот код: "Процедура ОсновныеДействияФормыОсновынеДействияФормыПечать(Кнопка) Заголовок = "R1C3"; ТоварНам = "R2C1"; ЕдИзмНам = "R2C2"; КоличествоНам = "R2C3"; ЦенаНам = "R2C4"; Сумманам = "R2C5"; РамкаШапки = "R2C1:R2C5"; ВысотаТабМакс = 10; ШиринаТабМакс = 5; ВысотаТаб = "R"; ШиринаТаб = "C"; ТабДок = Новый ТабличныйДокумент; ОбластьПечати = ТабДок.Область(Заголовок); ОбластьПечати.Шрифт = Новый Шрифт(,,Истина,,,); ДатаКолон=ТабличноеПолеДанные.Получить(0); ДатаНак=ДатаКолон.Получить(0); ОбластьПечати.Текст = "Накладная номер 26" + "от" + формат(ДатаНак,"ДЛФ=ДД"); ОбластьПечати = ТабДок.Область(ТоварНам); ОбластьПечати.Текст = "Товар"; ОбластьПечати = ТабДок.Область(ЕдИзмНам); ОбластьПечати.Текст = "Ед.Изм."; ОбластьПечати = ТабДок.Область(КоличествоНам); ОбластьПечати.Текст = "Количество"; ОбластьПечати = ТабДок.Область(ЦенаНам); ОбластьПечати.Текст = "Цена"; ОбластьПечати = ТабДок.Область(СуммаНам); ОбластьПечати.Текст = "Сумма"; ОбластьПечати = ТабДок.Область(РамкаШапки); ОбластьПечати.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр; ОбластьПечати.ШиринаКолонки = 15; ОбластьПечати.ЦветФона = WebЦвета.БледноЗеленый; ТабДок.ФиксацияСверху=ТабДок.ВысотаТаблицы; Для к = 1 по ШиринаТабМакс Цикл л=3; Для Каждого Строки Из ТабличноеПолеДанные Цикл ВысотаТаб = ВысотаТаб + л + ШиринаТаб + к; ОбластьПечати = ТабДок.Область(ВысотаТаб); ЛинияСплошная = Новый Линия (ТипЛинииЯчейкиТабличногоДокумента.Сплошная); ОбластьПечати.Обвести(ЛинияСплошная,ЛинияСплошная,ЛинияСплошная,ЛинияСплошная); ОбластьПечати.ГоризонтальноеПоложение=ГоризонтальноеПоложение.Право; Если (к=1) Тогда ОбластьПечати.ШиринаКолонки=20; Иначе ОбластьПечати.ШиринаКолонки=10; КонецЕсли; Если(К=4) или (к=5) Тогда ОбластьПечати.Текст = Формат(Строки.Получить(к),"2ЧЦ=10;ЧДЦ=2"); Иначе ОбластьПечати.Текст=Строка(Строки.Получить(К)); Конецесли; л = л+1; ВысотаТаб = "R"; КонецЦикла; КонецЦикла; к=к+1; л = ТабличноеПолеДанные.Количество()+1; ИтогВывод = ВысотаТаб + к + ширинаТаб+л; ОбластьПечати = ТабДок.Область(ИтогВывод); ОбластьПечати.Текст = Формат(ТабличноеПолеДанные.Итог("СуммаПр"),"2ЧЦ=10;ЧДЦ=2"); ОбластьПечати.Текст = "Итого: " +ОбластьПечати.Текст; ТабДок.ОтображатьСетку = Ложь; ТабДок.Показать("Просмотр"); КонецПроцедуры " |
|||
|
1
barrgand
15.04.15
✎
11:03
|
(0) В ТабличноеПолеДанные сколько колонок?
|
|||
|
2
sega74
15.04.15
✎
11:11
|
4
|
|||
|
3
barrgand
15.04.15
✎
11:13
|
(2) Ну значить индекс от 0 до 3, а у тебя от 1 до 5. При к = 4 или 5 выходит за границу, о чем ошибка и говорит.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |