УФ как можно достучаться до данных, которые пользователь выбрал на форме из общего модуля обработки нажатия кнопки?
В УФ не соображаю совсем.
На форму справочника "Рассылки отчетов" программно добавляю новую кнопку в расширении.
Добавленной кнопке присваиваем стандартное действие "Подключаемый_ВыполнитьКоманду(Команда)".
По этой кнопке вызывается общий модуль ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект)
Данная процедура перехватывается в расширении, и если она вызвана из нашей формы и нашей добавленной кнопки, то выполняется наш код, иначе передаётся управление стандартной обработке вне расширения.
Кнопка добавляется и вызывается. Вопросов нет.
Ситуация следующая. Пользователь открыл форму. Изменил разные реквизиты на форме, в том числе и данные таблицы, которая хранится в справочнике в табличной части "Отчеты" в реквизите "Настройки" с типом ХранилищеЗначений.
Как в общем модуле из ЭтотОбъект или Источник увидеть те данные, которые пользователь выбрал или установил в форме?
Если перед нажатием кнопки предварительно записать справочник, то в Форма.Объект и Источник изменённые данные видно, но задача без записи объекта достучатся. Нужны данные не объекта, а то, что выбрано на форме.
Если мы изменим например Наименование, то это изменение видно через Источник.
А если нужны данные табличной части "Отчеты" из реквизита "Настройки" с типом ХранилищеЗначений, которые на форме отображаются с помощью таблицы, то к нему можно достучаться только через "АдресНастроек". А по этому адресу хранятся данные, которые содержит объект, а не форма.
Упрощенно так:
ПолучитьИзВременногоХранилища(Источник.Отчеты[0].АдресНастроек);
Как можно достучаться до данных, которые пользователь видит перед глазами на форме?
На форму справочника "Рассылки отчетов" программно добавляю новую кнопку в расширении.
Добавленной кнопке присваиваем стандартное действие "Подключаемый_ВыполнитьКоманду(Команда)".
По этой кнопке вызывается общий модуль ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект)
Данная процедура перехватывается в расширении, и если она вызвана из нашей формы и нашей добавленной кнопки, то выполняется наш код, иначе передаётся управление стандартной обработке вне расширения.
Кнопка добавляется и вызывается. Вопросов нет.
Ситуация следующая. Пользователь открыл форму. Изменил разные реквизиты на форме, в том числе и данные таблицы, которая хранится в справочнике в табличной части "Отчеты" в реквизите "Настройки" с типом ХранилищеЗначений.
Как в общем модуле из ЭтотОбъект или Источник увидеть те данные, которые пользователь выбрал или установил в форме?
Если перед нажатием кнопки предварительно записать справочник, то в Форма.Объект и Источник изменённые данные видно, но задача без записи объекта достучатся. Нужны данные не объекта, а то, что выбрано на форме.
Если мы изменим например Наименование, то это изменение видно через Источник.
А если нужны данные табличной части "Отчеты" из реквизита "Настройки" с типом ХранилищеЗначений, которые на форме отображаются с помощью таблицы, то к нему можно достучаться только через "АдресНастроек". А по этому адресу хранятся данные, которые содержит объект, а не форма.
Упрощенно так:
ПолучитьИзВременногоХранилища(Источник.Отчеты[0].АдресНастроек);
Как можно достучаться до данных, которые пользователь видит перед глазами на форме?
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) В теме уже написан такой вариант. Получаю данные из записанного объекта - не то что на форме.
И из формы Форма.Объект и из Источника. Результат одинаковый, так как адрес там одинаковый.
А данные на форме никуда ещё не записанные и это данные из элемента формы, а не из объекта.
реализованы параметры в виде таблицы значений на форме. Собственно до неё достучаться не знаю как.
Более того отчетов может быть несколько и этот элемент формы перерисовывается в зависимости от текущей строки.
И из формы Форма.Объект и из Источника. Результат одинаковый, так как адрес там одинаковый.
А данные на форме никуда ещё не записанные и это данные из элемента формы, а не из объекта.
реализованы параметры в виде таблицы значений на форме. Собственно до неё достучаться не знаю как.
Более того отчетов может быть несколько и этот элемент формы перерисовывается в зависимости от текущей строки.
(5) Расширение без захвата формы - принципиально.
У нас на входе только переданная форма, команда и источник. Ничего перед тем как что-то вызвать мы делать не можем. У нас только информация на входе что есть.
Скорее всего, нет вариантов в УФ докопаться до нужной информации при такой реализации формы.
Запись данных в хранилище происходит при активизации строки табличной части отчеты. А если она одна, то ничего и не происходит.
А пока гуляем и изменяем по параметрам запись изменений никуда не помещается.
Перед записью объекта параметры помещаются, а мы его не записываем.
Вообще забавно. В 8.х есть возможность делать множество табличных частей и их можно по идентификатору связывать. А тут на тебе как один из вариантов реализации в 7.7, когда нужно несколько табличных частей, а тебя максимум одна, тогда реализуют через ЗначениеВСтроку(ТЗ) и хранят в хранилище значений.
Зачем такие сложности?
У нас на входе только переданная форма, команда и источник. Ничего перед тем как что-то вызвать мы делать не можем. У нас только информация на входе что есть.
Скорее всего, нет вариантов в УФ докопаться до нужной информации при такой реализации формы.
Запись данных в хранилище происходит при активизации строки табличной части отчеты. А если она одна, то ничего и не происходит.
А пока гуляем и изменяем по параметрам запись изменений никуда не помещается.
Перед записью объекта параметры помещаются, а мы его не записываем.
Вообще забавно. В 8.х есть возможность делать множество табличных частей и их можно по идентификатору связывать. А тут на тебе как один из вариантов реализации в 7.7, когда нужно несколько табличных частей, а тебя максимум одна, тогда реализуют через ЗначениеВСтроку(ТЗ) и хранят в хранилище значений.
Зачем такие сложности?
(16) Он видит данные хранилища в другом виде, но видит и даже вводит данные. Суть задачи знать, что там пользователь наводил в механизме подключения кнопок и других диалоговых элементов.
Раз уж не сделали не в виде связанных табличных частей, а стали хранилища использовать.
Раз уж не сделали не в виде связанных табличных частей, а стали хранилища использовать.
(27)
Причем тут "любая типовая"? Вообще похер.
Как раз нет. Что бы долго не объяснять как что реализовано, можно в типовой посмотреть самостоятельно. Тем более что достаточно в расширении перехватить процедуру, в отладчике поставить точку останова и провалится в типовую Процедуру общего модуля.
(29) Если смотреть реквизиты формы, то это НастройкиТекущегоОтчета - он пуст.
Если элементы формы смотреть, то их и не будет.
Если смотреть всё что у объекта, то там данные не актуальные - не те что на форме установлены, а те что были на момент открытия формы.
Чего ещё смотреть - не понятно.
Если элементы формы смотреть, то их и не будет.
Если смотреть всё что у объекта, то там данные не актуальные - не те что на форме установлены, а те что были на момент открытия формы.
Чего ещё смотреть - не понятно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот