Заполнение формы документа РТУ из внешней обработки в 1С 8.3. #731516


#0 by maxikat
Столкнулась с ситуацией, когда из внешней обработки нужно создать и заполнить документ Реализация товаров и услуг. Но в нем данные по итогам заполняются в обработчиках формы документа. Как обратиться к ним или как еще можно получить итоги? Если в загрузчике вызывать Документ.ПолучитьФорму("ФормаДокумента"), то система ругается, что интерактивные операции недоступны.
#1 by НП
При создании любого документа из обработки никакие формы документа не открываются из обработки не используются. Создаётся документ менеджером и заполняются все его реквизиты и табличные части. Итоги не заполняются, поскольку их не существует
#2 by maxikat
Возможно, я неправильно выразилась. Документ я создала и заполнила, с этим проблем нет. Но если я его открываю, что внизу есть поля Итоговая сумма и Итоговая скидка. Которые заполняются, когда ручками что-то вбиваешь в форме Товары. Как вызвать эти процедуры из внешней обработки? Или что нужно сделать, чтобы прописались Итоговая сумму и Итоговая скидка?
#3 by НП
Когда Вы его открываете, там все делается штатно. Если нет итогов по какой-либо табличной части, то она не заполнена.
#4 by maxikat
В каком смысле штатно? То есть самой руками править каждую строчку? Там Итоги обновляются после изменения, например, значения поля Количество. Что же мне все строчки руками перебивать? Причем там не достаточно поправить только одну строчку, нужно именно все.
#5 by Maniac
ищи процедуры обрабьотки табличных часйте
#6 by maxikat
Поправлюсь, что это не итоги табличной части! Это текстовое значение под табличной частью. Типа "Всего" или "СуммаВсего", как в других документах такого типа.
#7 by Maniac
неужели сложно типовую открыт, документ и посмотреть процедуры какие там. У меня впечатление что вы неучи. такие простые вещи разрыть не можете
#8 by Maniac
повторюсь - конфигуратор в зубы и вперед.
#9 by maxikat
Я и спрашиваю, как к ним обратиться из внешней обработки. Потому что через ПолучитьФорму система не дает мне к ним пробиться. Тем более, что они не экспортные. Но даже, если это было и так, что все равно из внешней обработки форма не вызывается. Так научите же нас неучей!
#10 by maxikat
Поясняю еще раз. Из внейшей обработки я создаю документ Реализация товаров и услуг, заполняю ТЧ Товары. Все чудесно. НО! Под ТЧ есть текстовые поля с вычисляемыми итогами. И эти поля заполняются в модуле формы. Как мне из внешней обработки обратиться к этим процедурам и функциям?
#11 by maxikat
Заполняется все в :
#12 by maxikat
Так кто-нибудь знает, как обратиться к модулю формы из Обработки?
#13 by FIXXXL
да выдерни эту процедуру в свою обработку
#14 by maxikat
А как я определю параметр "ЭтаФорма"?
#15 by FIXXXL
мне отсюда плохо видно, но подозреваю, что эта суперпроцедура заполняет реквизиты документа, откуда потом происходит вывод на форму Выдерни процедуру и перепиши без обращения к форме
#16 by maxikat
Не совсем. Она работает не с реквизитами, а с элементами формы, поэтому без формы никак.
#17 by maxikat
И это лишь одна из требуемых процедур. Их всего три.
#18 by FIXXXL
ты в курсе, что реквизиты формы "живут" только когда форма открыта? при закрытии они не сохраняются (я надеюсь твой документ без извратов написан) ПриОткрытии формы процедуры пересчета итогов вызываются?
#19 by maxikat
Конечно в курсе! Бьюсь уже об стенку, видимо... В какой раз дублирую вопрос! Как обратиться из внешней обработке к модулю формы??? Это не мой документ, это типовой документ. Моя только внешняя обработка. Создает документ и загружает данные из внешнего источника. Остается только дорисовать бантики в виде итогов. Ломать программу, чтобы дописать модуль формы при открытии не вариант.
#20 by maxikat
На этой картинке выглядит форма сейчас при открытии: А так должно быть. Сейчас так получается, только если руками перебить количество:
#21 by Mankubus
ответьте на второй вопрос из
#22 by FIXXXL
да никак не обратится, оно и не надо надо понять почему у тебя не пересчитывает мож флаг какой должен быть в документе? мож реквизит какой не заполняешь? не все реквизиты ТЧ могут быть отображены на форме, мож пропускаешь чего при заполнении попробуй запросом в консоли выбрать два дока, свой и "нормальный" и посмотри-сравни реквизиты ТЧ
#23 by maxikat
Поясните, зачем? Вы считаете, что при открытии документ пересчитывает итоги? Это не так. Или что именно Вы имеете в виду?
#24 by maxikat
Отвечаю. При открытии не пересчиываются никакие итоги. Ни в заполненном документе, ни в незаполненном. Пересчет итогов происходит только при редактировании таблицы.
#25 by FIXXXL
и где потом эти итоги хранятся при окончании редактирования таблицы и закрытии документа?
#26 by maxikat
Как я понимаю, эта инфрмация хранится в реквизите СуммаВсего, который создан на форме. Поэтому к нему не удается обратиться извне. То есть обработка его не видит. Она видит только реквизиты объекта.
#27 by silent person
у вас не правильное понимание терминологии. Форма не может содержать реквизиты объекта, форма содержит только элементы формы которые связаны с реквизитами объекта. Данные могут хранится только в реквизитах объекта, в элементах формы храниться ничего не может (при закрытии формы вся информация из элементов формы уничтожается). и тот кто у вас на форме документа РТУ нарисовал все эти красивости без связи с реквизитами объекта (документа) подложил вам большую свинью. пока не создана форма документа к элементам формы никак не обратиться.
#28 by silent person
и вообще что у вас за конфигурация ? в типовой УТ 1 прроцедура РассчитатьИтоговыеПоказателиРеализации(Форма) вызывается в предопределенной процедуре  ПриЧтенииНаСервере(ТекущийОбъект) и все эти элементы формы прекрасно заполняются по данным объекта.
#29 by silent person
*УТ 11.1
#30 by maxikat
Это видимо Вы что-то не понимаете. Я конечно немного неверно изпользую терминологию. Но суть от этого не меняется. Есть реквизиты, созданные на закладке Данные, есть реквизиты, созданные в отдельной вкладке при создании формы. УТ 11.1. Вы имеете в виду процедуру ПриЧтенииСозданииНаСервере? Да, вызывается. Осталось понять, как вызывать эту процедуру)))
#31 by silent person
в реквизиты формы без создания формы не существуют в принципе Отладчиком пользоваться умеете ? ПриЧтенииНаСервере вызывает ПриЧтенииСозданииНаСервере которая вызывает РассчитатьИтоговыеПоказателиРеализации ПриЧтенииНаСервере - предопределенная процедура, она вызывается сама.
#32 by maxikat
А Вы попробуйте вызывать ее из обработки внешней. Получается? При всем уважении, я все это прекрасно знаю. И про реквизиты формы и про риЧтенииНаСервере и естественно я пользуюсь отладчиком. Как это отвечает на мой вопрос? У Вас запускается эта процедура сама? Давайте попробуйте написать в обработке? Док = Документы.РеализацияТоваровУслуг.СоздатьДокумент; .... Товары = Док.Товары.Добавить; ... И как? Лично у меня никуда не заходит.
#33 by maxikat
Вы все советуете отличные вещи, только тут все та же проблема. Все эти процедуры относятся к ФОРМЕ! И мы не можем к ним обратиться без обращения к форме!
#34 by silent person
В табличной части Товары значения БезВозвратнойТары = ИСТИНА и СуммаСНДС заполнены ?
#35 by maxikat
Да, заполнены... не знаю даже, что еще?
#36 by silent person
значит что то еще не заполнено. все эти процедуры вызываются при открытии формы записанного документа, потому как тебе еще в сказали. все что не является реквизитом объекта при закрытии формы удаляется и нигде не хранится после ее закрытия, и заполняется заново при создании формы.
#37 by silent person
заполни документ программно и второй заполни руками. потом сделай запрос по ВСЕМ реквизитам этих документов и сравни что у тебя в "ручном заполнено а в "программном" нет
#38 by maxikat
Я поняла, спасибо!
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С