Текстовое поле с формулой в форме документа... #111109


#0 by Vladislav1
Добрый день. В форме документа есть текстовое поле с формулой "Итог("ЗакупСумма")+НП". При интерактивном изменении ЗакупСумма изменяется и содержимое этого поля, а при программном (из внешней обработки - открытие документа, отмена проведения, изменение ЗакупСумма, сохранение, проведение) - нет. Подскажите, как заставить его изменяться автоматически.
#1 by Diter
Обновить форму
#2 by Diter
(+1) Через Форма.Обновить;
#3 by Vladislav1
Большое спасибо, буду пробовать.
#4 by Vladislav1
В обработке пишу: Форма.Обновить; А в ответ - тишина. Что я делаю неправильно?
#5 by Diter
Ты пытаещься из обработки открыть документ. Ты его уже изменил? Или ты изменяешь при открытии? В любом случае в этом кодже ты обновляешь форму обработки а не документа
#6 by GrayT
#7 by Vladislav1
Да, к этому времени документ уже изменен обработкой. А как в таком случае обновить форму этого измененного документа? На строку Док.Форма.Обновить; ругается. Док - текущий документ.
#8 by Diter
Опа. А ты уверен, в том, что изменил документ? Или ты чего то не договариваешь или при открытии формы она обновится (и пересчитает итоги) сама.
#9 by Vladislav1
Если открыть обработанный документ, там значения изменены. А итоги при этом не пересчитываются... Может ли это быть из-за того, что документ в конце обработки проводится?
#10 by Vladislav1
А чем инициализировать Конт?
#11 by GrayT
Конт=""; В него потом контекст вернеться. Или передай в него что хошь.
#12 by Diter
быть не может.....
#13 by Vladislav1
Вот текст. Может я конечно и наворотил там ерунды, но значения меняются...
#14 by Diter
Ты в цикле открываешь документы не записанные
#15 by GrayT
Ну и? В чем трабл? ЗЫ ОткрытьФорму в цикле строк - это нормально?
#16 by Долорес Ибаррури
во-певых, зачем открывать форму документа в цикле по строкам? во-вторых, если это так уж необходимо, открывай форму после док.записать и все будет ок.
#17 by Vladislav1
Хорошо, но каким образом тогда при интерактивном открытии документа они оказываются измененными?
#18 by GrayT
А чего бы им не быть измененными? А у тебя док из формы потом нормально записывается?
#19 by Vladislav1
Перенес открытие формы: Ругается: Значение не представляет агрегатный объект (Форма)
#20 by Vladislav1
Да, нормально. Кроме обновления итогов...
#22 by Vladislav1
Спасибо. Изменил. При переходе в цикле к следующему документу начала выскакивать ошибка о том, что документ заблокирован (Выскакивала форма). Добавил Конт.Форма.Закрыть; , форма закрывается (появляется и сразу пропадает), но обработка все равно останавливается. Что можно сделать?
#23 by Diter
Тьфу блин запутал меня совсем 1. Измени документ 2. Запиши его
#24 by GrayT
Покажи исправленный модуль. Имхо запутался в Док и Док.ТекущийДокумент
#25 by Vladislav1
Исправленный. При этом форма все равно не обновляется...
#26 by GrayT
Насколько я понял, у него есть рекивиз который обновляется по формуле из текст на форме. Если реквизит используется при проведении нужно пп3 и 4 местами поменять.
#27 by Diter
Открытый документ блокируется
#28 by GrayT
Его можно и закрыть. Но вот "Итог("ЗакупСумма")+НП" - это не то что ты ищешь. Это текстовая колонка и н апроведение она не влияет.
#29 by Diter
Меня смущает НП - если это переменная в модуле, то она не вычислится при изменении документа извне.....
#30 by Vladislav1
НП - в модуле документа, насколько я понял, не меняется.
#31 by Vladislav1
Можете вы еще что-нибудь посоветовать?
#32 by GrayT
Если только начать с начала. Какая конфигурация, какой документ
#33 by Vladislav1
Бух. 4.2, но эти документы - нестандартные...
#34 by GrayT
То что 0 написал - не интересно. см28. Разберись еще раз что происходит при интерактивном заполнении дока
#35 by Дотошный
По-моему, вы "гоните". Реквизит документа ЗакупСумма кто за вас пересчитывать будет? Мало цену поменять из обработки. Надо и суммы пересчитать.
#36 by GrayT
+35 Там навярняка есть в колонках ТЧ что нить ПерессчитатьРеквизит
#37 by Дотошный
Там-то есть, а мы-то не там...
#38 by Vladislav1
Не понял, Что есть?
#39 by Дотошный
Во-первых, посмотри, что за формула выполняется при интерактивном изменении реквизита ЦенаЗакуп в документе с которым работаешь. Во-вторых, когда ты меняешь ЦенаЗакуп программно, реквизит ЗакупСумма надо тоже пересчитать программно.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Back to top