Имя: Пароль:
1C
 
Параметры макета
0 thresh
 
21.03.11
16:30
Здравствуйте! 1с 8.2 бух. Есть макет у него 1 из областей заполняется параметрами сразу при выводе...А один параметр в коде считается после вывода этой области! Может кто знает как мне потом обновить этот параметр после расчета? спасибо!
1 thresh
 
21.03.11
16:34
плиииз )
2 Марсель
 
21.03.11
16:49
Если область выведена в табличный документ, то никак (кроме как найти по значению/тексту этот параметр в табличном документе и заменить значение/текст)

Почему нельзя перед выводом области в табличный документ, заполнить в области этот параметр:

Область.Параметры.ВашПараметр = ЗначениеПараметра;
Таб.Вывести(Область);
3 thresh
 
21.03.11
16:58
(2) перед не получается а как найти?
4 Марсель
 
21.03.11
17:27
У табличного документа есть соответствующие методы:
НайтиТекст И НайтиЗначение, смотри их описание в СП.

А почему не получается? Не могу представить себе такой ситуации.
Может часть кода покажешь, которая ограничивает такой подход.
5 thresh
 
21.03.11
17:45
ИскНКБ = ТаблДок.НайтиТекст("НКБ");
Область эту нашел, а как ее изменить и обновить Табличное поле документа? спасибо!
6 thresh
 
21.03.11
17:47
(4) не получается, потому что этот параметр  считается в то время когда уже выводится 2ая область, а в 1ую область необходимо его подставить
7 Марсель
 
21.03.11
18:33
(5) метод НайтиТекст возвращает ОбластьЯчеекТабличногоДокумента, у которой есть соответствующие свойства: Текст и Значение. Просто присвой нужному свойству нужные данные.

(6) Для решения этой проблемы использую следующий подход:

Пусть Таб - это выходной табличный документ

тогда выводишь в Таб все области до Области1, а Область1 заполняешь нужными параметрами и пока никуда не выводишь.

создаем временный табличный документ: пусть будет ТабВрем

Выводишь в ТабВрем вторую область и параллельно расчитываешь нужный тебе в Область1 параметр.

После того как параметр расчитан заполняешь его в Область1 обычным способом (Область1 у нас же до сих пор никуда не выведена).

Заполнил параметр и выводишь Область1 в Таб (основной табличный документ)

Потом выводишь в Таб ТабВрем

Таб.Вывести(ТабВрем)

И дальше уже работаешь с Таб, согласно своего алгоритма.