Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
03 апр 2025, 11:14

1С 8.3. Как правильно удалить нужную область макета?

Автор gabik, 01 апр 2025, 12:57

0 Пользователей и 1 гость просматривают эту тему.

gabik

Как правильно удалить нужную область макета?

РекомендацииДопПоля = Макет.ПолучитьОбласть("РекомендацииДопПоля");
ОбластьПодпись = Макет.ПолучитьОбласть("Подпись");         
   
    Пока ТабДок.ПроверитьВывод(ОбластьПодпись) Цикл
    ТабДок.Вывести(РекомендацииДопПоля);                       
    КонецЦикла;   

    ПоследнийОбластьДопПоля = ТабДок.Области.РекомендацииДопПоля.Низ;
    ТабДок.УдалитьОбласть(ТабДок.Область("R" + ПоследнийОбластьДопПоля),ТипСмещенияТабличногоДокумента.ПоВертикали);

Ругается на ТабДок.Области.РекомендацииДопПоля.Низ; пишет что поле РекомендацииДопПоля не существует. Как он может не существовать, если он в цикле несколько раз вывелся, т.е. как будто после цикла и исчезает (это происходит не во всех документах).

antoneus

Так, правильно ли я понял.
По вашей логике, когда в табличный документ выводится область макета с каким-то именем - то этой области автоматически присваивается имя области макета? То есть, если эта область выводится несколько раз - то в табличном документе появляется несколько областей с одинаковым именем? К которым можно обратиться через точку по этому имени, а 1С сама разберется, какую именно из этих областей вы имеете в виду?

gabik

antoneus, А как грамотно сделать этот момент?

Идея такая: область РекомендацииДопПоля это просто пустое поле с рамкой (чтобы рекомендации после печати ручкой заполняли).В ПроверитьВывод(ОбластьПодпись) если область ОбластьПодпись не попадает на конец страницы, то из цикла не выйдет и будет постоянно добавляться РекомендацииДопПоля (впритык до конца страницы). Затем мы удаляем 3-4 строки рекомендации, чтобы область подписи поместился

antoneus

В ПроверитьВывод можно передавать массив областей. Развить мысль дальше сможете?

gabik

antoneus, не совсем понятно как правильно реализовать. Схема такая:

Шапка
Работы
Рекомендации
Рекомендации
Рекомендации
Подпись

Область Рекомендации добавляем до сих пор, пока не дойдет до конца страницы, но последняя область Подпись не должна перейти на вторую страницу (должен быть в самом внизу текущей страницы). Как это грамотно реализовать?

Максим75

gabik, если две рекомендации+подпись влазит - смело добавляете одну рекомендацию и дальше проверяете.
если не влазит - то проверяйте рекомендация+подпись и дальше уже смотрите, или добавляете рекомендация+подпись или только подпись.
как-то так.

antoneus

Создаем массив. Туда добавляем подпись. Пока вывод проверяется - вставляем рекомендации в начало массива. Когда вывод не проверился - удаляем первую (нулевую) позицию массива, идем по нему циклом, выводим области.


LexaK

попробуйте сделать правильно"
НЕ удалять нужную область
а Не выводить Не нужную.

(если поняли очем я)
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск