849.00K

Lektsia_2015_2

1.

Тип ТаблицаЗначений
ТабЗначений = Новый ТаблицаЗначений
Свойства:
ТабЗначений.Колонки
Методы:
ТабЗначений.Колонки.Добавить(<Имя>,<Тип>,<Заг>,<Шир>)
ТабЗначений.Колонки.Количество()
ТабЗначений.Колонки.Получить(<Индекс>)
ТабЗначений.Количество()
ТабЗначений.Получить(<Индекс>) – строка таблицы значений
ТабЗначений[<Индекс>]
ТабЗначений.Получить(<Индекс>). Получить(<Индекс2>)
НовСтрока = ТабЗначений. Добавить()
НовСтрока = ТабЗначений.Вставить(<Индекс>)
НовСтрока.Товар = "…"
НовСтрока["Товар"] = "…"
ТабЗначений.Индекс(<Строка >)

2.

Создание внешней обработки 3
Создадим форму обработки
и добавим в нее реквизит ТЗ_Товары с типом
«ТаблицаЗначений»:

3.

Добавим в «ТЗ_Товары» колонки:
Имя
Заголовок
Тип
Длина
Товар
Товар
Строка
25
ЕдИзм
Ед.Изм.
Строка
5
Количество
Количество
Число
10
Цена
Цена
Число
10

4.

Разместим «ТЗ_Товары» на форме:
В свойствах командных панелей уберем признак «Автозаполнения», т. к. эти
команды нам пока не нужны.
Получим форму:

5.

Заполнение таблицы данными. В свойствах формы обработаем событие
«ПриОткрытии»:
Сохраним обработку и откроем ее в режиме «1С:Предприятие»:

6.

Создадим на форме кнопку, по нажатии на которую в окно сообщений будут
выводиться товары, цена которых, допустим, меньше 50.

7.

Доработаем внешний вид таблицы:
• Выделить другим цветом фона товары, цена которых меньше 50.
• Выделить строки с минимальной ценой полужирным шрифтом.
• Выделить наименование номенклатуры с максимальной ценой красным
цветом.

8.

Самостоятельно реализуйте два других условия, учитывая, что в
условии можно сравнивать не только с постоянным числом, но и с
произвольным реквизитом формы (который предварительно надо
создать):

9.

10.

Табличный документ.
Вывод информации на печать.
Обработку можно не создавать (для примера).

11.

Выведем информацию из таблицы формы в табличный документ (для
возможности вывода на принтер, сохранения в файл)

12.

ТабДок = Новый ТабличныйДокумент;
ОбластьПечати = ТабДок.Область(<Имя области>);
//тип ОбластьЯчеекТабличногоДокумента
ОбластьЯчеекТабличногоДокумента
Свойства
Шрифт
Текст
ГоризонтальноеПоложение
ШиринаКолонки
ЦветФона
Метод
Обвести(<Граница слева>, <Граница сверху>, <Граница справа>,
<Граница снизу>)
ЛинияСплошная = Новый
Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная)
Например, чтобы обвести ячейку со всех сторон сплошной линией запишем:
ОбластьПечати.Обвести(ЛинияСплошная, ЛинияСплошная, ЛинияСплошная, ЛинияСплошная);
ТабличныйДокумент
Метод
Показать(<Заголовок>, <Имя файла>, <Активизация>)

13.

Так как для печати (в таком варианте)
необходима команда, доступная только на
сервере, то при обработке «Действие» кнопки
«ПечатьБезМакета» выбираем:
будет
использовано
позже
В режиме «1С:Предприятие» получим:

14.

Сделать изменения в функции «ПечатьБезМакетаНаСервере()», чтобы
табличный документ создавался в виде:
Подсказка:
ТЗ.Получить(ш) – строка таблицы значений с номером «ш»
ТЗ.Колонки.Получить(м) - колонка таблицы значений с номером «м»
ТЗ.Получить(ш).Получить(м) – ячейка, расположенная на пересечении
строки с номером «ш» и колонки с номером «м»
Для автоматического формирования шапки таблицы можно использовать
свойство «Имя» (или «Заголовок») колонки ТЗ.

15.

Использование макета

16.

17.

18.

19.

20.

Вывод областей в табличный документ изменится. Покажем на примере области
«Шапка»
Было:
Стало:
Доработать самостоятельно вывод областей «Строка» и «Подвал».

21.

Выводить количество:
Не выводить количество:
English     Русский Правила