Метод ТАБ_ФОРМА.КОПИРОВАТЬ_РАЗДЕЛЫ
Метод КОПИРОВАТЬ_РАЗДЕЛЫ позволяет копировать непрерывную последовательность разделов из одной формы в другую. Приемником является форма, в отношении которой вызван метод.
ФУНКЦИЯ ЛОГИКА: КОПИРОВАТЬ_РАЗДЕЛЫ(ПЕРЕМ ТАБ_ФОРМА: форма; ЦЕЛОЕ: поз1; ЦЕЛОЕ: поз2; ЦЕЛОЕ: поз_вст; ЦЕЛОЕ: кол = 1)
Параметры
- форма
- Табличная форма, откуда будет производиться копирование разделов (источник).
- поз1
- Начальная позиция раздела в форме-источнике.
- поз2
- Конечная позиция раздела (включительно) в форме-источнике.
- поз_вст
- Позиция вставки разделов в форме-приемнике.
- кол
- Количество вставок блока разделов в форму-приемник.
Возвращаемое значение
ДА – в случае успешного выполнения, НЕТ – в случае ошибки.
Копирование разделов в рамках одной формы возможно, но т.к. имена разделов должны быть уникальны, то имена вставляемых разделов изменяются автоматически. Например, имя "Раздел1" заменяется на "Раздел2" и т.д.
При копировании разделов из одной формы в другую встает задача нахождения соответствия шрифтов. Для этого можно установить режим вставки методом УСТ_РЕЖ_ВСТАВКИ. в режиме вставки ТФ_РЕЖИМ_ВСТАВКИ также можно указать до или после указанной позиции осуществлять вставку (константы позиции вставки ТФ_ПВ_ПЕРЕД и ТФ_ПВ_ПОСЛЕ).
Пример:
//копирование разделов в обработчике до_открытия ТИП Форма(ТАБ_ФОРМА) [ ПОДМЕНА файл = "Форма.ibf"; ПОДМЕНА до_открытия = {Тиражирование_разделов}; ФУНКЦИЯ Тиражирование_разделов РЕЗУЛЬТАТ = ДА ПЕРЕМ ЦЕЛОЕ: номерРаздел = 1 ПЕРЕМ ЦЕЛОЕ: поз = ПОЗ_РАЗДЕЛА("Раздел") ЦИКЛ ПОКА (номерРаздел < 5) КОПИРОВАТЬ_РАЗДЕЛЫ(САМ, поз, поз, поз + 1, 1) поз++ номерРаздел++ КОНЕЦ_ЦИКЛА КОНЕЦ_ФУНКЦИИ ] ВЫЧИСЛИТЬ ПЕРЕМ Форма: тф // тф <- данные тф.ПОКАЗАТЬ КОНЕЦ