Имя: Пароль:
1C
1С v8
1С83 ОбластьПечати Метод объекта не обнаружен (ОбластьПечати)
0 lamme
 
21.02.19
09:52
1С83
уф
1С:Предприятие 8.3 (8.3.10.2466)

хитроформируемая форма .. хз сколько столбцов ... хз сколько строк ...
при печати - выходя справа и снизу - пустые места.
хочу задать область печати программно.

ТабличныйДокумент = Новый ТабличныйДокумент;
...
ТабличныйДокумент.ОбластьПечати(1,1, ТабличныйДокумент.ШиринаТаблицы, ТабличныйДокумент.ВысотаТаблицы);

ругается ..
ошибка в сабже -Метод объекта не обнаружен (ОбластьПечати)

почему
1 JeHer
 
21.02.19
09:55
(0) а что в троеточиях? Может, там ТабличныйДокумент переопределился?
2 ДенисЧ
 
21.02.19
09:55
Продам кнопки Shift-F9. Очень дорого.
3 lamme
 
21.02.19
09:55
ТабличныйДокумент - имеет тип ТабличныйДокумент
когда делаешь

ТабличныйДокумент.    - то ОбластьПечати - выходит как метод
становлюсь точкой остановки на строке
перед
ТабличныйДокумент.ОбластьПечати(1,1, ТабличныйДокумент.ШиринаТаблицы, ТабличныйДокумент.ВысотаТаблицы);  - перед проблемной строкой
там

ТабличныйДокумент.ОбластьПечати = неопределено
4 lamme
 
21.02.19
09:57
5 lamme
 
21.02.19
09:59
хотя там тип - ОбластьЯчеекТабличногоДокумента.
те не координаты что ль ...
6 lamme
 
21.02.19
10:06
ну и ?
7 lamme
 
21.02.19
10:06
есть варианты  - как программно задать область печати табличного документа ?
8 JeHer
 
21.02.19
10:09
Переместить строку повыше даст такой же результат?
9 lamme
 
21.02.19
10:10
тогда с другой стороны.
в 1С -ке есть вот такая вот функция

Процедура ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Ссылка) Экспорт
    
    Элемент = ОбъектыПечати.НайтиПоЗначению(Ссылка);
    Если Элемент = Неопределено Тогда
        ИмяОбласти = "Документ_" + Формат(ОбъектыПечати.Количество() + 1, "ЧН=; ЧГ=");
        ОбъектыПечати.Добавить(Ссылка, ИмяОбласти);
    Иначе
        ИмяОбласти = Элемент.Представление;
    КонецЕсли;
    
    НомерСтрокиОкончание = ТабличныйДокумент.ВысотаТаблицы;
    ТабличныйДокумент.Область(НомерСтрокиНачало, , НомерСтрокиОкончание, ).Имя = ИмяОбласти;

КонецПроцедуры


название - задатьобластьпечати
т.е. она находит область макета

и вот тут че делается- я хз
ТабличныйДокумент.Область(НомерСтрокиНачало, , НомерСтрокиОкончание, ).Имя = ИмяОбласти;
10 lamme
 
21.02.19
10:10
8 - под самую
ТабличныйДокумент = Новый ТабличныйДокумент;
?
сейчас попробу
11 lamme
 
21.02.19
10:15
8
такая ж фигня


https://clip2net.com/s/3ZXtT5i
12 catena
 
21.02.19
10:15
(9)"и вот тут че делается- я хз
ТабличныйДокумент.Область"

А СП читать религия не позволяет совсем?
13 catena
 
21.02.19
10:16
"ругается Метод объекта не обнаружен (ОбластьПечати) "

Вполне возможно, но не точно, так предположение, пальцем в небо: может потому, что Область печати это свойство, а не метод? Хотя, фигня какая-то...
14 JeHer
 
21.02.19
10:18
(11) случаем, нет такого реквизита с этим же именем ТабличныйДокумент?
15 lamme
 
21.02.19
10:20
(13)
дык и фигли ..
этот код задает именованной области - определенные размеры путем указания точных координат прямоугольника.

как это применимо к области печати всего документа ?
обходить каждую область перед отображением и ставить параметры самой области - а не целиком табличного документа ?
16 lamme
 
21.02.19
10:22
(14)
была б переменная
то вот такого б не было

https://clip2net.com/s/3ZXtT5i

имхо конечно
17 JeHer
 
21.02.19
10:26
С ИТС:
ТабДок.ОбластьПечати = ТабДок.Область(5, , 10);
18 JeHer
 
21.02.19
10:26
Немного не так ты делал.
19 lamme
 
21.02.19
10:31
(17)
понимаешь
он ругается не на то - что не верно указан параметр
а на то что Метод объекта не обнаружен (ОбластьПечати)

но я попробую
20 catena
 
21.02.19
10:32
(19)Потому что это свойство, а не метод. Потому что нет у него параметров - внезапно. Потому что СП надо читать, а не сочинять синтаксис по своему усмотрению.
21 JeHer
 
21.02.19
10:33
Правильно ругается. Нет такого метода у табличного документа, а есть свойство, которому надо передать параметры.
22 lamme
 
21.02.19
10:36
(20)
афигеть ...
взлетело
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.