Упр формы. получение объекта конфигурация НЕ типовая и стандартной подсистемы внешних обработок НЕТ из документа открывается обработка в форме обработки. Владелец формы - Управляемая форма самого документа цель получить Объект документа, для возможности использовать разработанные ранее процедуры и функции попытался так... текОбъект = ДанныеФормыВЗначение(ВладелецФормы.Объект, Тип("ДокументОбъект.ХХХ")); Ошибка при получении .... Свойство недоступно на сервере |
помести свои процедуры в модуль менеджера и обращайся к ним Документы.ТвойОбъект.ТвояПроцедураФункция |
или тебе нужны обработчики? |
штука такая пользователь открывает документ проводит над ним некие действия после чего запускает сервис, который обрабатывая эти данные модифицирует (НЕ ЗАМЕНЯЕТ) табличную часть, после чего принимает решение сохранять или нет я не могу использовать ссылку. так как я не увижу данные , которые внес пользователь, те мне нужен объект если говорить про разработку в обычном виде Все требуемые процедуры лежат в общем модуле (те по сути тоже самое /может я и не прав/, в любом случае мне в качестве параметра нужно передавать НЕ форму, а Объект) |
Так не получится. Это извращение. |
это тогда недоделка 1С.... те если открыть документ Объект - тип данныеФормаСтруктура Получить реквизиты в виде объекта мы можем если берем обработку Владелец - Управляемая форма ВладелецФормы.Объект - тип данныеФормаСтруктура Получить реквизиты в виде объекта мы не можем.... вот это действительно извращение... тут могу тут не могу... |
5-ktvofffka >Вот как у меня работает &НаКлиенте Процедура ВводВеса(Команда) Вв = новый Структура; Вв.Вставить("Продукция",Объект.Номенклатура); Вв.Вставить("Характеристика",Объект.Характеристика); Форма = ПолучитьФорму("Обработка.ВводВесаПродукции.Форма.ФормаУпр",Вв); Форма.ОткрытьМодально(); Объект.ВесПродукции = Форма.Объект.ВесПродукции; СерверПересчитатьКоличествоМатериала(); КонецПроцедуры |
5-ktvofffka > Ну так брось 1С если тебе учиться лень. Очевидно, что в архитектуре тонкого или веб-клиента изменять данные объекта может только одна форма, отображающая его данные. Ты же пытаешься поставить 1С в абсолютно неестественную для нее позу, да еще и недоумеваешь: "Почему ей не нравится, когда я ее заставляю правой ногой чесать левое ухо касаясь коленом задницы???" |
несколько раз перечитал сообщение автора, но так и не понял чего же он хочет? что за сервис запускается, от куда и зачем? При чем здесь форма и общий модуль? В обычном приложение делал некое извращение: на форму обработки вешал документ объект, обработчики формы объекта отрабатывались и в обработке, на управляемой форме не знаю, сканает такое или нет. |
(7) как же меня бесят умники... я не спрашиваю тривиальных вещей... я прошу подсказать решение, тк как сам разобраться не смог. Прошу тогда объяснить мне тупому чем же отличается логика?? есть процедура ДанныеФормыВЗначение(<Объект>, <Тип>) Где Объект - Данные форма структура (Структура данных для моделирования данных, редактируемых в управляемой форме. Моделирует объект с набором свойств) так чем же объясните мне отличается Объект из текущей формы от объекта из фладельца формы???? Если это "по логике" должна быть просто структура описывающая данные |
(8) В обычном приложении это не извращение это типовой прием к примеру заполнение ТЧ. В Тонком клиенте понятия объект нет. Есть некая структура описывающая форму которая и визуализируется на клиенте. Для получения данных необходимо перейти на сервер, где хранятся данные и получить их, обработать, а затем передать клиенту для визуализации... как то так |
проблему решил. Вдруг кому пригодится сделано след образом в обработке добавляется новый реквизит типа ДокументОбъект &НаКлиенте Процедура Выполнить() КопироватьДанныеФормы(ВладелецФормы.Объект, ДокОбъект); ЗаполнениеДанных(); КопироватьДанныеФормы(Док, ВладелецФормы.Объект); КонецПроцедуры &НаСервере Процедура ЗаполнениеДанных(СписокОшбок) Об = ДанныеФормыВЗначение(Док, Тип("ДокументОбъект.ХХХ")); ......... ЗначениеВДанныеФормы(Об, ДокОбъект) КонецПроцедуры |
КопироватьДанныеФормы(Док, ВладелецФормы.Объект); Об = ДанныеФормыВЗначение(Док, Тип("ДокументОбъект.ХХХ")); очепятка вместо "док" "ДокОбъект" |
короче итогово))) а то опять очепятку нашел &НаКлиенте Процедура Выполнить() КопироватьДанныеФормы(ВладелецФормы.Объект, ДокОбъект); ЗаполнениеДанных(); КопироватьДанныеФормы(ДокОбъект, ВладелецФормы.Объект); КонецПроцедуры &НаСервере Процедура ЗаполнениеДанных() Об = ДанныеФормыВЗначение(ДокОбъект, Тип("ДокументОбъект.ХХХ")); ......... ЗначениеВДанныеФормы(Об, ДокОбъект) КонецПроцедуры |
Текущее время: 06:48. Часовой пояс GMT +3. |