Проблема!!! Обход элементов формы журнала документов.

1. nikakoy 43 05.05.11 11:53 Сейчас в теме
Уперся на пустом месте.
При обходе формы журнала документов табличная часть ВСЕГДА последняя...

Текстовое поле таб. части рассчитывает значения переменных, которые должны выводиться в текстовых полях формы.
Но! сначала идет обращение к переменным, а только потом вызов функции из таб. части.

Т.о. текстовое поле с вызовом функции всегда возвращает значение на основании предыдущей строки.
:o
Помогите победить!!!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Ёпрст 1063 05.05.11 12:04 Сейчас в теме
порядок обхода настрой - будет первым.
А так, хз что тебе нужно, что ты там обходишь и где что смотришь.
3. nikakoy 43 05.05.11 13:00 Сейчас в теме
Порядок обхода - ТЧ первая в списке.
4. nikakoy 43 05.05.11 13:03 Сейчас в теме
Текст - последний, на фоме отображается как <ТекТекстСостояния>
Прикрепленные файлы:
5. Ёпрст 1063 05.05.11 13:07 Сейчас в теме
(4) тогда читай 2.2 "А так, хз что тебе нужно, что ты там обходишь и где что смотришь. "
6. Ёпрст 1063 05.05.11 13:11 Сейчас в теме
ЗЫ:
на форму журнала кинь текст, ему в формулу ТекущийДокумент , сохрани конфу, открой в предприятии этот журнал
теперь бегай по строкам журнала и о чудо! Показывает именно текущий документ, а не из предыдущей строки.

И читай предыдущий пост - я хз, что тебе надо и где и что ты там обходишь и смотришь и рассчитываешь.
11. Ёпрст 1063 05.05.11 13:22 Сейчас в теме
(9,10) и что это меняет ? см. (6).

ЗЫ: мне лень рассказывать, в каких случаях отрабатывает текстовая колонка и текст на форме..
7. nikakoy 43 05.05.11 13:11 Сейчас в теме
пререм   ТекТекстСостояния;

Функция СостПроекта()    
	   возврат    ТекТекстСостояния;
КонецФункции


Функция ВидПроекта()      
	ТекТекстСостояния = сокрлп(текущийдокумент);
КонецФункции  
Показать


ВидПроекта() вызывается после СостПроекта(), соответственно СостПроекта() возвращает значение для предыдущего состояния формы. Сам первый раз столкнулся, пробовал играть с видимостью элемента, слоев.... и...
Уперся!!!! Не побеждается!!!!
Прикрепленные файлы:
8. Ёпрст 1063 05.05.11 13:13 Сейчас в теме
(7) полный пэ..
см. (6) и не занимайся извратом.
9. nikakoy 43 05.05.11 13:15 Сейчас в теме
это все простой вариант. у меня ссылка не тек. док - реквизит справочника, где хранятся нужные сведения.
При позиционировании на документе, разыскивается нужный элемент, читаются из него данные, и дожны выводиться на форму. А выводятся - по найденому по пред. клику.
10. nikakoy 43 05.05.11 13:20 Сейчас в теме
Расчеты достаточно громоздкие, чтоб не выполнять в момент записи(проведения), просто ставится флаг необходимости пересчета реквизитов в том же справочнике. Здесь некоторая оффлайновость некритична. А вот передвигаться по журналу хотелось бы быстро. с получением максимума информации....
12. Ёпрст 1063 05.05.11 13:23 Сейчас в теме
+11 ЗЫ: текстовая колонка там вообще ну упёрлась для этой цели, если что.
13. nikakoy 43 05.05.11 13:35 Сейчас в теме
:( а если напрячься все таки???
14. Ёпрст 1063 05.05.11 13:38 Сейчас в теме
(13) Ты (6) так и не осилил ?
15. Ёпрст 1063 05.05.11 13:38 Сейчас в теме
могу еще раз перепостить:


на форму журнала кинь текст, ему в формулу ТекущийДокумент , сохрани конфу, открой в предприятии этот журнал
теперь бегай по строкам журнала - и о чудо! Показывает именно текущий документ, а не из предыдущей строки.
16. nikakoy 43 05.05.11 13:41 Сейчас в теме
издеваешься.....
текущийдокумент.датадок(номердок) - отображается отлично!!!
а вот вызов типа ВерниНомер_С_а(текущийдокумент) - не хочет!!!!
18. Ёпрст 1063 05.05.11 13:45 Сейчас в теме
(16) бредишь ?
в формулу текста ПоказатьНомерДокумента(ТекущийДокумент)

в модуле:
Функция ПоказатьНомерДокумента(Док)
	Возврат Док.НомерДок;
КонецФункции 


Наслаждайся.
17. nikakoy 43 05.05.11 13:42 Сейчас в теме
в скобках для первого варианта - просто вариант формулы текста, равно как текущийдокумент.контрагент и т.д.!!!
19. nikakoy 43 05.05.11 13:57 Сейчас в теме
а вот такой вариант

перем НомД;

Функция ПоказатьНомерДокумента(Док)
НомД = Док.НомерДок;
Возврат Док.НомерДок;
КонецФункции

А во втором поле в формуле - НомД
приводит вот к такому результату.
Прикрепленные файлы:
21. Ёпрст 1063 05.05.11 14:40 Сейчас в теме
(19) ёпт..
Либо пиши в ФОРМУЛУ текстового реквизита сразу нужное значение, либо, если используешь переменную модуля для отображения - обновляй форму каждый раз методом ОбновитьФорму() и грузи проц на 100%

И что мешает писать так ??????????????????

Функция ПоказатьНомерДокумента(Док)
   спр = создатьобъект("Справочник.Пар");
   спр.найтипореквизиту("Рекв",Док,0);
    Возврат спр.пар1+спр.пар2;
КонецФункции
20. nikakoy 43 05.05.11 14:04 Сейчас в теме
нужно чтоб на форме отображались результаты, полученные функцией.

перем Пар1,Пар2,Пар3;

Функция ПоказатьНомерДокумента(Док)
спр = создатьобъект("Справочник.Пар");
спр.найтипореквизиту("Рекв",Док,0);
пар1 = спр.пар1;
пар2 = спр.пар2;
пар3 = спр.пар1+спр.пар2;

Возврат Док.НомерДок;
КонецФункции

а в текстовых полях на форме отображались эти ПАРы...

причем в колонках таб. части - эти значения отображаются отлично... а вот на свободном месте формы...
22. nikakoy 43 05.05.11 14:43 Сейчас в теме
Параметров порядка сотни, для каждого своя функция, в каждой "спр.найтипореквизиту("Рекв",Док,0);"????
24. Ёпрст 1063 05.05.11 14:44 Сейчас в теме
(22) Ты покажи реальную функцию, и форму журнала, а не абстрактные 100-ни параметров.
23. Ёпрст 1063 05.05.11 14:43 Сейчас в теме
А так, Форму у тебя НЕ обновляется в момент присваивания переменной чего-то, а обновляется только при нажатии клавиши (вниз/вверх) - вот и видишь всегда якобы "предудущее" значение строки..
в общем, мне лень объяснять, как работают формулы в текстовых колонках и в тексте на форме.

Можешь и дальше заниматься извратом с глобальными переменными формы.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот