ТипСмещенияТабличногоДокумента.ПоВертикали

Свойства · Vertical

Смещать ячейки по вертикали.

Полное описание, параметры и ограничения

ТипСмещенияТабличногоДокумента.ПоВертикали (SpreadsheetDocumentShiftType.Vertical)

ТипСмещенияТабличногоДокумента (SpreadsheetDocumentShiftType)

ПоВертикали (Vertical)

Доступен, начиная с версии 8.0.

Описание:
Смещать ячейки по вертикали.
Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Вставить учебную строку с вертикальным сдвигом и удалить её

Строки табличного документа — координаты, а не записи базы. Вставляем копию собственной области строк и проверяем смещение исходного итога.

Где и как запускать

Полный модуль управляемой формы собственной учебной внешней обработки. Построение выполняется на сервере без контекста; показ — на клиенте. Вставляйте на уровне модуля.

Подготовка

  1. Создайте новую внешнюю обработку с управляемой основной формой в учебной базе. Каждый урок — отдельная копия модуля.

  2. На форме создайте команду УчебныйПример и перетащите её на форму как кнопку. В действии команды выберите процедуру УчебныйПример(Команда).

  3. Вставьте весь модуль из примера: УчебныйПример, ПостроитьУчебныйДокумент и УчебнаяТаблица. Серверный вызов возвращает собственный табличный документ клиенту; директивы не удаляйте.

  4. Никакие макеты, документы и справочники конфигурации не нужны. Всё построение — в памяти, без печати, записи файлов и отправки в сервисы.

  5. Показ и ручную проверку выполняйте в тонком клиенте Windows 8.5.1.1343. Каждый урок — отдельная копия формы с пустым модулем до вставки.

&НаКлиенте
Процедура УчебныйПример(Команда)
    ТабДок = ПостроитьУчебныйДокумент();

    ТабДок.Показать("Учебный документ — без печати и сохранения");
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПостроитьУчебныйДокумент()
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Область(1, 1).Текст = "Книга";
    ТабДок.Область(2, 1).Текст = "Ручка";
    ТабДок.Область(3, 1).Текст = "Итого 800";
    Вставка = Новый ТабличныйДокумент;
    Вставка.Область(1, 1).Текст = "Учебная вставка";
    ИсходнаяСтрока = Вставка.Область(1, , 1, );
    СтрокаПриемник = ТабДок.Область(2, , 2, );
    ТабДок.ВставитьОбласть(ИсходнаяСтрока, СтрокаПриемник, ТипСмещенияТабличногоДокумента.ПоВертикали);
    Сообщить(ТабДок.Область(2, 1).Текст = "Учебная вставка");
    Сообщить(ТабДок.Область(3, 1).Текст = "Ручка");
    Сообщить(ТабДок.Область(4, 1).Текст = "Итого 800");
    ТабДок.УдалитьОбласть(ТабДок.Область(2, , 2, ), ТипСмещенияТабличногоДокумента.ПоВертикали);
    Сообщить(ТабДок.Область(2, 1).Текст = "Ручка");
    Сообщить(ТабДок.Область(3, 1).Текст = "Итого 800");
    ТабДок.ТолькоПросмотр = Истина;
    Возврат ТабДок;
КонецФункции

Разбор по шагам

  1. Пропущенные колонки в Область(2,,2,) обозначают область всей строки. Исходная и принимающая области здесь по одной строке.

  2. Вертикальный сдвиг освобождает место: Ручка переезжает из 2 в 3, итог из 3 в 4.

  3. Удаление той же вставленной строки с вертикальным сдвигом возвращает исходные координаты. Нет изменения товаров или регистра.

Как проверить результат

  1. Пять проверок дают Истина.

  2. В итоговом показе снова три строки: Книга, Ручка, Итого 800. Вставка была проверена до удаления.

Ожидаемый результат

Обратимая вставка в собственный табличный документ с контролем координат.

На что обратить внимание

  1. Это удаление области только нового документа в памяти, не удаление строк исходного отчёта или объектов базы.

  2. Для прямоугольных областей размеры должны совпадать; направление сдвига имеет отдельный смысл.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.