Имя: Пароль:
1C
1С v8
Заполнение регламентированного отчета
, ,
0 salvator
 
04.05.22
16:30
Доброго дня!
В БП 3.0 есть рег отчет, который не заполняется автоматически. Делаю механизм заполнения. В отчете имеются несколько разделов. При нажатии на кнопку "Заполнить" нужно определять нужный раздел (табличный документ) и заполнять его. Если выбрать нужный раздел вручную, то к областям табличного документа можно обратиться так:
ЭтаФорма.ТабличныйДокумент.Области
А как "достучаться" до нужного табличного документа, находясь в другом разделе?
1 salvator
 
05.05.22
16:31
Так, этот вопрос снимается. Возник другой.
В отчете есть несколько разделов. В зависимости от того, сколько данных получено, нужно создавать N-ное количество страниц раздела.
В типовом коде есть процедура добавления страниц, но она "пляшет" от выбранной строки раздела. У меня же заполнение происходит вне зависимости от выбранной строки раздела. Как в таком случае добавить страницу?
2 nodrama
 
05.05.22
16:34
(0) я делал заполненние отчета так... для меня был самый простой способ.. это создать новый отчет. далее сохранить его... он сохраняется в документы.РегламентированныеОтчеты.. куда то туда найдешь.
Далее уже открываешь этот документ и там более менее ясно, заполняешь там что нужно. записываешь документ...
Далее закрываешь открываешь отчет ну или обновляешь и вуаля. ;)
3 nodrama
 
05.05.22
16:35
(1) аналогично, добавлял строки и страницы из сообщение выше)
4 nodrama
 
05.05.22
16:38
открываешь этот документ всмысле программно. далее отладчиком искал и добавлял заполнял и тд..
На инфостарте было описание что там где хранится и как. но ссылку не найду уже
Вот что то из этой серии
https://infostart.ru/1c/articles/428432/
5 salvator
 
05.05.22
16:48
(4) Да, эту статью уже видел. Думал, можно как-то с нуля заполнить. Но геморрой тот еще с этими данными в деревьях значений, номерах разделов и еще кучи всякой информации. Наверное, придется сделать заполнение уже сохраненного документа.
6 nodrama
 
05.05.22
17:01
(5) Так а я про что ? я и говорю геморой.
Самый простой способ. Создаешь отчет, сохраняешь. Далее открываешь его из документов.реглОтчет и там заполняешь там в разы проще. сам делал так в том году.
7 salvator
 
05.05.22
23:17
(2) "Далее закрываешь открываешь отчет ну или обновляешь и вуаля. ;)"

Не подскажете, как обновить отчет, чтобы не закрывать-открывать его? Нужно, чтобы сразу данные появлялись на форме отчета.
8 Sneer
 
06.05.22
07:57
(7)
    Инициализация();
    Обновить("");

хотя возможно зависит от отчета
9 salvator
 
06.05.22
18:22
(8) Инициализация() помогла.
Только вопрос: почему так же нельзя сделать при заполнении отчета "напрямую"?
Т.е.:
Дерево = ПолучитьИзВременногоХранилища(СтруктураРеквизитовФормы.АдресВоВрХранилищеДеревоДанныхРаздел31);
Дерево.Строки.Очистить();
... заполнение дерева ...
Инициализация();

Разделы сразу не обновляются, приходится вручную сохранять, закрывать и уже при открытии все ок.
10 salvator
 
06.05.22
19:19
Вариант через документ еще не совсем удобен тем, что при заполнении данные в документ уже попали, а отчет с признаком модифицированности. Пользователь закрывает его не сохранив, но по сути он уже с заполненными данными.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший